▼
Scroll to page 2
of
425
Cat. No. W394-FR2-07 Variablen: Vor Druckbeginn bitte entfernen!!! Cat. No. W394-FR1-07 Automates programmables Tél. : + 33 1 56 63 70 00 Fax : + 33 1 48 55 90 86 www.omron.fr BELGIQUE Omron Electronics N.V./S.A. Stationsstraat 24, B-1702 Groot-Bijgaarden Tél : +32 (0) 2 466 24 80 Fax : +32 (0) 2 466 06 87 www.omron.be SUISSE Omron Electronics AG Sennweidstrasse 44, CH-6312 Steinhausen Tél. : +41 (0) 41 748 13 13 Fax : +41 (0) 41 748 13 45 www.omron.ch Romanel Tél. : +41 (0) 21 643 75 75 Série SYSMAC CS CS1G/H-CPU■ ■ ■-EV1 CS1G/H-CPU■ ■ ■H CS1D-CPU■ ■ ■H CS1D-CPU■ ■ ■S Présentation Advanced Industrial Automation Remarque : les caractéristiques techniques du produit peuvent être modifiées sans préavis. Cat. No. W394-FR1-07 Série SYSMAC CJ CJ1G-CPU■ ■■ CJ1G/H-CPU■ ■ ■H CJ1M-CPU■ ■ ■P CJ1M-CPU■ ■■ MANUEL DE PROGRAMMATION MANUEL DE PROGRAMMATION OMRON Electronics S.a.r.l. 14, rue de Lisbonne 93110 ROSNY SOUS BOIS FRANCE Automates programmables 1 Fonctionnement de l'UC 2 Programmation 3 Fonction des instructions 4 Tâches 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 Les intitulés suivants apparaissent dans la colonne gauche du manuel pour vous aider à localiser différents types d'informations. Remarque 1,2,3... Désigne des informations particulièrement intéressantes pour une utilisation efficace du produit. 1. Indique la présence d'une liste telle que des procédures ou des listes de contrôles, etc. 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. v Version des UCs série CS/CJ Version des cartes 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. Notation des versions de carte sur les produits Le numéro de version apparaît à droite du numéro de lot sur la plaque signalétique des produits concernés par ce mode de gestion des versions, comme illustré ci-dessous. Plaque signalétique du produit UC série CS/CJ OMRON CS1H-CPU67H UC Version de carte Exemple pour la version de carte 3.0 N˚ de lot Lot N˚ 040715 0000 Ver.3.0 OMRON Corporation FABRIQUÉ AU JAPON • 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 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.) CX-Programmer version 3.3 ou antérieure ne permet pas de vérifier les versions de carte. Informations de l'API • Si vous connaissez le type de périphérique et le type d'UC, sélectionnezles 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. Vers. 3.0 Vers. 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. 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 Plaque signalétique du produit Dans ce manuel, la version d'une UC est indiquée comme dans le tableau cidessous. UC sans numéro de version Lot N° XXXXXX XXXX OMRON Corporation 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) Cartes avec numéro de version (Ver. @.@) Lot N° XXXXXX XXXX FABRIQUÉ AU JAPON OMRON Corporation Ver. @ .@ 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. @.@ ix Numéros de version et de lot Série Modèle Date de fabrication Avant Série CS UC CS1 CS1@CPU@@ UC CS1-V1 s UC CS1-H CS1@CPU@@-V1 Sept. 2003 Oct. 2003 Série CJ CS1DCPU@@H UC pour système à UC unique CS1DCPU@@S UC CJ1-H Cartes UC ver. 2.0 (N° lot : 031105 indiqué) UC ver. 2.0 (N° lot : 031215 indiqué) UC pré-ver. 2.0 CJ1@CPU@@H UC CJ1M excepté modèles économiques CJ1MCPU@@ UC CJ1M, modèles bas de gamme CJ1MCPU11/21 UC ver. 2.0 (N° lot : 031105 indiqué) x UC ver. 2.0 (N° lot : 031105 indiqué) UC pré-ver. 2.0 Ver. 3.2 Ver. 3.3 UC ver. 3.0 (N° lot : 040623 indiqué) UC ver. 3.0 (N° lot : 040624 indiqué) UC ver. 3.0 (N° lot : 040629 indiqué) Carte ver. 2.0 (N° lot : 031002 indiqué) WS02CXPC1EV@ UC ver. 3.0 (N° lot : 040622 indiqué) UC Ver.1.1 (N° lot : 031120 indiqué) UC pré-ver. 1.1 CJ1GCPU@@ Après Pas de numéro de version UC pré-ver. 2.0 LogiCX-Programmer ciel de prise en charge Juin 2004 CS1@CPU@@H UC pour système à UC en duplex UC CJ1 Déc. 2003 Pas de numéro de version UC pré-ver. 2.0 UC CS1D Nov. 2003 Ver. 4.0 Ver. 5.0 Fonction prise en charge par la version UC CS1-H (CS1@-CPU@@H) Fonction Téléchargement de tâches individuelles Protection de lecture améliorée grâce aux mots de passe Protection en écriture à partir de commandes FINS envoyées aux 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 Version de carte UC pré-ver. 2.0 UC Ver. 2.0 --OK --OK --- ----OK à partir du numéro de lot 030201 Paramétrage des mots du premier emplacement OK jusqu'à 8 groupes 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 MILH, MILR, MILC --instructions pour =DT, <>DT, <DT, <=DT, >DT, >=DT --l'application BCMP2 --GRY OK à partir du numéro de lot 030201 TPO --DSW, TKY, HKY, MTR, 7SEG --EXPLT, EGATR, ESATR, ECHRD, ECHWR --Lecture/écriture de cartes réseau avec IORD/IOWR OK à partir du numéro de lot 030418 PRV2 --- OK OK OK OK OK jusqu'à 64 groupes OK --OK OK OK OK OK OK OK OK OK --- xi UC CS1D Fonction UC CS1D pour système à UC en duplex (CS1D-CPU@@H) Fonctions sur UC en duplex les UC CS1D Remplacement de la carte en uniquement ligne Cartes d'alimentation doubles Carte Controller Link double Carte Ethernet double 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 OK OK OK OK UC CS1D pour système d'UC seule (CS1D-CPU@@S) UC Ver. 2.0 --OK OK OK ------- OK OK OK ----- OK OK OK OK OK --- --- OK --- --- OK --- --- OK --- --- OK Paramétrage des mots du premier emplacement --- --- OK jusqu'à 64 groupes 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 MILH, MILR, MILC instructions =DT, <>DT, <DT, <=DT, >DT, pour >=DT l'application BCMP2 GRY TPO DSW, TKY, HKY, MTR, 7SEG EXPLT, EGATR, ESATR, ECHRD, ECHWR Lecture/écriture de cartes réseau avec IORD/IOWR PRV2 --- --- OK --- --- --- ------- OK ----- OK OK OK ----------- ----------- OK OK OK OK OK --- --- OK --- --- --- UC pré-ver. 1.1 xii UC Ver. 1.1 UC CJ1-H/CJ1M Fonction Téléchargement de tâches individuelles Protection de lecture améliorée grâce aux mots de passe Protection en écriture à partir de commandes FINS envoyées aux UCs via le réseau Connexions au réseau en ligne sans table d'E/S UC CJ1-H (CJ1@-CPU@@H) UC pré-ver. 2.0 UC Ver. 2.0 --OK UC pré-ver. 2.0 UC Ver. 2.0 --OK UC CJ1M, modèles économiques (CJ1MCPU11/21) UC Ver. 2.0 OK --- OK --- OK OK --- OK --- OK OK OK, 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 jusqu'à 64 groupes OK OK jusqu'à 64 groupes OK OK OK --- OK OK --- OK OK --- OK OK ----- OK OK OK OK OK OK à partir du numéro de lot 030201 ----- OK OK OK OK OK OK OK OK --- OK OK --- OK OK --- OK, mais uniquement pour les modèles avec E/S intégrées OK, mais uniquement pour les modèles avec E/S intégrées OK OK, mais uniquement si l'affectation de tables d'E/S est activée sous tension Communications via 8 niveaux OK jusqu'à OK jusqu'à de réseau maximum 8 groupes 64 groupes OK Connexion en ligne aux API via OK à partir du les IHM série NS numéro de lot 030201 Paramétrage des mots du --OK premier emplacement Transferts automatiques sous --OK alimentation sans fichier de paramètres Détection automatique de la --OK méthode d'affectation d'E/S lors du transfert automatique à la mise sous tension Heures de début/fin de --OK fonctionnement OK Nouvelles MILH, MILR, MILC --instruc=DT, <>DT, <DT, --OK tions pour <=DT, >DT, >=DT l'applicaBCMP2 --OK tion GRY OK à partir du OK numéro de lot 030201 TPO --OK DSW, TKY, HKY, --OK MTR, 7SEG EXPLT, EGATR, --OK ESATR, ECHRD, ECHWR Lecture/écriture de --OK cartes réseau avec IORD/IOWR PRV2 ----- UC CJ1M, excepté modèles économiques (CJ1M-CPU@@) xiii Fonctions prises en charge par la version de carte 3.0 ou supérieure UC CS1-H (CS1@-CPU@@H) Fonction Blocs de fonction (pris en charge pour CX-Programmer Ver. 5.0 ou supérieure) Passerelle série (conversion des commandes FINS en commandes CompoWay/F au port série intégré) Mémoire des commentaires (dans la mémoire flash interne) Données de sauvegarde simple étendues Nouvelles TXDU(256), RXDU(255) (prennent en charge les communications sans protocole avec les cartes instructions de communications série, avec la version de carte pour 1.2 ou supérieure) l'application Instructions de conversion des modèles : XFERC(565), DISTC(566), COLLC(567), MOVBC(568), BCNTC(621) Instructions spéciales des blocs de fonction : GETID(286) Fonctions des Instructions TXDU(235) et RXDU(236) (prennent autres en charge les communications sans protocole instructions avec les cartes de communications série, avec la version de carte 1.2 ou supérieure) UC CS1D Version de carte UC pré-ver. 2.0, Ver. 3.0 Ver. 2.0 --OK --- OK ------- OK OK OK --- OK --- OK --- OK 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 Blocs de fonction (pris en charge pour CX-Programmer Ver. 5.0 ou supérieure) Passerelle série (conversion des commandes FINS en commandes CompoWay/F au port série intégré) Mémoire des commentaires (dans la mémoire flash interne) Données de sauvegarde simple étendues Nouvelles TXDU(256), RXDU(255) (prennent en charge les communications sans protocole avec les cartes instructions de communications série, avec la version de carte pour 1.2 ou supérieure) l'application Instructions de conversion des modèles : XFERC(565), DISTC(566), COLLC(567), MOVBC(568), BCNTC(621) Instructions spéciales des blocs de fonction : GETID(286) Fonctions des autres instructions xiv 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) Version de carte UC pré-ver. 2.0, Ver. 3.0 Ver. 2.0 --OK --- OK ------- OK OK OK --- OK --- OK --- OK 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 UC CJ1M, modèles économiques, carte ver. 2.0 Fonctions ajoutées pour la version 2.0 de la carte 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 Fonctions ajoutées pour la version 2.0 de la carte UC CS1D pour systèmes à UC en duplex, carte ver. 1. Fonctions ajoutées pour la version 1.1 de la carte UC série CS/CJ ver. 3.0 Blocs de fonction ajoutés pour la version de carte 3.0 Fonctions ajoutées pour la version 2.0 de la carte Remarque Réglage du type de périphérique Série Série CS Série CJ Ver. 3.2 ou antérieure ----- OK --- OK OK Console de programVer. 5.0 mation ou supérieure OK Pas de restrictions OK --- --- OK OK OK OK OK OK Nouvelles fonctions utilisées Nouvelles fonctions non utilisées Nouvelles fonctions utilisées --- --- OK OK --- --- OK OK Nouvelles fonctions non utilisées Utilisation des blocs de fonction Blocs de fonction non utilisés OK OK OK OK --- --- --- OK OK OK OK OK Nouvelles fonctions utilisées Nouvelles fonctions non utilisées Nouvelles fonctions utilisées Nouvelles fonctions non utilisées OK 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. 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. Groupe d'UC UC CS1-H UC CS1D pour systèmes d'UC en duplex UC CS1D pour systèmes à UC seule UC CJ1-H UC CJ1M CX-Programmer Ver. 3.3 Ver. 4.0 Modèle d'UC CS1G-CPU@@H CS1H-CPU@@H CS1D-CPU@@H CS1D-CPU@@S CJ1G-CPU@@H CJ1H-CPU@@H CJ1M-CPU@@ Réglage du type de périphérique dans CX-Programmer Ver. 4.0 ou ultérieure CS1G-H CS1H-H CS1D-H (ou CS1H-H) CS1D-S CJ1G-H CJ1H-H CJ1M xv Résolution des problèmes dus aux versions des cartes dans CX-Programmer Problème Cause 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 Après l'affichage du message ci-dessus, une erreur de uniquement par des UC Version compilation apparaît dans l'onglet Compile de la 2.0 ou ultérieure. fenêtre Output. 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). « ???? » apparaît dans un programme transféré d'un Vous avez utilisé CX-ProgramAPI vers CX-Programmer. mer 3.3 ou inférieur pour télécharger un programme contenant 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 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 CXProgrammer version 4.0 ou ultérieure. SOMMARE PRECAUTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii 1 2 3 4 5 6 Public visé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Précautions générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Précautions en matière de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Précautions liées à l'environnement d'utilisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Précautions en matière d'application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conformité aux directives CE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv xxiv xxiv xxvi xxvi xxx CHAPITRE 1 Fonctionnement de l'UC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1-1 1-2 1-3 1-4 1-5 1-6 2 5 6 8 12 14 Configuration initiale (UC CS1 uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de l'horloge interne (UC CS1 uniquement). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structure interne de l'UC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modes de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmes et tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des tâches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHAPITRE 2 Programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2-1 2-2 2-3 Concepts de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Précautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vérification des programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 55 64 CHAPITRE 3 Fonction des instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3-1 3-2 3-3 3-4 3-5 3-6 3-7 3-8 3-9 3-10 3-11 3-12 3-13 3-14 3-15 3-16 3-17 3-18 3-19 3-20 3-21 3-22 3-23 3-24 3-25 Instructions d'entrée des séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de sortie des séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de commande des séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de temporisation et de compteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de déplacement de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de décalage de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions d'incrémentation/décrémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions mathématiques à symboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de conversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions mathématiques spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions mathématiques à virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions à virgule flottante double précision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de traitement de données de tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de contrôle de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de sous-programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de traitement d'interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de compteur à grande vitesse et de sortie d'impulsion (CJ1M-CPU21/22/23 uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de pas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions des cartes d'E/S standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de communications série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions réseaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de mémoire de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions d'affichage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 74 77 81 85 89 92 96 97 102 108 110 111 115 119 123 127 128 130 132 132 135 136 139 140 xvii SOMMAIRE 3-26 3-27 3-28 3-29 3-30 3-31 3-32 3-33 3-34 Instructions de temporisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de débogage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de diagnostic d'erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Autres instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de programmation de bloc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de traitement des chaînes de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de contrôle des tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de conversion des modèles (UC ver. 3.0 ou supérieure uniquement) . . . . . . . . . . . . . . . Instructions spéciales des blocs de fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 141 142 143 144 150 153 154 155 CHAPITRE 4 Tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 4-1 4-2 4-3 4-4 Caractéristiques des tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tâche d'interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctionnement du périphérique de programmation pour les tâches . . . . . . . . . . . . . . . . . . . . . . . . . 158 167 177 189 CHAPITRE 5 Fonctions de mémoire de fichiers. . . . . . . . . . . . . . . . . . . . . . . . . . . 191 5-1 5-2 5-3 Mémoire de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Traitement des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de la mémoire de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 211 247 CHAPITRE 6 Fonctions avancées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 6-9 6-10 6-11 Temps de cycle et traitement à grande vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Registres d'index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Communications en série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modification du mode de mise à jour de la PV de temporisation/compteur. . . . . . . . . . . . . . . . . . . . Utilisation d'une interruption programmée comme temporisation de haute précision (CJ1M uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paramètres du démarrage et maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions de diagnostic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modes de traitement UC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mode prioritaire du traitement des périphériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctionnement sans batterie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Autres fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 274 284 305 313 315 326 331 336 342 344 CHAPITRE 7 Transfert du programme, essais de fonctionnement et débogage. 347 7-1 7-2 Transfert du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Essais de fonctionnement et débogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 348 Annexes A B Tableaux de comparaison des API : API série CJ, série CS, C200HG/HE/HX, CQM1H, CVM1 et série CV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 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 UC UC CS1-H : UC CS1 : Cartes d'E/S standard Cartes d'E/S spéciales Cartes réseau Cartes d'alimentation Série CS CS1H-CPU@@H CS1G-CPU@@H CS1H-CPU@@-EV1 CS1G-CPU@@-EV1 UC CJ1-H : UC CJ1 : UC CJAM : Série CJ CJ1H-CPU@@H CJ1G-CPU@@H CJ1G-CPU@@-EV1 CJ1M-CPU@@ 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 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 réseau série CS Cartes d'alimentation série CS Cartes réseau série CJ Cartes d'alimentation série CJ Veuillez lire ce manuel et tous les manuels répertoriés dans le tableau suivant et vous assurer d'avoir bien compris les informations qu'ils contiennent avant d'essayer 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 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, CJ1M-CPU@@, 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.@ xx Cat. N° Sommaire W394 Ce manuel décrit la programmation et les autres modes d'utilisation des fonctions des API série CS/CJ. (Ce manuel) W339 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 CS. Présente les grandes lignes et décrit la conception, l'installation, la maintenance et autres opérations de base des API série CJ. 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. Décrit la série C (Host Link) et les commandes de communication FINS utilisées avec les API série CS/CJ. W342 W414 W425 W437 Fournit des informations sur l'utilisation du CXProgrammer, un périphérique de programmation qui prend en charge les API série CS/CJ et le CXNet présent dans CX-Programmer. Nom Cat. N° SYSMAC WS02-CXP@@-E W438 Manuel d'utilisation du CX-Programmer – Blocs de fonction Série SYSMAC CS/CJ CS1W-SCB21-V1/41-V1, CS1W-SCU21-V1, CJ1WSCU21-V1/41-V1 Manuel d'utilisation des cartes de communications série W336 SYSMAC WS02-PSTC1-E Manuel d'utilisation du CX-Protocol W344 Sommaire Décrit les spécifications et les méthodes d’utilisation relatives aux blocs de fonction. Ces informations 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'utilisation du CX-Programmer version 5.@ (W437) pour des informations détaillées sur les autres opérations du CX-Programmer ver. 5.0. 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. 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 appareils, et présente des risques de blessures corporelles voire un danger de mort. Veuillez lire attentivement chaque chapitre dans son intégralité. Il est essentiel de bien comprendre les informations de chaque chapitre et des chapitres qui lui sont associés avant d'entamer toute procédure ou opération. xxi xxii PRECAUTIONS Ce chapitre présente les précautions générales à prendre lors de l'utilisation des automates programmables (API) séries CS/ CJ et des périphériques associés. Les informations contenues dans 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 1 Public visé 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 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 courtcircuit. 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. 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 : • • • • !Attention 5 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. 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. 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 courtcircuitage 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 dysfonctionnement de l'API ou du système ou endommager l'API ou les cartes API. Suivez toujours ces précautions. • Les données du programme utilisateur et de la zone de paramètre des UC CS1-H, CS1D, CJ1-H et CJ1M sont sauvegardées dans la mémoire flash intégrée. Le voyant BKUP s'allume sur le devant de l'UC pendant que 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 perdues. Utilisez des contre-mesures dans le programme en utilisant le drapeau d'erreur de batterie (A40204) pour réinitialiser les données ou pour prendre d'autres dispositions en cas de diminution de la tension de la batterie. • Si la tension d'alimentation est de 200 à 240 Vc.a. avec un API série CS, enlevez toujours le cavalier métallique des 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 6 Conformité aux directives CE • 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 6 Conformité aux directives CE 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 contremesures permettant de réduire les parasites générés. Contre-mesures (Pour plus de détails, reportez-vous à la norme EN61000-6-4.) Les contre-mesures sont inutiles si la fréquence de commutation de la charge de l'ensemble du système - API inclus - est inférieure à 5 fois par minute. Des contre-mesures sont obligatoires si la fréquence de commutation de la charge pour l'ensemble du système - API inclus - est supérieure à 5 fois par minute. xxxi 6 Conformité aux directives CE Exemples de contre-mesures En cas de commutation d'une charge inductive, connectez un limiteur de tension, des diodes, etc. en parallèle avec la charge ou le contact, comme illustré ci-dessous. Circuit Courant c.a. c.c. Oui Oui C Alimentation R Charge inductive Méthode CR Alimentation Alimentation Charge inductive Méthode à varistor Elément requis Si la charge est un relais ou un solénoïde, il y a un décalage entre l'ouverture du circuit et la réinitialisation de la charge. Si la tension d'alimentation est de 24 ou 48 V, placez le limiteur de 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. 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. --- Non Oui La diode connectée en parallèle avec la charge transforme l'énergie accumulée par la bobine en courant, qui circule alors dans la bobine afin d'être converti en chaleur par la résistance de la charge inductive. Le décalage entre l'ouverture du circuit et la réinitialisation de la charge, qui est provoqué par cette méthode, est plus long que celui obtenu par la méthode CR. Oui Oui La méthode du varistor empêche d'appliquer une tension élevée entre les contacts grâce à la caractéristique de tension constante du varistor. Il y a un décalage entre l'ouverture du circuit et la réinitialisation de la charge. Si la tension d'alimentation est de 24 ou 48 V, placez le varistor en parallèle avec la charge. Si la tension d'alimentation est comprise entre 100 et 200 V, placez-le entre les contacts. Charge inductive Méthode avec diode Caractéristique Lorsque vous commutez une charge avec un courant élevé induit tel qu'une lampe à incandescence, supprimez le courant induit comme illustré cidessous. Contre-mesure 1 Contre-mesure 2 R SORTIE SORTIE R COM Fourniture d'un courant d'obscurité d'environ un tiers de la valeur nominale via une lampe à incandescence. xxxii COM Fourniture d'une résistance de limitation CHAPITRE 1 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 1 Configuration initiale (UC CS1 uniquement) 1-1 Configuration initiale (UC CS1 uniquement) Installation de la batterie 1,2,3... 2 Chapitre 1-1 Avant d'utiliser l'UC CS1, vous devez installer la batterie dans l'UC en respectant la procédure suivante. 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. 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 Chapitre 1-1 Configuration initiale (UC CS1 uniquement) 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 Remarque SET NOT RESET MON 0 0 (ou 1 ) MON 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 FUN MON 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 4 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. Chapitre 1-2 Utilisation de l'horloge interne (UC CS1 uniquement) 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 WRITE Spécifier : Année Mois Jour Heure Min. Sec. 5 Chapitre 1-3 Structure interne de l'UC 1-3 1-3-1 Structure interne de l'UC Présentation Le diagramme suivant décrit la structure interne de l'UC. UC Tâche 1 Tâche 2 Programme utilisateur Tâche n Accès Sauvegarde automatique Mémoire flash Le programme est divisé en tâches, lesquelles sont exécutées dans l'ordre des numéros de tâche. Carte de mémoire La mémoire E/S, la configuration de l'API, les programmes et la zone EM peuvent être enregistrés dans des fichiers. Mémoire E/S Mémoire de fichiers EM Sauvegarde Configuration automa- de l'API et tique autres paramètres : Connecteur DIP (UC CS1-H, CS1D, CJ1-H ou CJ1M uniquement) 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 CS1H 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 CXProgrammer 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 Chapitre 1-3 Structure interne de l'UC 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 Chapitre 1-4 Modes de fonctionnement UC RAM intégrée Zone de mémoire d'E/S Mémoire flash (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement) Ecriture automatiq Programme utilisateur Lecteur 1 : Mémoire des fichiers EM (voir remarque 2) Sauvegarde Programme utilisateur Zone de paramètres (Voir remarque 1.) Zone de mémoire des commentaires 1-4 1-4-1 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 CXProgrammer 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. Zone de mémoire de programme FB Remarque 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) Ecriture automatique Zone de paramètres Batterie 1. La zone de paramètres et le programme utilisateur (c-à-d la mémoire 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. Modes de fonctionnement 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 Mode PROGRAM Chapitre 1-4 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 Mode RUN Les tâches exécutées au démarrage sont spécifiées dans les propriétés du programme à partir de CX-Programmer. 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 Chapitre 1-4 Modes de fonctionnement 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 RUN/MONITOR → PROGRAM PROGRAM → RUN/MONITOR RUN ↔ MONITOR Remarque Zones nonconservées (Remarque 1) Effacé (Remarque 3.) Effacé (Remarque 3.) Conservé Zones conservées (Remarque 2) Conservé Conservé Conservé 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. 10 Chapitre 1-4 Modes de fonctionnement 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énomè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 La configuration de l'API est telle que le Mode PROGRAM 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. UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement Mode RUN Mise sous tension Défini dans la configuration de l'API selon le mode de la console de programmation ? Non L'UC démarrera dans le mode défini dans la configuration de l'API. Oui L'UC démarrera dans le mode défini dans la console de programmation. Oui Console de programmation connectée ? Non UC CS1-H, CJ1-H ou CJ1M : UC démarre en mode RUN. UC CS1 : UC démarre en mode PROGRAM. 11 Chapitre 1-5 Programmes et tâches 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 La condition d'interruption prend effet Allocation Programme B Tâche d'interrupt Tâche cyclique 1 Allocation Programme C Allocation Programme D Tâche cyclique n Allocation Mise à jour d'E/S 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 Chapitre 1-5 Programmes et tâches 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. Série CS/CJ Système antérieur Tâche 1 Un seul sousprogramme continu Allocation Tâche 2 Les tâches peuvent être placées dans un état non exécutable (en attente) Tâche 3 Mise à jour d'E/S Mise à jour d'E/S 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 Chapitre 1-6 Description des tâches • Une carte définie comme activée restera activée et sera lue lors des séquences 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é 1-6 Désactivé Description des tâches Les tâches sont regroupées en deux types : 1,2,3... 14 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). Chapitre 1-6 Description des tâches 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 Chapitre 1-6 Description des tâches Sous-programmes standard Programme utilisateur ABC Programme utilisateur ABD Tâche 1 (A) Tâche 1 (A) Tâche 2 (B) Tâche 2 (B) Tâche 3 (C) 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. Etat exécutable et en attente 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 CXProgrammer (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 Programme 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. 16 Chapitre 1-6 Description des tâches Tâche 0 Démarrer tâche 1 lorsque a est sur ON. Tâche 0 Mettre tâche 1 en attente lorsque b est sur ON. Tâche 0 Tâche 1 Tâche 1 Tâche 1 Tâche 2 Tâche 2 Tâche 2 Tâche 3 Tâche 3 Tâche 3 Tâche 0 Démarrer tâches 2 et 3 lorsque c est sur ON. Tâche 0 Mettre tâches 2 et 3 en attente lorsque d est sur ON. Tâche 0 Tâche 1 Tâche 1 Tâche 1 Tâche 2 Tâche 2 Tâche 2 Tâche 3 Tâche 3 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. Program Programme pour la tâche Tâche 0 Tâche 1 Tâche 2 Programme pour la tâche 1 Exemple : 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. Tâche 0 Démarrer tâche 1 lorsque a est sur ON. Tâche 0 Tâche 1 Tâche 1 Tâche 2 Tâche 2 Mettre tâche 1 en attente lorsque b est sur ON. Tâche 0 Tâche 1 Tâche 2 Si tâche 1 exécutée Remarque TKOF(821) peut être utilisé dans une tâche pour la mettre en attente. 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 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. Remarque A partir de là, les instructions qui se trouvent dans une tâche en attente 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.) 18 Tâche 0 Tâche 1 Tâche 2 Tâche 3 Les instructions sont exécutées uniquement lorsque cela est nécessaire. CHAPITRE 2 Programmation Ce chapitre décrit les informations de base nécessaires pour écrire, vérifier et entrer des programmes. 2-1 2-2 2-3 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 Précautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2-2-1 Drapeaux de condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2-2-2 Sections de programmes spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . 60 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 Chapitre 2-1 Concepts de base 2-1 2-1-1 Concepts de base 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'interruption Programme B Affecté Chaque programme de schéma contact se termine par une instruction END(001). Tâche cyclique n Programme C Affecté Rafraîchissement d'E/S 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 CXProgrammer 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 Chapitre 2-1 Concepts de base 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)*1 Flux logique (P.F., condition d'exécution) Condition d'instruction Instruction Condition d'instruction*2 Drapeaux Drapeau *1 : Instructions d'entrée uniquement. Opérandes (sources) Opérandes (destinations) *2 : Pas de sortie pour toutes les instructions. Mémoire 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 Flux logique pour l'instruction de sortie Bloc 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 Chapitre 2-1 Concepts de base 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é Exécution de BREAK(514) Exécution d'un programme de bloc Description Définition de Annulation de l'instruction l'instruction Un verrouillage désactive une partie du programme. Les conditions IL(002) ILC(003) 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. BREAK(514) NEXT(513) (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) 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 différenciation Drapeaux de résultat de différenciation. Les états de ces Drapeaux de résultat de différenciation. Les états drapeaux sont reçus automatiquement de l'instruction pour de ces drapeaux sont envoyés automatiquement à toutes les instructions d'entrée haut/bas différenciées et pour l'instruction pour toutes les instructions de sortie l'instruction UP(521)/DOWN(522). haut/bas différenciées et pour les instructions DIFU(013)/DIFD(014). • Drapeaux de condition Il s'agit des drapeaux Toujours ON/OFF ainsi que des drapeaux • Drapeau de retenue (CY) mis à jour par le résultat de l'exécution d'une instruction. Dans Le drapeau de retenue sert d'opérande non les programmes utilisateur, ces drapeaux peuvent être spécifiés spécifiée pour les instructions de décalage de par des étiquettes telles que ER, CY, >, =, A1, A0 plutôt que par données et les instructions d'addition/soustraction. des adresses. • Drapeaux pour instructions spéciales • Drapeaux pour instructions spéciales Il s'agit des drapeaux d'apprentissage pour les Il s'agit des drapeaux d'instruction de carte mémoire et des instructions FPD(269) et les communications drapeaux d'exécution terminée MSG(046). réseau activées par drapeaux. 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 N (numéro) S (source) D (destination) Types d'opérandes Source Précise l'adresse des données à lire ou une constante. Symbole de l'opérande S C Destination Précise l'adresse à laquelle seront (résultats) écrites les données. Numéro Précise un numéro particulier utilisé dans l'instruction, comme par exemple, un numéro de saut ou de sous-programme. 22 Description Opérande source 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 diffère en fonction de l'état du bit. Chapitre 2-1 Concepts de base 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 Instructions d'entrée Départ logique (instructions de chargement) Instructions intermédiaires Instructions de sortie Emplacement 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. Condition d'exécution Non obligatoire. Connectées directement à la barre de bus droite. Obligatoire. Obligatoire. Non obligatoire. Note Diagramme Exemples LD, LD TST(350), LD > (et autres instructions de comparaison de symboles) AND, OR, AND TEST(350), AND > (et autres instructions de comparaison de symboles ADD), UP(521), DOWN(522), NOT(520), etc. La plupart des instructions comprenant OUT et MOV(021). END(001), JME(005), FOR(512), ILC(003), etc. 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). 23 Chapitre 2-1 Concepts de base 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 cidessous. Dans ce manuel, l'adresse est fournie sous la forme « CIO 000103 ». 0001 03 Numéro de bit (03) Adresse mot : 0001 Bit : CIO 000103 Mot 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 0000 0001 0002 Adresses mots @@@@ 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 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 24 Chapitre 2-1 Concepts de base 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 Spécification des adresses bits Description Les numéros de mot et de bit sont spécifiés directement pour spécifier un bit (bits d'entrée). @@@@ @@ Notation Exemples d'applications 0001 02 0001 02 Numéro de bit (02) Numéro de bit (00 à 15) Indique l'adresse du mot. Remarque 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. Spécification des adresses mots Le numéro de mot est spécifié directement pour spécifier le mot 16 bits. Numéro de mot : 0001 MOV 0003 D00200 0003 Numéro de mot : 0003 @@@@ D00200 Indique l'adresse du mot. Numéro de mot : 00200 25 Chapitre 2-1 Concepts de base Opérande Spécification des adresses DM/EM indirectes en mode binaire Description Notation Exemples d'applications 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. @D@@@@@ 00000 à 32767 (0000 Hex à 7FFF Hex dans BIN) Contenu D 1) D00000 à D32767 sont spécifiés si @D00300 @D(@@@@@) contient 0000 hex. à 7FFF hex. (00000 à 32 767). 0100 MOV #0001 @00300 Contenu Binaire : 256 Spécifie D00256. Ajoute le symbole @. 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 8001 Contenu Binaire : 32769 Spécifie E0 00001. 3) E@_00000 à E@_32767 dans la banque @E1_00200 spécifiée sont spécifiés si @E@_@@@@@ contient 0000 hex. à 7FFF hex. (00000 à Contenu 0101 32 767). Binaire : 257 MOV #0001 @E1_00200 Spécifie E1_00257. 4) E(@+1)_00000 à E(@+1)_32767 dans la @E1_00200 banque suivant la banque spécifiée @ sont spécifiés si @E@_@@@@@ contient Contenu 8002 8000 hex. à FFFF hex. (32768 à 65 535). Binaire : 32770 Spécifie E2_00002. 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 Chapitre 2-1 Concepts de base Opérande Spécification des adresses DM/EM indirectes en mode BCD Description 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. Notation *D00200 *D@@@@@ Table des matières 0100 Exemples d'applications MOV #0001 *D00200 Table des matières Spécifie D0100 Ajoutez un astérisque (*). 00000 à 9999 (BCD) D Opérande Description Notation Spécification Un registre d'index (IR) ou un registre de données IR0 directe d'un (DR) peut être directement spécifié en spécifiant IR@ registre (@ : 0 à 15) ou DR@ (@ : 0 à 15). IR1 Spécification d'une adresse indirecte à l'aide d'un registre Adresse indirecte (sans décalage) Le bit ou le mot de l'adresse mémoire de ,IR0 l'API contenu dans IR@ sera spécifié. Spécifiez ,IR@ pour spécifier les bits et les mots pour les opérandes de ,IR1 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écalages constants peuvent aller de –2048 à +2047 (décimales). Le décalage est converti en données binaires lors de l'exécution de l'instruction. Décalage Le bit ou le mot de l'adresse mémoire de DR 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 négatif si la valeur binaire signée est négative. Auto-incré- Le contenu de IR@ est incrémenté de 1 mentation 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@ + + Décalage constant +5,IR0 +31,IR1 Exemples d'applications 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. 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 DR0 ,IR0 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 DR0 ,IR1 mémoire de l'API dans IR1 + la valeur dans DR0. ,IR0 ++ ,IR1 + AutoLe contenu de IR@ est décrémenté de 1 ,– –IR0 décrémen- ou 2 après le référencement de la valeur tation comme adresse mémoire de l'API. –1 : Spécifiez ,-IR@ + ,–IR1 –2 : Spécifiez ,– –IR@ 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. 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 Chapitre 2-1 Concepts de base Données Constante 16 bits Constante 32 bits Opérande Formulaire de données Binaires non Toutes les données binaires signées ou un intervalle Décimales limité de signées données binaires Décimales non signées BCD Toutes les données BCD ou un intervalle limité de données BCD Binaires non Toutes les données binaires signées ou un intervalle Binaires signées limité de données binaires Toutes les données BCD ou un intervalle limité de données BCD Chaîne de texte Décimales non signées BCD Symbole # ± & (Voir remarque.) # # + & (Voir remarque.) # Description Symbole 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. Intervalle Exemple d'application De #0000 à #FFFF De –32 768 à +32 767 De &0 à &65535 --- De #0000 à #9999 --- De #00000000 à #FFFFFFFF De -2 147 483 648 à +2 147 483 647 De &0 à &429467295 De #00000000 à #99999999 --- Exemples 'ABCDE' ----- --- ----- --- MOV$ D00100 D00200 'A' 'C' 'E' 'B' 'D' NUL D00100 D00101 D00102 41 43 45 42 44 00 41 43 45 42 44 00 D00200 D00201 D00202 41 43 45 42 44 00 'ABCD' 'A' 'C' NUL 'B' 'D' NUL 41 43 00 42 44 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 28 Notation en décimales non signées uniquement si elles sont utilisées pour CX-Programmer. Chapitre 2-1 Concepts de base Caractères ASCII Bits 0 à 3 Binaire 0000 0001 0010 hex. 0 1 2 Espace 0000 0 0001 1 ! 0010 2 ” 0011 3 # 0100 4 $ 0101 5 % 0110 6 & 0111 7 ' 1000 8 ( 1001 9 ) 1010 A * 1011 B + 1100 C , 1101 D 1110 E . 1111 F / 0011 3 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 0100 4 @ A B C D E F G H I J K L M N O 0101 5 P Q R S T U V W X Y Z [ \ ] ^ _ 0110 6 ` a b c d e f g h i j k l m n o Bits 4 à 7 0111 1000 1001 1010 7 8 9 A p q ! r ” s # t $ u % v & w ' x ( y ) z * { + | , } ~ . / 1011 B 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 1100 C @ A B C D E F G H I J K L M N O 1101 1110 1111 D E F P Q R S T U V W X Y Z [ \ ] ^ _ 29 Chapitre 2-1 Concepts de base 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 Format de données Binaires non signées 15 14 13 Binaire Décimal Hex. Binaires signées Décimal Hex. 10 9 8 215 214 213 212 211 210 29 7 6 5 28 27 26 3276816384 8192 4092 2048 1024 512 256 128 23 22 21 15 14 13 Binaire 12 11 Décimal 20 23 12 11 22 21 10 9 215 214 213 212 211 210 29 4 25 24 12 16 8 4 22 21 20 23 22 8 7 6 5 4 64 12 22 21 20 23 22 22 64 3276816384 8192 4092 2048 1024 512 256 128 21 20 23 23 26 22 2 20 28 27 23 3 21 20 23 25 24 3 2 23 22 8 4 23 22 16 1 0 4 chiffres hexadécimaux De 0 à 65 0000 à FFFF 535 21 20 2 21 1 1 20 0 21 20 2 De -32 De 8000 à 768 à +32 7FFF 767 1 21 20 Bit de signe : 0 : positif, 1 : BCD (Binary Coded Decimal décimales codées binaires) 30 15 14 13 Binaire Décimal 23 22 12 11 21 20 0à9 23 10 9 22 21 0à9 8 7 20 23 6 5 22 4 21 20 0à9 3 23 2 22 1 21 0à9 0 20 De 0 à 9999 De 0000 à 9999 Chapitre 2-1 Concepts de base Type de données Virgule décimale flottante à simple précision Format de données 31 30 29 Signe de mantisse 23 Exposant 22 21 20 19 18 17 Binaire Décimal 3 2 1 0 4 chiffres hexadécimaux --- --- --- --- Mantisse Valeur = (-1)Signe x 1.[Mantisse] x 2Exposant 1 : négatif ou 0 : positif Signe (bit 31) Mantisse 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. Exposant 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 2n. Remarque 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. Virgule décimale flottante à double précision 63 62 61 Signe de la mantisse 52 51 50 49 48 47 46 Exposant 3 2 1 0 Mantisse Binaire Valeur = (-1)Signe x 1.[Mantisse] x 2Exposant Signe (bit 63) 1 : négatif ou 0 : positif Mantisse 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. Exposant 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 2n. Remarque 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. 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 Chapitre 2-1 Concepts de base F 1111 Vrai nombre 0 0000 –) F 1111 0 0000 +) Complément deux F 1111 F 1111 0 0000 F 1111 0 0000 F 1111 F 1111 1 0001 E 1110 0 0000 E 1110 F 1111 3 0011 C 1100 1 0001 D 1101 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 b hex. = 10 000 hex. – a hex.. 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-TOBINARY : BINS(470), DOUBLE SIGNED BCD-TO-BINARY : BISL(472), SIGNED BINARY-TO-BCD : BCDS(471) et DOUBLE SIGNED BINARY-TO- 32 Chapitre 2-1 Concepts de base 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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 hex.adécimal 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 Décimal +65 535 +65 534 . . . +32 769 +32 768 +32 767 +32 766 . . . +2 +1 0 –1 –2 . . . –32 767 –32 768 Binaire 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 10000 0001 0001 0001 0001 0001 0001 0001 Binaire non signé (4 chiffres hexadécimaux) FFFF FFFE . . . 8001 8000 7FFF 7FFE . . . 0002 0001 0000 Impossible à exprimer. BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0000 0001 0010 0011 0100 0101 0110 Binaire signé (4 chiffres hexadécimaux) Impossible à exprimer. 7FFF 7FFE 0002 0001 0000 FFFF FFFE 8001 8000 33 Chapitre 2-1 Concepts de base 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 Différenciation ON Symbole Description @ L'instruction fait la différenciation lorsque la condition d'exécution passe à ON. OFF % Mise à jour immédiate ! L'instruction fait la différenciation lorsque la condition d'exécution passe à OFF. Met à jour les données dans la zone E/S 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 pour les systèmes d'UC en duplex.) @ Instruction (mnémonique) Variation de différenciation Variation de mise à jour immédiate 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). Exemple 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). Exemple Instruction d'entrée non différenciée 34 Chapitre 2-1 Concepts de base 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 @MOV Exécute l'instruction MOV une fois lorsque CIO 000102 passe de OFF à ON. • Instructions d'entrée (départs logiques et instructions intermédiaires) : 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édiaires) : 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 Condition d'exécution OFF créée pour un seul cycle lorsque CIO 00103 passe de OFF à ON. 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. Exemple (%) Instruction différenciée par le bas %SET Exécute l'instruction SET une fois lorsque CIO 000102 passe de ON à OFF. 35 Chapitre 2-1 Concepts de base • Instructions d'entrée (départs logiques et instructions intermédiaires) : 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ésultats 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édiaires) : 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. Exemple Instruction d'entrée différenciée par le bas 0001 03 Condition d'exécution OFF créée pour un seul cycle lorsque CIO 00103 passe de ON à OFF. 36 Chapitre 2-1 Concepts de base 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. A B1 Entrée lue A B2 Entrée lue A B3 A B4 Entrée lue B5 Entrée lue ! A ! A B6 A B7 A B8 Entrée lue B9 ! A Entrée lue Entrée lue Entrée lue ! A Entrée Entrée lue lue Entrée lue ! Entrée lue B10 ! ! A B11 ! ! A B12 ! Traitement UC Instruction Rafraîchissement d'E/S exécutée. Instructions différenciées • 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 Chapitre 2-1 Concepts de base • 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ésultat différencié au point A car la valeur ne sera pas mise à jour tant que le verrouillage sera activé. 0000 00 (002) IL 0000 01 (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 Chapitre 2-1 Concepts de base 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. Haut ! LD 000101 ! OUT 000209 15 0 15 Cartes 0 16 bits CIO 0001 CIO 0002 END Haut 15 0 15 Cartes 0 16 bits CIO 0003 ! MOV 0003 CIO 0004 END Mise à jour cyclique (traitement par lot) Mise à jour d'E/S Toutes les données réelles 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. Mise à jour immédiate 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 Cartes d'E/S standard C200H (série CS uniquement) Cartes d'E/S standard CJ Données mises à jour Les E/S des 16 bits contenant le bit seront mises à jour. 39 Chapitre 2-1 Concepts de base • 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 Cartes Remarque Rack UC ou rack d'extension E/S (mais pas les racks esclaves SYSMAC BUS) Cartes d'E/S Cartes d'E/S standard standard série CS/CJ Cartes d'E/S standard C200H (voir remarque.) Cartes d'E/S haute densité groupe 2 C200H (voir remarque.) Cartes d'E/S spéciales Mises à jour Mises à jour Pas de mise à jour Pas de mise à jour 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îchissement d'E/S Rafraîchissement immédiat 15 Entrée Cartes 16 bits 15 0 15 0 Sortie CIO 0002 S CIO 0003 0003 0004 15 D CIO 0004 Rafraîchissement cyclique (traitement par lots) Rafraîchissement d'E/S 40 0 CIO 0001 Toutes les E/S réelles 0 Cartes 16 bits Chapitre 2-1 Concepts de base 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) Emplacement Cartes Rack UC ou rack d'extension E/S (mais pas les racks esclaves SYSMAC BUS) Cartes d'E/S Cartes d'E/S standard série Mises à jour standard CS/CJ Cartes d'E/S 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 B R1 A B R1 C E D R2 C E A E D R2 C Cartes mises à jour pour DLNK(226) Emplacement Cartes Rack UC ou rack d'extension E/S (mais pas les racks esclaves SYSMAC BUS) Cartes d'E/S standard Pas mises à jour 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 DLNK #F Cartes réseau (numéro d'unité F) 41 Chapitre 2-1 Concepts de base 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 Série CS Série CJ Remarque UC CS1H-CPU67H/CPU67-E CS1D-CPU67H CS1D-CPU67S CS1H-CPU66H/CPU66-E CS1H-CPU65H/CPU65-E CS1D-CPU65H CS1D-CPU65S CS1H-CPU64H/CPU64-E CS1H-CPU63H/CPU63-E Capacité max. du programme 250 Kpas 250 Kpas 250 Kpas 120 Kpas 60 Kpas 60 Kpas 60 Kpas 30 Kpas 20 Kpas CS1G-CPU45H/CPU45-E CS1G-CPU44H/CPU44-E CS1D-CPU44S CS1G-CPU43H/CPU43-E CS1G-CPU42H/CPU42-E CS1D-CPU42S CJ1H-CPU67H CJ1H-CPU66H CJ1H-CPU65H CJ1G-CPU45H/CPU45 CJ1G-CPU44H/CPU44 CJ1G-CPU43H CJ1G-CPU42H CJ1M-CPU23/CPU13 CJ1M-CPU22/CPU12 CJ1M-CPU11/CPU21 60 Kpas 30 Kpas 30 Kpas 20 Kpas 10 Kpas 10 Kpas 250 Kpas 120 Kpas 60 Kpas 60 Kpas 30 Kpas 20 Kpas 10 Kpas 20 Kpas 10 Kpas 5 K pas Points E/S 5 120 1 280 960 2 560 1 280 960 640 320 160 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 Chapitre 2-1 Concepts de base Structure générale du schéma contact Bit d'entrée Barre de bus gauche Mnémonique 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. Instruction Bit de sortie spéciale Ligne de Ligne de terminaison connexion Segments Blocs d'instruction 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 000000 000001 000002 000003 000004 000005 000006 000007 000008 000009 Instruction (mnémonique) LD AND LD AND NOT LD NOT AND OR LD AND LD OUT END Opérande 000000 000001 000002 000003 000100 000101 000200 43 Chapitre 2-1 Concepts de base Concepts de base du schéma contact 1,2,3... 1. Lorsque les API exécutent les schémas contacts, la circulation des signaux (flux d'alimentation) se fait toujours de gauche à droite. Vous ne pouvez pas utiliser de programmation pour laquelle il faut un flux d'alimentation 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é directement et doit être réécrit. Circuit "a" Circulation A (1) des signaux ((5)) B (6) (7) R1 C (2) ((3)) D (4) ((8)) E (9) (10) Ordre d'exécution (mnémonique) (1) LD A (6) AND B (2) LD C (7) OUT R1 (3) OUT TR0 (8) LD TR0 (4) AND D (9) AND E (5) OR LD (10) OUT R2 R2 Circuit " b" A B R1 E C D 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 0002 00 44 #0100 Chapitre 2-1 Concepts de base 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 Chapitre 2-1 Concepts de base 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 0000 03 0002 01 0000 04 0002 01 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 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). 46 Chapitre 2-1 Concepts de base • 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 Tâche (programme) 000000 000001 END END Tâche (programme) 000000 000001 END Ne sera pas exécuté. Tâche (programme) 000000 000001 END END Tâche (programme) Ne sera pas exécuté. END Tâche (programme) 000000 000001 000000 000001 END 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). 47 Chapitre 2-1 Concepts de base 1,2,3... 1. Commencez par séparer l'équation logique en petits blocs de (a) à (f). 0000 00 0000 01 0010 00 0010 01 0000 02 0000 03 0000 04 0000 05 0005 00 0000 06 0005 00 (a) 0000 00 0000 01 (e) 0000 04 (b) 0010 00 0010 01 (d) 0000 02 0000 05 0000 03 (5) (f) 0000 06 (1) (c) 0005 00 (4) (3) (2) 48 Chapitre 2-1 Concepts de base • Programmer les blocs du haut vers le bas, puis de gauche à droite. (a) 0000 00 0000 01 (b) 0010 00 0010 01 (1) LD 000000 AND 000001 LD 001000 AND 001001 OR LD (2) (c) 0005 00 (c) 0000 04 (3) 0000 05 (5) OR 000500 LD 000004 AND 000005 (4) (a) 0000 02 (f) 0000 03 0000 06 OR 000006 AND 000002 AND NOT 000003 AND LD 0005 00 OUT 000500 Adresse (a) (b) (c) (d) (e) (f) 000200 000201 000202 000203 000204 000205 000206 000207 000208 000209 000210 000211 000212 Instruction Opérande LD AND LD AND OR LD OR AND AND NOT LD AND OR AND LD SORTIE 000000 000001 001000 001001 --000500 000002 000003 000004 000005 000006 --000500 (1) (2) (3) (5) (4) 49 Chapitre 2-1 Concepts de base 2-1-14 Exemples de programmes 1,2,3... 1. Equations logiques parallèles/série 0000 00 0000 01 0000 02 0000 03 0002 00 LD AND OR AND AND NOT SORTIE 0002 00 a b Bloc A Bloc B Instruction Opérandes 000000 000001 000200 000002 000003 000200 a b Programmez l'instruction parallèle dans le bloc A, puis dans le bloc B. 2. Equations logiques série/parallèles 0000 00 0000 01 0000 02 0000 03 0002 01 0002 01 0000 04 a b Bloc A Instruction Opérandes LD AND NOT LD AND OR OR AND LD SORTIE Bloc B 000000 000001 000002 000003 000201 000004 --- a b 000201 • 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. Instruction Opérandes b1 Bloc B1 0000 00 0000 01 0000 02 0000 03 0000 04 0002 02 b2 Bloc B2 a Bloc A b 0002 02 LD NOT AND LD AND NOT LD NOT AND OR LD AND LD 000000 000001 000002 000003 000004 000202 ----- SORTIE 000202 a b1 b2 b1 + b2 a·b Bloc B • Programmez le bloc B1, puis programmez le bloc B2. • Reliez les blocs B1 et B2 avec un OR LD, puis les blocs A et B avec un AND LD. 50 Chapitre 2-1 Concepts de base 3. Exemples de connexion série dans une équation logique série Instruction Opérandes b1 a1 Bloc A1 Bloc B1 0000 00 0000 01 0000 04 0000 05 0000 02 0002 03 0002 06 0002 07 0002 03 b2 a2 Bloc A2 a Bloc B2 b Bloc A Bloc B LD AND NOT LD NOT AND OR LD LD AND LD AND OR LD AND LD SORTIE 000000 000001 000002 000003 --000004 000005 000006 000007 ----000203 a1 a2 a1 + a 2 b1 b2 b1 + b 2 a·b Programmez le bloc A1, programmez le bloc A2, puis connectez les blocs A1 et A2 avec un OR LD. Programmez B1 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. 0005 00 a b c n Bloc A Bloc B Bloc C Bloc n 51 Chapitre 2-1 Concepts de base 4. Equations logiques complexes 0000 00 0000 01 0000 02 0000 04 0000 06 Instruction 0002 04 000000 000001 000002 000003 ----- LD LD LD AND OR LD AND LD LD AND OR LD LD AND OR LD SORTIE 0000 03 0000 05 0000 07 000004 000005 --000006 000007 --000204 b Bloc 0000 00 0000 01 0000 02 0002 04 a Bloc d 0000 03 0000 04 c Bloc 0000 05 0000 06 Bloc 0000 07 e Bloc Vous pouvez réécrire le segment ci-dessus comme indiqué ci-après : 52 0000 00 0000 01 0000 02 0002 05 0000 00 0000 03 0000 04 0000 05 0000 00 0000 03 0000 04 0000 06 0000 07 0000 00 Opérande 0000 01 0000 02 Z 0000 03 Z Le schéma ci-dessus est basé sur le schéma suivant. 0000 00 Z Vous pouvez écrire un programme plus simple en le réécrivant comme indiqué ci-après. 0000 02 0000 03 0000 00 0000 01 Instruction Opérande LD LD NOT AND LD AND NOT LD LD AND NOT OR LD AND LD OR LD AND LD SORTIE 000000 000001 000002 000003 000004 000005 000006 000007 --------000205 a b c d e d+e (d + e) · c (d + e) · c + b ((d + e) · c + b) · a Chapitre 2-1 Concepts de base Entrée de réinitialisation 0000 00 0000 03 H00000 0000 01 0000 02 Entrée d'erreur TIM 0001 #0100 10 s 0002 06 T0001 Instruction Opérande LD OR OR OR AND NOT SORTIE 000000 000001 000002 H00000 000003 H00000 0001 0100 T0001 000206 TIM Erreur affichée AND SORTIE H00000 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. 5. Equations logiques auxquelles il faut faire attention ou devant être réécrites 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. 0000 00 0000 01 0002 07 0000 01 0002 07 0002 07 0000 00 0002 07 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 0000 00 0002 09 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 Chapitre 2-1 Concepts de base 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 0000 00 0002 10 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 0000 0002 03 11 0000 02 0000 03 0002 11 0000 00 0000 02 TR0 0000 01 0000 04 0002 12 0000 01 0000 04 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 B R1 A B R1 C E D R2 C E A E R2 C 54 D Chapitre 2-2 Précautions 2-2 2-2-1 Précautions 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 Instruction A Reflète les résultats de l'exécution de l'instruction A Drapeau de condition Exemple : = Instruction LD Instruction AND Instruction Opérande a A = B Instruction 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 Drapeau de condition Exemple : = Reflète les résultats de l'exécution 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 Chapitre 2-2 Précautions 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 : = Reflète les résultats de l'exécution de l'instruction A Instruction B Reflète les résultats de Drapeau de condition l'exécution de l'instruction B. 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 Utilisation correcte Instruction A Drapeau de condition Exemple : = Drapeau de condition Exemple : = Reflète les résultats de l'exécution de l'instruction A Instruction B 56 Chapitre 2-2 Précautions 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. Utilisation incorrecte Reflète les résultats de l'exécution de CMP. (1) Reflète les résultats de l'exécution de MOV. (2) 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. Utilisation correcte Reflète les résultats de l'exécution de CMP. 57 Chapitre 2-2 Précautions 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 Exemple de drapeau de condition : = Reflète les résultats de l'exécution de l'instruction A lorsque la condition d'exécution est remplie. 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 Exemple de drapeau de condition : = Reflète les résultats de l'exécution 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 Chapitre 2-2 Précautions 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 Chapitre 2-2 Précautions 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. W500 jusqu'à &20 Nombre de mots Transfé- jusqu'à ré. jusqu'à jusqu'à jusqu'à jusqu'à W511 Premier mot source Premier mot destination 2-2-2 jusqu'à T0000 jusqu'à 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 Sous-programme Instructions Instructions SBS, SBN et RET Condition d'instruction Le sous-programme est exécuté. Section IL - ILC Section de séquence échelonnée Instructions IL et ILC Instructions STEP S et instructions STEP La section est verrouillée Boucle FOR-NEXT Section JMP0 – JME0 Section de programmes de bloc Instructions FOR et NEXT Instructions JMP0 et JME0 Instructions BPRG et BEND Rupture en cours. Etat La section du sousprogramme comprise entre les instructions SBN et RET est exécutée. Les bits de sortie passent 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. En boucles Saut Le programme de bloc repris dans les mnémoniques entre les instructions BPRG et BEND est exécuté. Le programme de bloc s'exécute. Combinaisons d'instructions Le tableau suivant illustre le type d'instruction spéciale qui peut être utilisé dans d'autres sections de programmes. Sousprogramme Sous-programme IL - ILC Section de séquence échelonnée Boucle FORNEXT JMP0 – JME0 Section de programmes de bloc 60 Section IL ILC Impossible OK Impossible Impossible Impossible OK Section de séquence échelonnée Impossible Impossible Impossible Boucle FOR-NEXT Section JMP0 – JME0 Impossible OK Impossible Impossible OK OK Section de programmes de bloc Impossible Impossible Impossible OK OK Impossible OK OK Impossible OK OK OK OK Impossible OK Impossible Impossible Impossible OK Impossible Impossible Chapitre 2-2 Précautions Remarque Sous-programmes 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. 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 sousprogramme est placé après un sous-programme (SBN à RET), ce programme ne sera pas exécuté. Programme Sous-programme Programme Sous-programme Instructions non disponibles dans les sous-programmes Remarque Les instructions suivantes ne peuvent pas être placées dans un sousprogramme. Fonction Mnémonique Contrôle de processus pas STEP(008) à pas SNXT(009) Instruction Définit la section de séquence échelonnée Passe à travers les étapes de la séquence échelonnée Sections du programme de bloc 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 sousprogramme vers le programme principal, la section de programme de bloc gardera l'état WAIT la prochaine fois qu'elle sera appelée. 61 Chapitre 2-2 Précautions Instructions non disponibles dans les sections de séquence échelonnée Fonction Commandes des séquences Mnémonique FOR(512), NEXT(513) et BREAK(514) END(001) IL(002) et ILC(003) JMP(004) et JME(005) CJP(510) et CJPN(511) JMP0(515) et JME0(516) Sous-programmes SBN(092) et RET(093) Programmes de bloc IF(802) (NOT), ELSE(803) et IEND(804) BPRG(096) et BEND(801) EXIT(806) (NOT) LOOP(809) et LEND(810) (NOT) WAIT(805) (NOT) TIMW(813) TMHW(815) CNTW(814) BPPS(811) et BPRS(812) Note Instruction FOR, NEXT et BREAK LOOP END INTERLOCK et INTERLOCK CLEAR JUMP et JUMP END CONDITIONAL JUMP et CONDITIONAL JUMP NOT MULTIPLE JUMP et MULTIPLE JUMP END SUBROUTINE ENTRY et SUBROUTINE RETURN Instructions de dérivation BLOCK PROGRAM BEGIN/ END CONDITIONAL BLOCK EXIT (NOT) Loop Control ONE CYCLE WAIT (NOT) TIMER WAIT HIGH-SPEED TIMER WAIT COUNTER WAIT BLOCK PROGRAM PAUSE et RESTART 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 Chapitre 2-2 Précautions 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 Commandes des FOR(512), NEXT(513) et séquences BREAK(514) END(001) IL(002) et ILC(003) JMP0(515) et JME0(516) Entrée de séquence Sortie de séquence Temporisation/compteur Sous-programmes Note UP(521) DOWN(522) DIFU DIFD KEEP OUT OUT NOT TIM TIMH TMHH(540) TTIM(087) TIML(542) MTIM(543) CNT CNTR SBN(092) et RET(093) Décalage de données Contrôle de schéma contact pas à pas Contrôles des données Programme de bloc SFT STEP(008) et SNXT(009) PID BPRG(096) Diagnostic des problèmes FPD(269) Instruction FOR, NEXT et BREAK LOOP END INTERLOCK et INTERLOCK CLEAR MULTIPLE JUMP et MULTIPLE JUMP END CONDITION ON CONDITION OFF DIFFERENTIATE UP DIFFERENTIATE DOWN KEEP OUTPUT OUTPUT NOT TIMER HIGH-SPEED TIMER ONE-MS TIMER ACCUMULATIVE TIMER LONG TIMER MULTI-OUTPUT TIMER COUNTER REVERSIBLE COUNTER SUBROUTINE ENTRY et SUBROUTINE RETURN SHIFT STEP DEFINE et STEP START PID CONTROL BLOCK PROGRAM BEGIN FAILURE POINT DETECTION 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 Chapitre 2-3 Vérification des programmes 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 A l'insertion de schémas contacts Lors du chargement de fichiers Lors du téléchargement de fichiers Pendant l'édition en ligne Contenu vérifié 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 Données illégales : schéma contact Prise en charge d'instructions par l'API 64 Vérification 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 Chapitre 2-3 Vérification des programmes Zone Plages des opérandes Vérification 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 Capacité du Nombre de pas programme pour les Capacité générale API Nombre de tâches Syntaxe Vérification des appels pour les instructions par paire • 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 Structure du Dépassements de piles schéma contact Duplication des Duplique la vérification des résultats 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 Tâches Vérifie les tâches devant commencer au début du 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 Chapitre 2-3 Vérification des programmes 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 programmation Vérifiées lorsque les CX-Programmer offre les fonctionnalités suivantes pour les opérandes à plusieurs mots qui dépassent une limite de zone programmes sont installés, c-à-d que de mémoire. les opérandes qui • Impossible de transférer le programme vers l'UC. dépassent une limite • Impossible de lire le programme à partir de l'UC. de zone de mémoire ne peuvent pas être • Des erreurs de compilation sont générées pour la écrites. 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 1. Erreur de traitement de l'instruction 2. Erreur d'accès 3. Erreur d'instruction illégale 4. Erreur de dépassement de la MU (mémoire utilisateur) Drapeau passant à ON en cas d'erreur 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. 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 Drapeau AER Le drapeau d'erreur d'accès (A29510) définir un paramètre de façon à préciser si le passera aussi à ON s'il est spécifié qu'il fonctionnement doit s'arrêter ou continuer en cas d'erreur d'accès. Par défaut, le faut arrêter le fonctionnement fonctionnement continuera. lorsqu'une erreur se produit. 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é. Drapeau d'erreur d'instruction illégale (Erreur de programme) fatale (A29514) Drapeau d'erreur de dépassement MU (Erreur de programme) fatale 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. 66 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. Remarque Remarque 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. 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. 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 Chapitre 2-3 Vérification des programmes 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 A294 Description 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. Données stockées 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/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. A298 : Partie la plus à droite de l'adresse de programme A299 : Partie la plus à gauche de l'adresse de programme Remarque 68 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. Chapitre 2-3 Vérification des programmes Erreur de programme Pas d'instruction END Erreur lors de l'exécution de la tâche 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. Description Le programme ne contient pas d'instruction END. Aucune tâche n'est prête dans le cycle. 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. Drapeaux associés : 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. Erreur BCD de DM/EM indirecte et La valeur spécifiée dans une adresse dans la configuration de l'API, Arrêter le DM/EM indirecte en mode BCD n'était fonctionnement a été défini en cas pas une donnée BCD. 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 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. Pendant l'édition en ligne, plus de Le drapeau d'erreur de dépassement 131 071 instructions différenciées ont de différenciation (A29513) passe à été insérées ou supprimées. ON. Le drapeau de dépassement de MU Une tentative a eu lieu pour exécuter des données d'instruction stockées au- (mémoire utilisateur) (A29516) passe à ON. delà de la dernière adresse dans la mémoire utilisateur (MU) définie comme zone de stockage du programme. Une tentative d'exécution d'une Le drapeau d'instruction illégale instruction qui ne peut être exécutée a (A29514) passe à ON. eu lieu. 69 Vérification des programmes 70 Chapitre 2-3 CHAPITRE 3 Fonction des instructions Cette section décrit les instructions que vous pouvez utiliser pour écrire des programmes utilisateur. 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 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 71 Chapitre 3-1 Instructions d'entrée des séquence 3-1 Instructions d'entrée des séquence *1 Instruction Mnémonique Code LOAD LD @LD %LD !LD*1 !@LD*1 !%LD*1 LOAD NOT LD NOT @LD NOT*2 %LD NOT*2 !LD NOT*1 !@LD NOT*3 !%LD NOT*3 Symbole/ Opérande OR NOT @OR NOT*2 %OR NOT*2 !OR NOT*1 !@OR NOT*3 !%OR NOT*3 72 : prise en charge par les UC CS1-H, CJ1-H et CJ1M uniquement. Fonction Emplacement Condition d'exécution Indique un départ logique et crée une condition d'exécution ON/OFF fondée sur l'état ON/OFF inverse du bit d'opérande spécifié. Démarrage de la logique Non obligatoire Effectue un AND logique de l'état du bit d'opérande spécifié et de la condition d'exécution courante. En continu sur l'équation logique Obligatoire Inverse l'état du bit d'opérande spécifié et contient un AND logique avec la condition d'exécution courante. En continu sur l'équation logique Obligatoire Barre de bus Effectue un OR logique de l'état ON/OFF du bit d'opérande spécifié et de la condition d'exécution courante. En continu sur l'équation logique Obligatoire Barre de bus Inverse l'état du bit d'opérande spécifié et contient un OR logique avec la condition d'exécution courante. En continu sur l'équation logique Obligatoire Point de départ du bloc Barre de bus Point de départ du bloc AND NOT AND NOT @AND NOT*2 %AND NOT*2 !AND NOT*1 !@AND NOT*3 !%AND NOT*3 OR NOT *3 Démarrage de la logique Non obligatoire AND @AND %AND !AND*1 !@AND*1 !%AND*1 OR @OR %OR !OR*1 !@OR*1 !%OR*1 : non prise en charge par les UC CS1D pour les systèmes d'UC en duplex. : prise en charge par les UC CS1-H, CJ1-H, CJ1M et CS1D seulement. Indique un départ logique et crée une condition d'exécution ON/OFF fondée sur l'état ON/OFF du bit d'opérande spécifié. Barre de bus AND OR *2 Chapitre 3-1 Instructions d'entrée des séquence Instruction Mnémonique Code AND LOAD AND LD Symbole/ Opérande Bloc logique Bloc logique Fonction Effectue un AND logique entre les blocs logiques. LD jusqu'à Emplacement Condition d'exécution En continu sur l'équation logique Obligatoire Bloc logique A LD Bloc logique B jusqu'à AND LD OR LOAD OR LD Bloc logique Bloc logique Connexion série entre le bloc logique A et le bloc logique B. Effectue un OR logique entre les blocs logiques. LD jusqu'à LD En continu sur l'équation logique Obligatoire Bloc logique A Bloc logique B jusqu'à OR LD NOT --- Connexion parallèle entre le bloc logique A et le bloc logique B. Inverse la condition d'exécution. En continu sur l'équation logique Obligatoire UP(521) met à ON la condition d'exécution pendant un cycle lorsque la condition d'exécution passe de OFF à ON. En continu sur l'équation logique Obligatoire DOWN(522) met à ON la condition d'exécution pendant un cycle lorsque la condition d'exécution passe de ON à OFF. En continu sur l'équation logique Obligatoire LD TST(350), AND TST(350) et OR TST(350) sont utilisées dans le programme comme LD, AND et OR ; la condition d'exécution est ON lorsque le bit spécifié dans le mot spécifié est ON et OFF lorsque le bit est OFF. En continu sur l'équation logique Non obligatoire LD TSTN(351), AND TSTN(351) et OR TSTN(351) sont utilisées dans le programme comme LD NOT, AND NOT et OR NOT ; la condition d'exécution est OFF lorsque le bit spécifié dans le mot spécifié est ON et ON lorsque le bit est à OFF. En continu sur l'équation logique Non obligatoire LD TST(350), AND TST(350) et OR TST(350) sont utilisées dans le programme comme LD, AND et OR ; la condition d'exécution est ON lorsque le bit spécifié dans le mot spécifié est ON et OFF lorsque le bit est OFF. En continu sur l'équation logique Obligatoire LD TSTN(351), AND TSTN(351) et OR TSTN(351) sont utilisées dans le programme comme LD NOT, AND NOT et OR NOT ; la condition d'exécution est OFF lorsque le bit spécifié dans le mot spécifié est ON et ON lorsque le bit est OFF. En continu sur l'équation logique Obligatoire NOT 520 CONDITION ON UP 521 CONDITION OFF DOWN 522 BIT TEST LD TST 350 UP(521) DOWN(522) TST(350) S N S : Mot source N : Numéro de bit BIT TEST LD TSTN 351 TSTN(351) S N S : Mot source N : Numéro de bit BIT TEST AND TST 350 TST(350) S N S : Mot source N : Numéro de bit BIT TEST AND TSTN 351 TSTN(351) S N S : Mot source N : Numéro de bit 73 Chapitre 3-2 Instructions de sortie des séquences Instruction Mnémonique Code BIT TEST OR TST 350 Symbole/ Opérande TST(350) S Fonction Emplacement Condition d'exécution LD TST(350), AND TST(350) et OR TST(350) sont utilisées dans le programme comme LD, AND et OR ; la condition d'exécution est ON lorsque le bit spécifié dans le mot spécifié est ON et OFF lorsque le bit est OFF. En continu sur l'équation logique Obligatoire LD TSTN(351), AND TSTN(351) et OR TSTN(351) sont utilisées dans le programme comme LD NOT, AND NOT et OR NOT ; la condition d'exécution est OFF lorsque le bit spécifié dans le mot spécifié est ON et ON lorsque le bit est à OFF. En continu sur l'équation logique Obligatoire N S : Mot source N : Numéro de bit BIT TEST OR TSTN 351 TSTN(351) S N S : Mot source N : Numéro de bit 3-2 Instructions de sortie des séquences *1 Instruction Mnémonique Code Symbole/ Opérande OUTPUT OUT !OUT*1 OUTPUT NOT OUT NOT !OUT NOT*1 KEEP KEEP !KEEP*1 : non prise en charge par les UC CS1D pour les systèmes d'UC en duplex. S (Définir) KEEP(011) B Fonction Emplacement Condition d'exécution Sort le résultat (condition d'exécution) du traitement logique vers le bit spécifié. Sortie obligatoire Inverse le résultat (condition d'exécution) du traitement logique et le sort vers le bit spécifié. Sortie obligatoire Fonctionne comme un relais verrouillé. Sortie Obligatoire Définir R (Réinitialiser) 011 B : Bit Réinitialiser Condition d'exécution S Condition d'exécution R Etat de B DIFFERENTIATE UP DIFU !DIFU*1 DIFU(013) DIFU(013) met le bit désigné sur ON pour un cycle lorsque la condition d'exécution passe de OFF sur ON (front montant). B B : Bit Condition d'exécution 013 Etat de B Un cycle 74 Sortie Obligatoire Chapitre 3-2 Instructions de sortie des séquences Instruction Mnémonique Code Symbole/ Opérande DIFFERENTIATE DOWN DIFD !DIFD*1 DIFD(014) Fonction Emplacement Condition d'exécution DIFU(014) met le bit désigné sur ON pour un cycle lorsque la condition d'exécution passe de ON sur OFF (front descendant). Sortie Obligatoire B Condition d'exécution B : Bit 014 Etat de B Un cycle SET SET @SET %SET !SET*1 B : Bit !@SET*1 !%SET*1 RESET SET B Sortie Obligatoire Etat de B RSET RSET @RSET B %RSET *1 B : Bit !RSET !@RSET*1 !%RSET*1 MULTIPLE BIT SET SETA @SETA 530 SET met le bit d'opérande sur ON lorsque la condition d'exécution est sur ON. Condition d'exécution de SET SETA(530) RSET met le bit d'opérande sur OFF lorsque la condition d'exécution est sur ON. Condition d'exécution de RSET Sortie Obligatoire Etat de B SETA(530) met sur ON le nombre de bits consécutifs spécifié. Sortie Obligatoire D N1 N2 N2 bits sont mis à 1 (ON). D : Mot de début N1 : Bit de début N2 : Nombre de bits MULTIPLE BIT RESET RSTA @RSTA 531 RSTA(531) RSTA(531) met sur OFF le nombre de bits consécutifs spécifié. Sortie Obligatoire D N1 N2 N2 bits sont remis à 0 (OFF). D : Mot de début N1 : Bit de début N2 : Nombre de bits SINGLE BIT SET SETB(532) (CS1-H, CJ1-H, CJ1M ou CS1D D uniquement) SETB N @SETB *1 !SETB D : Adresse mot !@SETB*1 N : Numéro de bit SETB(532) met à ON le bit spécifié dans le mot spécifié lorsque la condition d'exécution est ON. A la différence de l'instruction SET, SETB(532) peut être utilisée pour initialiser un bit dans un mot DM ou EM. Sortie Obligatoire 75 Chapitre 3-2 Instructions de sortie des séquences Instruction Mnémonique Code Symbole/ Opérande Fonction Emplacement Condition d'exécution SINGLE BIT RSTB(533) RESET (CS1-H, CJ1-H, CJ1M ou D CS1D uniquement) N RSTB @RSTB D : Adresse mot !RSTB*1 N : Numéro de bit !@RSTB*1 RSTB(533) met à OFF le bit spécifié dans le mot spécifié lorsque la condition d'exécution est ON. A la différence de l'instruction RSET, RSTB(533) peut être utilisée pour réinitialiser un bit dans un mot DM ou EM. Sortie Obligatoire SINGLE BIT OUTB(534) OUTPUT (CS1-H, CJ1-H, CJ1M ou D CS1D uniquement) N OUTB @OUTB D : Adresse mot !OUTB*1 N : Numéro de bit OUTB(534) sort le résultat (condition d'exécution) du traitement logique vers le bit spécifié. A la différence de l'instruction OUT, OUTB(534) peut être utilisée pour contrôler un bit dans un mot DM ou EM. Sortie Obligatoire 76 Chapitre 3-3 Instructions de commande des séquences 3-3 Instructions de commande des séquences Instruction Mnémonique Code END END 001 Symbole/ Opérande END(001) Fonction Emplacement Condition d'exécution Indique la fin d'un programme. END(001) termine l'exécution d'un programme pour ce cycle. Aucune instruction n'est écrite après l'exécution de END(001). L'exécution passe au programme correspondant au numéro de tâche suivant. Lorsque le programme en cours d'exécution correspond au numéro de tâche le plus élevé dans le programme, END(001) marque la fin de l'ensemble du programme principal. Sortie Non obligatoire Tâche 1 Programme A Vers le numéro de tâche suivant Tâche 2 Programme B Vers le numéro de tâche suivant Tâche n Programme Z Fin du programme principal Mise à jour d'E/S NO OPERATION NOP 000 INTERLOCK IL 002 Cette instruction n'a aucune fonction (aucun traitement n'est effectué pour NOP(000).) IL(002) Verrouille toutes les sorties situées entre IL(002) et ILC(003) lorsque la condition d'exécution de IL(002) est sur OFF. IL(002) et ILC(003) sont normalement utilisées sous forme de paire. Condition d'exécution Condition d'exécution sur ON Section verrouillée du programme Sortie Non obligatoire Sortie Obligatoire Condition d'exécution sur OFF Exécution Sorties normale verrouillées. 77 Chapitre 3-3 Instructions de commande des séquences Instruction Mnémonique Code INTERLOCK CLEAR Symbole/ Opérande ILC(003) ILC 003 MULTIINTERLOCK DIFFERENTIATIO N HOLD MILH 517 UC série CS/CJ Ver. 2.0 ou supérieure uniquement MULTIINTERLOCK DIFFERENTIATIO N RELEASE MILR 518 UC série CS/CJ Ver. 2.0 ou supérieure uniquement MULTIINTERLOCK CLEAR MILH (517) N D N : Numéro de verrouillage D : Bit d'état du verrouillage MILR (518) N D N : Numéro de verrouillage D : Bit d'état du verrouillage MILC (519) MILC 519 UC série CS/CJ N N : Numéro de verrouillage Ver. 2.0 ou supérieure uniquement JUMP JMP 004 JMP(004) N N : Numéro de saut Fonction Toutes les sorties situées entre IL(002) et ILC(003) sont verrouillées lorsque la condition d'exécution de IL(002) est OFF. IL(002) et ILC(003) sont normalement utilisées sous forme de paire. JME 005 JME(005) N N : Numéro de saut 78 Sortie Non obligatoire Lorsque la condition d'exécution de MILH(517) est OFF, les sorties de Sortie toutes les instructions situées entre cette instruction MILH(517) et la Obligatoire prochaine instruction MILC(519) sont verrouillées. MILH(517) et MILC(519) sont utilisées sous forme de paire. Les verrouillages MILH(517)/MILC(519) peuvent être imbriqués (exemple : MILH(517)—MILH(517)—MILC(519)—MILC(519)). S'il existe une instruction différenciée (DIFU, DIFD ou une instruction avec un préfixe @ ou %) entre MILH(517) et la MILC(519) correspondante, cette instruction sera exécutée après la libération du verrouillage si la condition de différenciation de l'instruction a été établie. Lorsque la condition d'exécution de MILR(518) est OFF, les sorties de Sortie toutes les instructions situées entre cette instruction MILH(518) et la Obligatoire prochaine instruction MILC(519) sont verrouillées. MILR(518) et MILC(519) sont utilisées en tant que paire. Les verrouillages MILR(518)/MILC(519) peuvent être imbriqués (exemple : MILR(518)—MILR(518)—MILC(519)—MILC(519)). S'il existe une instruction différenciée (DIFU, DIFD ou une instruction avec un préfixe @ ou %) entre MILR(518) et la MILC(519) correspondante, cette instruction ne sera pas exécutée après la suppression du verrouillage, même si la condition de différenciation de l'instruction a été établie. Efface un verrouillage déclenché par une MILH(517) ou une MILR(518) portant le même numéro de verrouillage. Sortie Non obligatoire Toutes les sorties situées entre MILH(517)/MILR(518) et la MILC(519) correspondante, et qui portent le même numéro de verrouillage, sont verrouillées lorsque la condition d'exécution de MILH(517)/MILR(518) est OFF. Lorsque la condition d'exécution de JMP(004) est sur OFF, l'exécution Sortie Obligatoire du programme passe directement au premier JME(005) du programme avec le même numéro de saut. JMP(004) et JME(005) sont utilisées dans des paires. Condition d'exécution Instructions sautées Instructions exécutées JUMP END Emplacement Condition d'exécution Les instructions de cette section ne sont pas exécutées et l'état de la sortie est conservé. Le temps d'exécution de ces instructions est éliminé. Indique la fin d'un saut déclenché par JMP(004) ou CJP(510). Sortie Non obligatoire Chapitre 3-3 Instructions de commande des séquences Instruction Mnémonique Code CONDITIONAL JUMP CJP 510 Symbole/ Opérande CJP(510) N N : Numéro de saut Fonction Emplacement Condition d'exécution Le fonctionnement de CJP(510) est fondamentalement à l'opposé de celui de JMP(004). Lorsque la condition d'exécution de CJP(510) est sur ON, l'exécution du programme passe directement au premier JME(005) du programme avec le même numéro de saut. CJP(510) et JME(005) sont utilisées dans des paires. Condition Condition d'exécution sur OFF d'exécution sur ON Sortie Obligatoire Instructions sautées Les instructions de cette section ne sont pas exécutées et l'état de la sortie est conservé. Le temps d'exécution de ces instructions est éliminé. Instructions exécutées CONDITIONAL JUMP CJPN 511 CJPN(511) N N : Numéro de saut Le fonctionnement de CJPN(511) est presque identique à celui de JMP(004). Lorsque la condition d'exécution de CJP(004) est sur OFF, l'exécution du programme passe directement au premier JME(005) du programme avec le même numéro de saut. CJPN(511) et JME(005) sont utilisées dans des paires. Condition Condition d'exécution sur ON d'exécution sur OFF Instructions sautées Les instructions de cette section ne sont pas exécutées et l'état de la sortie est conservé. Le temps d'exécution de ces instructions est éliminé. Instructions exécutées MULTIPLE JUMP JMP0 515 JMP0(515) Sortie Non obligatoire Lorsque la condition d'exécution de JMP0(515) est OFF, toutes les instructions situées entre JMP0(515) et la prochaine JME0(516) dans le programme sont traitées en tant que NOP(000). Utilisez JMP0(515) et JME0(516) sous forme de paire. Le nombre de paires pouvant être utilisées dans le programme est illimité. Condition d'exécution sur ON Sortie Obligatoire Condition d'exécution sur OFF Instructions sautées Instructions exécutées Condition d'exécution b sur ON Les instructions sautées sont traitées en tant que Condition d'exé- NOP(000). Les temps cution b sur OFF d'exécution des instructions sont les mêmes temps que pour NOP(000). Instructions exécutées Instructions sautées MULTIPLE JUMP END JME0 516 JME0(516) Lorsque la condition d'exécution de JMP0(515) est OFF, toutes les instructions situées entre JMP0(515) et la prochaine JME0(516) dans le programme sont traitées en tant que NOP(000). Utilisez JMP0(515) et JME0(516) sous forme de paire. Le nombre de paires pouvant être utilisées dans le programme est illimité. Sortie Non obligatoire 79 Chapitre 3-3 Instructions de commande des séquences Instruction Mnémonique Code FOR-NEXT LOOPS Symbole/ Opérande FOR(512) FOR 512 N Fonction Emplacement Condition d'exécution Les instructions situées entre FOR(512) et NEXT(513) sont répétées un nombre de fois spécifié. FOR(512) et NEXT(513) sont utilisées sous forme de paire. N : Nombre de boucles Sortie Non obligatoire Répété N fois Section de programme répétée BREAK LOOP BREAK 514 BREAK(514) Programmé dans une boucle FOR-NEXT de façon à annuler l'exécution de la boucle pour une condition d'exécution donnée. Les autres instructions de la boucle sont traitées comme des instructions NOP(000). Condition a ON N répétitions Sortie Obligatoire Fin des répétitions forcée. Traité en tant que NOP(000). FOR-NEXT LOOPS NEXT(513) NEXT 513 80 Les instructions situées entre FOR(512) et NEXT(513) sont répétées Sortie un nombre de fois spécifié. FOR(512) et NEXT(513) sont utilisées sous Non obligatoire forme de paire. Chapitre 3-4 Instructions de temporisation et de compteur 3-4 Instructions de temporisation et de compteur Instruction Mnémonique Code TIMER TIM (BCD) Symbole/ Opérande TIM N S TIMX (Binaire) : Numéro de (CS1-H, CJ1-H, N temporisation CJ1M ou CS1D S : Valeur de consigne uniquement) TIMX(550) N S N : Numéro de temporisation S : Valeur de consigne Fonction TIM/TIMX(550) effectue une temporisation décroissante par pas de 0,1 s. La plage de configuration pour la valeur de consigne (SV) va de 0 à 999,9 s pour les données BCD et de 0 à 65 553,5 s pour les données binaires (décimales ou hexadécimales). Emplacement Condition d'exécution Sortie Obligatoire Entrée de temporisation PV de temporisation SV Drapeau de fin Entrée de temporisation PV de temporisation SV Drapeau de fin HIGH-SPEED TIMER TIMH 015 (BCD) TIMH(015) N S N : Numéro de TIMHX temporisation 551 S : Valeur de consigne (Binaire) (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) TIMHX(551) N TIMH(015)/TIMHX(551) effectue une temporisation décroissante par pas de 10 ms. La plage de configuration pour la valeur de consigne (SV) va de 0 à 99,9 s pour les données BCD et de 0 à 655,35 s pour les données binaires (décimales ou hexadécimales). Sortie Obligatoire Entrée de temporisation PV de temporisation SV Drapeau de fin S N : Numéro de temporisation S : Valeur de consigne Entrée de temporisation PV de temporisation SV Drapeau de fin ONE-MS TIMER TMHH 540 (BCD) TMHH(540) N S TMHHX N : Numéro de 552 temporisation (BCD) S : Valeur de consigne (CS1-H, CJ1-H, CJ1M ou CS1D TMHHX(552) uniquement) TMHH(540)/TMHHX(552) effectue une temporisation décroissante par Sortie pas de 1 ms. La plage de configuration pour la valeur de consigne (SV) Obligatoire va de 0 à 9,999 s pour les données BCD et de 0 à 65,535 s pour les données binaires (décimales ou hexadécimales). Les tableaux de temporisation pour TMHH(540) et TMHHX(552) sont les mêmes que ceux donnés ci-dessus pour TIMH(015). N S N : Numéro de temporisation S : Valeur de consigne 81 Chapitre 3-4 Instructions de temporisation et de compteur Instruction Mnémonique Code ACCUMULATIVE TIMER TTIM 087 (BCD) Symbole/ Opérande Entrée de TTIM(087) temporisation N S TTIMX 555 N : Numéro de (Binaire) temporisation S : Valeur de consigne (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) Entrée de N Entrée de réinitialisation N : Numéro de temporisation S : Valeur de consigne TIML(542) D1 D2 TIMLX 553 (Binaire) (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) S D1 : Drapeau de fin D2 : Mot PV S : Mot SV TIMLX(553) D1 D2 S D1 : Drapeau de fin D2 : Mot PV S : Mot SV 82 TTIM(087)/TTIMX(555) effectue une temporisation croissante par pas de 0,1 s. La plage de configuration pour la valeur de consigne (SV) va de 0 à 999,9 s pour les données BCD et de 0 à 65 553,5 s pour les données binaires (décimales ou hexadécimales). Sortie Obligatoire PV de temporisation SV La temporisation. reprend PV conservée. TTIMX(555) S LONG TIMER TIML 542 (BCD) Emplacement Condition d'exécution Entrée de temporisation Entrée de réinitialisation temporisation Fonction Drapeau de fin Entrée de réinitialisation TIML(542)/TIMLX(553) effectue une temporisation décroissante par pas de 0,1 s qui peut aller jusqu'à 115 jours pour les données BCD et 49 710 jours pour les données binaires (décimales ou hexadécimales). Entrée de temporisation PV de temporisation Drapeau de fin (Bit 00 de D1) SV Sortie Obligatoire Chapitre 3-4 Instructions de temporisation et de compteur Instruction Mnémonique Code Symbole/ Opérande MULTI-OUTPUT TIMER MTIM 543 (BCD) MTIMX 554 (Binaire) (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) MTIM(543) D1 D2 Fonction Emplacement Condition d'exécution MTIM(543)/MTIMX(554) prend en charge une temporisation basée sur des incréments de 0,1 s avec 8 valeurs de consigne (SV) et drapeaux de fin indépendants. La plage de configuration pour la valeur de consigne (SV) est comprise entre 0 et 999,9 s pour les données BCD, entre 0 et 6 553,5 s pour les données binaires (décimales ou hexadécimales). Sortie Obligatoire PV de temporisation S D1 : Drapeaux de fin D2 : Mot PV S : 1er mot SV SV de temporisation 0 jusqu'à MTIMX(554) jusqu'à D1 D2 S D1 : Drapeaux de f D2 : Mot PV S : 1er mot SV Entrée de temporisation SV 7 jusqu'à SV 2 PV de SV 1 temporisation (D2) SV 0 0 Exécution Drapeaux (D1) Bit 7 jusqu'à Bit 2 Bit 1 Bit 0 COUNTER Entrée CNT comp(BCD) tage CNTX 546 (Binaire) (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) CNT N S CNT/CNTX(546) prend en charge un compteur décrémentiel. La plage de configuration pour la valeur de consigne (SV) va de 0 à 9 999 pour les données BCD et de 0 à 65 535 pour les données binaires (décimales ou hexadécimales). Entrée de réinitialisation Entrée comptage N : Numéro de compteur S : Valeur de consigne Entrée de réinitialisation Entrée de comptage CNTX(546) N S Entrée de réinitialisation PV de compteur Sortie Obligatoire SV Drapeau de fin N : Numéro de compteur S : Valeur de consigne 83 Chapitre 3-4 Instructions de temporisation et de compteur Instruction Mnémonique Code REVERSIBLE COUNTER CNTR 012 (BCD) Symbole/ Opérande Entrée incrémentielle CNTR(012) Entrée décrémentielle S Emplacement Condition d'exécution CNTR(012)/CNTRX(548) prend en charge un compteur réversible. Sortie Obligatoire N CNTRX Entrée de réinitialisation 548 (Binaire) (CS1-H, CJ1-H, N : Numéro de CJ1M ou CS1D compteur uniquement) S : Valeur de consigne Entrée incrémentielle Fonction Entrée incrémentielle Entrée décrémentielle PV de compteur CNTRX(548) N Entrée décrémentielle S SV PV de compteur +1 Entrée de réinitialisation N : Numéro de compteur S : Valeur de consigne Drapeau de fin SV 1 PV de compteur Drapeau de fin RESET TIMER/ COUNTER CNR @CNR 545 (BCD) CNR(545) N1 N2 N1 : Premier numéro CNRX de la plage @CNRX N2 : Dernier numéro 547 de la plage (Binaire) (CS1-H, CJ1-H, CNRX(547) CJ1M ou CS1D uniquement) N1 N2 N1 : Premier numéro de la plage N2 : Dernier numéro de la plage 84 CNR(545)/CNRX(547) réinitialise les temporisations ou les compteurs dans l'intervalle des numéros de temporisation et de compteur spécifié. Attribue à la valeur de consigne (SV) la valeur maximale de 9999. Sortie Obligatoire Chapitre 3-5 Instructions de comparaison 3-5 Instructions de comparaison *1 Instruction Mnémonique Code Comparaison de symboles (non signé) LD, AND, OR + =, <>, <, <=, >, >= 300 (=) 305 (<>) 310 (<) 315 (<=) 320 (>) 325(>=) : non prise en charge par les UC CS1D pour les systèmes d'UC en duplex. Symbole/ Opérande Symbole et options S1 S2 S1 : Donnée de comparaison 1 S2 : Donnée de comparaison 2 Fonction Emplacement Condition d'exécution Les instructions de comparaison de symboles (non signées) comparent deux valeurs (constantes et/ou le contenu des mots spécifiés) dans les données binaires 16 bits et créent une condition d'exécution ON lorsque la condition de comparaison est vraie. Il existe trois types d'instructions de comparaison à symbole : LD (LOAD), AND et OR. LD Condition d'exécution sur ON lorsque le résultat de la comparaison est vrai. < LD : non obligatoire AND, OR : obligatoire Condition d'exécution sur ON lorsque le résultat de la comparaison est vrai. AND < OR < Condition d'exécution sur ON lorsque le résultat de la comparaison est vrai. Comparaison de symboles (mot double, non signé) LD, AND, OR + =, <>, <, <=, >, >= + L 301 (=) 306 (<>) 311 (<) 316 (<=) 321 (>) 326 (>=) S1 : données de comparaison 1 S2 : données de comparaison 2 Les instructions de comparaison de symboles (mot double, non signé) LD : non obligatoire comparent deux valeurs (constantes et/ou le contenu des données de mots AND, OR : doubles spécifiés) dans les données binaires 32 bits non signées et créent obligatoire une condition d'exécution ON lorsque la condition de comparaison est vraie. Il existe trois types d'instructions de comparaison à symbole : LD (LOAD), AND et OR. Comparaison de symboles (signé) LD, AND, OR + =, <>, <, <=, >, >= +S 302 (=) 307 (<>) 312 (<) 317 (<=) 322 (>) 327 (>=) S1 : données de comparaison 1 S2 : données de comparaison 2 Les instructions de comparaison de symboles (signé) comparent deux valeurs (constantes et/ou le contenu des mots spécifiés) dans les données binaires 16 bits signées (4 chiffres hexadécimaux) et créent une condition d'exécution ON lorsque la condition de comparaison est vraie. Il existe trois types d'instructions de comparaison à symbole : LD (LOAD), AND et OR. LD : non obligatoire AND, OR : obligatoire 85 Chapitre 3-5 Instructions de comparaison Instruction Mnémonique Code Comparaison de symboles (mot double, signé) LD, AND, OR + =, <>, <, <=, >, >= +SL 303 (=) 308 (<>) 313 (<) 318 (<=) 323 (>) 328 (>=) Symbole/ Opérande S1 : données de comparaison 1 S2 : données de comparaison 2 Comparaison de LD (LOAD) : temps LD, AND, OR + = Symbole DT, <> DT, < DT, C <= DT, > DT, >= DT S1 341 (= DT) S2 342 (<> DT) 343 (< DT) 344 (<= DT) 345 (> DT) AND : 346 (>= DT) Symbole (UC série CS/CJ Ver. 2.0 ou C supérieure uniquement) S1 Fonction Emplacement Condition d'exécution Les instructions de comparaison de symboles (mot double, signé) comparent deux valeurs (constantes et/ou le contenu des données de mots doubles spécifiés) dans les données binaires 32 bits signées (8 chiffres hexadécimaux) et créent une condition d'exécution ON lorsque la condition de comparaison est vraie. Il existe trois types d'instructions de comparaison à symbole : LD (LOAD), AND et OR. LD : non obligatoire AND, OR : obligatoire Les instructions de comparaison de temps comparent deux valeurs de temps BCD et créent une condition d'exécution ON lorsque la condition de comparaison est vraie. Il existe trois types d'instructions de comparaison de temps : LD (LOAD), AND et OR. Les valeurs de temps (année, mois, jour, heure, minute et seconde) peuvent être masquées/démasquées dans la comparaison, ce qui permet de créer facilement des fonctions de temporisation de calendrier. LD : non obligatoire AND, OR : obligatoire Compare deux valeurs binaires non signées (constantes et/ou le contenu des mots spécifiés) et place le résultat dans les drapeaux arithmétiques à l'intérieur de la zone auxiliaire. Comparaison de valeurs binaires non signées Sortie Obligatoire S2 OR : Symbole C S1 S2 C : Mot de contrôle S1 : 1er mot temps présent S2 : 1er mot temps de comparaison UNSIGNED COMPARE CMP(020) CMP !CMP*1 020 S1 S2 S1 : Donnée de comparaison 1 S2 : Donnée de comparaison 2 DOUBLE UNSIGNED COMPARE CMPL(060) CMPL 060 S1 Compare deux valeurs binaires non signées doubles (constantes et/ou le contenu des mots spécifiés) et place le résultat dans les drapeaux arithmétiques à l'intérieur de la zone auxiliaire. Comparaison de valeurs binaires non signées S2 S1 : Donnée de comparaison 1 S2 : Donnée de comparaison 2 86 Drapeaux arithmétiques (>, >=, =, <=, <, <>) S1+1 S2+1 Drapeaux arithmétiques (>, >=, =, <=, <, <>) Sortie Obligatoire Chapitre 3-5 Instructions de comparaison Instruction Mnémonique Code SIGNED BINARY COMPARE CPS !CPS*1 114 Symbole/ Opérande CPS(114) S1 S2 Fonction Compare deux valeurs binaires signées (constantes et/ou le contenu des mots spécifiés) et place le résultat dans les drapeaux arithmétiques à l'intérieur de la zone auxiliaire. Comparaison de valeurs binaires non signées S1 : Donnée de comparaison 1 S2 : Donnée de comparaison 2 DOUBLE SIGNED BINARY COMPARE CPSL 115 MULTIPLE COMPARE MCMP @MCMP 019 CPSL(115) S1 S1 S2 Compare deux valeurs binaires signées doubles (constantes et/ou le contenu des mots spécifiés) et place le résultat dans les drapeaux arithmétiques à l'intérieur de la zone auxiliaire. TCMP @TCMP 085 TCMP(085) S T R S : Donnée source T : 1er mot de la table R : Mot de résultat UNSIGNED BLOCK COMPARE BCMP @BCMP 068 BCMP(068) S T Sortie Obligatoire Comparaison de valeurs binaires non signées S1+1 S2+1 Drapeaux arithmétiques (>, >=, =, <=, <, <>) Compare 16 mots consécutifs avec 16 autres mots consécutifs et met sur ON le bit correspondant dans le mot de résultat lorsque les contenus ne sont pas égaux. R Comparaison Sortie Obligatoire Compare la donnée source avec le contenu de 16 mots et met sur ON le bit correspondant dans le mot de résultat lorsque les contenus sont égaux. Comparaison R 1 : Les données sont égales. 0 : Les données ne sont pas égales. Sortie Obligatoire Compare la donnée source avec 16 plages (définies par 16 limites inférieures et 16 limites supérieures) et met sur ON le bit correspondant dans le mot de résultat lorsque la donnée source est comprise dans la plage. 1 : Dans la plage Plages Sortie Obligatoire 0 : Les mots sont égaux. 1 : Les mots ne sont pas égaux. R S1 : 1er mot de l'ensemble 1 S2 : 1er mot de l'ensemble 2 R : Mot de résultat TABLE COMPARE Sortie Obligatoire Drapeaux arithmétiques (>, >=, =, <=, <, <>) S2 S1 : Donnée de comparaison 1 S2 : Donnée de comparaison 2 MCMP(019) Emplacement Condition d'exécution R Limite inférieure S : Donnée source T : 1er mot de la table R : Mot de résultat jusqu'à T+1 0 T+2 jusqu'à T+3 1 T+28 T+30 jusqu'à T+29 14 jusqu'à T+31 15 T Donnée source 0 : En dehors de la plage Limite supérieure R S 87 Chapitre 3-5 Instructions de comparaison Instruction Mnémonique Code EXPANDED BLOCK COMPARE BCMP2 @BCMP2 502 (UC CS1-H, CJ1-H ou CS1D Ver. 2.0 ou supérieure uniquement) UC CJ1M (Pré-ver. 2.0 ou Ver. 2.0 ou supérieure) Symbole/ Opérande BCMP2(502) S Fonction Emplacement Condition d'exécution Compare les données source par rapport à 256 plages maximum Sortie (définies par des limites supérieure et inférieure) et met à ON le bit Obligatoire correspondant dans le mot de résultat lorsque les données sources sont à l'intérieur d'une plage. T R T S : Donnée source T : 1er mot du bloc R : Mot de résultat Donnée source N n=255 max. 1: Dans la plage 0 : En dehors de la plage D Bit T+1 Plage 0 A Plage 0 B T+2 0 T+3 Plage 1 A Plage 1 B T+4 1 S D+15 max. T+2N+1 Plage N A Plage N B T+2N+2 Remarque : A peut être inférieur ou égal à B ou supérieur à B. AREA RANGE COMPARE ZCP @ZCP 088 (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) ZCP(088) CD Compare la valeur binaire 16 bits non signée de CD (contenu de mot ou Sortie constante) à la plage définie par LL et UL, puis sort les résultats vers les Obligatoire drapeaux arithmétiques dans la zone auxiliaire. LL UL CD : Donnée de comparaison (1 mot) LL : Limite inférieure de la plage UL : Limite supérieure de la plage DOUBLE AREA ZCPL(116) RANGE COMPARE CD ZCPL @ZCPL LL 116 UL (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) CD : Donnée de comparaison (2 mots) LL : Limite inférieure de la plage UL : Limite supérieure de la plage 88 Compare la valeur binaire 32 bits non signée de CD et CD+1 (contenu de mot ou constante) à la plage définie par LL et UL, puis sort les résultats vers les drapeaux arithmétiques dans la zone auxiliaire. Sortie Obligatoire Chapitre 3-6 Instructions de déplacement de données 3-6 Instructions de déplacement de données Instruction Mnémonique Code MOVE MOV @MOV !MOV !@MOV 021 Symbole/ Opérande MOV(021) Fonction Emplacement Condition d'exécution Transfère un mot de données vers le mot spécifié. Sortie Obligatoire Mot source S D S : Source D : Destination Etat des bits inchangé. Mot de destination DOUBLE MOVE MOVL @MOVL 498 MOVL(498) Transfère deux mots de données vers les mots spécifiés. S S+1 Sortie Obligatoire S D S : 1er mot source D : 1er mot destination MOVE NOT MVN @MVN 022 MVN(022) Etat des bits inchangé. D+1 D Transfère le complément d'un mot de données vers le mot spécifié. Mot source S Sortie Obligatoire D S : Source D : Destination Etat des bits inversé. Mot de destination DOUBLE MOVE NOT MVNL @MVNL 499 MVNL(499) S S+1 Sortie Obligatoire S D S : 1er mot source D : 1er mot destination MOVE BIT MOVB @MOVB 082 Transfère le complément de deux mots vers les mots spécifiés. MOVB(082) Etat des bits inversé. D Transfère le bit spécifié. D+1 Sortie Obligatoire S C D S : Mot ou donnée source C : Mot de contrôle D : Mot de destination 89 Chapitre 3-6 Instructions de déplacement de données Instruction Mnémonique Code MOVE DIGIT MOVD @MOVD 083 Symbole/ Opérande MOVD(083) Fonction Emplacement Condition d'exécution Transfère le ou les chiffres spécifiés. (Chaque chiffre est constitué de 4 bits.) Sortie Obligatoire Transfère le nombre de bits consécutifs spécifié. Sortie Obligatoire Transfère le nombre de mots consécutifs spécifié. Sortie Obligatoire S C D S : Mot ou donnée source C : Mot de contrôle D : Mot de destination MULTIPLE BIT TRANSFER XFRB @XFRB 062 XFRB(062) C S D C : Mot de contrôle S : 1er mot source D : 1er mot de destination BLOCK TRANSFER XFER @XFER 070 XFER(070) N S D jusqu'à N mots S+(N 1) jusqu'à D+(N 1) N : Nombre de mots S : 1er mot source D : 1er mot de destination BLOCK SET BSET @BSET 071 BSET(071) S Sortie Obligatoire Copie le même mot dans une plage de mots Mot source Mots de destination St St E S : Mot source St : Mot de début E : Mot de fin E DATA EXCHANGE XCHG @XCHG 073 XCHG(073) E1 E2 E1 : 1er mot échange E2 : Second mot échange 90 Sortie Obligatoire Echange le contenu des deux mots spécifiés. E1 E2 Chapitre 3-6 Instructions de déplacement de données Instruction Mnémonique Code DOUBLE DATA EXCHANGE XCGL @XCGL 562 Symbole/ Opérande XCGL(562) Fonction Emplacement Condition d'exécution Echange le contenu d'une paire de mots consécutifs avec une autre paire de mots consécutifs. Sortie Obligatoire E1 E2 E1 E1+1 E2 E2+1 E1 : 1er mot échange E2 : Second mot échange SINGLE WORD DISTRIBUTE DIST @DIST 080 DIST(080) S Transfère le mot source vers un mot de destination calculé en ajoutant une valeur de décalage à l'adresse de base. S Bs Sortie Obligatoire Of Bs Of S : Mot source Bs : Adresse destination de base Of : Décalage DATA COLLECT COLL @COLL 081 COLL(081) Bs+n Transfère le mot source (calculé en ajoutant une valeur de décalage à l'adresse de base) vers le mot de destination. Sortie Obligatoire Bs Of Of Bs D Bs : Adresse de base source Of : Décalage D : Mot de destination MOVE TO REGISTER MOVR @MOVR 560 MOVR(560) S D Bs+n Définit l'adresse mémoire E/S interne du mot, du bit ou du drapeau de fin de temporisation/compteur spécifié dans le registre d'index spécifié. (Utilisez MOVRW(561) pour définir l'adresse mémoire E/S interne d'une PV de temporisation/compteur dans un registre d'index.) Adresse mémoire E/S de S Sortie Obligatoire S : Source (mot ou bit voulu) D : Destination (registre d'index) Registre d'index MOVE TIMER/ MOVRW(561) COUNTER PV TO REGISTER S MOVRW @MOVRW D 561 S : Source (numéro de TC voulu) D : Destination (registre d'index) Définit l'adresse mémoire E/S interne de la PV de temporisation/compteur spécifiée dans le registre d'index spécifié. (Utilisez MOVRW(560) pour définir l'adresse mémoire E/S interne d'un mot, d'un bit ou d'un drapeau de fin de temporisation/compteur Sortie Obligatoire Adresse mémoire E/S de S PV de temporisation/ compteur uniquement Registre d'index 91 Chapitre 3-7 Instructions de décalage de données 3-7 Instructions de décalage de données Instruction Mnémonique Code SHIFT REGISTER SFT 010 Symbole/ Opérande Entrée de données Entrée de décalage SFT(010) Emplacement Condition d'exécution St+1, St+2 E St E St : Mot de début E : Mot de fin SFTR(084) Etat de l'entrée de données pour chaque entrée de décalage Perdu Crée un registre de décalage qui décale les données soit vers la droite soit vers la gauche. Sortie Obligatoire C St E St Entrée de données E C : Mot de contrôle St : Mot de début E : Mot de fin ASYNCHRONOUS SHIFT REGISTER ASFT @ASFT 017 Sortie Obligatoire Utilise un registre à décalage St Entrée de réinitialisation REVERSIBLE SHIFT REGISTER SFTR @SFTR 084 Fonction ASFT(017) C E St Entrée de données Sens de décalage Décale toutes les données de mot non nulles dans la plage de mots spécifiée vers St ou vers E, en remplaçant les données de mot 0000Hex. Sortie Obligatoire St E St Sens de décalage C : Mot de contrôle St : Mot de début E : Mot de fin Décalage activé Décalage Effacer Décalage E St Données nulles Données non nulles E WORD SHIFT WSFT @WSFT 016 WSFT(016) Décale les données entre St et E en unités de mots. E S St Sortie Obligatoire St Perdu E S : Mot source St : Mot de début E : Mot de fin ARITHMETIC SHIFT LEFT ASL(025) ASL Wd @ASL 025 Wd : Mot 92 Décale le contenu de Wd d'un bit vers la gauche. Sortie Obligatoire Chapitre 3-7 Instructions de décalage de données Instruction Mnémonique Code Symbole/ Opérande DOUBLE SHIFT ASLL(570) LEFT ASLL Wd @ASLL 570 Wd : Mot ARITHMETIC ASR(026) SHIFT RIGHT ASR Wd @ASR 026 Wd : Mot DOUBLE SHIFT ASRL(571) RIGHT ASRL Wd @ASRL 571 Wd : Mot ROTATE LEFT ROL @ROL 027 ROL(027) Fonction Emplacement Condition d'exécution Décale le contenu de Wd et Wd +1 d'un bit vers la gauche. Wd+1 Sortie Obligatoire Wd Décale le contenu de Wd d'un bit vers la droite. Sortie Obligatoire Décale le contenu de Wd et Wd +1 d'un bit vers la droite. Sortie Obligatoire Wd+1 Wd Décale tous les bits Wd d'un bit vers la gauche, y compris le drapeau de passage (CY). Sortie Obligatoire Décale tous les bits Wd et Wd +1 d'un bit vers la gauche, y compris le drapeau de passage (CY). Wd+1 Wd Sortie Obligatoire Wd Wd : Mot DOUBLE ROLL(572) ROTATE LEFT ROLL Wd @ROLL 572 Wd : Mot ROTATE LEFT RLNC(574) WITHOUT CARRY Wd RLNC @RLNC Wd : Mot 574 Décale tous les bits Wd d'un bit vers la gauche, sans inclure le drapeau de passage (CY). Wd Sortie Obligatoire DOUBLE RLNL(576) ROTATE LEFT WITHOUT Wd CARRY RLNL @RLNL Wd : Mot 576 Décale tous les bits Wd et Wd +1 d'un bit vers la gauche, sans inclure le drapeau de passage (CY). Wd+1 Wd Sortie Obligatoire ROTATE RIGHT ROR @ROR 028 Décale tous les bits Wd d'un bit vers la droite, y compris le drapeau de passage (CY). Wd Wd+1 Sortie Obligatoire Décale tous les bits Wd et Wd +1 d'un bit vers la droite, y compris le drapeau de passage (CY). Wd Wd+1 Sortie Obligatoire ROR(028) Wd Wd : Mot DOUBLE RORL(573) ROTATE RIGHT RORL Wd @RORL 573 Wd : Mot 93 Chapitre 3-7 Instructions de décalage de données Instruction Mnémonique Code Symbole/ Opérande Fonction Emplacement Condition d'exécution ROTATE RIGHT RRNC(575) WITHOUT CARRY Wd RRNC @RRNC Wd : Mot 575 Décale tous les bits Wd d'un bit vers la droite, sans inclure le drapeau de passage (CY). Le contenu du bit le plus à droite de Wd se décale vers le bit de gauche et vers le drapeau de passage (CY). DOUBLE ROTATE RIGHT WITHOUT CARRY RRNL @RRNL 577 Sortie Décale tous les bits Wd et Wd +1 d'un bit vers la droite, sans inclure le drapeau de passage (CY). Le contenu du bit le plus à droite de Wd +1 est Obligatoire décalé vers le bit de gauche de Wd et vers le drapeau de passage (CY). ONE DIGIT SHIFT LEFT SLD @SLD 074 RRNL(577) Wd Wd Wd+1 Wd : Mot SLD(074) St E Sortie Obligatoire Wd Sortie Obligatoire Décale les données d'un chiffre (4 octets) vers la gauche. U I t Perdu St : Mot de début E : Mot de fin ONE DIGIT SHIFT RIGHT SRD @SRD 075 SRD(075) Sortie Obligatoire Décale les données d'un chiffre (4 octets) vers la droite. U I t St Perdu E St : Mot de début E : Mot de fin SHIFT N-BIT DATA LEFT NSFL @NSFL 578 NSFL(578) Décale le nombre de bits spécifié vers la gauche. Sortie Obligatoire D C N D : Mot de départ pour le décalage C : Bit de départ N : Longueur du décalage N 1 bit Décale un bit vers la gauche N 1 bit SHIFT N-BIT DATA RIGHT NSFR @NSFR 579 NSFR(579) Décale le nombre de bits spécifié vers la droite. D C N D : Mot de début pour le décalage C : Bit de début N : Longueur du décalage N 1 bit N 1 bit 94 Décale un bit vers la droite Sortie Obligatoire Chapitre 3-7 Instructions de décalage de données Instruction Mnémonique Code SHIFT N-BITS LEFT NASL @NASL 580 Symbole/ Opérande NASL(580) Fonction Emplacement Condition d'exécution Sortie Obligatoire Décale les 16 bits de données de mot spécifiées vers la gauche du nombre de bits spécifié. D C D : Mot à décaler C : Mot de contrôle Décalage de n bits Contenu de "a" ou "0" introduit par décalage Perdu N bits DOUBLE SHIFT N-BITS LEFT NSLL @NSLL 582 NSLL(582) Décale les 32 bits de données de mot vers la gauche du nombre de bits spécifié. Sortie Obligatoire D C Décalage de n bits D : Mot à décaler C : Mot de contrôle Contenu de "a" ou "0" introduit par décalage Perdu N bits SHIFT N-BITS RIGHT NASR @NASR 581 NASR(581) Décale les 16 bits de données de mot spécifiées vers la droite du nombre de bits spécifié. Sortie Obligatoire D C D : Mot à décaler C : Mot de contrôle Contenu de "a" ou "0" introduit par décalage Perdu N bits DOUBLE SHIFT N-BITS RIGHT NSRL @NSRL 583 NSRL(583) Décale les 32 bits de données de mot spécifiées vers la droite du nombre de bits spécifié. Sortie Obligatoire D C D : Mot à décaler C : Mot de contrôle Décalage de n bits Contenu de "a" ou "0" introduit par décalage Perdu 95 Chapitre 3-8 Instructions d'incrémentation/décrémentation 3-8 Instructions d'incrémentation/décrémentation Instruction Mnémonique Code INCREMENT BINARY Symbole/ Opérande ++(590) Fonction Incrémente le contenu (4 chiffres hexadécimaux) du mot spécifié de 1. Wd ++ Wd @++ 590 Wd : Mot DOUBLE INCREMENT BINARY ++L(591) ++L @++L Wd : Mot 591 DECREMENT BINARY Wd (592) Emplacement Condition d'exécution Wd Incrémente le contenu (8 chiffres hexadécimaux) des mots spécifiés de 1. Wd+1 Wd Wd+1 Wd Incrémente le contenu (8 chiffres hexadécimaux) des mots spécifiés de 1. INCREMENT BCD Incrémente le contenu (4 chiffres BCD) du mot spécifié de 1. ++B(594) ++B Wd @++B 594 Wd : Mot Wd Wd+1 Wd DECREMENT B(596) BCD – –B Wd @– –B 596 Wd : Mot Décrémente le contenu (4 chiffres BCD) du mot spécifié de 1. DOUBLE BL(597) DECREMENT BCD Wd – –BL @– –BL Wd : 1er mot 597 Décrémente le contenu (8 chiffres BCD) des mots spécifiés de 1. 96 Wd+1 Wd Wd Sortie Obligatoire Wd Incrémente le contenu (8 chiffres BCD) des mots spécifiés de 1. Wd Sortie Obligatoire Wd DOUBLE ++BL(595) INCREMENT BCD Wd ++BL @++BL Wd : 1er mot 595 Wd+1 Sortie Obligatoire Wd DOUBLE L(593) DECREMENT BINARY Wd – –L @– –L Wd : 1er mot 593 Wd+1 Sortie Obligatoire Wd Décrémente le contenu (4 chiffres hexadécimaux) du mot spécifié de 1. –– Wd @– – 592 Wd : Mot Sortie Obligatoire Wd+1 –1 Sortie Obligatoire Wd Sortie Obligatoire Wd Wd+1 Wd Sortie Obligatoire Chapitre 3-9 Instructions mathématiques à symboles 3-9 Instructions mathématiques à symboles Instruction Mnémonique Code SIGNED BINARY ADD WITHOUT CARRY + @+ 400 Symbole/ Opérande +(400) Au +L(401) Au R +C(402) Au (Binaire signé) CY R (Binaire signé) Ajoute 8 chiffres de données hexadécimales (mot double) et/ou des constantes. (Binaire signé) Au+1 Au CY passera à ON s'il existe une retenue. + Ad+1 Ad (Binaire signé) CY R+1 R (Binaire signé) Ajoute 4 chiffres de données hexadécimales (mot unique) et/ou des constantes avec le drapeau de passage (CY). (Binaire signé) Au +CL(403) CY Au R Au Au+1 Au (Binaire signé) Ad+1 Ad (Binaire signé) CY passera à ON s'il existe une retenue. CY R+1 R (Binaire signé) Ajoute 4 chiffres de données BCD (mot unique) et/ou des constantes. (BCD) Au R CY passera à ON s'il existe une retenue. Sortie Obligatoire CY + Ad Au : Mot 1er terme addition Ad : Mot 2ème terme addition R : Mot de résultat (Binaire signé) R Ajoute 8 chiffres de données hexadécimales (mot double) et/ou des constantes avec le drapeau de passage (CY). Ad Sortie Obligatoire CY + CY passera à ON s'il existe une retenue. Sortie Obligatoire (Binaire signé) Ad R +B(404) +B @+B 404 Ad Ad Au : 1er mot 1er terme de l'addition Ad : 1er mot 2ème terme addition R : 1er mot de résultat BCD ADD WITHOUT CARRY CY passera à ON s'il existe une retenue. Ad Au : Mot 1er terme addition Ad : Mot 2ème terme addition R : Mot de résultat DOUBLE SIGNED BINARY ADD WITH CARRY +CL @+CL 403 + Sortie Obligatoire R Au : 1er mot 1er terme de l'addition Ad : 1er mot 2ème terme addition R : 1er mot de résultat SIGNED BINARY ADD WITH CARRY +C @+C 402 Emplacement Condition d'exécution Ajoute 4 chiffres de données hexadécimales (mot unique) et/ou des constantes. (Binaire signé) Au Ad Au : Mot 1er terme addition Ad : Mot 2ème terme addition R : Mot de résultat DOUBLE SIGNED BINARY ADD WITHOUT CARRY +L @+L 401 Fonction + Ad (BCD) CY R (BCD) Sortie Obligatoire 97 Chapitre 3-9 Instructions mathématiques à symboles Instruction Mnémonique Code DOUBLE BCD ADD WITHOUT CARRY +BL @+BL 405 Symbole/ Opérande +BL(405) Au R +BC(406) Au Emplacement Condition d'exécution Sortie Obligatoire Ajoute 8 chiffres de données BCD (mot double) et/ou des constantes. Au+1 Au Ad Au : 1er mot 1er terme de l'addition Ad : 1er mot 2ème terme addition R : 1er mot de résultat BCD ADD WITH CARRY +BC @+BC 406 Fonction CY passera à ON s'il existe une retenue. (BCD) + Ad+1 Ad (BCD) CY R+1 R (BCD) Ajoute 4 chiffres de données BCD (mot unique) et/ou des constantes avec le drapeau de passage (CY). (BCD) Au Ad Sortie Obligatoire (BCD) Ad R Au : Mot 1er terme addition Ad : Mot 2ème terme addition R : Mot de résultat DOUBLE BCD ADD WITH CARRY +BCL @+BCL 407 +BCL(407) 98 CY (BCD) R Ajoute 8 chiffres de données BCD (mot double) et/ou des constantes avec le drapeau de passage (CY). Au Au+1 Au (BCD) Ad+1 Ad (BCD) Sortie Obligatoire R (410) Mi CY + CY passera à ON s'il existe une retenue. CY R+1 R (BCD) Ajoute 4 chiffres de données hexadécimales (mot unique) et/ou des constantes. (Binaire signé) Mi Su – Su (Binaire signé) CY R (Binaire signé) Sortie Obligatoire R Mi : Mot à soustraire Su : Mot soustracteur R : Mot de résultat DOUBLE SIGNED BINARY SUBTRACT WITHOUT CARRY –L @–L 411 CY passera à ON s'il existe une retenue. Ad Au : 1er mot 1er terme de l'addition Ad : 1er mot 2ème terme addition R : 1er mot de résultat SIGNED BINARY SUBTRACT WITHOUT CARRY – @– 410 CY + L(411) Mi CY passera à ON s'il existe un emprunt. Ajoute 8 chiffres de données hexadécimales (mot double) et/ou des constantes. (Binaire signé) Mi+1 Mi Su – Su+1 Su (Binaire signé) CY R+1 R (Binaire signé) R Mi : Mot à soustraire Su : Mot soustracteur R : Mot de résultat CY passera à ON s'il existe un emprunt. Sortie Obligatoire Chapitre 3-9 Instructions mathématiques à symboles Instruction Mnémonique Code SIGNED BINARY SUBTRACT WITH CARRY –C @–C 412 Symbole/ Opérande C(412) (Binaire signé) Su Su (Binaire signé) R CL(413) Mi CY passera à ON s'il existe un emprunt. B(414) Mi (Binaire signé) R Ajoute 8 chiffres de données hexadécimales (mot double) et/ou des constantes avec le drapeau de passage (CY). Mi+1 Mi (Binaire signé) Su+1 Su (Binaire signé) – CY passera à ON s'il existe un emprunt. Sortie Obligatoire CY CY R Sortie Obligatoire CY CY R+1 (Binaire signé) R Sortie Obligatoire Ajoute 4 chiffres de données BCD (mot unique) et/ou des constantes. (BCD) Mi Su – Su (BCD) CY R (BCD) R BL(415) Mi Su CY passera à ON s'il existe une retenue. Ajoute 8 chiffres de données BCD (mot double) et/ou des constantes. Mi +1 Mi – R Mi : 1er mot à soustraire Su : 1er mot soustracteur R : 1er mot de résultat BCD SUBTRACT WITH CARRY –BC @–BC 416 – Su Mi : Mot à soustraire Su : Mot soustracteur R : Mot de résultat DOUBLE BCD SUBTRACT WITHOUT CARRY –BL @–BL 415 Ajoute 4 chiffres de données hexadécimales (mot unique) et/ou des constantes avec le drapeau de passage (CY). Mi Mi : Mot à soustraire Su : Mot soustracteur R : Mot de résultat BCD SUBTRACT WITHOUT CARRY –B @–B 414 Emplacement Condition d'exécution Mi Mi : Mot à soustraire Su : Mot soustracteur R : Mot de résultat DOUBLE SIGNED BINARY WITH CARRY –CL @–CL 413 Fonction BC(416) CY passera à ON s'il existe un emprunt. CY (BCD) Su+1 Su (BCD) R+1 R (BCD) Ajoute 4 chiffres de données BCD (mot unique) et/ou des constantes avec le drapeau de passage (CY). Mi Mi (BCD) Su (BCD) Su R Mi : Mot à soustraire Su : Mot soustracteur R : Mot de résultat Sortie Obligatoire CY – CY passera à ON s'il existe un emprunt. CY Sortie Obligatoire R (BCD) 99 Chapitre 3-9 Instructions mathématiques à symboles Instruction Mnémonique Code DOUBLE BCD SUBTRACT WITH CARRY –BCL @–BCL 417 Symbole/ Opérande BCL(417) Ajoute 8 chiffres de données BCD (mot double) et/ou des constantes avec le drapeau de passage (CY). Mi R *(420) Md CY passera à ON s'il existe un emprunt. Mr *L(421) Md Md (BCD) (BCD) R R+1 x Mr (Binaire signé) R +1 R (Binaire signé) Sortie Obligatoire Sortie Obligatoire R+3 R+2 Mr + 1 Mr (Binaire signé) R+1 R (Binaire signé) Multiplie 4 chiffres de données hexadécimales non signées et/ou des constantes. (Binaire non signé) Md Sortie Obligatoire Mr x Mr (Binaire non signé) R +1 R (Binaire non signé) R *UL(423) Md Multiplie 8 chiffres de données hexadécimales non signées et/ou des constantes. Md (Binaire non signé) Md + 1 Mr R Md : 1er mot multiplicande Mr : 1er mot multiplicateur R : 1er mot de résultat 100 Su CY CY x Md : Mot multiplicande Mr : Mot multiplicateur R : Mot de résultat *UL @*UL 423 Su+1 Multiplie 8 chiffres de données hexadécimales signées et/ou des constantes. Md (Binaire signé) Md + 1 R *U(422) DOUBLE UNSIGNED BINARY MULTIPLY (BCD) Sortie Obligatoire Mr Md : 1er mot multiplicande Mr : 1er mot multiplicateur R : 1er mot de résultat *U @*U 422 Mi Multiplie 4 chiffres de données hexadécimales signées et/ou des constantes. (Binaire signé) Md Md : Mot multiplicande Mr : Mot multiplicateur R : Mot de résultat UNSIGNED BINARY MULTIPLY Mi +1 – R DOUBLE SIGNED BINARY MULTIPLY *L @*L 421 Emplacement Condition d'exécution Su Mi : 1er mot à soustraire Su : 1er mot soustracteur R : 1er mot de résultat SIGNED BINARY MULTIPLY * @* 420 Fonction x R+3 R+2 Mr + 1 Mr (Binaire non signé) R+1 R (Binaire non signé) Sortie Obligatoire Chapitre 3-9 Instructions mathématiques à symboles Instruction Mnémonique Code BCD MULTIPLY *B @*B 424 Symbole/ Opérande *B(424) Md Fonction Multiplie 4 chiffres de données BCD (mot unique) et/ou des constantes. (BCD) Md Mr Md : Mot multiplicande Mr : Mot multiplicateur R : Mot de résultat *BL(425) Md R / @/ 430 R +1 /(430) x R+3 (BCD) Mr + 1 Mr (BCD) R+1 R (BCD) R+2 Ajoute 4 chiffres de données hexadécimales signées (mot unique) et/ou des constantes. Dd (Binaire signé) Dr (Binaire signé) R (Binaire signé) Dd Sortie Obligatoire Sortie Obligatoire Dr ÷ Dd : Mot dividende Dr : Mot diviseur R : Mot de résultat /L(431) R +1 Reste Quotient Ajoute 8 chiffres de données hexadécimales signées (mot double) et/ou des constantes. Dd Dd + 1 Dd (Binaire signé) Dr + 1 Dr (Binaire signé) R+1 R (Binaire signé) Sortie Obligatoire Dr R Dd : 1er mot dividende Dr : 1er mot diviseur R : 1er mot de résultat UNSIGNED BINARY DIVIDE /U @/U 432 R Multiplie 8 chiffres de données BCD (mot double) et/ou des constantes. (BCD) Md + 1 Md R DOUBLE SIGNED BINARY DIVIDE /L @/L 431 (BCD) Sortie Obligatoire Mr Md : 1er mot multiplicande Mr : 1er mot multiplicateur R : 1er mot de résultat SIGNED BINARY DIVIDE Mr x R DOUBLE BCD MULTIPLY *BL @*BL 425 Emplacement Condition d'exécution /U(432) ÷ R+3 R+2 Reste Quotient Ajoute 4 chiffres de données hexadécimales non signées (mot unique) et/ou des constantes. Dd Dr R Dd : Mot dividende Dr : Mot diviseur R : Mot de résultat ÷ R +1 Reste Dd (Binaire non signé) Dr (Binaire non signé) R (Binaire non signé) Sortie Obligatoire Quotient 101 Chapitre 3-10 Instructions de conversion Instruction Mnémonique Code DOUBLE UNSIGNED BINARY DIVIDE /UL @/UL 433 Symbole/ Opérande /UL(433) /B @/B 434 Dd + 1 Dd (Binaire non signé) Dr + 1 Dr (Binaire non signé) R+1 R (Binaire non signé) R /B(434) Dd ÷ R+3 R+2 Quotient Reste Divise 4 chiffres de données BCD (mot unique) et/ou des constantes. (BCD) Dd Sortie Obligatoire Dr ÷ Dd : Mot dividende Dr : Mot diviseur R : Mot de résultat R +1 Reste /BL @/BL 435 Sortie Obligatoire Dr R DOUBLE BCD DIVIDE Emplacement Condition d'exécution Divise 8 chiffres de données hexadécimales non signées (mot double) et/ou des constantes. Dd Dd : 1er mot dividende Dr : 1er mot diviseur R : 1er mot de résultat BCD DIVIDE Fonction /BL(435) Dd Dr (BCD) R (BCD) Quotient Divise 8 chiffres de données BCD (mot double) et/ou des constantes. Dd + 1 Dd Sortie Obligatoire (BCD) Dr R Dd : 1er mot dividende Dr : 1er mot diviseur R : 1er mot de résultat ÷ R+2 R+3 Dr + 1 Dr (BCD) R+1 R (BCD) Reste Quotient 3-10 Instructions de conversion Instruction Mnémonique Code BCD-TO-BINARY BIN @BIN 023 Symbole/ Opérande BIN(023) S Fonction Emplacement Condition d'exécution Convertit des données BCD en données binaires. (BCD) R Sortie Obligatoire (BIN) R S : Mot source R : Mot de résultat DOUBLE BCDTO-DOUBLE BINARY BINL @BINL 058 102 BINL(058) S R S : 1er mot source R : 1er mot de résultat Convertit des données BCD à 8 chiffres en données hexadécimales à 8 chiffres (binaire 32 bits). (BCD) (BIN) R (BCD) R+1 (BIN) Sortie Obligatoire Chapitre 3-10 Instructions de conversion Instruction Mnémonique Code BINARY-TO-BCD BCD @BCD 024 Symbole/ Opérande BCD(024) Fonction Emplacement Condition d'exécution Convertit un mot de données binaires en un mot de données BCD. (BIN) S Sortie Obligatoire (BCD) R R S : Mot source R : Mot de résultat DOUBLE BINARY-TODOUBLE BCD BCDL @BCDL 059 2'S COMPLEMENT NEG @NEG 160 BCDL(059) S Convertit des données hexadécimales à 8 chiffres (binaire 32 bits) en données BCD à 8 chiffres. (BIN) R (BCD) R (BIN) Sortie Obligatoire (BCD) R+1 S : 1er mot source R : 1er mot de résultat NEG(160) Calcule le complément 2 d'un mot de données hexadécimales. Complément 2 (Complément + 1) (S) S R Sortie Obligatoire (R) S : Mot source R : Mot de résultat DOUBLE 2'S COMPLEMENT NEGL @NEGL 161 NEGL(161) Calcule le complément 2 de deux mots de données hexadécimales. Complément 2 (Complément + 1) (S+1, S) S R Sortie Obligatoire (R+1, R) S : 1er mot source R : 1er mot de résultat 16-BIT TO 32-BIT SIGNED BINARY SIGN @SIGN 600 SIGN(600) S R S : Mot source R : 1er mot de résultat Développe une valeur binaire de 16 bits signée de façon à obtenir son équivalent 32 bits. MSB S Sortie Obligatoire MSB = 0 : 0000 Hex MSB = 1 : FFFF Hex D+1 D D = Contenu de S 103 Chapitre 3-10 Instructions de conversion Instruction Mnémonique Code DATA DECODER MLPX @MLPX 076 Symbole/ Opérande MLPX(076) S C Fonction Emplacement Condition d'exécution Lit la valeur numérique dans le chiffre (ou l'octet) spécifié du mot source, met sur ON le bit correspondant dans le mot (ou la plage de 16 mots) de résultat et met sur OFF tous les autres bits dans le mot (ou la plage de 16 mots) de résultat. Conversion 4 à 16 bits R S : Mot source C : Mot de contrôle R : 1er mot de résultat C l=1 (Convertir 2 chiffres.) n=2 (Partir du deuxième chiffre.) Décodage de 4 à 16 bits (Le bit m de R est mis sur ON.) R R+1 Conversion de 8 à 256 bits C l=1 (Convertir 2 octets.) n=1 (Partir du premier octet.) Décodage 8 à 256 bits (Le bit m de R à R+15 est mis sur ON.) R+1 R+14 R+15 R+16 R+17 R+30 R+31 104 Deux plages de 16 mots sont utilisées lorsque l spécifie 2 octets. Sortie Obligatoire Chapitre 3-10 Instructions de conversion Instruction Mnémonique Code DATA ENCODER DMPX @DMPX 077 Symbole/ Opérande DMPX(077) S R C Fonction Emplacement Condition d'exécution Recherche l'emplacement du premier ou du dernier bit sur ON dans le Sortie mot (ou la plage de 16 mots) source et écrit cette valeur dans le Obligatoire chiffre (ou l'octet) spécifié du mot de résultat. Conversion 16 à 4 bits C Recherche le bit le plus à droite (Adresse de bit la plus haute) S : 1er mot source R : Mot de résultat C : Mot de contrôle l=1 (Convertir 2 mots.) Décodage 16 à 4 bits (L'emplacement du bit le plus à gauche (m) est écrit dans R.) Bit le plus à gauche Bit le plus à droite n=2 (Partir du chiffre 2.) R Conversion 256 à 8 bits C l=0 (Convertir une plage de 16 mots.) Bit le plus à gauche Recherche le bit le plus à gauche (Adresse de bit la plus haute) Décodage 256 à 8 bits (L'emplacement du bit le plus à gauche dans la plage de 16 mots (m) est écrit dans R.) n=1 (Partir de l'octet 1.) R ASCII CONVERT ASC @ASC 086 S Convertit les chiffres hexadécimaux 4 bits du mot source dans leurs équivalents ASCII 8 bits. Di Di Premier chiffre à convertir ASC(086) Sortie Obligatoire D S : Mot source Di : Désignateur de chiffres D : 1er mot de destination Nombre de chiffres (n+1) Gauche (1) Droite (0) 105 Chapitre 3-10 Instructions de conversion Instruction Mnémonique Code ASCII TO HEX HEX @HEX 162 Symbole/ Opérande Fonction Emplacement Condition d'exécution S Convertit jusqu'à 4 octets de données ASCII du mot source dans leurs équivalents hexadécimaux et écrit ces chiffres dans le mot de destination spécifié. Di Di HEX(162) Sortie Obligatoire C :0021 D Premier octet à convertir S : 1er mot source Di : Désignateur de chiffres D : Mot de destination Gauche (1) Droite (0) Nombre de chiffres (n+1) Premier chiffre à écrire COLUMN TO LINE LINE @LINE 063 LINE(063) S Convertit une colonne de bits d'une plage de 16 mots (le même numéro Sortie de bit dans 16 mots consécutifs) dans les 16 bits du mot de destination. Obligatoire D S : 1er mot source N : Numéro de bit D : Mot de destination N Bit 15 N S S+1 S+2 S+3 . . . S+15 Bit 00 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 . . . . . . . . . 0 1 1 0 0 0 0 1 1 0 0 0 1 0 1 0 Bit 15 D 0 LINE TO COLUMN COLM @COLM 064 COLM(064) S Bit 15 N S 0 Bit 00 . . . . . . D D+1 D+2 D+3 . . . D+15 . 0 1 1 1 Bi Bit 15 106 . . . 0 1 1 1 Convertit les 16 bits du mot source en une colonne de bits dans une plage de 16 mots de destination (le même numéro de bit dans 16 mots consécutifs). D S : Mot source D : 1er mot de destination N : Numéro de bit Bit 00 Bit 00 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 . . . . . . . . . 0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0 Sortie Obligatoire Chapitre 3-10 Instructions de conversion Instruction Mnémonique Code SIGNED BCDTO-BINARY BINS @BINS 470 Symbole/ Opérande BINS(470) Fonction Convertit un mot de données BCD signées en un mot de données binaires signées. S C : Mot de contrôle S : Mot source D : Mot de destination BISL(472) Format BCD signé spécifié dans C BCD signé Convertit des données BCD signées doubles en données binaires signées doubles. D BCDS(471) C BCD signé BCD signé BDSL(473) Binaire signé Binaire signé Convertit un mot de données binaires signées en un mot de données BCD signées. S C : Mot de contrôle S : Mot source D : Mot de destination Sortie Obligatoire Format BCD signé spécifié dans C Binaire signé BCD signé Convertit des données binaires signées doubles en données BCD signées doubles. Sortie Obligatoire C S Format BCD signé spécifié dans C D C : Mot de contrôle S : 1er mot source D : 1er mot de destination GRAY CODE CONVERSION GRY 474 (UC série CS/CJ Ver. 2.0 ou supérieure uniquement, y compris les UC CS1-H, CJ1-H et CJ1M à partir du numéro de lot 030201) Sortie Obligatoire Format BCD signé spécifié dans C S D DOUBLE SIGNED BINARYTO-BCD BDSL @BDSL 473 Binaire signé C C : Mot de contrôle S : 1er mot source D : 1er mot de destination SIGNED BINARYTO-BCD BCDS @BCDS 471 Sortie Obligatoire C D DOUBLE SIGNED BCDTO-BINARY BISL @BISL 472 Emplacement Condition d'exécution GRY (474) Binaire signé Binaire signé BCD signé BCD signé Convertit les données de code Gray du mot spécifié en données Sortie binaires, données BCD ou données d'angle (°) à la résolution spécifiée. Obligatoire C S D C : Mot de contrôle S : Mot source D : 1er mot de destination 107 Chapitre 3-11 Instructions logiques 3-11 Instructions logiques Instruction Mnémonique Code LOGICAL AND ANDW @ANDW 034 Symbole/ Opérande ANDW(034) I1 I2 R I1 : Entrée 1 I2 : Entrée 2 R : Mot de résultat DOUBLE LOGICAL AND ANDL @ANDL 610 ANDL(610) I1 I2 R I1 : Entrée 1 I2 : Entrée 2 R : Mot de résultat LOGICAL OR ORW @ORW 035 ORW(035) I1 I2 R I1 : Entrée 1 I2 : Entrée 2 R : Mot de résultat DOUBLE LOGICAL OR ORWL @ORWL 611 ORWL(611) I1 I2 R I1 : Entrée 1 I2 : Entrée 2 R : Mot de résultat EXCLUSIVE OR XORW @XORW 036 XORW(036) I1 I2 R I1 : Entrée 1 I2 : Entrée 2 R : Mot de résultat 108 Fonction Effectue le AND logique des bits correspondants dans des mots uniques de données de mots et/ou des constantes. Emplacement Condition d'exécution Sortie Obligatoire I1. I2 → R I1 1 I2 1 R 1 1 0 0 0 1 0 0 0 0 Effectue le AND logique des bits correspondants dans des mots doubles de données de mots et/ou des constantes. Sortie Obligatoire (I1, I1+1). (I2, I2+1) → (R, R+1) I1, I1+1 I2, I2+1 R, R+1 1 1 1 1 0 0 0 1 0 0 0 0 Effectue le OR logique des bits correspondants dans des mots uniques de données de mots et/ou des constantes. Sortie Obligatoire I1 + I2 → R I1 I2 R 1 1 1 1 0 1 0 1 1 0 0 0 Effectue le OR logique des bits correspondants dans des mots doubles de données de mots et/ou des constantes. Sortie Obligatoire (I1, I1+1) + (I2, I2+1) →(R, R+1) I1, I1+1 I2, I2+1 R, R+1 1 1 1 1 0 1 0 1 1 0 0 0 Effectue le OR exclusif logique des bits correspondants dans des mots uniques de données de mots et/ou des constantes. I1. I2 + I1.I2 → R I1 I2 R 1 1 0 1 0 1 0 1 1 0 0 0 Sortie Obligatoire Chapitre 3-11 Instructions logiques Instruction Mnémonique Code DOUBLE EXCLUSIVE OR XORL @XORL 612 Symbole/ Opérande XORL(612) I1 I2 R I1 : Entrée 1 I2 : Entrée 2 R : Mot de résultat EXCLUSIVE NOR XNRW @XNRW 037 XNRW(037) I1 I2 R I1 : Entrée 1 I2 : Entrée 2 R : Mot de résultat DOUBLE EXCLUSIVE NOR XNRL @XNRL 613 XNRL(613) I1 I2 R I1 : Entrée 1 I2 : Entrée 2 R : 1er mot de résultat COMPLEMENT COM @COM 029 COM(029) Wd Fonction Effectue le OR exclusif logique des bits correspondants dans des mots doubles de données de mots et/ou des constantes. Emplacement Condition d'exécution Sortie Obligatoire (I1, I1+1). (I2, I2+1) + (I1, I1+1). (I2, I2+1) → (R, R+1) I1, I1+1 I2, I2+1 R, R+1 1 1 0 1 0 1 0 1 1 0 0 0 Effectue le NOR exclusif logique des mots uniques de données de mots et/ou des constantes correspondants. Sortie Obligatoire I1. I2 + I1.I2 → R I1 I2 R 1 1 1 1 0 0 0 1 0 0 0 1 Effectue le NOR exclusif logique des bits correspondants dans des mots doubles de données de mots et/ou des constantes. Sortie Obligatoire (I1, I1+1). (I2, I2+1) + (I1, I1+1). (I2, I2+1) → (R, R+1) I1, I1+1 1 I2, I2+1 R, R+1 1 1 1 0 0 0 1 0 0 0 1 Met sur OFF tous les bits sur ON et met sur ON tous les bits sur OFF dans Wd. Sortie Obligatoire Met sur OFF tous les bits sur ON et met sur ON tous les bits sur OFF dans Wd et Wd+1. Sortie Obligatoire Wd →Wd : 1 → 0 et 0 → 1 Wd : Mot DOUBLE COML(614) COMPLEMENT COML Wd @COML 614 Wd : Mot (Wd+1, Wd) → (Wd+1, Wd) 109 Chapitre 3-12 Instructions mathématiques spéciales 3-12 Instructions mathématiques spéciales Instruction Mnémonique Code BINARY ROOT ROTB @ROTB 620 Symbole/ Opérande ROTB(620) Fonction Emplacement Condition d'exécution Calcule la racine carrée du contenu binaire 32 bits des mots spécifiés et place la partie entière du résultat dans le mot de résultat spécifié. Sortie Obligatoire S R S : 1er mot source R : Mot de résultat BCD SQUARE ROOT ROOT @ROOT 072 ROOT(072) APR @APR 069 S R Donnée binaire (32 bits) Donnée binaire (16 bits) Calcule la racine carrée d'un nombre binaire 8 chiffres et place la partie entière du résultat dans le mot de résultat spécifié. Sortie Obligatoire S R S : 1er mot source R : Mot de résultat ARITHMETIC PROCESS S+1 APR(069) C S+1 S R Donnée BCD (8 chiffres) Donnée BCD (4 chiffres) Calcule le sinus, le cosinus ou une extrapolation linéaire des données sources. La fonction d'extrapolation linéaire permet d'établir une approximation d'une relation entre X et Y avec des segments de ligne. Sortie Obligatoire Divise un nombre de 7 chiffres à virgule flottante par un autre. Les nombres à virgule flottante sont exprimés dans une notation scientifique (7 chiffres pour la mantisse et 1 chiffre pour l'exposant). Quotient Sortie Obligatoire S R C : Mot de contrôle S : Donnée source R : Mot de résultat FLOATING POINT DIVIDE FDIV @FDIV 079 FDIV(079) Dd Dr R Dd : 1er mot dividende Dr : 1er mot diviseur R : 1er mot de résultat BIT COUNTER BCNT @BCNT 067 BCNT(067) Dr S N : Nombre de mots S : 1er mot source R : Mot de résultat R Dd+1 Dd Compte le nombre total de bits sur ON dans le(s) mot(s) spécifié(s). N R 110 Dr+1 R+1 jusqu'à N mots Compte le nombre de bits sur ON. S+(N–1) Résultat binaire R Sortie Obligatoire Chapitre 3-13 Instructions mathématiques à virgule flottante 3-13 Instructions mathématiques à virgule flottante Instruction Mnémonique Code FLOATING TO 16-BIT FIX @FIX 450 Symbole/ Opérande FIX(450) Fonction Convertit une valeur à virgule flottante 32 bits en donnée binaire signée 16 bits et place le résultat dans le mot de résultat spécifié. S+1 FIXL(451) S R FLT(452) FLT @FLT 452 S S Donnée à virgule flottante (32 bits) R+1 R Donnée binaire signée (32 bits) R+1 Au S Donnée binaire signée (16 bits) R Donnée à virgule flottante (32 bits) Convertit une valeur binaire signée 32 bits en donnée à virgule flottante 32 bits et place le résultat dans les mots de résultat R +F(454) +F @+F 454 Donnée binaire signée (16 bits) S+1 S Donnée binaire signée (32 bits) R+1 R Donnée à virgule flottante (32 bits) Ajoute deux nombres à virgule flottante 32 bits et place le résultat dans les mots de résultat spécifiés. Ad Au+1 Au 1er terme de l'addition (donnée à virgule flottante, 32 bits) Ad+1 Ad 2ème terme addition (donnée à virgule flottante, 32 bits) R+1 R Résultat (données à virgule flottante, 32 bits) R Au : 1er mot 1er terme de l'addition AD : 1er mot 2ème terme addition R : 1er mot de résultat FLOATINGPOINT SUBTRACT –F(455) –F @–F 455 Sortie Obligatoire Sortie Obligatoire S S : 1er mot source R : 1er mot de résultat FLOATINGPOINT ADD R S+1 R FLTL(453) FLTL @FLTL 453 Donnée à virgule flottante (32 bits) Convertit une valeur binaire signée 16 bits en donnée à virgule flottante 32 bits et place le résultat dans les mots de résultat S : Mot source R : 1er mot de résultat 32-BIT TO FLOATING S Convertit une valeur à virgule flottante 32 bits en donnée binaire signée 32 bits et place le résultat dans les mots de résultat spécifiés. S : 1er mot source R : 1er mot de résultat 16-BIT TO FLOATING Sortie Obligatoire S R S : 1er mot source R : Mot de résultat FLOATING TO 32-BIT FIXL @FIXL 451 Emplacement Condition d'exécution Mi + Soustrait un nombre à virgule flottante 32 bits d'un autre nombre et place le résultat dans les mots de résultat spécifiés. Su Mi+1 Mi Mot à soustraire (données à virgule flottante, 32 bits) Su+1 Su Soustracteur (données à virgule flottante, 32 bits) R+1 R Résultat (données à virgule flottante, 32 bits) R Mi : 1er mot à soustraire Su : 1er mot soustracteur R : 1er mot de résultat – Sortie Obligatoire Sortie Obligatoire Sortie Obligatoire 111 Chapitre 3-13 Instructions mathématiques à virgule flottante Instruction Mnémonique Code FLOATINGPOINT MULTIPLY *F @*F 456 Symbole/ Opérande *F(456) Mr R /F @/F 457 /F(457) Dd R DEGREES TO RADIANS RAD @RAD 458 x SIN @SIN 460 RAD(458) COS @COS 461 Mr Multiplicateur (données à virgule flottante, 32 bits) R+1 R Résultat (données à virgule flottante, 32 bits) Dd+1 Dd Dividende (donnée à virgule flottante, 32 bits) Dr+1 Dr Diviseur (donnée à virgule flottante, 32 bits) R+1 R Résultat (données à virgule flottante, 32 bits) Sortie Obligatoire Sortie Obligatoire Sortie Obligatoire S S+1 R DEG(459) Source (degrés, données 32 bits à virgule flottante) S R+1 Résultat (radians, données 32 bits à virgule flottante) R Convertit un nombre de 32 bits à virgule flottante de radians en degrés et place le résultat dans les mots de résultat spécifiés. S R SIN(460) S R COS(461) S R S : 1er mot source R : 1er mot de résultat 112 Mr+1 Convertit un nombre de 32 bits à virgule flottante de degrés en radians et place le résultat dans les mots de résultat spécifiés. S+1 S Source (radians, données 32 bits à virgule flottante) R+1 R Résultat (degrés, données 32 bits à virgule flottante) Calcule le sinus d'un nombre de 32 bits à virgule flottante (en radians) et place le résultat dans les mots de résultat spécifiés. SIN S : 1er mot source R : 1er mot de résultat COSINE Multiplicande (données à virgule flottante, 32 bits) ÷ S : 1er mot source R : 1er mot de résultat SINE Md Divise un nombre à virgule flottante 32 bits par un autre et place le résultat dans les mots de résultat spécifiés. S : 1er mot source R : 1er mot de résultat RADIANS TO DEGREES DEG @DEG 459 Md+1 Dr Dd : 1er mot dividende Dr : 1er mot diviseur R : 1er mot de résultat Emplacement Condition d'exécution Multiplie deux nombres à virgule flottante 32 bits et place le résultat dans les mots de résultat spécifiés. Md Md : 1er mot multiplicande Mr : 1er mot multiplicateur R : 1er mot de résultat FLOATINGPOINT DIVIDE Fonction S+1 S R+1 R S+1 S R+1 R Sortie Obligatoire Source (données 32 bits à virgule flottante) Résultat (données 32 bits à virgule flottante) Calcule le cosinus d'un nombre de 32 bits à virgule flottante (en radians) et place le résultat dans les mots de résultat spécifiés. COS Sortie Obligatoire Source (données 32 bits à virgule flottante) Résultat (données 32 bits à virgule flottante) Sortie Obligatoire Chapitre 3-13 Instructions mathématiques à virgule flottante Instruction Mnémonique Code TANGENT TAN @TAN 462 Symbole/ Opérande TAN(462) Fonction Calcule la tangente d'un nombre de 32 bits à virgule flottante (en radians) et place le résultat dans les mots de résultat spécifiés. S R TAN S : 1er mot source R : 1er mot de résultat ARC SINE ASIN @ASIN 463 ASIN(463) S ACOS(464) S ATAN(465) S R S : 1er mot source R : 1er mot de résultat SQUARE ROOT SQRT @SQRT 466 S Source (données 32 bits à virgule flottante) R+1 R Résultat (données 32 bits à virgule flottante) Calcule l'arc sinus d'un nombre de 32 bits à virgule flottante et place le résultat dans les mots de résultat spécifiés (la fonction arc sinus est l'inverse de la fonction sinus ; elle renvoie l'angle qui correspond à une valeur de sinus donnée, comprise entre –1 et 1). Sortie Obligatoire SIN –1 Source (données 32 bits à virgule flottante) S+1 S R+1 R Résultat (données 32 bits à virgule flottante) Calcule l'arc cosinus d'un nombre de 32 bits à virgule flottante et place le résultat dans les mots de résultat spécifiés (la fonction arc cosinus est l'inverse de la fonction cosinus ; elle renvoie l'angle qui donne une valeur de cosinus donnée, comprise entre –1 et 1). Sortie Obligatoire R S : 1er mot source R : 1er mot de résultat ARC TANGENT ATAN @ATAN 465 S+1 Sortie Obligatoire R S : 1er mot source R : 1er mot de résultat ARC COSINE ACOS @ACOS 464 Emplacement Condition d'exécution SQRT(466) COS –1 S+1 S R+1 R S : 1er mot source R : 1er mot de résultat Résultat (données 32 bits à virgule flottante) Calcule l'arc tangente d'un nombre de 32 bits à virgule flottante et place le résultat dans les mots de résultats spécifiés (la fonction arc tangente est l'inverse de la fonction tangente ; elle retourne l'angle qui correspond à une valeur de tangente donnée). TAN –1 S+1 S Source (données 32 bits à virgule flottante) R+1 R Résultat (données 32 bits à virgule flottante) Calcule la racine carrée d'un nombre de 32 bits à virgule flottante et place le résultat dans les mots de résultat spécifiés. S R Source (données 32 bits à virgule flottante) S+1 S R+1 R Sortie Obligatoire Sortie Obligatoire Source (données 32 bits à virgule flottante) Résultat (données 32 bits à virgule flottante) 113 Chapitre 3-13 Instructions mathématiques à virgule flottante Instruction Mnémonique Code EXPONENT EXP @EXP 467 Symbole/ Opérande EXP(467) S Fonction Calcule l'exponentiel naturel (base e) d'un nombre 32 bits à virgule flottante et place le résultat dans les mots de résultat spécifiés. R S+1 LOG @LOG 468 LOG(468) R+1 PWR(840) B S+1 loge B : 1er mot de base E : 1er mot exponentiel R : 1er mot de résultat FLOATING SYMBOL COMPARISON (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) LD, AND ou OR + =F (329), <>F (330), <F (331), <=F (332), >F (333) ou >=F (334) Utilisation de LD : Symbole, option S1 S2 Utilisation de AND : Symbole, option S1 S2 Utilisation de OR : Symbole, option S1 S2 S1 : Donnée de comparaison 1 S2 : Donnée de comparaison 2 114 Résultat (données 32 bits à virgule flottante) R Elève un nombre 32 bits à virgule flottante à la puissance d'un autre nombre 32 bits à virgule flottante. Puissance E+1 B+1 S Sortie Obligatoire Source (données 32 bits à virgule flottante) S R+1 E R Résultat (données 32 bits à virgule flottante) Calcule le logarithme naturel (base e) d'un nombre 32 bits à virgule flottante et place le résultat dans les mots de résultat spécifiés. S : 1er mot source R : 1er mot de résultat EXPONENTIAL POWER PWR @PWR 840 R S R Sortie Obligatoire Source (données 32 bits à virgule flottante) S e S : 1er mot source R : 1er mot de résultat LOGARITHM Emplacement Condition d'exécution Sortie Obligatoire E R+1 R Base Compare les données simple précision (32 bits) ou les constantes spécifiées et crée une condition d'exécution ON si le résultat de la comparaison est vrai. Trois sortes de symboles peuvent être utilisés avec les instructions de comparaison de symbole à virgule flottante : LD (Load), AND et OR. LD : non obligatoire AND ou OR : obligatoire Chapitre 3-14 Instructions à virgule flottante double précision Instruction Mnémonique Code FLOATINGPOINT TO ASCII (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) FSTR @FSTR 448 Symbole/ Opérande FSTR(448) S Fonction Emplacement Condition d'exécution Convertit les données à virgule flottante simple précision (format à virgule décimale ou exponentiel 32 bits) spécifiées en chaîne de caractères (ASCII) et place le résultat dans le mot de destination. Sortie obligatoire Convertit la chaîne de caractères (ASCII) spécifiée représentant les données à virgule flottante simple précision (format à virgule décimale ou exponentiel) en données à virgule flottante simple précision 32 bits et place le résultat dans les mots de destination. Sortie obligatoire C D S : 1er mot source C : Mot de contrôle D : Mot de destination ASCII TO FLOATINGFVAL(449) POINT (CS1-H, CJ1-H, CJ1M ou S CS1D D uniquement) FVAL @FVAL S : Mot source 449 D : 1er mot de destination 3-14 Instructions à virgule flottante double précision Les instructions à virgule flottante double précision sont prises en charge uniquement par les UC CS1-H, CJ1-H, CJ1M et CS1D. Instruction Mnémonique Code DOUBLE FLOATING TO 16-BIT BINARY FIXD @FIXD 841 Symbole/ Opérande FIXD(841) S Fonction Emplacement Condition d'exécution Convertit les données à virgule flottante double précision (64 bits) spécifiées en données binaires 16 bits signées et place le résultat dans le mot de destination. Sortie Obligatoire Convertit les données à virgule flottante double précision (64 bits) spécifiées en données binaires 32 bits signées et place le résultat dans les mots de destination. Sortie Obligatoire D S : 1er mot source D : Mot de destination DOUBLE FLOATING TO 32-BIT BINARY FIXLD @FIXLD 842 FIXLD(842) S D S : 1er mot source D : 1er mot de destination 16-BIT BINARY TO DOUBLE FLOATING DBL @DBL 843 DBL(843) S Convertit les données binaires 16 bits signées spécifiées en données à Sortie virgule flottante double précision (64 bits) et place le résultat dans les mots de Obligatoire destination. D S : Mot source D : 1er mot de destination 115 Chapitre 3-14 Instructions à virgule flottante double précision Instruction Mnémonique Code 32-BIT BINARY TO DOUBLE FLOATING DBLL @DBLL 844 Symbole/ Opérande DBLL(844) S Fonction Emplacement Condition d'exécution Convertit les données binaires 32 bits signées spécifiées en données à virgule flottante double précision (64 bits) et place le résultat dans les mots de destination. Sortie Obligatoire Ajoute les valeurs à virgule flottante double précision spécifiées (64 bits chacune) et place le résultat dans les mots de résultat. Sortie Obligatoire Soustrait les valeurs à virgule flottante double précision (64 bits chacune) spécifiées et place le résultat dans les mots de résultat. Sortie Obligatoire Multiplie les valeurs à virgule flottante double précision (64 bits chacune) spécifiées et place le résultat dans les mots de résultat. Sortie Obligatoire Divise les valeurs à virgule flottante double précision (64 bits chacune) spécifiées et place le résultat dans les mots de résultat. Sortie Obligatoire D S : 1er mot source D : 1er mot de destination DOUBLE FLOATINGPOINT ADD +D(845) +D @+D 845 Au Ad R Au : 1er mot 1er terme de l'addition Ad : 1er mot 2ème terme addition R : 1er mot de résultat DOUBLE FLOATINGPOINT SUBTRACT −D(846) Mi −D @−D 846 Su R Mi : 1er mot à soustraire Su : 1er mot soustracteur R : 1er mot de résultat DOUBLE FLOATINGPOINT MULTIPLY *D @*D 847 *D(847) Md Mr R Md : 1er mot multiplicande Mr : 1er mot multiplicateur R : 1er mot de résultat DOUBLE FLOATINGPOINT DIVIDE /D @/D 848 /D(848) Dd Dr R Dd : 1er mot dividende Dr : 1er mot diviseur R : 1er mot de résultat 116 Chapitre 3-14 Instructions à virgule flottante double précision Instruction Mnémonique Code DOUBLE DEGREES TO RADIANS RADD @RADD 849 Symbole/ Opérande RADD(849) Fonction Emplacement Condition d'exécution Convertit les données à virgule flottante double précision (64 bits) spécifiées de degrés en radians et place le résultat dans les mots de résultat. Sortie Obligatoire Convertit les données à virgule flottante double précision (64 bits) spécifiées de radians en degrés et place le résultat dans les mots de résultat. Sortie Obligatoire Calcule le sinus de l'angle (radians) dans les données à virgule flottante double précision (64 bits) spécifiées et place le résultat dans les mots de résultat. Sortie Obligatoire Calcule le cosinus de l'angle (radians) dans les données à virgule flottante double précision (64 bits) spécifiées et place le résultat dans les mots de résultat. Sortie Obligatoire Calcule la tangente de l'angle (radians) dans les données à virgule flottante double précision (64 bits) spécifiées et place le résultat dans les mots de résultat. Sortie Obligatoire Calcule l'angle (en radians) à partir de la valeur du sinus dans les données à virgule flottante double précision (64 bits) spécifiées et place le résultat dans les mots de résultat (la fonction arc sinus est l'inverse de la fonction sinus ; elle retourne l'angle qui correspond à une valeur de sinus donnée, comprise entre -1 et 1). Sortie Obligatoire Calcule l'angle (en radians) à partir de la valeur du cosinus dans les données à virgule flottante double précision (64 bits) spécifiées et place le résultat dans les mots de résultat (la fonction arc cosinus est l'inverse de la fonction cosinus ; elle retourne l'angle qui correspond à une valeur de cosinus donnée, comprise entre -1 et 1). Sortie Obligatoire S R S : 1er mot source R : 1er mot de résultat DOUBLE RADIANS TO DEGREES DEGD @DEGD 850 DEGD(850) S R S : 1er mot source R : 1er mot de résultat DOUBLE SINE SIND @SIND 851 SIND(851) S R S : 1er mot source R : 1er mot de résultat DOUBLE COSINE COSD(852) COSD @COSD 852 S R S : 1er mot source R : 1er mot de résultat DOUBLE TANGENT TAND @TAND 853 TAND(853) S R S : 1er mot source R : 1er mot de résultat DOUBLE ARC SINE ASIND @ASIND 854 ASIND(854) S R S : 1er mot source R : 1er mot de résultat DOUBLE ARC COSINE ACOSD @ACOSD 855 ACOSD(855) S R S : 1er mot source R : 1er mot de résultat 117 Chapitre 3-14 Instructions à virgule flottante double précision Instruction Mnémonique Code DOUBLE ARC TANGENT ATAND @ATAND 856 Symbole/ Opérande ATAND(856) S R Fonction Emplacement Condition d'exécution Calcule l'angle (en radians) à partir de la valeur de la tangente dans les données à virgule flottante double précision (64 bits) spécifiées et place le résultat dans les mots de résultat (la fonction arc tangente est l'inverse de la fonction tangente ; elle retourne l'angle qui correspond à une valeur de tangente donnée). Sortie Obligatoire Calcule la racine carrée des données à virgule flottante double précision (64 bits) spécifiées et place le résultat dans les mots de résultat. Sortie Obligatoire Calcule l'exponentiel naturel (base e) des données à virgule flottante double précision (64 bits) spécifiées et place le résultat dans les mots de résultat. Sortie Obligatoire Calcule le logarithme naturel (base e) des données à virgule flottante double précision (64 bits) spécifiées et place le résultat dans les mots de résultat. Sortie Obligatoire S : 1er mot source R : 1er mot de résultat DOUBLE SQUARE ROOT SQRTD @SQRTD 857 SQRTD(857) S R S : 1er mot source R : 1er mot de résultat DOUBLE EXPONENT EXPD(858) EXPD @EXPD 858 S R S : 1er mot source R : 1er mot de résultat DOUBLE LOGARITHM LOGD @LOGD 859 LOGD(859) S R S : 1er mot source R : 1er mot de résultat DOUBLE EXPONENTIAL POWER PWRD @PWRD 860 PWRD(860) B Elève un nombre à virgule flottante double précision (64 bits) à la puissance Sortie d'un autre nombre à virgule flottante double précision et place le résultat dans Obligatoire les mots de résultat. E R B : 1er mot de base E : 1er mot exponentiel R : 1er mot de résultat DOUBLE SYMBOL COMPARISON LD, AND ou OR + =D (335), <>D (336), <D (337), <=D (338), >D (339), or >=D (340) Utilisation de LD : Symbole, option S1 S2 Utilisation de AND : Symbole, option S1 S2 Utilisation de OR : Symbole, option S1 S2 S1 : Donnée de comparaison 1 S2 : Donnée de comparaison 2 118 Compare les données double précision (64 bits) spécifiées et crée une condition d'exécution ON si le résultat de la comparaison est vrai. Ces trois types de symboles peuvent être utilisés avec les instructions de comparaison à symbole à virgule flottante : LD (Load), AND et OR. LD : non obligatoire AND ou OR : obligatoire Chapitre 3-15 Instructions de traitement de données de tableaux 3-15 Instructions de traitement de données de tableaux Instruction Mnémonique Code SET STACK SSET @SSET 630 Symbole/ Opérande SSET(630) Fonction Définit une pile de la longueur spécifiée commençant au mot spécifié et initialise (met à zéro) les mots dans la zone de données. TB Sortie Obligatoire Adresse mémoire E/S interne N TB : 1ère adresse de pile N : Nombre de mots Emplacement Condition d'exécution TB m+(N–1) TB+1 Dernier mot de la pile N mots dans la pile TB+2 TB+3 Pointeur d'empilement m+(N–1) PUSH ONTO STACK PUSH @PUSH 632 PUSH(632) LAST IN FIRST OUT LIFO @LIFO 634 Adresse mémoire E/S interne TB S TB : 1ère adresse de pile S : Mot source LIFO(634) TB D TB : 1ère adresse de pile D : Mot de destination Sortie Obligatoire Ecrit un mot de données dans la pile spécifiée. Adresse mémoire E/S interne TB TB TB+1 TB+1 TB+2 TB+2 PUSH(632) TB+3 TB+3 Lit le dernier mot de données écrit dans la pile spécifiée (les données de la pile les plus récentes). Pointeur d'empilement Adresse mémoire E/S interne TB TB TB+1 Données TB+1 les plus récentes TB+2 TB+2 m –1 Adresse mémoire E/S interne m–1 TB+3 TB+3 Sortie Obligatoire Pointeur d'empilement m –1 A reste inchangé. Le pointeur est décrémenté. FIRST IN FIRST OUT FIFO @FIFO 633 FIFO(633) TB : 1ère adresse de pile D : Mot de destination Sortie Obligatoire Lit le premier mot de données écrit dans la pile spécifiée (les données de la pile les plus anciennes). TB D Dernier entré, premier sorti Adresse mémoire E/S interne TB TB Pointeur TB+1 d'empileTB+2 ment TB+3 Adresse mémoire E/S interne Données les plus anciennes TB+1 TB+2 TB+3 Pointeur d'empilement m –1 m –1 Premier entré, premier sorti 119 Chapitre 3-15 Instructions de traitement de données de tableaux Instruction Mnémonique Code DIMENSION RECORD TABLE DIM @DIM 631 Symbole/ Opérande DIM(631) N LR Fonction Emplacement Condition d'exécution Définit une table d'enregistrements en déclarant la longueur de chaque enregistrement et le nombre d'enregistrement. Il est possible de définir jusqu'à 16 tables d'enregistrements. Numéro de table (N) NR Sortie Obligatoire Enregistrement 1 TB N : Numéro de table LR : Longueur de chaque enregistrement NR : Nombre d'enregistrements TB : 1er mot de table SET RECORD LOCATION SETR @SETR 635 SETR(635) N R D N : Numéro de table R : Numéro d'enregistrement D : Registre d'index de destination GET RECORD NUMBER GETR @GETR 636 GETR(636) Nombre d'enregistrements LR × NR mots Enregistrement NR Ecrit l'emplacement de l'enregistrement spécifié (l'adresse mémoire E/S interne du début de l'enregistrement) dans le registre d'index spécifié. Sortie Obligatoire Adresse mémoire Numéro de table (N) E/S interne SETR(635) écrit l'adresse mémoire E/S interne (m) du premier mot de l'enregistreR ment R dans le registre d'index D. Numéro d'enregistrement (R) Renvoie le numéro de l'enregistrement à l'adresse mémoire E/S interne contenue dans le registre d'index spécifié. Sortie Obligatoire N Numéro de table (N) Adresse mémoire IR E/S interne D N : Numéro de table IR : Registre d'index D : Mot de destination IR GETR(636) écrit le numéro de l'enregistrement qui inclut l'adresse mémoire E/S (m) dans D. Numéro d'enregistrement (R) n DATA SEARCH SRCH @SRCH 181 SRCH(181) C R1 Cd C : 1er mot de contrôle R1 : 1er mot de la plage Cd : Donnée de comparaison 120 Recherche un mot de données dans une plage de mots. Adresse mémoire E/S interne Rechercher R1 C Cd R1+(C-1) Correspondance Sortie Obligatoire Chapitre 3-15 Instructions de traitement de données de tableaux Instruction Mnémonique Code SWAP BYTES SWAP @SWAP 637 Symbole/ Opérande SWAP(637) N Permute l'octet le plus à gauche et l'octet le plus à droite dans tous les mots de la plage. Permute la position des octets. MAX(182) C R1 C : 1er mot de contrôle R1 : 1er mot de la plage D : Mot de destination N Recherche la valeur maximale dans la plage. Adresse mémoire E/S interne R1 MIN(183) Valeur max. R1+(W-1) Recherche la valeur minimale dans la plage. Adresse mémoire E/S interne C R1 C : 1er mot de contrôle R1 : 1er mot de la plage D : Mot de destination SUM SUM(184) R1 Valeur min. R1+(W–1) Ajoute les octets ou les mots dans la plage et place le résultat dans deux mots. Sortie Obligatoire C R1 C : 1er mot de contrôle R1 : 1er mot de la plage D : 1er mot de destination FCS @FCS 180 Sortie Obligatoire Mots C D FRAME CHECKSUM Sortie Obligatoire Mots C D SUM @SUM 184 Sortie Obligatoire R1 D FIND MINIMUM MIN @MIN 183 Emplacement Condition d'exécution R1 N : Nombre de mots R1 : 1er mot de la plage FIND MAXIMUM MAX @MAX 182 Fonction FCS(180) C R1 ) R1+(W-1) Calcule la valeur FCS ASCII pour la plage spécifiée. Sortie Obligatoire R1 Unités C R1 D C : 1er mot de contrôle R1 : 1er mot de la plage D : 1er mot de destination Calcul Conversion ASCII Valeur FCS 121 Chapitre 3-15 Instructions de traitement de données de tableaux Instruction Mnémonique Code Symbole/ Opérande Fonction Emplacement Condition d'exécution STACK SIZE SNUM(638) READ (CS1-H, CJ1-H, CJ1M ou TB CS1D uniquement) D SNUM @SNUM TB : Première 638 adresse pile D : Mot de destination Compte le nombre de données de pile (nombre de mots) dans la pile spécifiée. Sortie obligatoire STACK DATA READ (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) SREAD @SREAD 639 Lit les données d'un élément de données spécifié dans la pile. La valeur de décalage indique l'emplacement de l'élément de données voulu (nombre d'éléments de données avant la position courante du pointeur). Sortie obligatoire SREAD(639) TB C D TB : Première adresse pile C : Valeur de décalage D : Mot de destinat STACK DATA OVERWRITE (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) SWRIT @SWRIT 640 SWRITE(640) TB Ecrit les données sources dans l'élément de données spécifié dans la pile (en Sortie obligatoire remplaçant les données existantes). La valeur de décalage indique l'emplacement de l'élément de données voulu (nombre d'éléments de données avant la position courante du pointeur). C S TB : Première adresse pile C : Valeur de décalage S : Donnée source STACK DATA INSERT (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) SINS @SINS 641 SINS(641) TB Insère les données sources à l'emplacement spécifié dans la pile et décale le Sortie obligatoire reste des données de la pile vers le bas. La valeur de décalage indique l'emplacement du point d'insertion (nombre d'éléments de données avant la position courante du pointeur). C S TB : Première adresse pile C : Valeur de décalage S : Donnée source STACK DATA DELETE (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) SDEL @SDEL 642 SDEL(642) TB C D TB : Première adresse pile C : Valeur de décalage D : Mot de destination 122 Supprime l'élément de données à l'emplacement spécifié dans la pile et décale le reste des données de la pile vers le haut. La valeur de décalage indique l'emplacement du point de suppression (nombre d'éléments de données avant la position courante du pointeur). Sortie obligatoire Chapitre 3-16 Instructions de contrôle de données 3-16 Instructions de contrôle de données Instruction Mnémonique Code PID CONTROL PID 190 Symbole/ Opérande PID(190) Fonction Emplacement Condition d'exécution Exécute la commande PID en fonction des paramètres spécifiés. Paramètres (C à C+8) S Sortie Obligatoire C D Entre PV (S) S : Mot d'entrée C : 1er mot paramètre D : Mot de sortie PID CONTROL WITH AUTOTUNING PIDAT 191 (CS1-H, CJ1-H ou CJ1M uniquement) LIMIT CONTROL LMT @LMT 680 PIDAT(191) S Contrôle PID Variable manipulée (D) Exécute la commande PID en fonction des paramètres spécifiés. Les constantes PID peuvent être réglées automatiquement par PIDAT(191). Sortie obligatoire Contrôle les données de sortie en fonction des données d'entrée (selon qu'elles sont comprises ou non entre les limites supérieure et inférieure). Sortie Obligatoire C D S : Mot d'entrée C : 1er mot paramètre D : Mot de sortie LMT(680) S C D S : Mot d'entrée C : 1er mot limite D : Mot de sortie Limite supérieure C+1 Limite inférieure C DEAD BAND CONTROL BAND @BAND 681 BAND(681) S Contrôle les données de sortie en fonction des données d'entrée (selon qu'elles sont comprises ou non dans la zone d'insensibilité). Sortie Obligatoire Sortie C D S : Mot d'entrée C : 1er mot limite D : Mot de sortie Limite inférieure (C) Entrée Limite supérieure (C+1) 123 Chapitre 3-16 Instructions de contrôle de données Instruction Mnémonique Code DEAD ZONE CONTROL ZONE @ZONE 682 Symbole/ Opérande ZONE(682) Fonction Ajoute la pente spécifiée aux données d'entrée et sort le résultat. Sortie S C D Emplacement Condition d'exécution Sortie Obligatoire Pente positive (C+1) Entrée S : Mot d'entrée C : 1er mot limite D : Mot de sortie Pente négative (C) TIMETPO (685) PROPORTIONAL OUTPUT S TPO C 685 (UC série CS/CJ R Ver. 2.0 ou S : Mot d'entrée supérieure C : 1er mot uniquement) paramètre R : Bit de sortie d'impulsions Entre le taux de service ou la variable manipulée à partir du mot spécifié, convertit le taux de service en une sortie proportionnelle au temps en fonction des paramètres spécifiés et sort le résultat à partir de la sortie spécifiée. Sortie Obligatoire SCALING Convertit les données binaires non signées en données BCD non signées selon la fonction linéaire spécifiée. Sortie Obligatoire SCL @SCL 194 SCL(194) S R (donnée BCD non signée) P1 R S : Mot source P1 : 1er mot paramètre R : Mot de résultat Point B Point A La mise à l'échelle est effectuée selon la fonction linéaire définie par les points A et B. P P1 + 1 P1 + 2 P1 + 3 (BCD) (BIN) (BCD) (BIN) S (binaire non signé) 124 Valeur convertie Valeur convertie Chapitre 3-16 Instructions de contrôle de données Instruction Mnémonique Code SCALING 2 SCL2 @SCL2 486 Symbole/ Opérande SCL2(486) S Fonction Emplacement Condition d'exécution Convertit les données binaires signées en données BCD signées selon la fonction linéaire spécifiée. Vous pouvez entrer un décalage en définissant la fonction linéaire. P1 Décalage positif R R (donnée BCD signée) S : Mot source P1 : 1er mot paramètre R : Mot de résultat Décalage négatif R (donnée BCD signée) ∆Y ∆Y Décalage ∆X ∆X S (donnée binaire signée) Décalage P1 P1 + 1 P1 + 2 Sortie Obligatoire S (donnée binaire signée) Décalage de 0000 Décalage (Donnée binaire signée) R (donnée BCD signée) (Donnée binaire signée) ∆Y ∆X (Donnée BCD signée) ∆Y Décalage = 0000 hex ∆X S (donnée binaire signée) 125 Chapitre 3-16 Instructions de contrôle de données Instruction Mnémonique Code Symbole/ Opérande SCALING 3 SCL3 @SCL3 487 SCL3(487) S P1 R S : Mot source P1 : 1er mot paramètre R : Mot de résultat Fonction Emplacement Condition d'exécution Convertit les données BCD signées en données binaires signées selon la fonction linéaire spécifiée. Vous pouvez entrer un décalage en définissant la fonction linéaire. Décalage positif Sortie Obligatoire Décalage négatif R (donnée binaire signée) R (donnée binaire signée) Conversion max. Conversion max. ∆Y ∆Y ∆X Décalage Conversion min. ∆X S (donnée BCD signée) Décalage S (donnée BCD signée) Conversion min. Décalage de 0000 R (donnée binaire signée) Conversion max. ∆Y ∆X S (donnée BCD signée) Conversion min. AVERAGE AVG 195 AVG(195) S Calcule la valeur moyenne d'un mot d'entrée pour le nombre de cycles spécifié. S : Mot source N R S : Mot source N : Nombre de cycles R : Mot de résultat N : Nombre de cycles R R+1 Pointeur Drapeau de moyenne valide Moyenne R+2 R+3 N valeurs R+N+1 126 Sortie Obligatoire Chapitre 3-17 Instructions de sous-programme 3-17 Instructions de sous-programme Instruction Mnémonique Code Symbole/ Opérande SUBROUTINE SBS(091) CALL SBS N @SBS 091 N : Numéro de sous-programme Fonction Emplacement Condition d'exécution Appelle le sous-programme correspondant au numéro spécifié et l'exécute. Condition d'exécution sur ON Sortie Obligatoire Programme principal Sousprogramme (SBN(092) à RET(093)) Fin de programme MACRO MCRO @MCRO 099 MCRO(099) N S Appelle le sous-programme correspondant au numéro spécifié et l'exécute en utilisant les paramètres d'entrée inclus dans S à S+3 et les paramètres de sortie inclus dans D à D+3. Sortie Obligatoire MCRO(099) D N : Numéro de sous-programme S : 1er mot paramètre entrée D : 1er mot paramètre sortie Exécution du sousprogramme entre SBN(092) et RET(093). MCRO(099) Le sous-programme utilise A600 à A603 comme entrées et A604 à A607 comme sorties. SUBROUTINE ENTRY SBN 092 SBN(092) N Indique le début du sous-programme correspondant au numéro spécifié. N : Numéro de sous-programme Sortie Non obligatoire ou Zone de sousprogramme SUBROUTINE RETURN RET 093 RET(093) Indique la fin d'un sous-programme. Sortie Non obligatoire 127 Chapitre 3-18 Instructions de traitement d'interruption Instruction Mnémonique Code Symbole/ Opérande Fonction Emplacement Condition d'exécution GLOBAL GSBS(750) SUBROUTINE CALL (CS1-H, N CJ1-H, CJ1M ou CS1D N : Numéro de uniquement) GSBS sous-programme 750 Appelle le sous-programme correspondant au numéro spécifié et l'exécute. Sortie Non obligatoire GLOBAL GSBN(751) SUBROUTINE ENTRY (CS1-H, N CJ1-H, CJ1M ou CS1D N : Numéro de uniquement) GSBN sous-programme 751 Indique le début du sous-programme correspondant au numéro spécifié. Sortie Non obligatoire GLOBAL SUBROUTINE RETURN (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) GRET 752 Indique la fin d'un sous-programme. Sortie Non obligatoire GRET(752) 3-18 Instructions de traitement d'interruption Instruction Mnémonique Code SET INTERRUPT MASK (Non prise en charge par les UC CS1D pour les systèmes d'UC en duplex.) MSKS @MSKS 690 Symbole/ Opérande MSKS(690) N S N : Identifiant d'interruption S : Donnée interruption Fonction Emplacement Condition d'exécution Configure le traitement des interruptions pour les interruptions E/S ou les interruptions programmées. Les tâches d'interruption E/S et les tâches d'interruption programmées sont masquées (désactivées) lorsque l'API est mis sous tension pour la première fois. Vous pouvez utiliser MSKS(690) pour afficher ou masquer les interruptions E/S et définir les intervalles de temps des interruptions programmées. Cartes d'entrées d'interruption 0 à 3 Sortie Obligatoire Interruption E/S Masquer (1) ou démasquer (0) les entrées d'interruption 0 à 7. Intervalle Interruption programmée READ INTERRUPT MASK (Non prise en charge par les UC CS1D pour les systèmes à UC en duplex.) MSKR @MSKR 692 128 MSKR(692) N D N : Identifiant d'interruption D : Mot de destination Définir le temps d'interruption programmée. Lit les paramètres de traitement des interruptions de courant qui ont été définis avec MSKS(690). Sortie Obligatoire Chapitre 3-18 Instructions de traitement d'interruption Instruction Mnémonique Code CLEAR INTERRUPT (Non prise en charge par les UC CS1D pour les systèmes à UC en duplex.) CLI @CLI 691 Symbole/ Opérande Fonction Emplacement Condition d'exécution N Remet à zéro ou conserve les entrées d'interruption sauvegardées pour les interruptions E/S ou définit le délai jusqu'à la première interruption programmée pour les interruptions programmées. S N=0à3 CLI(691) N : Identifiant d'interruption S : Donnée interruption Entrée d'interruption n Entrée d'interruption n Etat interne Etat interne N=4à5 Sortie Obligatoire Interruption sauvegardée remise à zéro MSKS(690) Interruption sauvegardée conservée Exécution de la tâche d'interruption programmée. Délai jusqu'à la première interruption programmée DISABLE INTERRUPTS DI(693) DI @DI 693 Désactive l'exécution de toutes les tâches d'interruption à l'exception de la tâche d'interruption de mise hors tension. Sortie Obligatoire Désactive l'exécution de toutes les tâches d'interruption (à l'exception de la tâche d'interruption de mise hors tension). ENABLE INTERRUPTS EI(694) Active l'exécution de toutes les tâches d'interruption qui ont été désactivées avec DI(693). Sortie Non obligatoire EI 694 Désactive l'exécution de toutes les tâches d'interruption (à l'exception de la tâche d'interruption de mise hors tension). Active l'exécution de toutes les tâches d'interruption désactivées. 129 Instructions de compteur à grande vitesse et de sortie d'impulsion (CJ1M-CPU21/22/23 uniquement) Chapitre 3-19 3-19 Instructions de compteur à grande vitesse et de sortie d'impulsion (CJ1M-CPU21/22/23 uniquement) Instruction Mnémonique Code MODE CONTROL INI @INI 880 Symbole/ Opérande INI P Fonction Emplacement Condition d'exécution INI(880) permet de démarrer et d'interrompre la comparaison des valeurs Sortie cibles, de changer la valeur actuelle (PV) d'un compteur à grande vitesse, Obligatoire de changer la PV d'une entrée d'interruption (mode compteur), de changer la PV d'une sortie d'impulsion ou d'arrêter la sortie d'impulsion. C NV P : identificateur de port C : données de contrôle NV : 1er mot avec nouvelle PV HIGH-SPEED COUNTER PV READ PRV @PRV 881 PRV P PRV(881) permet de lire la valeur actuelle (PV) d'un compteur à grande vitesse, d'une sortie d'impulsion ou d'une entrée d'interruption (mode compteur). Sortie Obligatoire C D P : identificateur de port C : données de contrôle D : 1er mot de destination COUNTER PRV2 FREQUENCY CONVERT C1 PRV2 883 C2 (UC CJ1M Ver. 2.0 D ou supérieure uniquement) C1 : données de contrôle C2 : impulsions/ révolution D : 1er mot de destination Lit l'entrée de la fréquence d'impulsion sur un compteur à grande vitesse Sortie et convertit la fréquence en vitesse de rotation (nombre de révolutions) ou Obligatoire convertit la valeur actuelle (PV) du compteur en nombre total de tours. Le résultat est dirigé vers les mots de destination sous la forme d'un nombre hexadécimal à 8 chiffres. Les impulsions ne peuvent être entrées qu'à partir du compteur à grande vitesse 0. COMPARISON TABLE LOAD CTBL @CTBL 882 CTBL(882) permet de comparer la valeur actuelle (PV) d'un compteur à grande vitesse par rapport à des plages ou des valeurs cibles. Sortie Obligatoire SPED(885) permet de spécifier la fréquence et exécuter la sortie d'impulsion sans accélération ni décélération. Sortie Obligatoire CTBL P C TB P : identificateur de port C : données de contrôle TB : 1er mot du tableau de comparaison SPEED OUTPUT SPED @SPED 885 SPED P M F P : identificateur de port M : mode de sortie F : 1er mot de fréquence d'impulsion 130 Instructions de compteur à grande vitesse et de sortie d'impulsion (CJ1M-CPU21/22/23 uniquement) Instruction Mnémonique Code SET PULSES PULS @PULS 886 Symbole/ Opérande PULS Fonction Chapitre 3-19 Emplacement Condition d'exécution PULS(886) permet de définir le nombre d'impulsions pour la sortie d'impulsion. Sortie Obligatoire PLS2(887) permet de définir la fréquence d'impulsion et les taux d'accélération/décélération, et d'exécuter la sortie d'impulsion avec accélération/décélération (avec des taux d'accélération/décélération différents). Seul le positionnement est possible. Sortie Obligatoire P T N P : identificateur de port T : type d'impulsion N : nombre d'impulsions PULSE OUTPUT PLS2 @PLS2 887 PLS2 P M S F P : identificateur de port M : mode de sortie S : 1er mot du tableau des paramètres F : 1er mot de la fréquence de démarrage ACCELERATION CONTROL ACC @ACC 888 ACC P ACC(888) permet de définir la fréquence d'impulsion et les taux Sortie d'accélération/décélération, et d'exécuter la sortie d'impulsion avec Obligatoire accélération/décélération (avec le même taux d'accélération/décélération). Le positionnement et la vitesse peuvent tous deux être contrôlés. M S P : identificateur de port M : mode de sortie S : 1er mot du tableau des paramètres ORIGIN SEARCH ORG @ORG 889 ORG ORG(889) permet d'exécuter des recherches d'origine et des retours. Sortie Obligatoire P C P : identificateur de port C : données de contrôle PULSE WITH VARIABLE DUTY FACTOR MLI @ 891 MLI MLI(891) permet de sortir des impulsions avec un coefficient d'exploitation Sortie variable. Obligatoire P F D P : identificateur de port F : fréquence D : coefficient d'exploitation 131 Chapitre 3-20 Instructions de pas 3-20 Instructions de pas Instruction Mnémonique Code Symbole/ Opérande STEP DEFINE STEP 008 STEP(008) B B : Bit STEP START SNXT 009 SNXT(009) B Fonction Emplacement Condition d'exécution STEP(008) fonctionne de 2 façons, en fonction de sa position et selon qu'un bit de contrôle a été spécifié ou non. (1)Démarre un pas spécifique. (2)Termine la zone de programmation pas à pas (c'est-à-dire l'exécution par pas). Sortie Obligatoire SNXT(009) est utilisée de trois façons : (1)Pour démarrer l'exécution de la programmation pas à pas. (2)Pour passer au bit de contrôle de pas suivant. (3)Pour arrêter l'exécution de la programmation pas à pas. Sortie Obligatoire B : Bit 3-21 Instructions des cartes d'E/S standard Instruction Mnémonique Code I/O REFRESH IORF @IORF 097 Symbole/ Opérande IORF(097) Fonction Rafraîchit les mots E/S spécifiés. Zone de bits d'E/S ou zone de bits de carte E/S spéciales St E St : Mot de début E : Mot de fin Emplacement Condition d'exécution St Carte E/S ou carte E/S spéciales Sortie Obligatoire Mise à jour d'E/S E 7-SEGMENT DECODER SDEC @SDEC 078 SDEC(078) S Convertit le contenu hexadécimal des chiffres désignés en code d'affichage 8 bits, 7 segments et le place dans les 8 bits supérieurs ou inférieurs des mots de destination spécifiés. Di Di Nombre de chiffres D S : Mot source Di : Désignateur de chiffres D : 1er mot de destination Premier chiffre à convertir 8 bits les plus à droite (0) 7 segments 132 Sortie Obligatoire Chapitre 3-21 Instructions des cartes d'E/S standard Instruction Mnémonique Code Symbole/ Opérande DIGITAL SWITCH INPUT DSW 210 (UC série CS/CJ Ver. 2.0 ou supérieure uniquement) DSW (210) I Fonction Emplacement Condition d'exécution Lit la valeur définie sur un interrupteur digital externe (ou un interrupteur Sortie à roue codeuse) raccordé à une carte d'entrée ou une carte de sortie et Obligatoire enregistre les données BCD (4 ou 8 chiffres) dans les mots spécifiés. O D C1 C2 I : Mot d'entrée de données (D0 à D3) O : Mot de sortie D : 1er mot de résultat C1 : Nombre de chiffres C2 : Mot système TEN KEY INPUT TKY 211 (UC série CS/CJ Ver. 2.0 ou supérieure uniquement) TKY (211) I Lit les données numériques à partir d'un clavier de dix touches raccordé Sortie à une carte d'entrée et enregistre jusqu'à 8 chiffres de données BCD Obligatoire dans les mots spécifiés. D1 D2 I: Mot d'entrée de données D1 : 1er mot de registre D2 : Mot d'entrée touche HEXADECIMAL KEY INPUT HKY 212 (UC série CS/CJ Ver. 2.0 ou supérieure uniquement) HKY (212) I Lit des données numériques à partir d'un clavier hexadécimal raccordé Sortie à une carte d'entrée et une carte de sortie, et enregistre jusqu'à Obligatoire 8 chiffres de données hexadécimales dans les mots spécifiés. O D C I : Mot d'entrée de données O : Mot de sortie D : 1er mot de registre C : Mot système MATRIX INPUT MTR 213 (UC série CS/CJ Ver. 2.0 ou supérieure uniquement) MTR (213) I Sortie Entre jusqu'à 64 signaux à partir d'une matrice de 8 × 8 connectée à une carte d'entrée et une carte de sortie (avec 8 points d'entrée et Obligatoire 8 points de sortie) et enregistre ces données 64 bits dans les 4 mots de destination. O D C I : Mot d'entrée de données O : Mot de sortie D : 1er mot de destination C : Mot système 133 Chapitre 3-21 Instructions des cartes d'E/S standard Instruction Mnémonique Code Symbole/ Opérande 7-SEGMENT 7SEG (214) DISPLAY OUTPUT S 7SEG O 214 C (UC série CS/CJ Ver. 2.0 ou D supérieure uniquement) S : 1er mot source Fonction Emplacement Condition d'exécution Convertit les données source (BCD 4 chiffres ou 8 chiffres) en données Sortie d'affichage à 7 segments et place ces données dans le mot de sortie Obligatoire spécifié. O : Mot de sortie C : Données de contrôle D : Mot système INTELLIGENT I/O READ IORD @IORD 222 IORD(222) C S Lit le contenu de la zone de mémoire pour la carte E/S spéciales ou la carte de bus UC (voir remarque). Sortie Obligatoire S S+1 D Numéro de la carte E/S spéciales C : Données de contrôle S : Source du transfert et nombre de mots D : Destination du transfert et nombre de mots Nombre de mots lus désigné. Remarque Les UC série CS/CJ Ver. 2.0 ou supérieure (y compris les UC CS1-H, CJ1-H et CJ1M du lot numéro 030418 ou ultérieur) peuvent lire à partir des cartes réseau. INTELLIGENT I/O WRITE IOWR @IOWR 223 IOWR(223) C S Sort le contenu de la zone de mémoire E/S de l'UC sur la carte E/S spéciales ou la carte de bus UC (voir remarque). Sortie Obligatoire D D+1 D C : Données de contrôle S : Source du transfert et nombre de mots D : Destination du transfert et nombre de mots Numéro de la carte E/S spéciales Nombre de mots écrits désignés Remarque Les UC série CS/CJ Ver. 2.0 ou supérieure (y compris les UC CS1-H, CJ1-H et CJ1M du lot numéro 030418 ou ultérieur) peuvent écrire sur les cartes réseau. CPU BUS UNIT Met immédiatement les E/S à jour sur la carte réseau avec le numéro DLNK(226) de carte spécifié. I/O REFRESH (CS1-H, CJ1-H, N CJ1M ou CS1D uniquement) DLNK N : Numéro d'unité @DLNK 226 134 Sortie obligatoire Chapitre 3-22 Instructions de communications série 3-22 Instructions de communications série Instruction Mnémonique Code PROTOCOL MACRO PMCR @PMCR 260 Symbole/ Opérande PMCR(260) Fonction Emplacement Condition d'exécution Appelle et exécute une séquence de communication enregistrée sur une carte de communication série (série CS ou autre). C1 UC C2 Sortie Obligatoire Carte de communication série Port S R S jusqu'à C1 : Mot de contrôle 1 C2 : Mot de contrôle 2 S : 1er mot envoyé R : 1er mot reçu R jusqu'à TRANSMIT TXD @TXD 236 TXD(236) Périphérique externe Sort le nombre d'octets de données spécifié du port RS-232C intégré à Sortie l'UC. Obligatoire S C N S : 1er mot source C : Mot de contrôle N : Nombre d'octets 0000 à 0100 hex (0 à 256 décimal) RECEIVE RXD @RXD 235 RXD(235) Lit le nombre d'octets de données spécifié à partir du port RS-232C intégré à l'UC. Sortie Obligatoire Sort le nombre d’octets de données spécifié sans conversion du port série d’une carte de communications série avec une version de carte 1.2 ou supérieure. Les données sont sorties en mode sans protocole avec le code de début et le code de fin (le cas échéant) spécifiés dans la zone DM allouée. Sortie Obligatoire D C N D : 1er mot de destination C : Mot de contrôle N : Nombre d'octets à sauvegarder 0000 à 0100 hex (0 à 256 décimal) TRANSMIT VIA SERIAL COMMUNICATIONS UNIT TXDU @TXDU 256 TXDU(256) S C N S : 1er mot source C : 1er mot de contrôle N : Nombre d'octets (0000 à 0256 BCD) 135 Chapitre 3-23 Instructions réseaux Instruction Mnémonique Code RECEIVE VIA SERIAL COMMUNICATIONS UNIT RXDU @RXDU 255 Symbole/ Opérande RXDU(255) D C Fonction Emplacement Condition d'exécution Lit le nombre d’octets de données spécifié, en partant du premier mot spécifié, sur le port série d’une carte de communications série avec une version de carte 1.2 ou supérieure. Les données sont lues en mode sans protocole avec le code de début et le code de fin (le cas échéant) spécifiés dans la zone de configuration DM allouée. N D : 1er mot de destination C : 1er mot de contrôle N : Nombre d'octets à stocker (0000 à 0100 hex) CHANGE SERIAL PORT SETUP STUP @STUP 237 STUP(237) C Change les paramètres de communication d'un port série sur l'UC, la carte de communications série (carte réseau) ou la carte de communications série. STUP(237) permet ainsi de changer le mode protocole pendant le fonctionnement de l'API. Sortie Obligatoire S C : Mot de contrôle (port) S : Premier mot source 3-23 Instructions réseaux Instruction Mnémonique Code NETWORK SEND SEND @SEND 090 Symbole/ Opérande SEND(090) Fonction D RECV @RECV 098 RECV(098) S 15 0 D n: Nombre de mots envoyés n Demande la transmission des données à partir d'un nœud du réseau et reçoit les données. S Nœud local 0 15 D C S : 1er mot source D : 1er mot de destination C : 1er mot de contrôle 136 Nœud destination Nœud local 15 0 S : 1er mot source D : 1er mot de destination C : 1er mot de contrôle NETWORK RECEIVE Sortie Obligatoire Transmet les données à un nœud du réseau. S C Emplacement Condition d'exécution Nœud source 15 S D m n 0 Sortie Obligatoire Chapitre 3-23 Instructions réseaux Instruction Mnémonique Code DELIVER COMMAND CMND @CMND 490 Symbole/ Opérande CMND(490) Fonction Nœud local D 15 S : 1er mot de commande D : 1er mot de réponse C : 1er mot de contrôle Sortie Obligatoire Envoie la commande FINS et reçoit la réponse S C Emplacement Condition d'exécution S Données Commande de commande Interprétation (n octets) (S -1) + n 2 15 D (D -1) + m 2 Nœud de destination 0 0 Données Réponse de réponse (m octets) Exécution EXPLICIT Envoie un message explicite avec un code de service. EXPLT (720) MESSAGE SEND EXPLT S 720 D (UC série CS/CJ Ver. 2.0 ou C supérieure uniquement) S : 1er mot envoi message D : 1er mot message reçu C : 1er mot de contrôle Sortie Obligatoire EXPLICIT GET Lit les informations d'état avec un message explicite ’ EGATR (721) (Get Attribute Single, Service Code: 0E hex). ATTRIBUTE EGATR S 721 D (UC série CS/CJ Ver. 2.0 ou C supérieure uniquement) S : 1er mot envoi message D : 1er mot message reçu C : 1er mot de contrôle message Sortie Obligatoire EXPLICIT SET Ecrit les informations d'état avec un message explicite ESATR (722) (Set Attribute Single, Service Code : 0E hex) ATTRIBUTE ESATR S 722 C (UC série CS/CJ Ver. 2.0 ou supérieure S : 1er mot envoi uniquement) message C : Premier mot contrôle Sortie Obligatoire 137 Chapitre 3-23 Instructions réseaux Instruction Mnémonique Code EXPLICIT WORD READ ECHRD 723 (UC série CS/CJ Ver. 2.0 ou supérieure uniquement) Symbole/ Opérande Fonction Emplacement Condition d'exécution Lit les données sur l'UC locale à partir d'une UC distante dans le réseau. (L'UC distante doit prendre en charge les messages explicites.) Sortie Obligatoire Ecrit les données de l'UC locale sur une UC distante dans le réseau. (L'UC distante doit prendre en charge les messages explicites.) Sortie Obligatoire ECHRD (723) S D C S : 1er mot source dans UC distante D : 1er mot de destination dans UC locale C : 1er mot de contrôle EXPLICIT WORD WRITE ECHWR 724 (UC série CS/CJ Ver. 2.0 ou supérieure uniquement) ECHWR (724) S D C S : 1er mot source dans UC locale D : 1er mot de destination dans UC distante C : 1er mot de contrôle 138 Chapitre 3-24 Instructions de mémoire de fichiers 3-24 Instructions de mémoire de fichiers Instruction Mnémonique Code READ DATA FILE FREAD @FREAD 700 Symbole/ Opérande FREAD(700) C S1 S2 Fonction Emplacement Condition d'exécution Lit les données ou la quantité de données indiquées du fichier de données spécifié à l'intérieur de la mémoire de fichiers dans la zone de données spécifiée sur l'UC. Adresse de début de lecture spécifiée dans S1+2 et S1+3 Sortie Obligatoire Fichier spécifié dans S2 UC D C : Mot de contrôle S1 : 1er mot source S2 : Nom de fichier D : 1er mot de destination Nombre de mots spécifiés dans S1 et S1+1 Nombre de mots écrits dans D et D+1. Carte mémoire ou mémoire de fichiers EM (Spécifiée par le 4ème chiffre de C.) Fichier spécifié dans S2 UC Nombre de mots Carte mémoire ou mémoire de fichiers EM (Spécifiée par le 4ème chiffre de C.) WRITE DATA FILE FWRIT @FWRIT 701 FWRIT(701) C D1 D2 S Ecrase ou ajoute des données du fichier de données spécifié dans la mémoire de fichiers avec les données spécifiées de la zone de données dans l'UC. Si le fichier spécifié n'existe pas, un nouveau fichier est créé avec ce nom. UC Adresse de début spécifiée dans S C : Mot de contrôle D1 : 1er mot de destination D2 : Nom de fichier S : 1er mot source Mot de début spécifié dans D1+2 et D1+3 Sortie Obligatoire Fichier spécifié dans D2 Nombre de mots spécifiés dans D1 et D1+1 Ecraser Carte mémoire ou mémoire de fichiers EM (Spécifiée par le 4ème chiffre de C.) UC Adresse de début spécifiée dans S Fin de fichier Fichier spécifié dans D2 Donnée s Nombre de mots spécifiés dans D1 et D1+1 Ajouter Carte mémoire ou mémoire de fichiers EM UC Adresse de début spécifiée dans S Début de fichier Fichier spécifié Nouveau fichier créé Nombre de mots spécifiés dans D1 et D1+1 Carte mémoire ou mémoire de fichiers EM (Spécifiée par le 4ème chiffre de C.) 139 Chapitre 3-25 Instructions d'affichage 3-25 Instructions d'affichage Instruction Mnémonique Code DISPLAY MESSAGE Symbole/ Opérande MSG(046) MSG @MSG 046 Fonction Lit les seize mots d'ASCII étendu spécifiés et affiche le message sur un équipement périphérique tel qu'une console de programmation. Emplacement Condition d'exécution Sortie Obligatoire N M N : Numéro du message M : 1er mot message 3-26 Instructions de temporisation Instruction Mnémonique Code CALENDAR ADD CADD @CADD 730 Symbole/ Opérande CADD(730) C T R C : 1er mot de calendrier T : 1er mot de temps R : 1er mot de résultat CALENDAR SUBTRACT CSUB @CSUB 731 CSUB(731) C T R C : 1er mot de calendrier T : 1er mot de temps R : 1er mot de résultat 140 Fonction Ajoute des données de temps aux données de calendrier dans les mots spécifiés. C C+1 C+2 Minutes Jour Année T T+1 Minutes Secondes Heures R R+1 R+2 Minutes Jour Année Emplacement Condition d'exécution Sortie Obligatoire Secondes Heure Mois Secondes Heure Mois Soustrait des données de temps aux données de calendrier dans les mots spécifiés. C C+1 C+2 Minutes Jour Année T T+1 Minutes Secondes Heures R R+1 R+2 Minutes Jour Année Secondes Heure Mois Secondes Heure Mois Sortie Obligatoire Chapitre 3-27 Instructions de débogage Instruction Mnémonique Code HOURS TO SECONDS Symbole/ Opérande SEC(065) SEC @SEC 065 Fonction Emplacement Condition d'exécution Convertit les données de temps au format heures/minutes/secondes en un temps équivalent en secondes uniquement. Sortie Obligatoire S D Minutes Secondes Heures S : 1er mot source D : 1er mot de destination Secondes SECONDS TO HOURS HMS @HMS 066 HMS(066) S D Sortie Obligatoire Convertit les données en secondes en un temps équivalent au format heures/minutes/secondes. Secondes S : 1er mot source D : 1er mot de destination Minutes Secondes Heures CLOCK DATE(735) ADJUSTMENT DATE S @DATE 735 S : 1er mot source Règle le paramètre de l'horloge interne sur celui des mots sources spécifiés. Sortie Obligatoire UC Horloge interne Nouveau paramètre Minutes Jour Année 00 Secondes Heure Mois Jour de la semaine 3-27 Instructions de débogage Instruction Mnémonique Code TRACE MEMORY SAMPLING Symbole/ Opérande TRSM(045) TRSM 045 Fonction Emplacement Condition d'exécution Lorsque TRSM(045) est exécuté, l'état d'un bit ou d'un mot présélectionné Sortie est échantillonné et enregistré dans la mémoire d'enregistrement. Non obligatoire TRSM(045) peut être utilisé n'importe où dans le programme, autant de fois que vous le souhaitez. 141 Chapitre 3-28 Instructions de diagnostic d'erreur 3-28 Instructions de diagnostic d'erreur Instruction Mnémonique Code FAILURE ALARM FAL @FAL 006 Symbole/ Opérande FAL(006) N S N : Numéro FAL S : 1er mot de message ou code d'erreur à générer Fonction Emplacement Condition d'exécution Génère ou efface les erreurs non fatales définies par l'utilisateur. Les erreurs non fatales n'interrompent pas le fonctionnement de l'API. Génère également des erreurs non fatales avec le système. L'exécution de FAL(006) génère une erreur non fatale avec le numéro FAL N. Sortie Obligatoire Drapeau d'erreur FAL sur ON FAL correspondant exécuté Drapeau de numéro sur ON Code d'erreur écrit dans A400 Code d'erreur et heure écrits dans la zone Zone de journal Le voyant ERR clignote Message affiché sur la console de programmation SEVERE FAILURE ALARM FALS 007 FALS(007) N S N : Numéro FALS S : 1er mot de message ou code d'erreur à générer Génère des erreurs fatales définies par l'utilisateur. Les erreurs fatales arrêtent le fonctionnement de l'API. Génère également des erreurs fatales avec le système. L'exécution de FALS(007) génère une erreur fatale avec le numéro FALS N. Sortie Obligatoire Drapeau d'erreur FALS sur ON Code d'erreur écrit dans A400 Code d'erreur et heure/date écrits dans la zone du journal d'erreurs Voyant ERR allumé Message affiché sur la console de programmation FAILURE POINT DETECTION FPD 269 FPD(269) C T R C : Mot de contrôle T : Temps de surveillance R : 1er mot de registre Permet de diagnostiquer une erreur au niveau d'un bloc d'instruction en surveillant le temps entre l'exécution de l'instruction FPD(269) et l'exécution d'un diagnostic et en retrouvant l'entrée qui empêche une sortie d'être mise sous tension. Fonction de surveillance du temps : Démarre la temporisation lorsque la condition d'exécution A passe à ON. Génère une erreur non fatale si la sortie B ne passe pas à ON pendant le temps de surveillance. Condition d'exécution A T R Bloc de traitement d'erreur (facultatif) Prochain bloc d'instruction Bloc de diagnostic logique* Condition d'exécution de diagnostic logique C Sortie de diagnostic B La fonction de diagnostic logique détermine quelle entrée dans C empêche la sortie B de passer à ON. 142 Sortie Obligatoire Chapitre 3-29 Autres instructions 3-29 Autres instructions Instruction Mnémonique Code Symbole/ Opérande Fonction Emplacement Condition d'exécution Définit le drapeau de passage (CY). Sortie Obligatoire Met le drapeau de passage à OFF (CY). Sortie Obligatoire SELECT EM EMBC(281) BANK EMBC N @EMBC 281 N : Numéro de banque EM Change la banque EM courante. Sortie Obligatoire EXTEND WDT(094) MAXIMUM CYCLE TIME T WDT @WDT T : Param. 094 temporisateur Prolonge le temps de cycle maximum, mais seulement pour le cycle dans lequel cette instruction est exécutée. Sortie Obligatoire SAVE CONDITION FLAGS (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) CCS @CCS 282 Sauvegarde l'état des drapeaux de condition. Sortie Obligatoire Lit l'état des drapeaux de condition qui ont été sauvegardés. Sortie Obligatoire SET CARRY STC @STC 040 CLEAR CARRY CLC @CLC 041 LOAD CONDITION FLAGS (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) CCL @CCL 283 STC(040) CLC(041) CCS(282) CCL(283) CONVERT Convertit une adresse mémoire d'API série CV en une adresse FRMCV(284) mémoire d'API série CS/CJ équivalente. ADDRESS FROM CV (CS1-H, S CJ1-H, CJ1M ou CS1D D uniquement) FRMCV @FRMCV S : Mot contenant l'adresse mémoire 284 série CV D : Registre d'index destination Sortie Obligatoire CONVERT Convertit une adresse mémoire d'API série CS/CJ en une adresse ADDRESS TO CV mémoire d'API série CV équivalente. TOCV(285) (CS1-H, CJ1-H, S CJ1M ou CS1D uniquement) D TOCV @TOCV S : Registre 285 d'index contenant l'adresse mémoire série CS D : Mot de destination Sortie Obligatoire 143 Chapitre 3-30 Instructions de programmation de bloc Instruction Mnémonique Code Symbole/ Opérande DISABLE PERIPHERAL SERVICING (UC CS1D pour les systèmes à une seule UC, CS1-H, CJ1-H ou CJ1M uniquement) IOSP @IOSP 287 ENABLE PERIPHERAL SERVICING (UC CS1D pour les systèmes à une seule UC, CS1-H, CJ1-H ou CJ1M uniquement) IORS 288 Fonction Emplacement Condition d'exécution IOSP(287) Désactive le traitement des périphériques pendant l'exécution du programme dans l'un des modes de traitement parallèle ou dans le mode prioritaire du traitement des périphériques. Sortie Obligatoire IORS(288) Active le traitement des périphériques qui a été désactivé par IOSP(287) pour l'exécution du programme dans l'un des modes de traitement parallèle ou dans le mode prioritaire du traitement des périphériques. Sortie Non obligatoire 3-30 Instructions de programmation de bloc Instruction Mnémonique Code BLOCK PROGRAM BEGIN Symbole/ Opérande BPRG(096) Fonctions Emplacement Condition d'exécution Définition d'une zone de programmation de bloc. A chaque BPRG(096) doit correspondre un BEND(801). N BPRG 096 N : Numéro de programme de bloc Sortie Obligatoire Programme de bloc Exécuté lorsque la condition d'exécution est sur ON. BLOCK PROGRAM END BEND 801 BLOCK PROGRAM PAUSE Définition d'une zone de programmation de bloc. A chaque BPRG(096) Programme de bloc doit correspondre un BEND(801). Obligatoire BPPS (811) Mise en pause et redémarrage du programme de bloc spécifié à partir d'un autre programme de bloc. N BPPS 811 N : Numéro de bloc programme jusqu'à jusqu'à jusqu'à 144 BPPS(811) exécuté pour le programme de bloc n. Programme de bloc n. Une fois en pause, ce programme de bloc ne sera pas exécuté, même si le bit "a" est sur ON. Programme de bloc Obligatoire Chapitre 3-30 Instructions de programmation de bloc Instruction Mnémonique Code BLOCK PROGRAM RESTART Symbole/ Opérande BPRS (812) BPRS 812 Fonctions Emplacement Condition d'exécution Mise en pause et redémarrage du programme de bloc spécifié à partir d'un autre programme de bloc. Programme de bloc Obligatoire N N : Numéro de programme de bloc jusqu'à jusqu'à jusqu'à CONDITIONAL EXIT(806) BLOCK EXIT EXIT B : opérande bit 806 BPPS(812) exécuté pour le programme de bloc n. Programme de bloc n. Ce programme de bloc sera maintenant exécuté tant que le bit "a" sera sur ON. EXIT(806) sans un bit d'opérande quitte le programme si la condition d'exécution est sur ON. Condition d'exécution sur OFF Programme de bloc Obligatoire Condition d'exécution sur ON "A" exécuté. "A" exécuté. Condition d'exécution "B" exécuté. Bloc terminé. CONDITIONAL EXIT(806)B BLOCK EXIT EXIT B : opérande bit 806 EXIT(806) sans un bit d'opérande quitte le programme si la condition d'exécution est sur ON. Programme de bloc Obligatoire Bit d'opérande Bit d'opérande sur sur OFF (ON ON (OFF pour pour EXIT NOT) EXIT NOT) "A" exécuté. "A" exécuté. "B" exécuté. Bloc terminé. CONDITIONAL EXIT NOT(806) B BLOCK EXIT NOT B : opérande bit EXIT NOT 806 EXIT(806) sans un bit d'opérande quitte le programme si la condition d'exécution est à OFF. Programme de bloc Obligatoire 145 Chapitre 3-30 Instructions de programmation de bloc Instruction Mnémonique Code CONDITIONAL BLOCK BRANCHING Symbole/ Opérande IF (802) IF 802 Fonctions Si la condition d'exécution est sur ON, les instructions entre IF(802) et Programme de bloc Obligatoire ELSE(803) seront exécutées et si la condition d'exécution est sur OFF, les instructions entre ELSE(803) et IEND(804) seront exécutées. Condition d'exécution Condition d'exécution sur ON ? "A" exécuté (entre IF et ELSE). CONDITIONAL BLOCK BRANCHING IF 802 IF (802) B B : opérande bit Emplacement Condition d'exécution "B" exécuté (après ELSE). Si le bit d'opérande est sur ON, les instructions entre IF(802) et ELSE(803) seront exécutées. Si le bit d'opérande est sur OFF, les instructions entre ELSE(803) et IEND(804) seront exécutées. Programme de bloc Obligatoire Bit d'opérande sur ON ? IF R (IF NOT R) "A" exécuté (entre IF et ELSE). "B" exécuté (après ELSE). CONDITIONAL IF (802) NOT B BLOCK BRANCHING B : opérande bit (NOT) IF NOT 802 Les instructions comprises entre IF(802) et ELSE(803) seront exécutées et, si le bit d'opérande est à ON, les instructions entre ELSE(803) et IEND(804) sont exécutées si le bit d'opérande est à OFF. Programme de bloc Obligatoire CONDITIONAL --BLOCK BRANCHING (ELSE) ELSE 803 Si l'instruction ELSE(803) est omise et que le bit d'opérande est à ON, les instructions entre IF(802) et IEND(804) seront exécutées. Programme de bloc Obligatoire CONDITIONAL --BLOCK BRANCHING END IEND 804 Si le bit d'opérande est à OFF, seules les instructions après IEND(804) seront exécutées. Programme de bloc Obligatoire 146 Chapitre 3-30 Instructions de programmation de bloc Instruction Mnémonique Code Symbole/ Opérande ONE CYCLE AND WAIT(805) WAIT WAIT 805 Fonctions Emplacement Condition d'exécution Si la condition d'exécution est sur ON pour WAIT(805)), les autres instructions du programme de bloc seront ignorées. Condition Condition Condition d'exécution d'exécutio d'exécution sur OFF n sur OFF sur ON Programme de bloc Obligatoire "A" exécuté. "B" exécuté. Condition d'exécution "C" exécuté. "C" exécuté. "C" exécuté. attendre ONE CYCLE AND WAIT(805) B WAIT WAIT B : opérande de 805 bit Si le bit d'opérande est à OFF (ON pour WAIT NOT(805)), le reste des ins- Programme de bloc tructions dans le programme de bloc sera ignoré. Dans le cycle suivant, Obligatoire aucun élément du programme de bloc ne sera exécuté, sauf pour la condition d'exécution de WAIT(805) ou WAIT(805) NOT. Lorsque la condition d'exécution passera à ON (OFF pour WAIT(805) NOT), l'instruction de WAIT(805) ou WAIT(805) NOT à la fin du programme sera exécutée. ONE CYCLE AND WAIT(805) NOTB WAIT (NOT) WAIT NOT B : opérande de 805 bit Si le bit d'opérande est à OFF (ON pour WAIT NOT(805)), les autres ins- Programme de bloc tructions du programme de bloc seront ignorées. Dans le cycle suivant, Obligatoire aucun élément du programme de bloc ne sera exécuté, sauf pour la condition d'exécution de WAIT(805) ou WAIT(805) NOT. Lorsque la condition d'exécution passera à ON (OFF pour WAIT(805) NOT), l'instruction de WAIT(805) ou WAIT(805) NOT à la fin du programme sera exécutée. TIMER WAIT TIMW(813) TIMW N 813 SV (BCD) Retarde l'exécution du programme de bloc jusqu'à la fin du délai spécifié. À l'expiration de la temporisation, l'exécution reprend à partir de l'instruction qui suit TIMW(813)/TIMWX(816). Programme de bloc Obligatoire SV : 0 à 999,9 s pour des données BCD et 0 à 6 553,5 s pour des données binaires N : numéro de TIMWX temporisation 816 SV : valeur de (Binaire) consigne (CS1-H, CJ1-H, CJ1M ou CS1D TIMWX(816) N uniquement) SV "A" exécuté. Valeur de consigne (SV) prédéfinie. N : numéro de temporisation SV : valeur de consigne Temps écoulé. "B" exécuté. BEND "C" exécuté. C 147 Chapitre 3-30 Instructions de programmation de bloc Instruction Mnémonique Code Symbole/ Opérande COUNTER WAIT CNTW(814) CNTW N 814 SV (BCD) CNTWX 817 (Binaire) (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) N : numéro de compteur SV : valeur de consigne I : Entrée de comptage CNTWX(817) N SV Fonctions Emplacement Condition d'exécution Retarde l'exécution du reste du programme de bloc jusqu'à ce que le nombre spécifié ait été atteint. L'exécution reprendra à partir de l'instruction qui suit CNTW(814)/CNTWX(817) lorsque le décompte sera terminé. SV : 0 à 9 999 fois pour des données BCD et 0 à 65 535 fois pour des données binaires Programme de bloc Obligatoire "A" exécuté. CMTW Valeur de consigne (SV) prédéfinie. Temps écoulé. "B" exécuté. N : Numéro du compteur SV : valeur de consigne I : entrée de comptage HIGH-SPEED TMHW(815) TIMER WAIT N TMHW SV 815 (BCD) N : numéro de temporisation TMHWX SV : valeur de 818 consigne (Binaire) (CS1-H, CJ1-H, TMHW(818) CJ1M ou CS1D N uniquement) SV C "C" exécuté. "C" exécuté. "C" exécuté. Retarde l'exécution du reste du programme de bloc jusqu'à l'expiration du délai spécifié. À l'expiration de la temporisation, l'exécution reprendra à partir de l'instruction qui suit TMHW(815). SV : 0 à 99,99 s pour des données BCD et 0 à 655 35 s pour des données binaires "A" exécuté. Valeur de consigne (SV) prédéfinie. N : numéro de temporisation SV : valeur de consigne Temps écoulé. "B" exécuté. BEND "C" exécuté. C 148 Programme de bloc Obligatoire Chapitre 3-30 Instructions de programmation de bloc Instruction Mnémonique Code LOOP Symbole/ Opérande --- LOOP 809 Fonctions Emplacement Condition d'exécution LOOP(809) désigne le début du programme en boucle. Programme de bloc Obligatoire Condition Condition Condition Condition d'exécutio d'exécutio d'exécutio d'exécutio n sur ON n sur n sur OFF n sur OFF Condition d'exécution Boucle répétée LEND LEND (810) LEND 810 LEND LEND (810) B LEND 810 B : opérande bit LEND(810) ou LEND(810) NOT spécifie la fin de la boucle. Lorsque LEND(810) ou LEND(810) NOT est atteint, l'exécution du programme se boucle sur l'instruction LOOP(809) précédente jusqu'à ce que le bit d'opérande de LEND(810) ou LEND(810) NOT passe à ON ou à OFF (respectivement) ou jusqu'à ce que la condition d'exécution de LEND(810) passe à ON. Programme de bloc Obligatoire Si le bit d'opérande est sur OFF pour LEND(810) (ou sur ON pour LEND(810) NOT), l'exécution de la boucle est répétée à partir de l'instruction qui suit LOOP(809). Si le bit d'opérande est sur ON pour LEND(810) (ou sur OFF pour LEND(810) NOT), la boucle est interrompue et l'exécution reprend à partir de l'instruction qui suit LEND(810) ou LEND(810) NOT. Programme de bloc Obligatoire Bit d'opéran- Bit d'opéran- Bit d'opéran- Bit d'opérande sur ON de sur OFF de sur OFF de sur OFF Boucle répétée Remarque L'état du bit d'opérande serait inversé pour LEND(810) NOT. LEND NOT LEND(810) NOT LEND NOT 810 B : opérande bit LEND(810) ou LEND(810) NOT spécifie la fin de la boucle. Lorsque LEND(810) ou LEND(810) NOT est atteint, l'exécution du programme se boucle sur le précédent LOOP(809) jusqu'à ce que le bit d'opérande de LEND(810) ou LEND(810) NOT passe à ON ou à OFF (respectivement) ou jusqu'à ce que la condition d'exécution de LEND(810) passe à ON. Programme de bloc Obligatoire 149 Chapitre 3-31 Instructions de traitement des chaînes de texte 3-31 Instructions de traitement des chaînes de texte Instruction Mnémonique Code MOV STRING MOV$ @MOV$ 664 Symbole/ Opérande MOV$(664) Fonction Emplacement Condition d'exécution Transfère une chaîne de texte. Sortie Obligatoire Lie une chaîne de texte à une autre chaîne de texte. Sortie Obligatoire S D S : 1er mot source D : 1er mot de destination CONCATENATE STRING +$ @+$ 656 +$(656) S1 → → → → + S2 D S1 : Chaîne 1 S2 : Chaîne 2 D : Premier mot de destination GET STRING LEFT LEFT$ @LEFT$ 652 LEFT$(652) Extrait un nombre de caractères désigné à partir de la gauche (début) d'une chaîne de texte. Sortie Obligatoire Lit un nombre de caractères désigné à partir de la droite (fin) d'une chaîne de texte. Sortie Obligatoire S1 S2 D S1 : Premier mot de la chaîne S2 : Nombre de caractères D : Premier mot de destination GET STRING RIGHT RGHT$ @RGHT$ 653 RGHT$(653) S1 00 S2 D S1 : Premier mot de la chaîne S2 : Nombre de caractères D : Premier mot de destination GET STRING MIDDLE MID$ @MID$ 654 MID$(654) Lit un nombre de caractères désigné à partir d'une positon quelconque au milieu d'une chaîne de texte. S1 S2 S3 → → D S1 : Premier mot de la chaîne S2 : Nombre de caractères S3 : Position de départ D : Premier mot de destination 150 3 Sortie Obligatoire Chapitre 3-31 Instructions de traitement des chaînes de texte Instruction Mnémonique Code FIND IN STRING FIND @FIND$ 660 Symbole/ Opérande FIND$(660) S1 Fonction Emplacement Condition d'exécution Recherche une chaîne de texte désignée à l'intérieur d'une chaîne de texte. Donnée trouvée → → Sortie Obligatoire → S2 D S1 : Premier mot de la chaîne source S2 : Premier mot de la chaîne de texte trouvée D : Premier mot de destination STRING LENGTH LEN$ @LEN$ 650 LEN$(650) Sortie Obligatoire Calcule la longueur d'une chaîne de texte. → S D 1 3 5 2 4 S : Premier mot de la chaîne D : 1er mot de destination REPLACE IN STRING RPLC$ @RPLC$ 661 RPLC$(661) Remplace une chaîne de texte par une chaîne de texte désignée à partir d'une position désignée. Sortie Obligatoire S1 S2 S3 → → S4 NUL I NUL D S1 : Premier mot de la chaîne S2 : Premier mot de la chaîne de remplacement S3 : Nombre de caractères S4 : Position de départ D : Premier mot de destination DELETE STRING DEL$ @DEL$ 658 DEL$(658) S1 S2 S3 Supprime une chaîne de texte désignée au milieu d'une chaîne de texte. Nombre de caractères à supprimer (désigné par S2). → Sortie Obligatoire → G D S1 : Premier mot de la chaîne S2 : Nombre de caractères S3 : Position de départ D : Premier mot de destination 151 Chapitre 3-31 Instructions de traitement des chaînes de texte Instruction Mnémonique Code Symbole/ Opérande EXCHANGE STRING XCHG$ @XCHG$ 665 XCHG$(665) Ex1 Fonction Emplacement Condition d'exécution Remplace une chaîne de texte désignée par une autre chaîne de texte désignée. Ex1 Ex1 Sortie Obligatoire Ex2 CLEAR STRING CLR$ @CLR$ 666 CLR$(666) Remet à zéro une chaîne de texte entière avec NUL (00 hex). S→ S S : Premier mot de la chaîne INSERT INTO STRING INS$ @INS$ 657 INS$(657) S → B D NUL Sortie Obligatoire NUL Sortie Obligatoire → NUL S2 D A C Supprime une chaîne de texte désignée au milieu d'une chaîne de texte. S1 S3 Ex2 Ex2 Ex1 : 1er mot échange 1 Ex2 : 1er mot échange 2 → → Caractères insérés S1 : Premier mot de la chaîne d'origine S2 : Premier mot de la chaîne insérée S3 : Position de départ D : Premier mot de destination Comparaison de LD chaînes Symbole LD, AND, OR + =$, <>$, <$, <=$, S1 >$, >=$ 670 (=$) S2 671 (<>$) 672 (<$) 673 (<=$) AND 674 (>$) Symbole 675 (>=$) S1 S2 OR Symbole S1 S2 S1 : Chaîne 1 S2 : Chaîne 2 152 Les instructions de comparaison de chaînes (=$, <>$, <$, <=$, >$, >=$) comparent deux chaînes de texte à partir du début, en se basant sur la valeur des codes ASCII. Si le résultat de la comparaison est vrai, une condition d'exécution ON est créée pour un LOAD, un AND ou un OR. LD : non obligatoire AND, OR : obligatoire Chapitre 3-32 Instructions de contrôle des tâches 3-32 Instructions de contrôle des tâches Instruction Mnémonique Code TASK ON TKON @TKON 820 Symbole/ Opérande TKON(820) Fonction Sortie Obligatoire Rend la tâche spécifiée exécutable. N Le numéro de la tâche spécifiée est supérieur au numéro de la N : Numéro de tâche tâche locale (m<n). Le numéro de la tâche spécifiée est inférieur au numéro de la tâche locale (m>n). Tâche m Tâche m Devient exécutable dans le cycle suivant. Devient exécutable dans ce cycle. Tâche n Tâche n TASK OFF TKOF @TKOF 821 TKOF(821) N N : Numéro de tâche Emplacement Condition d'exécution Met la tâche spécifiée à l'état En attente. Le numéro de la tâche spécifiée Le numéro de la tâche spécifiée est supérieur au numéro de la est inférieur au numéro de la tâche locale (m<n). tâche locale (m>n). Tâche m Tâche m À l'état En attente pendant ce cycle. Tâche n Sortie Obligatoire À l'état En attente pendant le cycle suivant. Tâche n 153 Chapitre 3-33 Instructions de conversion des modèles (UC ver. 3.0 ou supérieure uniquement) 3-33 Instructions de conversion des modèles (UC ver. 3.0 ou supérieure uniquement) Instruction Mnémonique Code BLOCK TRANSFER XFERC @XFERC 565 Symbole/ Opérande XFERC(565) Fonction Emplacement Condition d’exécution Sortie Obligatoire Transfère le nombre de mots consécutifs spécifié. N S D jusqu'à W mots jusqu'à S+(W−1) D+(W−1) N : Nombre de mots S : 1er mot source D : 1er mot de destination SINGLE WORD DISTRIBUTE DISTC @DISTC 566 DISTC(566) S Transfère le mot source vers un mot de destination calculé en ajoutant une valeur de décalage à l'adresse de base. S1 D Sortie Obligatoire S2 Bs Of S : Mot source Bs : Adresse destination de base Of : Décalage D+n Peut également écrire sur une pile (opération pousser sur pile). DATA COLLECT COLLC @COLLC 567 COLLC(567) Transfère le mot source (calculé en ajoutant une valeur de décalage à l'adresse de base) vers le mot de destination. Bs Of S1 S2 D Bs : Adresse de base source Of : Décalage (BCD) D : Mot de destination 154 S1+n Peut également lire les données d'une pile (opération lire sur pile). Sortie Obligatoire Chapitre 3-34 Instructions spéciales des blocs de fonction Instruction Mnémonique Code MOVE BIT MOVBC @MOVBC 568 Symbole/ Opérande MOVBC(568) Fonction Emplacement Condition d’exécution Transfère le bit spécifié. Sortie Obligatoire Compte le nombre total de bits sur ON dans le(s) mot(s) spécifié(s). Sortie Obligatoire S C D S : Mot ou donnée source C : Mot de contrôle (BCD) D : Mot de destination BIT COUNTER BCNTC @BCNTC 621 BCNTC(621) N S R N : Nombre de mots (BCD) S : 1er mot source R : Mot de résultat jusqu'à S+(W-1) N mots Compte le nombre de bits sur ON. Résultat binaire D 3-34 Instructions spéciales des blocs de fonction Instruction Mnémonique Code GET VARIABLE ID GETID @GETID 286 Symbole/ Opérande GETID(286) S Fonction Sort le code et l’adresse mot du type de variable de commande FINS (zone données) pour la variable ou l’adresse spécifiée. Cette instruction est généralement utilisée pour obtenir l’adresse affectée à une variable dans un bloc de fonction. Emplacement Condition d’exécution Sortie Obligatoire D1 D2 S : variable ou adresse D1 : code de l'identifiant D2 : Mot de destination 155 Instructions spéciales des blocs de fonction 156 Chapitre 3-34 CHAPITRE 4 Tâches Cette section décrit le fonctionnement des tâches. 4-1 4-2 4-3 4-4 Caractéristiques des tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 4-1-1 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 4-1-2 Tâches et programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 4-1-3 Fonctionnement de base de l'UC . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4-1-4 Types de tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 4-1-5 Conditions et paramètres d'exécution des tâches . . . . . . . . . . . . . . . 164 4-1-6 Etat des tâches cycliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 4-1-7 Transitions entre les états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Utilisation de tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 4-2-1 TASK ON et TASK OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 4-2-2 Limites des instructions relatives aux tâches . . . . . . . . . . . . . . . . . . 170 4-2-3 Drapeaux relatifs aux tâches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 4-2-4 Conception de tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 4-2-5 Sous-programmes globaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Tâche d'interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 4-3-1 Types de tâches d'interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 4-3-2 Priorité des tâches d'interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 4-3-3 Drapeaux de tâche d'interruption et mots . . . . . . . . . . . . . . . . . . . . . 185 4-3-4 Précautions en matière d'application . . . . . . . . . . . . . . . . . . . . . . . . 186 Fonctionnement du périphérique de programmation pour les tâches . . . . . . . 189 4-4-1 Utilisation de plusieurs tâches cycliques . . . . . . . . . . . . . . . . . . . . . 189 4-4-2 Fonctionnement du périphérique de programmation . . . . . . . . . . . . 189 157 Chapitre 4-1 Caractéristiques des tâches 4-1 4-1-1 Caractéristiques des tâches Présentation Les opérations de contrôle des API série CS/CJ peuvent être réparties par fonctions, périphériques contrôlés, processus, développeurs ou selon n'importe quel autre critère, et chaque opération peut être programmée dans une unité distincte appelée « tâche ». L'utilisation des tâches présente les avantages suivants : 1,2,3... 1. Des programmes peuvent être développés simultanément par plusieurs personnes. Les parties des programmes conçues séparément peuvent être assemblées très facilement pour former un programme utilisateur unique. 2. Les programmes peuvent être standardisés dans des modules. Plus particulièrement, les fonctions de périphérique de programmation suivantes sont combinées afin de développer des programmes correspondant à des modules standard autonomes plutôt que des programmes conçus pour des systèmes spécifiques (machines, périphériques). Autrement dit, les programmes développés séparément par plusieurs personnes sont prêts à être combinés. • Programmation avec des symboles • Désignation globale et locale des symboles • Affectation automatique de symboles locaux à des adresses 3. Meilleure réponse générale. La réponse générale est améliorée car le système est subdivisé en un programme de contrôle général et en plusieurs programmes de contrôle individuels, ce qui permet d'exécuter uniquement des programmes spécifiques en fonction des besoins. 4. Révision et débogage simplifiés. • Le débogage est nettement plus efficace car les tâches peuvent être développées séparément par plusieurs personnes, puis révisées et mises au point par une tâche individuelle. • La maintenance est simple car seule la tâche qui doit être révisée sera remaniée en fonction des changements de spécification ou autres modifications. • Le débogage est plus efficace : en effet, il est possible de déterminer facilement si une adresse est spécifique ou globale et il suffit de contrôler une seule fois les adresses entre les programmes pendant le débogage car les symboles sont désignés globalement ou localement et les symboles locaux sont alloués automatiquement à des adresses par l'intermédiaire de périphériques de programmation. 5. Basculement aisé entre les programmes. Une instruction de contrôle des tâches dans le programme peut être utilisée pour exécuter des tâches (programmes) spécifiques à un produit lorsqu'il faut changer d'opération. 158 Chapitre 4-1 Caractéristiques des tâches 6. Programmes utilisateur facilement compréhensibles. Les programmes sont structurés en blocs, ce qui simplifie considérablement la compréhension du programme pour les sections qui seraient normalement traitées avec des instructions telles que JUMP. Tâche C Tâche A Démarrer tâche A (Programme A) Démarrer tâche B Tâche B (Programme B) 4-1-2 Tâches et programmes • Vous pouvez contrôler jusqu'à 288 programmes (tâches). Les différents programmes sont affectés à des tâches selon une relation 1:1. Les tâches sont regroupées par types, de la manière suivante : • Tâches cycliques • Tâches d'interruption Remarque 1. Vous pouvez créer jusqu'à 32 tâches cycliques et 256 tâches d'interruption, pour un total de 288 tâches maximum. Chaque tâche possède son propre numéro unique, compris entre 0 et 31 pour les tâches cycliques et entre 0 et 255 pour les tâches d'interruption. 2. Avec les UC CS1-H, CJ1-H, CJ1M ou CS1D, vous pouvez exécuter les tâches d'interruption (numéros de tâches d'interruption 0 à 255) en tant que tâches cycliques en les démarrant avec TKON. Elles sont alors appelées « tâches cycliques extra ». Si vous employez des tâches cycliques extra, le nombre total de tâches cycliques pouvant être utilisées est de 288. 3. Les UC CJ1 ne prennent pas actuellement 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 (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. Chaque programme affecté à une tâche doit se terminer par une instruction END(001). La mise à jour E/S ne sera effectué qu'après l'exécution de toutes les tâches programmées dans un cycle. 159 Chapitre 4-1 Caractéristiques des tâches 4-1-3 Fonctionnement de base de l'UC L'UC exécutera les tâches cycliques (y compris les tâches cycliques extra, UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement) en partant du plus petit numéro. Elle interrompra également l'exécution des tâches cycliques pour exécuter une tâche d'interruption, si une interruption a lieu. 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. *1 : END autre que celui de la tâche finale. Efface les drapeaux ER, d'égalité et N. Tâche cyclique n *2 : END pour la tâche finale. Efface les drapeaux ER, d'égalité et N, puis rafraîchit l'E/S. Rafraîchissement d'E/S Traitement des périphériques Remarque Tous les drapeaux de condition (ER, CY, Equals, AER, etc.) et les conditions d'instruction (verrouillage ON, etc.) sont remis à zéro au début d'une tâche. Par conséquent, les drapeaux de condition ne peuvent pas être lus et les instructions INTERLOCK/INTERLOCK CLEAR (IL/ILC), JUMP/JUMP END (JMP/JME) ou SUBROUTINE CALL/SUBROUTINE ENTRY (SBS/SBN) ne peuvent pas être divisées entre les deux tâches. Avec les UC CS1-H, CJ1-H, CJ1M ou CS1D, vous pouvez exécuter les tâches d'interruption en tant que tâches cycliques en les démarrant avec TKON. Elles sont alors appelées « tâches cycliques extra ». Les tâches cycliques extra (numéros de tâches d'interruption 0 à 255) sont exécutées à partir du plus 160 Chapitre 4-1 Caractéristiques des tâches petit numéro de tâche, une fois que l'exécution de la tâche cyclique normale (numéros de tâches celiac 0 à 31) est terminée. Tâche cyclique 0 Exécutées dans l'ordre à partir du plus petit numéro de tâche cyclique. END Tâches cycliques normales Tâche cyclique n END Tâche cyclique extra 0 Exécutées dans l'ordre à partir du plus petit numéro de tâche cyclique. END Tâche cyclique extra m Tâches cycliques extra END Mise à jour E/S Traitement des périphériques 161 Chapitre 4-1 Caractéristiques des tâches 4-1-4 Types de tâches Les tâches sont globalement classées en tant que tâches cycliques ou tâches d'interruption. Les tâches d'interruption sont ensuite réparties entre les tâches d'interruption de mise hors tension, les tâches d'interruption programmées, les tâches d'interruption d'E/S (série CS uniquement) et les tâches d'interruption externes (série CS uniquement). Les tâches d'interruption peuvent également être exécutées en tant que tâches cycliques extra. Remarque Avec les UC CS1-H, CJ1-H, CJ1M ou CS1D, vous pouvez exécuter les tâches d'interruption en tant que tâches cycliques en les démarrant avec TKON. Elles sont alors appelées « tâches cycliques extra ». Tâches cycliques Remarque Une tâche cyclique à l'état READY sera exécutée une fois par cycle (du début du programme jusqu'à l'instruction END(001)) en fonction de l'ordre numérique (en partant de la tâche correspondant au plus petit numéro). Le nombre maximum de tâches cycliques est de 32 (numéros de tâches cycliques : 00 à 31). Avec les UC CS1-H, CJ1-H, CJ1M ou CS1D, vous pouvez exécuter les tâches d'interruption (numéros de tâches d'interruption 0 à 255) en tant que tâches cycliques en procédant comme pour les tâches cycliques normales (numéros de tâches 0 à 31). Si vous utilisez des tâches cycliques extra, le nombre total de tâches cycliques pouvant être utilisées est de 288. Tâches d'interruption Une tâche d'interruption sera exécutée si une interruption a lieu, même si une tâche cyclique (y compris des tâches cycliques extra) est en cours d'exécution. La tâche d'interruption sera exécutée à n'importe quel moment du cycle, y compris pendant l'exécution du programme utilisateur, la mise à jour d'E/S ou le traitement des périphériques, lorsque la condition d'exécution pour l'interruption sera remplie. Dans le cas des UC CS1-H, CJ1-H, CJ1M ou CS1D, les tâches d'interruption peuvent être exécutées en tant que tâches cycliques (les UC CS1D pour les systèmes à UC en duplex ne prennent pas en charge les interruptions. Avec ces dernières, les tâches d'interruption peuvent être utilisées uniquement en tant que tâches cycliques extra). Les entrées d'interruption intégrées et les entrées des compteurs à grande vitesse sur une UC CJ1M peuvent être utilisées pour activer des tâches d'interruption. Pour des informations détaillées, reportez-vous au Manuel d'utilisation des E/S intégrées, série CJ. Tâche d'interruption de mise hors tension Remarque Tâches d'interruption programmées Remarque Tâches d'interruptions d'E/S 162 La tâche d'interruption de mise hors sera exécutée si l'alimentation de l'UC est coupée. Une seule tâche d'interruption de mise hors tension peut être programmée (numéro de tâche d'interruption : 1). La tâche d'interruption de mise hors tension doit s'exécuter avant l'expiration du délai suivant, sinon la tâche est automatiquement fermée. 10 ms – (temps de retard de détection de mise hors tension) Le temps de retard de détection de mise hors tension est défini dans la configuration de l'API. Une tâche d'interruption programmée sera exécutée à intervalle en fonction de la temporisation interne de l'UC. Le nombre maximum de tâches d'interruption programmées est de 2 (numéros de tâches d'interruption : 2 et 3). L'instruction SET INTERRUPT MASK (MSKS(690)) permet de définir l'interruption pour une tâche d'interruption programmée. Les délais d'interruption peuvent être définis par incréments de 10 ms ou de 1,0 ms dans la configuration de l'API. Une tâche d'interruption d'E/S sera exécutée si une entrée de carte d'entrée d'interruption passe à ON. Le nombre maximum de tâches d'interruption d'E/S est de 32 (numéros de tâches d'interruption : 100 à 131). La carte d'entrée d'interruption doit être montée sur le rack UC. Pour les UC CJ1-H, la carte doit être connectée comme étant l'une des cinq unités (emplacements 0 à 4) présentes à côté de l'UC. Pour les UC CJ1M, la carte doit être connectée comme étant l'une des trois unités (emplacements 0 à 2) présentes à côté de l'UC. Les Chapitre 4-1 Caractéristiques des tâches cartes d'interruption d'E/S installées à un autre emplacement ne peuvent pas être utilisées pour demander l'exécution de tâches d'interruption d'E/S. Les interruptions d'E/S ne sont pas prises en charge par les UC CJ1. Tâches d'interruption externes Une tâche d'interruption externe sera exécutée à la demande d'un programme utilisateur d'une carte d'E/S spéciales, d'une carte réseau ou d'une carte interne (série CS uniquement). Les cartes d'E/S spéciales et les cartes réseau, cependant, doivent être montées sur le rack UC. La carte d'E/S spéciales ou la carte réseau doit être montée sur le rack UC. Pour les UC CJ1-H, la carte doit être connectée comme étant l'une des cinq unités (emplacements 0 à 4) présentes à côté de l'UC. Pour les UC CJ1M, la carte doit être connectée comme étant l'une des trois unités (emplacements 0 à 2) présentes à côté de l'UC. Les cartes installées à un autre emplacement ne peuvent pas être utilisées pour générer des interruptions externes. Le nombre maximum de tâches d'interruption externes est de 256 (numéros de tâches d'interruption : 0 à 255). Si une tâche d'interruption externe a le même numéro qu'une tâche d'interruption de mise hors tension, programmée ou E/S, la tâche sera exécutée pour chaque condition (les deux conditions fonctionneront avec la logique OR), mais fondamentalement, les numéros de tâches ne doivent pas être dupliqués. Les interruptions d'E/S ne sont pas prises en charge par les UC CJ1. Tâches cycliques extra (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement) Une tâche d'interruption peut être exécutée à chaque cycle, exactement comme une tâche cyclique normale. Les tâches cycliques extra (numéros de tâches d'interruption 0 à 255) sont exécutées à partir du plus petit numéro de tâche une fois que l'exécution de la tâche cyclique normale (numéros de tâches cycliques 0 à 31) est terminée. Le nombre maximum de tâches cycliques extra est de 256 (numéros de tâches d'interruption : 0 à 255). Les tâches d'interruption cycliques diffèrent cependant des tâches cycliques normales dans la mesure où elles sont déclenchées par l'instruction TKON(820). De plus, les instructions TKON(820) et TKOF ne peuvent pas être utilisées dans les tâches cycliques extra ; autrement dit, les tâches cycliques normales et les autres tâches cycliques extra ne peuvent pas être contrôlées à partir d'une tâche cyclique extra. Si une tâche cyclique extra porte le même numéro qu'une tâche d'interruption de mise hors tension, programmée ou E/S, la tâche d'interruption sera exécutée pour l'une ou l'autre condition (les deux conditions fonctionneront avec la logique OR). N'utilisez pas de tâches d'interruption à la fois en tant que tâches d'interruption normales et tâches cycliques extra. Remarque 1. La tâche d'interruption de mise hors tension du paragraphe 1) ci-dessus est prioritaire et sera exécutée lors de la mise hors tension, même si une autre tâche d'interruption est en cours d'exécution. 2. Si une autre tâche d'interruption est en cours d'exécution lorsqu'une interruption programmée, E/S ou externe survient, ces tâches d'interruption ne seront pas exécutées avant la fin de la tâche d'interruption en cours. Si plusieurs interruptions ont lieu simultanément, les tâches d'interruption seront exécutées l'une après l'autre en commençant au numéro de tâche d'interruption le plus petit. 3. Le tableau suivant répertorie les différences entre les tâches cycliques normales et les tâches cycliques extra. Elément Tâches cycliques extra Activation au démarrage Configuration impossible. Utilisation d'instructions TKON/TKOF Drapeaux de tâches Impossible. Non pris en charge. Tâches cycliques normales Définies à partir du CX-Programmer Possible. Pris en charge (les numéros de tâches cycliques 00 à 31 correspondent aux drapeaux de tâche TK00 à TK31). 163 Chapitre 4-1 Caractéristiques des tâches Elément Drapeau d'exécution de la tâche initiale (A20015) et drapeau de démarrage de tâche (A20014) Valeurs du registre d'index (IR) et du registre de données (DR) Tâches cycliques extra Non pris en charge. Non définies au démarrage de la tâche (comme les tâches d'interruption normales). Les valeurs au début de chaque cycle sont indéfinies. Définissez toujours les valeurs avant de les utiliser. Les valeurs définies dans le cycle précédent ne peuvent pas être lues. Tâches cycliques normales Pris en charge. Non définies au début du fonctionnement. Les valeurs définies dans le cycle précédent peuvent être lues. 4. Les UC CJ1 ne prennent pas en charge les tâches d'interruption d'E/S ni les tâches d'interruption externes. 4-1-5 Conditions et paramètres d'exécution des tâches Le tableau suivant décrit les conditions d'exécution des tâches, les paramètres associés et les états. Tâche Tâches cycliques Tâches d'interruption N° 0 à 31 Condition d'exécution Paramètre associé Exécutée une fois par cycle si Aucun l'état est READY (configuré pour démarrer initialement ou démarré avec l'instruction TKON(820)) lorsque le droit d'exécution est obtenu. Tâche d'interruption de mise Tâche S'exécute lorsque l'UC est mise • Interruption de mise hors tenhors tension d'interruphors tension. sion activée dans la configuration 1 tion de l'API. Tâches d'interruption Tâches S'exécute chaque fois que la • Le délai d'interruption proprogrammées 0 et 1 d'interruption période prédéfinie s'est écoulée grammé est défini (0 à 9999) 2 et 3 en fonction de la temporisation par l'intermédiaire de l'instrucinterne de l'UC. tion SET INTERRUPT MASK (MSKS). • L'unité d'interruption programmée (10 ms ou 1,0 ms) est définie dans la configuration de l'API. Tâches d'interruption d'E/S Tâches S'exécute lorsqu'une entrée de • Les masques des entrées 00 à 31 d'interruption carte d'entrée d'interruption sur le désignées sont annulés par 100 à 131 rack UC passe à ON. l'intermédiaire de l'instruction SET INTERRUPT MASK (MSKS). Tâches d'interruption externes 0 à 255 Tâches cycliques extra (CS1-H, CJ1-H, CJ1M ou CS1D uniquement) Remarque 164 Tâches S'exécute à la demande d'un pro- Aucun (toujours activé) d'interruption gramme utilisateur dans une 0 à 255 carte d'E/S spéciales ou une carte réseau sur le rack UC ou à la demande d'un programme utilisateur dans une carte interne (série CS uniquement). Tâches Exécutées une fois par cycle si Aucun (toujours activé) d'interruption l'état est READY (démarré avec 0 à 255 l'instruction TKON(820)) lorsque le droit d'exécution est obtenu. 1. La carte d'entrée d'interruption doit être montée sur le rack UC. Pour les UC CJ1-H, la carte doit être connectée comme étant l'une des cinq unités (emplacements 0 à 4) présentes à côté de l'UC. Pour les UC CJ1M, la carte doit être connectée comme étant l'une des trois unités (emplacements 0 à 2) présentes à côté de l'UC. Les cartes d'interruption d'E/S installées à un autre emplacement ne peuvent pas être utilisées pour demander l'exécution de tâches d'interruption d'E/S. Chapitre 4-1 Caractéristiques des tâches 2. La carte d'E/S spéciales ou la carte réseau doit être montée sur le rack UC. Pour les UC CJ1-H, la carte doit être connectée comme étant l'une des cinq unités (emplacements 0 à 4) présentes à côté de l'UC. Pour les UC CJ1M, la carte doit être connectée comme étant l'une des trois unités (emplacements 0 à 2) présentes à côté de l'UC. Les cartes installées à un autre emplacement ne peuvent pas être utilisées pour générer des interruptions externes. 3. Le nombre de tâches cycliques et de tâches d'interruption est limité lorsque l'opération de remise à zéro de la mémoire est exécutée avec une console de programmation. • Seule la tâche cyclique 0 peut être créée. Il n'est pas possible de créer les tâches cycliques 1 à 31 avec une console de programmation, mais ces tâches peuvent être modifiées si elles ont déjà été créées avec CX-Programmer. • Seules les tâches d'interruption 1, 2, 3 et 100 à 131 (série CS uniquement) peuvent être créées. Les tâches d'interruption 0, 4 à 99 et 132 à 255 ne peuvent pas être créées avec une console de programmation (à l'exception des tâches 140 à 143 qui peuvent être créées pour les UC CJ1M), mais ces tâches peuvent être modifiées si elles ont déjà été créées avec CX-Programmer. 4-1-6 Etat des tâches cycliques Cette section décrit les états des tâches cycliques, y compris des tâches cycliques extra (prises en charge par les UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement). Les tâches cycliques peuvent avoir quatre états : Désactivé, READY (prêt), RUN (exécutable) et En attente (WAIT). Etat Désactivé (INI) Une tâche avec un état Désactivé n'est pas exécutée. Toutes les tâches cycliques ont un état Désactivé en mode PROGRAM. Une tâche cyclique qui est passée de cet état à un autre état ne peut pas revenir à cet état sans repasser en mode PROGRAM. Etat READY Il est possible de définir un attribut de tâche pour contrôler à quel moment la tâche passera à l'état READY. L'attribut peut être défini pour activer la tâche avec l'instruction TASK ON ou au démarrage de l'opération RUN. Tâches activées par instruction Une instruction TASK ON (TKON(820)) est utilisée pour faire passer une tâche cyclique activée par instruction de l'état Désactivé ou En attente à l'état READY. Tâches activées par opération Une tâche cyclique activée par opération passe de l'état Désactivé à l'état READY lorsque le mode de fonctionnement passe du mode PROGRAM au mode RUN ou MONITOR. Cela s'applique uniquement aux tâches cycliques normales. Remarque Vous pouvez, à l'aide d'un périphérique de programmation, configurer une ou plusieurs tâches de telle sorte qu'elles passent à l'état READY lorsque l'opération est démarrée pour les numéros de tâches 0 à 31. Ce paramétrage n'est pas possible, cependant, avec les tâches cycliques extra. Etat RUN Une tâche cyclique qui est READY passe à l'état RUN et elle est exécutée lorsqu'elle obtient le droit d'exécution. Etat En attente Vous pouvez utiliser une instruction TASK OFF (TKOF(821)) pour faire passer une tâche cyclique de l'état Désactivé à l'état En attente. 165 Chapitre 4-1 Caractéristiques des tâches Remarque CX-Programmer version 4.0 (ou une version supérieure) permet d'assurer une surveillance en ligne des programmes de tâches pour les API série CS/CJ afin de déterminer s'ils sont en cours d'exécution ou arrêtés. Les indications d'état sur CX-Programmer sont les suivantes : • Running : la tâche est à l'état READY ou RUN (rien ne permet de faire la distinction entre ces deux états). • Stopped : la tâche est à l'état INI ou WAIT (rien ne permet de faire la distinction entre ces deux états). 4-1-7 Transitions entre les états Activé au début de l'opération (voir remarque 2) ou de l'instruction TKON(820) Etat INI (Désactivé) Droit d'exécution obtenu. Etat READY Etat RUN Exécuté Instruction TKON(820) Instruction TKOF(821) (voir remarque 1.) Etat En attente Remarque 1. Une tâche à l'état RUN sera mise à l'état En attente par l'instruction TKOF(821), même si l'instruction TKOF(821) est exécutée à l'intérieur de cette tâche. 2. L'activation au début de l'opération n'est possible que pour les tâches cycliques normales. Elle n'est pas possible pour les tâches cycliques extra. L'état En attente fonctionne exactement de la même façon qu'un saut (JMP-JME). L'état de sortie associé à la tâche En attente sera conservé. Etat En attente Saut A l'état En attente, les instructions ne seront pas exécutées ; par conséquent, le temps d'exécution des instructions n'augmentera pas. Vous pouvez créer la 166 Chapitre 4-2 Utilisation de tâches programmation qui ne doit pas être exécutée en permanence dans des tâches et lui affecter l'état En attente pour réduire le temps de cycle. Temps de cycle réduit Programme conventionnel S'exécute dans des conditions définies. Tâche Toutes les instructions seront exécutées, sauf si des sauts ou d'autres fonctions sont utilisés. S'exécute dans des conditions définies. Remarque 4-2 4-2-1 L'état En attente signifie simplement qu'une tâche sera ignorée pendant l'exécution des tâches. Le fait de passer à l'état En attente n'arrêtera pas le programme. Utilisation de tâches TASK ON et TASK OFF Les instructions TASK ON (TKON(820)) et TASK OFF (TKOF(821)) permettent de faire passer une tâche cyclique (y compris une tâche cyclique extra) de l'état READY à l'état En attente et inversement à partir d'un programme. Remarque Les tâches cycliques extra sont prises en charge uniquement par les UC CS1-H, CJ1-H, CJ1M et CS1D. N : N˚ de tâche Une tâche passera à l'état READY lorsque la condition d'exécution sera sur ON et le drapeau de tâche correspondant passera sur ON. N : N˚ de tâche Une tâche passera à l'état En attente lorsque la condition d'exécution sera sur ON et le drapeau de tâche correspondant passera sur OFF. Remarque : les drapeaux de tâche ne sont pas opérationnels pour les tâches cycliques extra. Les instructions TASK ON et TASK OFF permettent de faire passer à tout moment une tâche cyclique de l'état READY à l'état En attente et inversement. Une tâche cyclique qui est à l'état READY ou En attente conservera cet état dans les cycles suivants. Les instructions TASK ON et TASK OFF peuvent être utilisées uniquement avec des tâches cycliques, et non avec des tâches d'interruption. Remarque Une tâche cyclique au moins doit être à l'état READY dans chaque cycle. Si aucune tâche cyclique n'est à l'état READY, le drapeau d'erreur de tâche (A29512) passera à ON et l'UC cessera de fonctionner. 167 Chapitre 4-2 Utilisation de tâches Exemple : Tâche cyclique Tâche cyclique 0 (état READY au démarrage de l'opération) Tâche cyclique 1 Tâche yclique 2 Tâche cyclique 3 1) La tâche sera à l'état READY (Prêt) au démarrage de l'opération. Les autres tâches resteront à l'état Désactivé. 2) La tâche 1 passera à l'état READY (Prêt) si A est sur ON et les tâches 2 et 3 resteront à l'état Désactivé. Tâche cyclique 0 Tâche cyclique 1 Tâche cyclique 0 3) La tâche 0 passera à l'état En attente si D est sur ON. Tâche cyclique 1 Les autres tâches resteront à l'état courant. Tâche cyclique 0 Tâche cyclique 1 Tâche cyclique 2 Tâche cyclique 2 Tâche cyclique 2 Tâche cyclique 3 Tâche cyclique 3 Tâche cyclique 3 État READY État En attente/état Désactivé Tâches et cycle d'exécution Une tâche cyclique (y compris une tâche cyclique extra) qui est à l'état READY conservera cet état dans les cycles suivants. Etat Tâche cyclique 1 READY au démarrage de l'opération TKON(820) Tâche cyclique 2 Etat READY Tâche cyclique 1 Etat READY Tâche cyclique 2 Etat READY Une tâche cyclique qui est à l'état En attente conservera cet état dans les cycles suivants. La tâche devra être activée avec l'instruction TKON(820) pour passer de l'état En attente à l'état READY. 168 Chapitre 4-2 Utilisation de tâches TKOF(821) Tâche cyclique 1 Etat En attente Tâche cyclique 1 Etat En attente Tâche cyclique 2 Etat RUN TKON (820) Etat RUN Tâche cyclique 2 Si une instruction TKOF(821) est exécutée pour la tâche dans laquelle elle se trouve, l'exécution de la tâche s'interrompra à l'endroit où l'instruction est exécutée et la tâche passera à l'état En attente. Tâche 2 L'exécution de la tâche s'arrêtera ici et la tâche passera à l'état En attente. Numéros de tâches cycliques et cycle d'exécution (y compris les tâches cycliques extra) Si la tâche m fait passer la tâche n à ON et m > n, la tâche n passera à l'état READY dans le cycle suivant. Exemple : si la tâche 5 fait passer la tâche 2 à ON, la tâche 2 passera à l'état READY dans le cycle suivant. Si la tâche m fait passer la tâche n à ON et m > n, la tâche n passera à l'état READY au cours du même cycle. Exemple : si la tâche 2 fait passer la tâche 5 à ON, la tâche 5 passera à l'état READY au cours du même cycle. Si la tâche m met la tâche n à l'état En attente m > n, la tâche n passera à l'état En attente dans le cycle suivant. Exemple : si la tâche 5 met la tâche 2 à l'état En attente, la tâche 2 passera à l'état En attente dans le cycle suivant. Si la tâche m met la tâche n à l'état En attente et m < n, la tâche n passera à l'état En attente au cours du même cycle. Exemple : si la tâche 2 met la tâche 5 à l'état En attente, la tâche 5 passera à l'état En attente au cours du même cycle. Rapport entre les tâches et la mémoire E/S Il existe deux façons d'utiliser les registres d'index (IR) et les registres de données (DR) : 1) indépendamment par tâche ou 2) Partagés par toutes les tâches (mode pris en charge par les UC CS1-H, CJ1-H, CJ1M et CS1D uniquement). Avec des registres indépendants, l'IR0 utilisé par la tâche cyclique 1, par exemple, diffère de l'IR0 utilisé par la tâche cyclique 2. Avec des registres partagés, l'IR0 utilisé par la tâche cyclique 1, par exemple, est le même que celui utilisé par la tâche cyclique 2. Le paramètre qui détermine si les registres sont indépendants ou partagés est configuré à partir du CX-Programmer. 169 Chapitre 4-2 Utilisation de tâches • Les autres mots et bits dans la mémoire E/S sont partagés par toutes les tâches. CIO 001000, par exemple, est le même bit pour la tâche cyclique 1 et la tâche cyclique 2. Veillez par conséquent à toujours utiliser dans la programmation des zones de mémoire E/S autres que les zones IR et DR, car les valeurs modifiées avec une tâche seront utilisées par d'autres tâches. Mémoire E/S Rapport avec les tâches Zones CIO, auxiliaire, de mémoire de données et toutes les autres zones de mémoire à l'exception des zones IR et DR (voir remarque 1). Registres d'index (IR) et registres de données (DR) (voir remarque 2). Partagées avec les autres tâches. Utilisés séparément pour chaque tâche Remarque 1. La banque EM actuelle est également partagée par les tâches. Par conséquent, si le numéro de la banque EM actuelle est modifié avec la tâche cyclique 1, par exemple, le nouveau numéro de la banque EM actuelle sera également valide pour la tâche cyclique 2. 2. Les valeurs IR et DR ne sont pas définies au démarrage des tâches d'interruption (y compris des tâches cycliques extra). Si IR et DR sont utilisées dans une tâche d'interruption, ces valeurs doivent être définies par les instructions MOVR/MOVRW (MOVE TO REGISTER et MOVE TIMER/ COUNTER PV TO REGISTER) dans la tâche d'interruption. Après l'exécution de la tâche d'interruption, IR et DR reprennent automatiquement les valeurs qu'elles avaient avant l'interruption. Rapport entre les tâches et le fonctionnement des temporisations Les valeurs actuelles des temporisations pour TIM, TIMX, TIMH, TIMHX, TMHH, TMHHX, TIMW, TIMWX, TMHW et TMHWX programmées avec les numéros de temporisation 0000 à 2047 seront mises à jour même si la tâche est commutée ou si la tâche contenant la temporisation passe à l'état En attente ou de nouveau à l'état READY. Si la tâche contenant TIM passe à l'état En attente et repasse à l'état READY, le drapeau de fin passera à ON si l'instruction TIM est exécutée lorsque la valeur actuelle est 0 (les drapeaux de fin de temporisation sont mis à jour uniquement à l'exécution de l'instruction). Si l'instruction TIM est exécutée alors que la valeur actuelle n'est pas encore égale à 0, la valeur actuelle continuera d'être mise à jour comme elle l'était lorsque la tâche était à l'état READY. • Les valeurs actuelles des temporisations programmées avec les numéros de temporisation 2048 à 4098 seront conservées pendant que la tâche sera à l'état En attente. Rapport entre les tâches et les drapeaux de condition Tous les drapeaux de condition seront remis à zéro avant l'exécution de chaque tâche. Par conséquent, l'état du drapeau de condition à la fin de la tâche 1 ne peut pas être lu dans la tâche 2. Avec une UC CS1-H, CJ1-H, CJ1M ou CS1D, toutefois, vous pouvez utiliser CCS(282) et CCL(283) pour lire l'état du drapeau de condition dans une autre partie du programme, par exemple, dans une autre tâche. Lorsque l'état des drapeaux de condition est surveillé à partir d'une console de programmation, celle-ci affiche l'état des drapeaux à la fin du cycle, c'est-à-dire leur état à la fin de la dernière tâche du cycle. Remarque 4-2-2 Limites des instructions relatives aux tâches Instructions requises dans la même tâche Les instructions suivantes doivent être placées dans la même tâche. Si vous essayez de séparer des instructions entre deux tâches, le drapeau ER passera à ON et les instructions ne seront pas exécutées. Mnémonique JMP/JME CJP/JME CJPN/JME JMP0/JME0 170 Instruction JUMP/JUMP END CONDITIONAL JUMP/JUMP END CONDITIONAL JUMP NOT/CONDITIONAL JUMP END MULTIPLE JUMP END Chapitre 4-2 Utilisation de tâches Mnémonique FOR/NEXT IL/ILC SBS/RET : MCRO/SBN/RET BPRG/BEND STEP S/STEP Instruction FOR/NEXT INTERLOCK/INTERLOCK CLEAR SUBROUTINE CALL/SUBROUTINE ENTRY/SUBROUTINE RETURN MACRO/SUBROUTINE ENTRY/SUBROUTINE RETURN BLOCK PROGRAM BEGIN/BLOCK PROGRAM END STEP DEFINE Instructions non autorisées dans les tâches d'interruption Les instructions suivantes ne peuvent pas être placées dans les tâches d'interruption. Si vous essayez d'exécuter l'une de ces instructions dans une tâche d'exécution, le drapeau ER passera à ON et l'instruction ne sera pas exécutée. Les instructions suivantes peuvent être utilisées si une tâche d'interruption est utilisée en tant que tâche extra. Mnémonique TKON(820) TKOF(821) STEP SNXT STUP DI EI Instruction TASK ON TASK OFF STEP DEFINE STEP NEXT CHANGE SERIAL PORT SETUP DISABLE INTERRUPTS ENABLE INTERRUPTS Le fonctionnement des instructions suivantes est imprévisible dans une tâche d'interruption : TIMER : TIM et TIMX((550), HIGH-SPEED TIMER : TIMH(015) et TIMHX(551), ONE-MS TIMER : TMHH(540) et TMHHX(552), ACCUMULATIVE TIMER : TTIM(087) et TTIMX(555), MULTIPLE OUTPUT TIMER : MTIM(543) et MTIMX(554), LONG TIMER : TIML(542) et TIMLX(553), TIMER WAIT : TIMW(813) et TIMWX(816), HIGH-SPEED TIMER WAIT : TMHW(815) et TMHWX(817), PID CONTROL : PID(190), FAILURE POINT DETECTION : FPD(269) et CHANGE SERIAL PORT SETUP : STUP(237). Les instructions suivantes ne peuvent pas être utilisées dans la tâche d'interruption de mise hors tension (elles ne seront pas exécutées, même si elles sont utilisées, et le drapeau d'erreur ne passera pas à ON) : READ DATA FILE : FREAD(700), WRITE DATA FILE : FWRIT(701), NETWORK SEND : SEND(090), NETWORK RECEIVE : RECV(098), DELIVER COMMAND : CMND(490), PROTOCOL MACRO : PMCR(260). 4-2-3 Drapeaux relatifs aux tâches Drapeaux relatifs aux tâches cycliques Les drapeaux suivants fonctionnent uniquement pour les tâches cycliques normales. Ils ne sont pas opérationnels pour les tâches cycliques extra. Drapeaux de tâches (TK00 à TK31) Tâche 3 Un drapeau de tâche passe à ON lorsqu'une tâche cyclique est à l'état READY et à OFF lorsque la tâche est à l'état Désactivé (INI) ou En attente (WAIT). Les numéros de tâches 00 à 31 correspondent aux drapeaux de tâches TK00 à TK31. Cycle Désactivé READY Cycle READY Cycle En attente Drapeau de tâche pour la tâche 3 171 Chapitre 4-2 Utilisation de tâches Remarque Les drapeaux de tâches sont utilisés uniquement avec des tâches cycliques, et non avec des tâches d'interruption. Avec une tâche d'interruption, A44115 sera activé si la tâche s'exécute après le début de l'opération et le numéro de la tâche d'interruption qui a nécessité un temps de traitement maximum sera stocké dans un format hexadécimal à deux chiffres dans les drapeaux A44100 à A44107. Drapeau d'exécution de la tâche initiale (A20015) Le drapeau d'exécution de la tâche initiale passe à ON lorsque les tâches cycliques passent de l'état Désactivé (INI) à l'état READY, lorsque les tâches obtiennent le droit d'exécution et à la première exécution des tâches. Il passe à OFF lorsque la première exécution des tâches est terminée. Prêt Prêt Tâche n Désactivé Désactivé Drapeau d'exécution de la tâche initiale Le drapeau d'exécution de la tâche initiale indique si les tâches cycliques sont exécutées pour la première fois ou non. Ce drapeau peut ainsi être utilisé pour exécuter le traitement d'initialisation à l'intérieur des tâches. Drapeau d'exécution de la tâche initiale Traitement de l'initialisation Remarque Bien qu'une tâche cyclique à l'état En attente repasse à l'état READY via l'instruction TKON(820), cela n'est pas considéré comme une exécution initiale et le drapeau d'exécution de la tâche initiale (20015) ne passe pas à ON. Le drapeau d'exécution de la tâche initiale (20015) ne passe pas non plus à ON si une tâche cyclique passe de l'état Désactivé à l'état RUN ou si elle est mise à l'état En attente par une autre tâche via l'instruction TKOF(821) avant l'obtention du droit d'exécution réel. Drapeau de démarrage de tâche (UC A20014, CS1-H, CJ1-H, CJ1M ou CS1D uniquement) Le drapeau de démarrage de tâche peut être utilisé pour exécuter le traitement d'initialisation à chaque démarrage du cycle de la tâche. Il passe à OFF lorsque l'état de la tâche cyclique passe de Désactivé (INI) ou En attente (WAIT) à READY (alors que le drapeau d'exécution de la tâche initiale passe à ON uniquement lorsque l'état passe de Désactivé (INI) à READY). Prêt Prêt Tâche n Désactivé Désactivé Drapeau de démarrage de tâche Le drapeau de démarrage de tâche peut être utilisé pour effectuer le traitement d'initialisation lorsqu'une tâche passe de l'état En attente à l'état RUN, c'est-à-dire lorsqu'une tâche à l'état En attente est activée avec l'instruction TRON(820). 172 Chapitre 4-2 Utilisation de tâches Drapeau de démarrage de tâche A20014 Traitement d'initialisation Drapeaux relatifs à toutes les tâches Drapeau d'erreur de tâche (A29512) Le drapeau d'erreur de tâche passera à ON si l'une des erreurs de tâche suivantes survient. • Aucune tâche cyclique (y compris les tâches cycliques extra) n'est à l'état READY pendant un cycle. • Le programme affecté à une tâche cyclique (y compris à une tâche cyclique extra) n'existe pas (cette situation ne se produira pas avec CXProgrammer ou une console de programmation). • Aucun programme n'est affecté à une tâche d'interruption activée. Numéro de tâche lorsque le programme est arrêté (A294) Le type de tâche et le numéro de la tâche actuelle, lorsque l'exécution d'une tâche s'interrompt suite à une erreur du programme, sont sauvegardés comme suit : Type Tâches cycliques A294 0000 à 001F hex. (numéros de tâches 0 à 31) Tâche 8000 à 80FF hex. (correspondent aux numéros de tâches d'interruption d'interruption 0 à 255) Cette information permet de déterminer facilement l'emplacement de l'erreur fatale et elle est supprimée lorsque l'erreur est corrigée. L'adresse du programme où la tâche s'est arrêtée est sauvegardée dans A298 (bits situés à l'extrême droite de l'adresse du programme) et dans A299 (bits situés à l'extrême gauche de l'adresse du programme). Exemples de tâches Une tâche de contrôle globale configurée pour passer à l'état READY au début de l'opération est généralement utilisée pour contrôler l'état READY/En attente de toutes les autres tâches cycliques (y compris des tâches cycliques extra). Naturellement, n'importe quelle tâche cyclique peut contrôler l'état READY/En attente d'une autre tâche cyclique comme l'exige l'application. 173 Chapitre 4-2 Utilisation de tâches Du mode Program (Programme) au mode Operating (Fonctionnement) ou Monitor (Surveillance). Tâche cyclique 0 avec le démarrage au début de l'attribut d'opération (tâche de contrôle globale) Tâche cyclique 1 Tâche cyclique 2 Tâche cyclique 3 Tâches séparées par section contrôlée Tâches séparées par fonction Tâche de convoyeur Tâche de contrôle globale Tâche de contrôle des erreurs Tâche de contrôle globale Tâche de contrôle de section A Tâche de contrôle de section B Tâche MMI Tâche de contrôle de section C Tâche de communication Tâche de traitement analogique Tâches séparées par produit Tâches séparées par développeur Tâche développeur A Tâche produit A Tâche de contrôle globale Tâche produit B Tâche produit C Tâche de contrôle globale Tâche développeur B Tâche développeur C Tâches séparées par procédé Tâche d'usinage Tâche de contrôle globale Tâche d'assemblage Tâche de convoyeur Des combinaisons des classifications ci-dessus sont également possibles (classification par fonction et processus, etc.). 174 Chapitre 4-2 Utilisation de tâches Conception de tâches Nous vous recommandons de respecter les directives suivantes pour la conception des tâches. 1,2,3... 1. Utilisez les normes suivantes pour étudier la séparation des tâches. a. Récapitulez les conditions spécifiques pour l'exécution et la nonexécution. b. Récapitulez la présence ou l'absence E/S externes. c. Récapitulez les fonctions. Limitez au maximum les échanges de données entre les tâches pour la commande de séquence, le contrôle analogique, l'interface homme-machine, le traitement des erreurs et autres process, afin de conserver un niveau d'autonomie élevé. d. Récapitulez l'exécution dans l'ordre de priorité. Divisez le traitement d'interruption. entre tâches cycliques et tâches Répartition par fonction Traitem ent des entrées Contrôle global (peut inclure le traitement des erreurs dans certains cas) Erreur de traitement Commande de séquence Traitement des sorties Contrôle analogique Sorties externes Interruption E/S externe Ordre de priorité 4-2-4 Interface homme-machine Répartition par conditions d'exécution et de non-exécution 2. Veillez à segmenter et à concevoir les programmes de façon à garantir l'autonomie et à limiter au maximum la quantité de données échangée entre les tâches (programmes). Minimiser les échanges de données 3. D'une manière générale, utilisez une tâche de contrôle globale pour contrôler l'état READY/En attente des autres tâches. 4. Affectez les plus petits numéros aux tâches auxquelles est associé le niveau de priorité le plus haut. Exemple : affectez à la tâche de contrôle un numéro plus petit qu'aux tâches de traitement. 5. Affectez des numéros plus petits aux tâches d'interruption avec un niveau de priorité élevé. 6. Une tâche avec l'état READY sera exécutée dans les cycles ultérieurs tant que la tâche proprement dite ou une autre tâche ne la fera pas passer à l'état En attente. Veillez à insérer une instruction TKOF(821) (TASK OFF) pour les autres tâches si le traitement doit être ramifié entre les tâches. 7. Utilisez le drapeau d'exécution de la tâche initiale (A20015) ou le drapeau de démarrage de tâche (A20014) dans la condition d'exécution des 175 Chapitre 4-2 Utilisation de tâches instructions pour initialiser les tâches. Le drapeau d'exécution de la tâche initiale sera sur ON pendant la première exécution de chaque tâche. Le drapeau de démarrage de tâche chaque fois qu'une tâche passe à l'état READY. 8. Affectez la mémoire E/S dans la mémoire partagée par les tâches et la mémoire utilisée uniquement pour les tâches individuelles, puis groupez la mémoire E/S utilisée uniquement pour les tâches individuelles par tâche. Rapport entre les tâches et les programmes de bloc Vous pouvez créer jusqu'à 128 programmes de bloc dans les tâches. Ce total vaut pour l'ensemble des tâches. L'exécution de chaque programme de bloc est contrôlée à partir du schéma contact, mais les instructions à l'intérieur du programme de bloc sont écrites à l'aide de mnémoniques. En d'autres termes, un programme de bloc est constitué d'une instruction de schéma contact combinée à un code mnémonique. L'utilisation d'un programme de bloc simplifie l'écriture d'un flux logique (branchement conditionnel, exécution de processus pas à pas, etc.) qui pourrait s'avérer difficile avec des schémas contacts. Les programmes de bloc se trouvent en bas de la hiérarchie des programmes et les unités importantes de programme représentées par la tâche peuvent être réparties en petites unités de programme comme des programmes de bloc fonctionnant avec la même condition d'exécution (condition ON). Programme Programme de bloc 000 Tâche 0 Programme de bloc 001 Zone de programmes de bloc 000 Programme de bloc n Tâche 1 Zone de programmes de bloc 001 Tâche n 4-2-5 Sous-programmes globaux Les sous-programmes globaux peuvent être appelés à partir de plusieurs tâches. Ils sont pris en charge par les UC CS1-H, CJ1-H, CJ1M et CS1D uniquement. Avec les UC CS1 ou CJ1, un sous-programme dans une tâche ne peut pas être appelé à partir d'autres tâches. Avec les UC CS1-H, CJ1-H, CJ1M ou CS1D, cependant, il est possible de créer des sous-programmes globaux dans une tâche d'interruption numéro 0 et ces sous-programmes peuvent être appelés à partir de tâches cycliques (y compris des tâches cycliques extra). L'instruction GSBS permet d'appeler un sous-programme global. Le numéro du sous-programme doit être compris entre 0 et 1023. Le sous-programme global est défini à la fin d'une tâche d'interruption numéro 0 (juste avant END(001)), entre les instructions GSBN et GRET. Les sous-programmes globaux peuvent être utilisés pour créer une bibliothèque de sections de programme standard que vous appellerez quand vous en aurez besoin. 176 Chapitre 4-3 Tâche d'interruption Tâche cyclique (y compris tâche cyclique extra) Tâche d'interruption 0 GSBS n Appel GSBN n Exécution Retour GRET Tâches multiples n = 0 à 1023 Sous-programme global (sousprogramme partagé utilisé pour la programmation standard_ END Tâche cyclique (y compris tâche cyclique extra) Appel GSBS n 4-3 4-3-1 Retour Tâche d'interruption Types de tâches d'interruption Les tâches d'interruption peuvent être exécutées à tout moment du cycle si l'une des conditions suivantes est remplie. Les entrées d'interruption intégrées et les entrées des compteurs à grande vitesse sur une UC CJ1M peuvent être utilisées pour activer des tâches d'interruption. Pour des informations détaillées, reportez-vous au Manuel d'utilisation des E/S intégrées, série CJ. Remarque Interruptions d'E/S (série CS uniquement) Les UC CS1D pour les systèmes d'UC en duplex ne prennent pas en charge les interruptions. Avec les UC CS1D, les tâches d'interruption ne peuvent être utilisées que comme tâches cycliques extra. La tâche d'interruption d'E/S est exécutée lorsque l'entrée de la carte d'entrée d'interruption est sur ON. UC Interruption Carte d'entrée d'interruption Interruptions programmées Programme Une tâche d'interruption programmée est exécutée à intervalles fixes. UC Intervalle fixe Interruption Programme Interruption de mise hors tension La tâche d'interruption de mise hors tension est exécutée lors de la mise hors tension. 177 Chapitre 4-3 Tâche d'interruption Remarque Le temps d'exécution pour la tâche de mise hors tension doit être inférieur à 10 ms (temps de retard de détection de mise hors tension). UC Interruption Tension sur OFF Interruptions externes (série CS uniquement) Programm Une tâche d'interruption externe sera exécutée lorsqu'une interruption sera demandée par une carte d'E/S spéciales, une carte réseau ou une carte interne (série CS uniquement). La carte d'E/S spéciales ou la carte réseau CJ, cependant, doit être montée sur le rack UC pour demander l'exécution d'une tâche d'interruption externe. Interruption Carte E/S spéciales, carte de bus UC CS1 CPU ou carte interne UC Programme Liste des tâches d'interruption Type N° de tâche Condition d'exécution Nombre Exemples d'application d'interruptions 32 points Augmentation de la Interruption 100 à Entrée de la carte d'entrée Utilisez l'instruction MSKS vitesse de réponse vers d'E/S 131 d'interruption ON sur le (SET INTERRUPT MASK) des entrées spécifiques 00 à 31 rack UC (voir remarque 1). pour affecter les entrées des cartes d'entrées d'interruption sur le rack UC. 2 points Surveillance de l'état de Interrup2 et 3 Programmée (intervalles Utilisez l'instruction MSKS fonctionnement à intertions profixes) (SET INTERRUPT MASK) valles réguliers. grammées pour définir l'intervalle des 0 et 1 interruptions. Voir Unités de temps des interruptions programmées dans la configuration de l'API. Voir Temps de retard de 1 point Exécution d'un traiteLorsque l'alimentation est Interruption 1 ment d'urgence lorsque mise hors tension (après le détection de mise hors tende mise l'alimentation est coupée. sion dans la configuration de hors temps de détection de la l'API. tension mise hors tension par défaut + le temps de retard de détection de mise hors tension) 256 points Exécution du traitement Interrup0 à 255 A la demande d'une carte Aucune (toujours valide) requise par les cartes tions d'E/S spéciales ou d'une d'E/S spéciales, les carexternes carte réseau sur le rack UC tes réseau et la carte 0 à 255 ou d'une carte interne interne. (série CS uniquement) (voir remarque 2). Remarque 178 Procédure de configuration 1. La carte d'entrée d'interruption doit être montée sur le rack UC. Pour les UC CJ1-H, la carte doit être connectée comme étant l'une des cinq unités (emplacements 0 à 4) présentes à côté de l'UC. Pour les UC CJ1M, la carte doit être connectée comme étant l'une des trois unités (emplacements 0 à 2) Chapitre 4-3 Tâche d'interruption présentes à côté de l'UC. Les cartes d'interruption d'E/S installées à un autre emplacement ne peuvent pas être utilisées pour demander l'exécution de tâches d'interruption d'E/S. 2. La carte d'E/S spéciales ou la carte réseau doit être montée sur le rack UC. Pour les UC CJ1-H, la carte doit être connectée comme étant l'une des cinq unités (emplacements 0 à 4) présentes à côté de l'UC. Pour les UC CJ1M, la carte doit être connectée comme étant l'une des trois unités (emplacements 0 à 2) présentes à côté de l'UC. Les cartes installées à un autre emplacement ne peuvent pas être utilisées pour générer des interruptions externes. 3. Les UC CJ1 pour les systèmes d'UC en duplex ne prennent pas en charge les tâches d'interruption d'E/S et externes. 4. Les UC CS1D pour les systèmes d'UC en duplex ne prennent pas en charge les interruptions. Avec les UC CS1D, les tâches d'interruption peuvent être utilisées en tant que tâches cycliques extra uniquement ; aucun autre type de tâche d'interruption ne peut être utilisé. Tâches d'interruptions d'E/S : Tâches 100 à 131 Remarque Les tâches d'interruption d'E/S sont désactivées par défaut au démarrage de l'exécution des tâches cycliques. Pour activer les interruptions d'E/S, exécutez l'instruction MSKS (SET INTERRUPT MASK) dans une tâche cyclique pour le numéro d'interruption correspondant à la carte d'entrée d'interruption. Exemple : L'exemple suivant décrit l'exécution de la tâche d'interruption d'E/S 103 lorsque l'entrée d'interruption N° 3 de la carte d'entrée d'interruption N° 0 (celle des deux cartes 0 et 1 située le plus à gauche) est à ON. N'activez pas les tâches d'interruption d'E/S dont vous n'avez pas besoin. Si l'entrée d'interruption est déclenchée par le bruit et qu'il n'existe aucune tâche d'interruption correspondante, une erreur fatale (erreur de tâche) provoquera un arrêt du programme. Carte d'entrée d'interruption N˚ 0 Tâche cyclique #FFF7 Tâche cyclique Interruption d'E/S de la carte d'entrée. d'interruption N˚ 0 Numéro d'entrée d'interruption : seule l'interruption 3 sera activée. L'interruption d'E/S spécifiée sera activée à l'exécution de l'instruction MSKS. Interruption Tâche d'interruption d'E/S 103 179 Chapitre 4-3 Tâche d'interruption Numéros de cartes d'entrées d'interruption, Numéros d'entrée et numéros de tâches d'interruption d'E/S Remarque N° de carte d'entrée d'interruption (voir remarque) 0 1 N° d'entrée Tâche d'interruption d'E/S 0 à 15 0 à 15 100 à 115 116 à 131 Pour les API série CS, les numéros de cartes d'entrées d'interruption vont de 0 à 1 en partant de la gauche du rack UC. Pour les API série CJ, les numéros de cartes d'entrées d'interruption vont de 0 à 1 en partant de l'UC. API série CS API série CJ Carte d'entrée d'interruption 0 1 ← N° de carte Carte d'entrée d'interruption UC UC N˚ de carte → 0 1 Opérande S (le second opérande) de MSKS : Les bits de FFF7 hex. correspondent aux entrées d'interruption de la carte d'entrée d'interruption. Les numéros d'entrée d'interruption 0 à 15 correspondent aux bits 0 à 15. 1 F Hex F Hex 1 1 F Hex 1 0 1 1 1 7 hex. Tâches d'interruption programmées : tâches 2 et 3 Les tâches d'interruption programmées sont désactivées dans la configuration de l'API par défaut au début de l'exécution des tâches cycliques. Procédez comme suite pour activer les tâches d'interruption programmées. 1,2,3... 1. Exécutez l'instruction MSKS (SET INTERRUPT MASK) à partir d'une tâche cyclique et définissez le temps (cycle) pour l'interruption programmée spécifiée. 2. Définissez l'unité de temps de l'interruption programmée dans la configuration de l'API. Remarque 180 Le paramètre temps de l'interruption influe sur la tâche cyclique : plus il est court, plus la tâche s'exécute fréquemment et plus le temps de cycle est long. Chapitre 4-3 Tâche d'interruption Exemple : Les exemples suivants présentent une tâche d'interruption programmée pour être exécutée 2 fois par seconde. L'interruption numéro 4 sera exécutée à un intervalle d'interruption de 0064 Hex. Tâche cyclique &100 Unité de temps d'interruption programmée dans la configuration de l'API = 10 ms (0,01 s) Chaque seconde Interruption Tâche cyclique Tâche d'interruption programmée 2 Numéros d'interruption et numéro de tâche d'interruption programmée N° d'interruption 4 5 Tâche d'interruption programmée 2 3 Configuration de l'API Adresse Bits 0 à 3 sur 195 Nom Description Unités de temps des interruptions programmées Définit l'unité de temps pour les interruptions programmées, de façon à exécuter les tâches d'interruption à intervalles fixes. Paramètres 00 hex. : 10 ms 01 hex. : 1,0 ms 02 hex. : 0,1 ms (UC CJ1M uniquement) Configuration par défaut 00 hex. : Tâche d'interruption de mise hors tension : Tâche 1 La tâche d'interruption de mise hors tension est désactivée dans la configuration de l'API par défaut au début de l'exécution de la tâche cyclique. La tâche d'interruption de mise hors tension peut être activée dans la configuration de l'API. Dans la configuration de l'API par défaut, la tâche d'interruption de mise hors tension sera interrompue au bout de 10 ms. La tâche d'interruption de mise hors tension doit être exécutée en moins de 10 ms. Si un temps de retard de détection de mise hors tension est défini dans la configuration de l'API, la tâche d'interruption de mise hors tension s'arrêtera au bout de 10 ms moins le temps de retard de détection de mise hors tension défini dans la configuration de l'API. Dans ce cas, la tâche d'interruption de mise hors tension devra s'exécuter en moins de 10 ms moins le temps de retard de détection de mise hors tension défini dans la configuration de l'API. 181 Chapitre 4-3 Tâche d'interruption Exemple : si le temps de retard de détection de mise hors tension est défini à 4 ms dans la configuration de l'API, le temps d'exécution doit être inférieur à 10 moins 4 ms, soit 6 ms. Tâche d'interruption de mise hors tension Moins de 10 ms moins le temps de retard de détection de mise hors tension Le paramètre par défaut est de 10 ms max. Remarque Une condition de mise hors tension est identifiée lorsque l'alimentation tombe au-dessous de 85 % de la tension nominale minimale (80 % pour les alimentations c.c.) et le délai avant l'exécution réelle de la tâche d'interruption de mise hors tension correspond au temps de détection de la mise hors tension par défaut (10 à 25 ms pour les alimentations c.a. et 2 à 5 ms pour les alimentations c.c.) plus le temps de retard de détection de mise hors tension défini dans la configuration de l'API (0 à 10 ms). Les tâches cycliques seront exécutées pendant cette durée. Alimentation < 85 % de la valeur nominale minimale (80 % pour les alimentations c.c.). Tâche cyclique Mise hors tension identifiée UC réinitialisée (fin forcée) Tâche d'interruption de mise hors tension Arrêt Temps de détection de mise 10 ms moins le temps de hors tension par défaut plus retard de la détection de temps de retard de détection la mise hors tension. de mise hors tension Remarque 182 Assurez-vous que la tâche d'interruption de mise hors tension peut être exécutée en moins de 10 ms moins le temps de retard de détection de mise hors tension défini dans la configuration de l'API. Les autres instructions ne seront pas exécutées après ce délai. La tâche d'interruption de mise hors tension ne sera pas exécutée si l'alimentation est coupée pendant l'édition en ligne. Outre les instructions qui ne peuvent être utilisées dans aucune tâche d'interruption (reportez-vous au Manuel de référence des instructions pour plus d'informations), les instructions suivantes ne peuvent pas être utilisées dans la tâche d'interruption de mise hors tension : READ DATA FILE FREAD(700), WRITE DATA FILE : FWRIT(701), NETWORK SEND : SEND(090), NETWORK RECEIVE : RECV(098), DELIVER COMMAND : CMND(490), TRANSMIT : TXD(236), RECEIVE : RXD(235) et PROTOCOL MACRO : PMCR(260). Chapitre 4-3 Tâche d'interruption Exécution d'une tâche d'interruption de mise hors tension Tâche cyclique Tension à OFF Tâche cyclique Tâche d'interruption de mise hors tension 1 Tâche d'interruption de mise hors tension ON/OFF dans la configuration de l'API : ON Réinitialisation de l'UC Configuration de l'API pour la tâche d'interruption de mise hors tension (numéro de tâche : 1) Adresse Bit 15 à +225 Bits 0 à 7 à +225 Nom Tâche d'interruption de mise hors tension Temps de retard de détection de mise hors tension Description Paramètres Si le bit 15 de +225 est à ON, une tâche d'interruption de mise hors tension démarrera si l'alimentation est coupée. 0 : OFF : 1 : ON La mise hors tension est identifiée lorsque ce délai plus le temps de détection de la mise hors tension par défaut (10 à 25 ms pour les alimentations c.a. et 2 à 5 ms pour les alimentations c.c.) expire. 00 à 0A hex. : 0 à 10 ms (unités de 1 ms) Configuration par défaut 0 00 hex. Tâches d'interruption externes : Tâches 0 à 255 Des tâches d'interruption externes peuvent être reçues à tout moment. Le traitement des interruptions est effectué sur l'UC dans les API contenant une carte interne (série CS uniquement), des cartes d'E/S spéciales ou des cartes réseau. Il n'est pas nécessaire d'effectuer des réglages sur l'UC, sauf si le programme contient une tâche d'interruption externe pour un numéro de tâche particulier. Les interruptions externes ne sont pas prises en charge par les UC CJ1. Exemple : l'exemple suivant décrit une interruption externe générée par une carte de communications série CS1W-SCB@1. UC Carte de communication série Interruption 183 Chapitre 4-3 Tâche d'interruption Lorsque le message de réponse de la carte de communications série est configuré pour un message d'interruption (numéro fixe) ou un message d'interruption (numéro de cas de réception), la carte demande l'exécution d'une tâche d'interruption externe dans l'UC après avoir reçu des données de son port série et écrit ces données dans la mémoire E/S de l'UC. UC Tâche cyclique Spécifie le numéro de tâche d'interruption externe et demande le traitement de l'interruption. Carte de communication série Données Tâche d'interruption Mémoire E/S Remarque 1. Lorsque le message de réponse est configuré pour un message d'interruption (numéro fixe), la carte demande l'exécution de la tâche d'interruption correspondant au numéro de tâche prédéfini. 2. Lorsque le message de réponse est configuré pour un message d'interruption (numéro de cas de réception), le numéro de la tâche d'interruption externe est calculé avec la formule spécifiée et la carte demande l'exécution de la tâche d'interruption correspondant à ce numéro de tâche. 3. Si une tâche d'interruption externe (0 à 255)a le même numéro qu'une tâche de mise hors tension (tâche 1), qu'une tâche d'interruption programmée (tâche 2 ou 3) ou qu'une tâche d'interruption d'E/S (100 à 131), la tâche d'interruption sera exécutée pour l'une ou l'autre condition d'interruption (la condition d'interruption externe ou l'autre condition d'interruption). En principe, les numéros de tâches ne doivent jamais être dupliqués. 4-3-2 Priorité des tâches d'interruption L'exécution d'une autre tâche d'interruption sera arrêtée pour que la tâche d'interruption de mise hors tension puisse être exécutée. L'UC sera réinitialisée, mais la tâche d'interruption terminée ne sera pas exécutée après l'exécution de la tâche d'interruption de mise hors tension. 184 Chapitre 4-3 Tâche d'interruption Interruption pendant l'exécution d'une tâche d'interruption Si une interruption survient pendant l'exécution d'une autre tâche d'interruption, la tâche d'interruption ne sera pas exécutée avant que l'exécution de l'interruption d'origine ne soit terminée. Tâche cyclique Tâche d'interruption A Interruption pendant l'exécution Tâche d'interruption B La tâche d'interruption A continuera jusqu'à ce que son exécution soit terminée. Remarque Si vous ne souhaitez pas qu'une tâche d'interruption d'E/S avec un numéro spécifique soit sauvegardée et exécutée pour une UC série CS lorsqu'elle survient pendant l'exécution d'une autre tâche d'exécution, exécutez l'instruction CLI (CLEAR INTERRUPT) à partir de l'autre tâche d'interruption pour EFFACER le numéro d'interruption sauvegardé en interne. Les interruptions programmées et les interruptions externes ne peuvent pas être annulées. Tâche cyclique La tâche d'interruption 101 sera ignorée pendant l'exécution d'une autre tâche Tâche d'interruption A Tâche d'interruption Interruption d'E/S pendant l'exécution La tâche d'interruption 101 ne sera pas exécutée. Plusieurs interruptions exécutées simultanément Les tâches d'interruption autre que tâches d'interruption de mise hors tension sont exécutées dans l'ordre de priorité suivant lorsque plusieurs interruptions surviennent simultanément. Tâches d'interruption d'E/S (série CS uniquement) > tâches d'interruption externes (série CS uniquement) > tâches d'interruption programmées Les différents types de tâches d'interruption seront exécutés dans l'ordre à partir du plus petit numéro s'il en existe plusieurs. Remarque 4-3-3 Une seule interruption sera enregistrée en mémoire par tâche d'interruption et aucune interruption ne sera enregistrée pour une interruption qui est déjà en cours d'exécution. Etant donné le faible niveau de priorité des interruptions programmées et dans la mesure où une seule interruption est enregistrée à la fois, une interruption programmée peut être ignorée. Drapeaux de tâche d'interruption et mots Temps maximal de traitement de la tâche d'interruption (A440) Le temps de traitement maximal d'une tâche d'interruption est sauvegardé en données binaires (unités de 0,1 ms) et il est remis à zéro au début de l'opération. 185 Chapitre 4-3 Tâche d'interruption Tâche d'interruption avec temps de traitement maximal (A441) Le numéro de tâche d'interruption avec un temps de traitement maximal est sauvegardé en données binaires. Les valeurs hexadécimales de 8000 à 80FF correspondent aux numéros de tâches 00 à FF hex. A44115 passera à ON lorsque la première interruption surviendra après le début de l'opération. Le temps de traitement maximal pour les tâches d'interruption suivantes sera sauvegardé dans les deux chiffres de droite en hexadécimal et remis à zéro au début de l'opération. Drapeau d'erreur de tâche d'interruption (erreur non fatale) (A40213) Si la détection des erreurs de tâche d'interruption définie sur ON dans la configuration de l'API, le drapeau correspondant passera à ON en cas d'erreur de tâche d'interruption. Drapeau d'erreur de tâche d'interruption (A42615)/numéro de tâche générant l'erreur de tâche d'interruption (A42600 à 42611) Si A40213 est à ON, les données suivantes seront sauvegardées dans A42615 et A42600 à A42611. A40213 Description des erreurs de A42615 tâche d'interruption Erreur de tâche d'interruption (si la Si une tâche d'interruption est OFF détection des tâches d'interruption exécutée plus de 10 ms pendant la est mise à ON dans la configuration mise à jour de la carte d'E/S de l'API) spéciales C200H ou des E/S déportées du BUS SYSMAC (série CS uniquement). Lorsque vous essayez de mettre à ON jour des E/S pour un grand nombre de mots avec l'instruction IORF à partir d'une tâche d'interruption alors qu'une carte d'E/S spéciales est actualisée par une mise à jour E/S cyclique. Numéro de tâche lorsque le programme est arrêté (A294) Le numéro de carte de la carte d'E/S spéciales mise à jour sera sauvegardée dans 12 bits de données binaires (carte N° 0 à 95 : 000 à 05F hex.). Type Tâche d'interruption A294 8000 à 80FF hex. (correspond à la tâche d'interruption N° 0 à 255) 0000 à 001F hex. (correspond à la tâche N° 0 à 31) Précautions en matière d'application Temps d'exécution long avec cartes d'E/S spéciales C200H ou BUS SYSMAC (série CS uniquement) 186 Le numéro de tâche d'interruption sera sauvegardé dans 12 bits de données binaires (tâche d'interruption 0 à 255 : 000 à OFF hex.). Le type et le numéro courant de la tâche lorsqu'un programme s'arrête suite à une erreur seront sauvegardés aux emplacements suivants. Tâche cyclique 4-3-4 A42600 à 42611 Assurez-vous que toutes les tâches d'interruption (E/S, programmées, de mise hors tension et externes) sont exécutées dans les 10 ms lorsque vous utilisez des cartes d'E/S spéciales C200H ou des E/S déportées du BUS SYSMAC. Si une tâche d'interruption est exécutée plus de 10 ms pendant la mise à jour de la carte d'E/S spéciales C200H ou des E/S déportées du BUS SYSMAC, une erreur de tâche d'interruption surviendra, A40206 (drapeau d'erreur de carte d'E/S spéciales) passera à ON et la mise à jour E/S sera interrompue pour les cartes d'E/S spéciales. L'UC continuera cependant de fonctionner. Si la détection des erreurs de tâche d'interruption est à ON dans la configuration de l'API, A40213 (drapeau d'erreur de tâche d'interruption) passera à ON lorsqu'une erreur de tâche d'interruption surviendra et le numéro de la tâche Chapitre 4-3 Tâche d'interruption incriminée sera sauvegardé dans A426 (erreur de tâche d'interruption, numéro de tâche). L'UC continuera cependant de fonctionner. Carte d'E/S spéciales C200H Utilisation incorrecte Tâche d'interruption Tâche d'interruption Jusqu'à 10 ms Cartes maître E/S déportées SYSMAC BUS ou Utilisation correcte 10 ms ou plus E/S déportées SYSMAC BUS Exécution de IORF pour une carte d'E/S spéciales Si une instruction IORF(097) doit être exécutée à partir d'une tâche d'interruption pour d'une carte d'E/S spéciales, veillez à mettre la mise à jour cyclique à OFF pour la carte d'E/S spéciales (avec le numéro de carte) dans la configuration de l'API. Une erreur de tâche d'interruption se produira si vous essayez de mettre à jour une carte d'E/S spéciales avec une instruction IORF(097) à partir d'une tâche d'interruption pendant que cette CARTE est mise à jour par d'autres moyens : mise à jour E/S cyclique ou tâches de mise à jour E/S (IORF(097) ou instructions de mise à jour immédiate (!)). Si la détection des erreurs de tâche d'interruption est à ON dans la configuration de l'API lorsqu'une erreur de tâche d'interruption survient, A40213 (drapeau d'erreur de tâche d'interruption) passera à ON et le numéro de la carte d'E/S spéciales pour laquelle la mise à jour E/S a été dupliquée sera sauvegardé dans A426 (erreur de tâche d'interruption, numéro de tâche). L'UC continuera de fonctionner. Utilisation incorrecte Carte E/S spéciales Utilisation correcte Tâche d'interruption N'exécutez pas IORF(097) dans une tâche d'interruption si le rafraîchissement cyclique est activé pour les cartes E/S spéciales dans la configuration de l'API. Rafraîchissement d'E/S Remarque Désactivez le rafraîchissement cyclique pour les cartes E/S spéciales dans la configuration de l'API avant d'exécuter l'instruction IORF(097) dans une tâche d'interruption. Les bits situés à gauche de A426 (erreur de tâche d'interruption, numéro de tâche) permettent de déterminer les erreurs de tâche d'interruption qui sont survenues parmi les erreurs ci-dessus. (Bit 15 : erreur d'exécution de 10 ms ou supérieure si 0, erreur de mise à jour multiple si 1) Paramètres de configuration de l'API Adresse Bit 14 à +128 Nom Description Détection des erreurs de tâche d'interruption Spécifie si les erreurs de tâches d'interruption doivent être détectées ou non. Le drapeau d'erreur de tâche d'interruption (A40213) sera à ON lorsque la détection sera activée. Paramètres 0 : Détection activée, 1 : Détection désactivée Configuration par défaut 0 187 Chapitre 4-3 Tâche d'interruption Drapeaux/mots de zone auxiliaire associés Nom Drapeau d'erreur de tâche d'interruption Adresse A40213 Description Passe à ON si une tâche d'interruption est exécutée plus de 10 ms pendant la mise à jour de la carte d'E/S spéciales C200H ou des E/S déportées du BUS SYSMAC, mais l'UC continue de fonctionner. Le voyant ERR/ALM s'allume sur le panneau avant (série CS uniquement). Passe à ON si vous essayez de mettre à jour une carte d'E/S spéciales avec une instruction IORF à partir d'une tâche d'interruption pendant que cette carte est actualisée par une mise à jour E/S cyclique. Erreur de tâche d'interruption, numéro de tâche A426 Contient le numéro de la tâche d'interruption ou le numéro de la carte d'E/S spéciales en cours de mise à jour. (Le bit 15 est à OFF lorsque l'exécution d'une tâche d'interruption exige 10 ms ou plus et à ON lorsque la mise à jour de la carte d'E/S spéciales dupliquée a eu lieu.) Désactivation des interruptions Le traitement sera interrompu et la tâche d'interruption sera exécutée dans les cas suivants. • Lorsqu'une instruction est en cours d'exécution • Pendant la mise à jour de la carte d'E/S standard, de la carte réseau, de la carte interne (série CS uniquement) ou des E/S déportées du BUS SYSMAC (série CS uniquement) • Pendant une opération HOST LINK Concurrence de données entre les tâches cycliques et les tâches d'interruption Les données ne doivent pas être concurrentes si une tâche cyclique (y compris des tâches cycliques extra) et une tâche d'interruption lisent et écrivent les mêmes adresses mémoire E/S. Procédez comme suit pour désactiver les interruptions pendant que les instructions des tâches cycliques accèdent à la mémoire. • Juste avant une opération de lecture ou d'écriture par une instruction de tâche cyclique, désactivez l'exécution des tâches d'interruption avec une instruction DI (DISABLE INTERRUPT). • Utilisez une instruction EI (ENABLE INTERRUPT) juste après le traitement pour activer le traitement des tâches d'interruption. Tâche cyclique Désactivé Tâche d'interruption Lecture et écriture de la mémoire E/S commune aux tâches d'interruption. Activé Traitement avec exécution de tâche d'interruption activée Tâche d'interruption Des problèmes de concurrence de données peuvent survenir si DI(693) et EI(694) sont utilisées pour désactiver les tâches d'interruption pendant l'exécution d'une instruction qui exige la réception et le traitement d'une réponse (par exemple, une instruction de réseau ou de communication série). Remarque 188 Avec les UC CS1-H, CJ1-H, CJ1M ou CS1D CPU Unit, l'exécution des instructions BIT COUNTER (BCNT), BLOCK SET (BSET) et BLOCK TRANSFER (XFER) ne sera pas interrompue pour exécuter la tâche d'interruption : l'exécu- Chapitre 4-4 Fonctionnement du périphérique de programmation pour tion de l'instruction sera achevée avant d'exécuter la tâche d'interruption, retardant ainsi la réponse de l'interruption. Pour éviter cela, divisez le traitement des données pour ces instructions en plusieurs instructions, comme indiqué ci-après pour XFER. XFER &100 D00000 D30000 Traitement séparé. XFER &50 D00000 D30000 Les interruptions sont possibles dès que l'exécution de XFER est terminée. L'instruction XFER n'est pas interrompue. XFER &50 D00050 D30050 4-4 4-4-1 Fonctionnement du périphérique de programmation pour les tâches Utilisation de plusieurs tâches cycliques Utilisez CX-Programmer pour créer plusieurs tâches cycliques (y compris des tâches cycliques extra). Il n'est pas possible de créer de nouvelles tâches cycliques avec une console de programmation. Veillez à utiliser un CXProgrammer pour affecter le type de tâche et le numéro de tâche pour les programmes créés. • Plusieurs tâches cycliques créées et transférées vers une UC à partir de CX-Programmer peuvent être surveillées ou modifiées à partir d'une console de programmation. • Vous pouvez facilement créer une tâche cyclique et une ou plusieurs tâches d'interruption avec la console de programmation en utilisant la fonction All Clear (Effacer tout) et en spécifiant Interrupt Tasks. Seules les tâches d'interruption 1 (interruption de mise hors tension), 2 et 3 (interruptions programmées) et 100 à 131 (interruptions d'E/S) peuvent être créées avec une console de programmation. Avec une UC CJ1M, cependant, les tâches d'interruption 140 à 143 (pour les entrées intégrées) peuvent également être créées. La tâche cyclique 0 démarrera lorsque l'API commencera de fonctionner. 4-4-2 Fonctionnement du périphérique de programmation CX-Programmer Spécifiez les attributs type et numéro de tâche pour chaque programme. 1,2,3... 1. Sélectionnez View/Properties (Affichage/Propriétés) ou cliquez sur le bouton droit et sélectionnez Properties dans le menu contextuel afin d'afficher le programme auquel une tâche sera affectée. 2. Sélectionnez l'onglet General et sélectionnez le type et le numéro de la tâche (Task Type et Task No.). Pour la tâche cyclique, activez la case à cocher Operation start. 189 Fonctionnement du périphérique de programmation pour Console de programmation Chapitre 4-4 Une tâche est traitée comme l'ensemble du programme dans la console de programmation. Accédez à un programme et modifiez-le avec une console de programmation en spécifiant CT00 à CT31 pour une tâche cyclique ou IT001 à IT255 pour une tâche d'interruption. CLR FUN 0 CHG 0: Tâche cyclique, 1 : Tâche d'interruption Tâche cyclique N˚ ? 00 Entrer une valeur entre 00 et 31. Ecriture 1 Tâche d'interruption N˚ ? Entrer une valeur entre 000 et 255. Ecriture Remarque 1. Une console de programmation ne peut pas créer de nouvelles tâches cycliques. 2. Actuellement, les UC série CJ ne prennent pas en charge les tâches d'interruption d'E/S ou externes. Seules les tâches IT001 à IT003 peuvent être spécifiés. 190 CHAPITRE 5 Fonctions de mémoire de fichiers Cette section décrit les fonctions utilisées pour gérer la mémoire de fichiers. 5-1 5-2 5-3 Mémoire de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 5-1-1 Types de mémoire de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 5-1-2 Données de fichiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 5-1-3 Fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 5-1-4 Description des procédures d'utilisation des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . 207 5-1-5 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Traitement des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 5-2-1 Périphériques de programmation (y compris les Consoles de programmation). . . . . 211 5-2-2 Commandes FINS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 5-2-3 FREAD(700), FWRIT(701) et CMND(490) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 5-2-4 Remplacement du programme entier en cours d'opération . . . . . . . . . . . . . . . . . . . . 221 5-2-5 Transfert automatique au démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 5-2-6 Fonction de sauvegarde simple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Utilisation de la mémoire de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 5-3-1 Initialisation des supports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 5-3-2 Procédures de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 5-3-3 Interruptions de l'alimentation pendant l'accès à la mémoire de fichiers . . . . . . . . . . 253 191 Chapitre 5-1 Mémoire de fichiers 5-1 Mémoire de fichiers Les unités de la série CS/CJ prennent en charge la mémoire de fichiers. Les supports suivants peuvent être utilisés en tant que mémoire pour le stockage de fichiers. 1,2,3... 1. Cartes mémoire 2. Intervalle spécifié dans la zone EM appelée mémoire de fichiers EM Remarque Les UC CJ1M ne possèdent pas de zone EM et ne permettent donc pas d'utiliser la mémoire de fichiers EM. Les deux types de mémoire peuvent être employés pour sauvegarder intégralement le programme utilisateur, la mémoire E/S et la zone de paramètres dans des fichiers. 3. Mémoire des commentaires (dans la mémoire flash interne de l’UC) Pour plus d’informations sur la sélection de la mémoire de fichiers, reportezvous à la section 5-1-5 Applications, page 209. UC Fichier Carte mémoire Fichier Fichier Zone EM Fichier Mémoire des commentaires Fichier Fichier 192 Chapitre 5-1 Mémoire de fichiers 5-1-1 Types de mémoire de fichiers Catégorie Type Capacité Cartes mémoire Mémoire 30 Mo flash 64 Mo Mémoire de fichiers EM Zone EM RAM Banque 0 Banque 1 Banque n Banque C Mémoire de fichiers EM Mémoires de commentaires Modèle Opérations autorisées sur les fichiers HMC-EF372 1) Programme utilisateur Toutes sont possibles. (Voir complet HMC-EF672 page 207 pour 2) Plage spécifiée dans plus de détails.) la mémoire E/S La fonction de De la banque 3 ) Données de la zone transfert spécifiée dans la de paramètres zone EM de la (configuration de l'API automatique au mémoire E/S à la et autres paramètres) démarrage ne peut pas dernière banque transférer les (spécifiée dans la Voir remarque 4. données de la configuration de mémoire de l'API) fichiers EM. (Voir page 207 pour plus de détails.) Capacité de zone EM des UC Série CS CS1H-CPU67H : 832 Ko (banques 0 à C : E0_00000 à EC_00000) Série CJ CJ1H-CPU66H : 832 Ko (banques 0 à C : E0_00000 à EC_00000) Mémoire Fichiers de com- UC avec version 3.0 ou supérieure flash mentaires : CPU66H/67H : interne 128 kilo-octets de l’UC Autres UC : 64 kilo-octets Fichiers d'index de programmes : CPU66H/67H : 128 kilo-octets Autres UC : 64 kilo-octets Fichiers de tableaux de symboles : CPU45H/65H/ 66H/67H : 128 kilo-octets Autres UC : 64 kilo-octets Remarque Données de fichiers reconnues par l'UC Activé lors du transfert de projets à l’aide de CX-Programmer ver. 5.0 ou supérieure. Noms des sections, com- et pendant les mentaires sur les sections, opérations de sauvegarde simcommentaires de proples. gramme de CX-Programmer. Commentaires des équations logiques et commentaires CX-Programmer Tables de symboles globales, tables de symboles local, données de configuration de zone d’attribution automatique de CX-Programmer. 1. Reportez-vous à la section 5-2 Traitement des fichiers pour plus d'informations sur l'installation et le retrait des cartes mémoire. 2. Initialisez la carte mémoire ou la mémoire de fichiers EM avant de l'utiliser pour la première fois. Reportez-vous à la section 5-3 Utilisation de la mémoire de fichiers pour plus d'informations sur l'initialisation. 3. L'adaptateur de carte mémoire HMC-AP001 permet d'installer une carte mémoire dans l'emplacement de cartes API d'un ordinateur pour l'utiliser comme un périphérique de stockage. 4. Lorsque CX-Programmer est utilisé, l'UC peut identifier les tableaux de symboles (y compris les commentaires d'E/S) et les commentaires. La destination du transfert est la carte mémoire, si une carte mémoire est installée, ou la mémoire de fichiers EM en l'absence d'une carte mémoire. Précautions relatives aux cartes mémoire Avant d'utiliser une carte mémoire, vérifiez les points suivants. 193 Mémoire de fichiers Chapitre 5-1 Format Les cartes mémoire sont formatées avant la livraison. Il n'est donc pas nécessaire de les formater après leur acquisition. Pour les formater une fois qu'elles ont été utilisées, utilisez CX-Programmer ou une console de programmation sur l'UC. Si une carte mémoire est formatée directement dans un ordinateur portable ou un autre ordinateur, l'UC peut ne pas la reconnaître. Dans ce cas, vous ne serez pas en mesure de l'utiliser, même si elle est reformatée dans l'UC. Nombre de fichiers dans le répertoire racine Le nombre de fichiers pouvant être placés dans le répertoire racine d'une carte mémoire est limité (de même qu'il existe une limite pour un disque dur). Bien que la limite dépende du type et du format de la carte mémoire, elle sera comprise entre 128 et 512 fichiers. Lorsque vous utilisez des applications qui génèrent régulièrement des fichiers-journaux ou d'autres fichiers, enregistrez ces fichiers dans un sous-répertoire plutôt que dans le répertoire racine. Des sous-répertoires peuvent être créés sur un ordinateur ou à l'aide de l'instruction CMND(490). Reportez-vous à la section 3-25-5 DELIVER COMMAND : CMND(490) dans les Référence des instructions, série CS/CJ pour un exemple d'utilisation de l'instruction CMND(490). Nombre d'écritures En règle générale, le nombre d'opérations d'écriture pouvant être exécutées pour une mémoire Flash n'est pas limité. En ce qui concerne les cartes mémoire, cependant, une limite de 100 000 opérations d'écriture a été définie pour des questions de garantie. Par exemple, si une écriture est effectuée toutes les 10 minutes sur la carte mémoire, plus de 100 000 opérations d'écriture auront lieu en 2 ans. Taille de fichier minimale Si de nombreux fichiers de petite taille (tels ceux contenant uniquement quelques mots de données de zone DM) sont stockés sur la carte mémoire, il ne sera pas possible d'utiliser toute la capacité de cette carte. Par exemple, si vous utilisez une carte mémoire avec une taille d'unité d'allocation de 4096 octets, au moins 4096 octets de mémoire seront utilisés pour chaque fichier, quelle que soit sa taille. Si vous avez 10 mots de données de zone DM sur la carte mémoire, 4096 octets de mémoire seront utilisés, bien que la taille du fichier ne dépasse pas 68 octets. L'utilisation de fichiers de petite taille réduit considérablement le taux d'utilisation de la carte mémoire. Mais si vous réduisez la taille de l'unité d'allocation pour augmenter le taux d'utilisation, la vitesse d'accès sera également réduite. Vous pouvez contrôler la taille de l'unité d'allocation à partir d'une invite de commandes DOS avec CHKDSK. La procédure spécifique n'est pas décrite dans le présent document. Pour plus d'informations sur les tailles des unités d'allocation, reportez-vous aux références générales de l'ordinateur. Précautions pour l'accès aux cartes mémoire Lorsque l'API accède à la carte mémoire, l'indicateur BUSY (occupé) s'allume sur l'UC. Prenez les précautions suivantes. 1,2,3... 1. Ne mettez pas l'UC hors tension lorsque le voyant BUSY est allumé. La carte mémoire pourrait devenir inutilisable. 2. Ne retirez jamais la carte mémoire de l'UC lorsque le témoin BUSY est allumé. Appuyez sur le bouton de mise hors tension de la carte mémoire et attendez que le témoin BUSY s'éteigne avant de la retirer. Si vous ne respectez pas cette règle, la carte risque de devenir inutilisable. 3. Insérer la carte mémoire, l'étiquette tournée vers la droite. N'essayez pas de l'insérer dans l'autre sens. Cela pourrait endommager la carte ou l'UC. 194 Chapitre 5-1 Mémoire de fichiers 4. Une fois la carte mémoire insérée, l'UC a besoin de quelques secondes pour l'identifier. Lorsque vous accédez à une carte mémoire juste après avoir mis l'alimentation sous tension ou lorsque vous insérez la carte mémoire, programmez une condition NC pour le drapeau de carte mémoire détectée (A34315) comme condition d'entrée, en suivant les indications ci-dessous. Condition d'exécution Drapeau de carte mémoire détectée 5-1-2 Drapeau de fonctionnement de la mémoire de fichiers Données de fichiers Le tableau suivant indique les types de fichiers qui peuvent être écrits. Type de fichier • Fichiers de programmes • Fichiers de données • Fichiers de paramètres • Fichier de tables de symboles • Fichiers de commentaires • Fichiers d'index de programmes Programme utilisateur : fichier de programme Programme entier, y compris les attributs des tâches Opération Vous pouvez utiliser un périphérique de programmation (CX-Programmer ou console de programmation), des commandes FINS, des instructions de schéma contact, des opérations de sauvegarde simple ou des bits de contrôle spéciaux dans la mémoire de l'UC pour accéder à ces fichiers (en lecture, en écriture, etc.). Vous pouvez utiliser le CX-Programmer et des opérations de sauvegarde simple pour accéder à ces fichiers (en lecture, en écriture, etc.). Plage spécifiée dans la mémoire E/S : fichiers de données Plage entière ou partie spécifiée d'une zone de mémoire Données de zone de paramètres : fichier de paramètres Paramètres initiaux utilisés dans l'UC. Zone des paramètres de carte de bus UC CS1 Partie spécifiée Programme complet ou Tableaux de routage Tableaux E/S Configuration API Zone entière Fichiers de tables de symboles Tables de variables utilisées par le CX-Programmer Symboles, adresses, types de données, commentaires d'E/S Fichiers de commentaires Commentaires utilisés par le CX-Programmer Fichiers d'index de programmes Informations sections (utilisées uniquement par CX-Programmer) Commentaires de segment Commentaires (annotations) Noms des sections, commentaires sur les sections 195 Chapitre 5-1 Mémoire de fichiers Fichiers pouvant être enregistrés à partir de l'UC Fichiers pouvant être enregistrés à partir du CX-Programmer CX-Programmer UC Opérations de transfert de fichiers à partir du CX-Programmer Programme utilisateur Mémoire E/S Etc. Fichiers de programmes Fichiers de données Périphérique de programmation, commandes FINS, instructions de schéma contact ou bits de contrôle Fichiers de symboles Fichiers de commentaires Fichiers d'index de programmes Carte mémoire Périphérique de programmation, commandes FINS, instructions de schéma contact ou bits de contrôle Fichiers de programmes Fichiers de données Mémoire flash interne Remarque Mémoire des fichiers EM Lorsque aucune carte mémoire n'est insérée Mémoire des commentaires Les tableaux de symboles (symboles, adresses et commentaire d'E/S) peuvent être traités comme des fichiers à partir du CX-Programmer. Fichier Nom de Extension Contenu fichier Fichier de tableau SYMBOLS .SYM Symboles généraux et locaux de symboles Fichier de COMMENTS .CMT Commentaires des équations commentaires logiques et commentaires (annotations) Fichiers d'index de programmes PROGRAM .IDX Noms des sections et commentaires sur les sections Les opérations de transfert de fichiers peuvent être effectuées pour les projets à partir du CX-Programmer. Ce dernier permet de transférer tous les fichiers susmentionnés (fichiers de tableaux de symboles, fichiers de commentaires, fichiers d'index de programmes) entre l'UC et une carte mémoire ou entre EM et la mémoire de fichiers (les transferts de fichiers d'index de programmes sont pris en charge à partir de la version 2.0). Les fichiers de tableaux de symboles et les fichiers de commentaires peuvent également être transférés ente CXProgrammer, la RAM de l'ordinateur et un périphérique de stockage de données avec la version 1.2 de CX-Programmer ou une version supérieure. 5-1-3 Fichiers Les fichiers sont au format DOS et peuvent donc être utilisés comme des fichiers normaux sur un ordinateur Windows. Ils sont identifiés par des noms et des extensions de fichiers, comme indiqué dans le tableau suivant. Un nom de fichier peut comporter les caractères suivants : Lettres A à Z, chiffres 0 à 9, !, &, $, #, `, {, }, –, ^, (, ) et _ Vous pouvez utiliser les caractères suivants dans les noms de fichiers : ,, ., /, ¥, ?, *, “, :, :, <, >, =, +, espace et les caractères sur 2 octets. L'extension d'un nom de fichier dépend du type du fichier enregistré. Les fichiers de données ont l'extension IOM, TXT, CSV ou IOR. (extensions TXT, CSV et IOR : non prises en charge par les UC CS1 série CS antérieures à EV1.) Les fichiers de programmes ont l'extension OBJ et les fichiers de paramètres l'extension STD. L'emplacement d'un fichier en mémoire peut être spécifié dans le répertoire et un répertoire peut inclure jusqu'à 5 niveaux de sous-répertoires (en comptant le répertoire racine). 196 Chapitre 5-1 Mémoire de fichiers Types, noms et extensions de fichiers L'UC peut gérer trois types de fichiers (lecture et écriture). • Fichiers universels Ces fichiers sont accessibles (en lecture ou en écriture) avec des périphériques de programmation, des commandes FINS, des instructions ou des opérations de bit de contrôle de zone auxiliaire. Les noms de fichiers peuvent être définis librement par l'utilisateur. • Fichiers transférés automatiquement au démarrage Ces fichiers sont transférés automatiquement de la carte mémoire vers l'UC lors de la mise sous tension. Le nom du fichier est AUTOEXEC ou ATEXEC@@ lorsque vous transférez des fichiers de paramètres. Sinon, le nom du fichier est REPLACE (UC série CS/CJ Ver. 2.0 ou supérieure uniquement). • Fichiers de sauvegarde (non pris en charge par les UC CS1 série CS antérieures à EV1) Ces fichiers sont transférés entre la carte mémoire et l'UC par la fonction de sauvegarde. Les noms de fichiers ont un format fixe : BACKUP@@. Remarque Utilisez la carte mémoire, la mémoire des fichiers EM ou la mémoire des commentaires pour les fichiers de tables de symboles, les fichiers de commentaires et les fichiers d’index de programmes. • Systèmes de fichiers du CX-Programmer Ces fichiers sont générés automatiquement lors d’un transfert effectué avec CX-Programmer. Les noms des fichiers sont fixes. Fichiers universels Type Fichier de programme Fichier de zone de paramètres Fichier de données Le tableau suivant présente les noms et les extensions des fichiers universels. Description Nom1 Extension ******** .OBJ Programme utilisateur complet ******** .STD Configuration de l'API, table d'E/S enregistrées, tables de routage, paramètres de carte réseau3, etc. ******** .IOM Plage spécifiée dans la mémoire E/S .TXT .CSV Remarque Explication • Toutes les tâches cycliques et d'interruption, ainsi que les données des tâches pour une UC. • Inclut tous les paramètres initiaux associés à une UC. • L'utilisateur n'est pas obligé d'établir la distinction des données des paramètres dans le fichier par type. • Données du premier au dernier mot en unités de mots (16 bits) situées dans une zone. • La zone peut être l'une des zones suivantes : CIO, HR, WR, AR, DM ou EM. Format binaire Format TXT2 (non délimité ou délimité par des tabulations) Format CSV2 (délimité par des virgules) 1. Les noms des fichiers, représentés plus haut par « ******** », sont constitués de 8 caractères ASCII. 2. Formats de fichiers TXT et CSV : non pris en charge par les UC CS1 série CS antérieures à EV1. 3. Les tables de liaison de données offrent un exemple de paramètres de carte réseau. Pour les autres données de configuration, consultez les manuels d'utilisation des différentes cartes. Fichiers transférés automatiquement au démarrage La colonne Fichier indique les fichiers qui doivent être présents dans la carte mémoire pour activer le transfert automatique au démarrage. Il existe deux méthodes pour transférer automatiquement les fichiers au démarrage : transfert avec un fichier de zone de paramètres et transfert sans fichier de zone de paramètres. 197 Chapitre 5-1 Mémoire de fichiers Transfert avec un fichier de zone de paramètres Type Extension Nom1 AUTOEXEC .OBJ Fichier de zone de paramètres AUTOEXEC .STD Fichier de données AUTOEXEC .IOM ATEXECDM .IOM ATEXECE@ .IOM Fichier de programme 198 Description Explication Fichier Programme utilisateur complet • Le fichier ne doit pas obligatoirement se Obligatoire trouver sur la carte mémoire, même lorsque le transfert automatique au démarrage est spécifié. • Tous les programmes de tâches cycliques et d'interruption, ainsi que les données des tâches pour une UC. • Le transfert ne sera pas possible, sauf si la carte mémoire contient également un fichier de zone de paramètres (AUTOEXEC.STD). Le fichier doit obligatoirement se trouver Configuration de l'API, Obligatoire table d'E/S enregistrées, sur la carte mémoire lorsque le transfert automatique au démarrage est spécifié. tables de routage, paramètres de carte Inclut tous les paramètres initiaux associés à une UC. réseau3, etc. L'utilisateur n'a pas à établir de distinction entre les données des paramètres dans le fichier par type. Les données des paramètres initiaux seront automatiquement sauvegardées à différents emplacements de l'UC au démarrage Le fichier de zone de paramètres ne sera pas transféré si la carte mémoire contient un fichier de programme intitulé REPLACE.OBJ. Données de mémoire • Sauvegardez les données DM à partir --E/S de D20000 dans un fichier nommé (Contient le nombre de AUTOEXEC.IOM. mots de données • Au démarrage, toutes les données du spécifié à partir de fichier seront transférées dans la zone D20000.) DM à partir de D20000. • Le fichier ne doit pas obligatoirement se trouver sur la carte mémoire lorsque la fonction de transfert automatique au démarrage est utilisée. • Sauvegardez les données DM à partir --Données de mémoire de D00000 dans un fichier nommé E/S2 ATEXECDM.IOM. (Contient le nombre de • Au démarrage, toutes les données du mots de données fichier seront transférées dans la zone spécifié à partir de DM à partir de D00000. D00000.) • Le fichier ne doit pas obligatoirement se trouver sur la carte mémoire lorsque la fonction de transfert automatique au démarrage est utilisée. Remarque Les données de ce fichier ont un niveau de priorité supérieur si elles recouvrent les données DM contenues dans AUTOEXEC.IOM. Données de zone EM • Sauvegardez les données pour la ban- --que EM @ à partir de E@_00000 dans (banque @)2 un fichier nommé ATEXECE@.IOM. Le (Contient le nombre de numéro de banque maximum dépend mots de données du modèle de l'UC utilisée. spécifié à partir de • Au démarrage, toutes les données du E@_00000.) fichier seront transférées dans la banque EM @ à partir de E@_00000. • Le fichier ne doit pas obligatoirement se trouver sur la carte mémoire lorsque la fonction de transfert automatique au démarrage est utilisée. Chapitre 5-1 Mémoire de fichiers Transfert sans fichier de zone de paramètres Type Fichier de programme Fichier de zone de paramètres Fichier de données Extension Description Nom1 .OBJ Programme utilisateur REPLACE complet Remarque : UC série CS/CJ Ver. 2.0 ou supérieure uniquement. Non ----obligatoire. .IOM REPLACE Remarque : UC série CS/CJ Ver. 2.0 ou supérieure uniquement. .IOM REPLCDM Remarque : UC série CS/CJ Ver. 2.0 ou supérieure uniquement. .IOM REPLCE@ Remarque : UC série CS/CJ Ver. 2.0 ou supérieure uniquement. Remarque Explication Fichier • Le contenu est identique à celui du Obligatoire fichier AUTOEXEC.OBJ. • Ce fichier sera transféré au démarrage, même s'il n'existe pas de fichier de zone de paramètres (AUTOEXEC.STD). Le fichier de zone de paramètres ne sera --pas transféré, quel que soit le nom du fichier. Données de mémoire • Le contenu est identique à celui du --E/S fichier AUTOEXEC.IOM (Contient le nombre de • Ce fichier sera transféré au démarrage mots de données si la carte mémoire contient également spécifié à partir de un fichier de programme nommé D20000.) REPLACE.OBJ. Données de mémoire • Le contenu est identique à celui du --E/S fichier ATEXECDM.IOM. (Contient le nombre de • Ce fichier sera transféré au démarrage mots de données si la carte mémoire contient également spécifié à partir de un fichier de programme nommé D00000.) REPLACE.OBJ. Données de zone EM • Le contenu est identique à celui du --fichier ATEXECE@.IOM. (banque @) (Contient le nombre de • Ce fichier sera transféré au démarrage mots de données si la carte mémoire contient également spécifié à partir de un fichier de programme nommé E@_00000.) REPLACE.OBJ. 1. Assurez-vous que les noms des fichiers à transférer automatiquement au démarrage sont AUTOEXEC ou ATEXEC@@. 2. Les fichiers ATEXECDM.IOM et ATEXECE@.IOM : non pris en charge par les UC CS1 série CS antérieures à EV1. 3. Les tables de liaison de données offrent un exemple de paramètres de carte réseau. Pour les autres données de configuration, consultez les manuels d'utilisation des différentes cartes. 199 Chapitre 5-1 Mémoire de fichiers Fichiers de sauvegarde (non pris en charge par les UC CS1 série CS antérieures à EV1) Type Fichier de données Fichier de programme Les fichiers dans le tableau suivant sont créés automatiquement lorsque les données sont transférées vers et depuis la carte mémoire pendant l'opération de sauvegarde. Extension Nom1 BACKUP .IOM BACKUPIO .IOR BACKUPDM .IOM BACKUPE@ .IOM BACKUP .OBJ Description Explication Mots de zone DM • Contient les données DM de D20000 à D32767. affectés aux cartes • Ce fichier doit être présent sur la carte mémoire d'E/S spéciales, lorsque les données sont lues sur la carte pendant la cartes réseau et sauvegarde. cartes internes (série CS uniquement) Zones de données • Contient toutes les données des zones de données de mémoire E/S CIO, WR, HR et AR, ainsi que les drapeaux de fin de temporisation/compteur et les valeurs actuelles.2 • Ce fichier doit être présent sur la carte mémoire lorsque les données sont lues sur la carte pendant la sauvegarde. Zone universelle DM • Contient les données DM de D00000 à D19999. • Ce fichier doit être présent sur la carte mémoire lorsque les données sont lues sur la carte pendant la sauvegarde. Zone universelle EM Contient toutes les données EM pour la banque EM @ avec des adresses comprises entre E@_00000 et E@_32767. (Le numéro de banque maximum dépend du modèle de l'UC utilisée.) Ce fichier doit être présent sur la carte mémoire lorsque les données sont lues sur la carte pendant la sauvegarde. • Lorsque les données sont sauvegardées sur la carte mémoire, toutes les données de chaque banque EM sont automatiquement enregistrées dans un fichier distinct. Programme • Contient tous les programmes de tâches cycliques utilisateur complet et d'interruption, ainsi que les données des tâches pour une UC. • Ce fichier doit être présent sur la carte mémoire lorsque les données sont lues sur la carte pendant la sauvegarde. Configuration de • Inclut tous les paramètres initiaux associés à une l'API, table d'E/S UC. enregistrées, tables • L'utilisateur n'a pas à établir de distinction entre les de routage, données des paramètres dans le fichier par type. paramètres de carte • Ce fichier doit être présent sur la carte mémoire réseau3, etc. lorsque les données sont lues sur la carte pendant la sauvegarde. Fichier de paramètres .STD Fichiers de sauvegarde unité/carte (UC CS1-H, CJ1-H ou CJ1M uniquement) BACKUP@@ (où @@ désigne l'adresse d'unité de l'unité/carte sauvegardée) Fichiers de tables BKUPSYM de symboles (Voir remarque 1.) .PRM Données pour une unité ou une carte spécifique • Contrôlez les données de sauvegarde à partir d'une unité ou d'une carte. Voir la section 5-2-6 Fonction de sauvegarde simple pour plus d'informations. .SYM Inclut les données suivantes dans la table de symboles globale/locale du CX-Programmer : variables, adresses, types de données, commentaires d’E/S Inclut les données définies dans les paramètres d’adressage automatique des API du CX-Programmer. Fichiers de com- BKUPCMT mentaires (Voir remarque 1.) Fichiers d’index BKUPPRG de programmes (Voir remarque 1.) .CMT Tables de symboles globales, tables de symboles locales et données de configuration de zone affectées automatiquement Commentaires des équations logiques et commentaires Noms de sections, commentaires de sections et commentaires de programmes du CXProgrammer. 200 .IDX Commentaires des équations logiques et commentaires du CX-Programmer. Données des séparateurs de sections du CX-Programmer (l’emplacement du séparateur dépend toutefois du séparateur de sections dans le programme.) Chapitre 5-1 Mémoire de fichiers Remarque 1. Les fichiers de sauvegarde suivants peuvent être créés uniquement lorsque vous utilisez des UC série CS/CJ avec la version de carte 3.0 ou supérieure. Fichiers de tables de symboles, fichiers de commentaires et fichiers d’index de programmes Ces fichiers sont créés automatiquement à partir des fichiers de la carte mémoire, de la mémoire des fichiers EM ou de la mémoire des commentaires. 2. Les tables de liaison de données sont un exemple de paramètres de carte de bus UC. Pour les autres données de configuration, consultez les manuels d'utilisation des différentes cartes. Fichiers système du CX-Programmer Ces fichiers sont générés automatiquement lorsque des données sont téléchargées avec la version 5.0 ou une version supérieure du CX-Programmer. Les noms des fichiers sont fixes. Lorsque vous utilisez la version 5.0 ou une version supérieure du CX-Programmer avec une version de carte 3.0 ou supérieure, vous pouvez sélectionner l’une des options de mémoire suivantes comme destination pour ces fichiers système lors du transfert des projets. • Carte mémoire • Mémoire des fichiers EM • Mémoire des commentaires (dans la mémoire flash de l’UC) Remarque Type Fichiers de tables de symboles Nom SYMBOLS Avec la version 4.0 ou une version antérieure du CX-Programmer, ces fichiers ne peuvent pas être stockés dans la mémoire des commentaires, même si une UC avec la version de carte 3.0 ou supérieure est utilisée. Extension .SYM Fichiers de COMMENTS .CMT commentaires Fichiers d'index de programmes PROGRAM .IDX Remarque Description Explication Inclut les données suivanTables de symboles Ces fichiers sont créés tes dans la table de symglobales et tables de automatiquement lorsboles globale/locale du symboles locales que des données sont CX-Programmer : téléchargées avec CXVariables, adresses, Programmer. types de données, commentaires d’E/S Inclut les données définies dans les paramètres d’adressage automatique des API du CX-Programmer. Commentaires des Commentaires des équations logiques équations logiques et et commentaires commentaires du (annotations) CX-Programmer. Données des séparateurs Noms des sections, commentaires sur de sections du CX-Proles sections grammer (l’emplacement du séparateur dépend toutefois du séparateur de sections dans le programme.) Remarque : CX-Programmer version 2.0 ou supérieure uniquement. Avec la version 1.2 ou une version supérieure du CX-Programmer, les fichiers des tables de symboles et les fichiers de commentaires du tableau précédent peuvent être transférés en ligne entre le CX-Programmer et la RAM du PC, et entre la RAM du PC et le périphérique de stockage. 201 Chapitre 5-1 Mémoire de fichiers Répertoires Les API série CS/CJ permettent d'accéder aux fichiers situés dans des sousrépertoires, mais les Consoles de programmation n'ont accès qu'aux fichiers présents du répertoire racine. Le chemin d'accès d'un répertoire comporte au maximum 65 caractères. Veillez à ne pas dépasser le nombre maximum de caractères lorsque vous créez des sous-répertoires sur la carte mémoire avec un programme tel que Windows. Tailles des fichiers Les équations du tableau suivant permettent de calculer la taille des fichiers en octets. Type de fichier Fichiers de données (.IOM) Fichiers de données (.TXT ou .CSV) Fichiers de programme (.OBJ) Fichiers de paramètres (.STD) Remarque Taille de fichier (Nombre de mots × 2) + 48 octets Exemple : Zone DM entière (D00000 à D32767) (32 768 mots × 2) + 48 = 65 584 octets La taille de fichier dépend du nombre de séparateurs et de retours chariot utilisés. Le code d'un séparateur occupe un octet et le code d'un retour chariot deux octets. Exemple 1 : Mots non délimités, sans retour chariot 123456789ABCDEF012345678 occupe 24 octets. Exemple 2 : Mots délimités, retour chariot tous les 2 champs 1234,5678↵ 9ABC,DEF0↵ 1234,5678↵ occupe 33 octets. Exemple 3 : Mots doubles délimités, retour chariot tous les 2 champs 56781234,DEF01234↵ 56781234↵ occupe 29 octets. (Nombre de pas utilisés × 4) + 48 octets (Voir remarque.) 16 048 octets Pour calculer le nombre de pas dans le fichier de programme, soustrayez les pas UM disponibles du nombre total de pas UM. Ces valeurs sont indiquées dans le rapport de référence croisée du CX-Programmer. Consultez le Manuel d'utilisation du CX-Programmer pour plus de détails. Fichiers de données Fichiers universels 1,2,3... 202 1. Les fichiers de données universels portent les extensions IOM, TXT ou CSV. (Fichiers TXT et CSV : non pris en charge par les UC CS1 série CS antérieures à EV1.) Chapitre 5-1 Mémoire de fichiers Extension .IOM .TXT (Voir remarques.) Format de données Binaire Format de données série CS/CJ Mots non délimités Format ASCII Mots doubles non délimités Mots délimité par des tabulations Mots délimités par des tabulations .CSV (Voir remarques.) Mots délimités par des virgules Mots doubles délimités par des virgules Contenu Vous obtenez ce format en convertissant les champs de un mot de la mémoire E/S (4 chiffres hexadécimaux) en ASCII et en groupant les champs sans séparateurs. Les enregistrements peuvent être délimités par des retours chariot. Vous obtenez ce format en convertissant les champs de deux mots de la mémoire E/S (8 chiffres hexadécimaux) en ASCII et en groupant les champs sans séparateurs. Les enregistrements peuvent être délimités par des retours chariot. Vous obtenez ce format en convertissant les champs de un mot de la mémoire E/S (4 chiffres hexadécimaux) en ASCII et en délimitant les champs par des tabulations. Les enregistrements peuvent être séparés par des retours chariot. Vous obtenez ce format en convertissant les champs de deux mots de la mémoire E/S (8 chiffres hexadécimaux) en ASCII et en délimitant les champs par des tabulations. Les enregistrements peuvent être séparés par des retours chariot. Vous obtenez ce format en convertissant les champs de un mot de la mémoire E/S (4 chiffres hexadécimaux) en ASCII et en délimitant les champs par des virgules. Les enregistrements peuvent être séparés par des retours chariot. Vous obtenez ce format en convertissant les champs de deux mots de la mémoire E/S (8 chiffres hexadécimaux) en ASCII et en délimitant les champs par des virgules. Les enregistrements peuvent être séparés par des retours chariot. Mots/ champ --1 mot 2 mots 1 mot 2 mots 1 mot 2 mots Remarque a) Lecture et écriture des fichiers de données TXT et CSV : Les fichiers de données TXT et CSV ne peuvent être lus et écrits qu'avec FREAD(700) et FWRIT(701). b) Précautions relatives aux caractères : Les données ne peuvent pas être enregistrées correctement dans la mémoire E/S si le fichier TXT ou CSV contient des caractères autres que des caractères hexadécimaux (0 à 9, A à F ou a à f.) c) Précautions relatives à la taille des fichiers : Lorsque des mots sont utilisés, les données ne peuvent pas être enregistrées correctement dans la mémoire E/S si le fichier TXT ou CSV contient des champs autres que des champs à 4 chiffres hexadécimaux. De même, avec des mots doubles, les données ne peuvent pas être enregistrées correctement si le fichier contient des champs autres que des champs à 8 chiffres hexadécimaux. d) Ordre de stockage : Lorsque des mots sont utilisés, les données de la mémoire E/S sont converties en ASCII et stockées dans des champs de un mot, en allant de l'adresse mémoire E/S la plus basse vers l'adresse la plus haute. Lorsque des mots doubles sont utilisés, les données de la mémoire E/S sont converties en ASCII et stockées dans des champs de deux mots, en allant de l'adresse mémoire E/S la plus basse vers l'adresse la plus haute. (Dans les champs de deux mots, le mot avec l'adresse la plus haute est enregistré en premier et le mot avec l'adresse la plus basse en second.) e) Séparateurs : En l'absence de séparateurs, les champs sont regroupés les uns à la suite des autres, puis enregistrés. Lorsque les champs sont délimités par des virgules, ces dernières sont insérées entre les champs avant l'enregistrement. Lorsque les champs sont délimités par des tabulations, les codes de tabulation sont insérés entre 203 Chapitre 5-1 Mémoire de fichiers Remarque Structure des fichiers de données IOM les champs avant l'enregistrement. Lorsque des séparateurs (virgules ou tabulations) sont spécifiés dans FREAD(700), les données sont lues comme des données délimitées avec des séparateurs de mots uniques (virgules ou tabulations). f) Retours chariot : Les données sont regroupées les unes à la suite des autres lorsque les retours chariot ne sont pas utilisés. Lorsqu'ils sont utilisés, un code de retour chariot est inséré après le nombre de champs spécifié. Il n'est pas possible de spécifier un décalage par rapport au début du fichier (mot de début de lecture ou mot de début d'écriture) dans les instructions FREAD(700)/ FWRIT(701) si le fichier contient des retours chariot. g) Nombre de champs : Le volume total de données dans le champ dépend du nombre de champs (nombre d'éléments d'écriture) spécifiés dans les instructions FWRIT(701) et du nombre de mots/champ. Il y a un mot/champ lorsque des mots sont utilisés et deux mots/champ lorsque des mots doubles sont utilisés. 2. Les fichiers de données ne contiennent pas d'informations indiquant quelles sont les données mémorisées, c'est-à-dire quelle est la zone de mémoire enregistrée. Veillez par conséquent à attribuer aux fichiers des noms qui illustrent leur contenu, comme indiqué dans les exemples suivants, afin de faciliter la gestion des fichiers. Exemples : D00100.IOM, CIO0020.IOM Les données à partir du début du fichier seront écrites à partir de l'adresse spécifiée dans la mémoire E/S, même si les données initialement écrites dans le fichier de données (IOM, TXT ou CSV) ne proviennent pas de la même zone. Par exemple, si les données CIO d'un fichier sont écrites dans la zone DM à partir d'un périphérique de programmation, les données seront lues dans la zone DM de l'UC sans aucune indication que la zone est différente. Les fichiers de données aux formats TXT et CSV contiennent des données hexadécimales (0 à 9, A à F) qui permettent d'échanger les données numériques de la mémoire E/S avec des tableurs. L'illustration suivante présente la structure des données binaires d'un fichier de données (ABC.IOM) contenant quatre mots de la mémoire E/S : 1234 hex., 5678 hex., 9ABC hex. et DEF0 hex. L'utilisateur, cependant, n'a pas à se soucier du format des données dans les opérations normales. Mémoire E/S 48 octets (utilisés par le système) 8 octets Contenu de ABC.IOM Structure des fichiers de données CSV/TXT (mot unique) 204 L'illustration suivante présente la structure des données binaires d'un fichier de données CSV (ABC.CSV) avec des champs à mot unique contenant quatre mots de la mémoire E/S : 1234 hex., 5678 hex., 9ABC hex. et DEF0 hex. Le fichier TXT avec des champs à mot unique a la même structure. Chapitre 5-1 Mémoire de fichiers 4 octets Converti en ASCII Mémoire E/S Séparateur 4 octets Séparateur Le fichier affiché sous forme de texte. Contenu de ABC.CSV Structure des fichiers de données CSV/TXT (double mot) L'illustration suivante présente la structure des données d'un fichier de données CSV (ABC.CSV) avec des champs à double mot contenant quatre mots de la mémoire E/S : 1234 hex., 5678 hex., 9ABC hex. et DEF0 hex. Le fichier TXT avec des champs à double mot a la même structure. Converti en ASCII (mot supérieur en premier) Mémoire E/S 8 octets Le fichier affiché sous forme de texte. Séparateur Contenu de ABC.CSV Création de fichiers de données avec un logiciel de tableur 1,2,3... Utilisez la procédure suivante pour créer des fichiers de données TXT et CSV avec un logiciel de tableur tel que Microsoft Excel. • Configurez le contenu des cellules sur caractères. • Entrez respectivement 4 ou 8 caractères dans chaque cellule selon que vous utilisez des champs à mot unique ou à double mot. Par exemple, si des champs à mot unique sont utilisés, entrez 000A, et non uniquement A. • Veillez à entrer uniquement des caractères hexadécimaux (0 à 9, A à F ou a à f) dans les cellules. Vous ne pouvez pas utiliser d'autres caractères ou codes. Lorsque vous voulez stocker des chiffres hexadécimaux dans la mémoire E/S, il est utile de convertir les entrées décimales du tableur en valeurs hexadécimales. Pour effectuer cette conversion, procédez comme suit. 1. Sélectionnez Add-Ins... dans le menu Tools. 2. Sélectionnez Analysis ToolPak dans le menu Add-Ins. 3. Sélectionnez Function dans le menu Insert Menu au niveau de la cellule où la fonction sera utilisée. 4. Sélectionnez DEC2HEX (number, digits) pour Engineering dans Category Field. 5. Lors d'une conversion en valeur hexadécimale à 4 chiffres, entrez les informations suivantes pour la variable number : IF(0<=emplacement de cellule, emplacement de cellule, 65 535+emplacement de cellule) Lors d'une conversion en valeur hexadécimale à 8 chiffres, entrez les informations suivantes pour la variable number : IF(0<=emplacement de cellule,emplacement de cellule, 4 294 967 296+emplacement de cellule) 205 Chapitre 5-1 Mémoire de fichiers • Exemple 1 : Entrée de valeurs décimales non négatives. Elément Conversion de valeurs décimales non signées en Conversion de valeurs décimales non signées en valeurs hexadécimales à 4 chiffres valeurs hexadécimales à 8 chiffres DEC2HEX(emplacement_cellule,4) DEC2HEX(emplacement_cellule8) Fonction utilisée Exemple La valeur décimale 10 est convertie en valeur hexadécimale à 4 chiffres : 000A. La valeur décimale 10 est convertie en valeur hexadécimale à 8 chiffres : 0000000A. • Exemple 2 : Entrée de valeurs décimales signées. Elément Conversion de valeurs décimales signées en valeurs hexadécimales à 4 chiffres Conversion de valeurs décimales signées en valeurs hexadécimales à 8 chiffres Fonction DEC2HEX(IF(0<=emplacement_cellule,emplacement DEC2HEX(IF(0<=emplacement_cellule,emplacement utilisée _cellule,65536+ emplacement_cellule),4) _cellule, 4 294 967 296+emplacement_cellule),8) Exemple La valeur décimale -10 est convertie en valeur La valeur décimale -10 est convertie en valeur hexadécimale à 4 chiffres : FFF6. hexadécimale à 8 chiffres : FFFFFFF6. < Fichiers de données transférés automatiquement au démarrage Remarque 206 < Trois types de fichiers sont transférés automatiquement au démarrage lorsque la fonction de transfert automatique au démarrage est utilisée. • AUTOEXEC.IOM ou REPLACE.IOM : mots DM affectés aux cartes d'E/S spéciales et aux cartes internes. Le contenu de ce fichier est transféré dans la zone DM à partir de D20000 lors de la mise sous tension. • ATEXECDM.IOM ou REPLCDM.IOM : Mots universels DM Le contenu de ce fichier est transféré dans la zone DM à partir de D20000 lors de la mise sous tension. • ATEXECE@.IOM ou REPLCE@.IOM : Mots universels EM Le contenu de ce fichier est transféré dans la zone EM à partir de E@_00000 lors de la mise sous tension. Lorsque vous créez les fichiers de données répertoriés plus haut, spécifiez toujours la première adresse indiquée ci-dessus (D20000, D00000 ou E@_00000) et assurez-vous que la taille du fichier ne dépasse pas la capacité de la zone de données spécifiée. L'ensemble des données de chaque fichier seront toujours transférées à partir de la première adresse spécifiée (D20000, D00000 ou E@_00000). 1. Lorsque vous créez les fichiers AUTOEXEC.IOM, ATEXECDM.IOM et ATEXECE@.IOM ou les fichiers REPLACE.IOM, REPLCDM.IOM ou REPLCE@.IOM à partir d'un périphérique de programmation (console de programmation ou CX-Programmer), spécifiez toujours la première adresse correcte (D20000, D00000 ou E@_00000) et assurez-vous que la taille du fichier ne dépasse pas la capacité de la zone DM ou de la banque EM spécifiée. Le contenu du fichier sera toujours transféré à partir de la première adresse appropriée (D20000, D00000 ou E@_00000), même si un autre mot de début est spécifié, ce qui pourrait entraîner le recouvrement du contenu de cette partie de la zone DM ou de la banque EM par des données incorrectes. De plus, si la capacité de la zone DM ou de la banque EM est dépassée (comme cela est possible lorsque vous Chapitre 5-1 Mémoire de fichiers définissez les paramètres à partir du CX-Programmer), les données restantes seront écrites dans la banque EM 0 (si la zone DM est saturée) ou la banque suivante (si une banque Em est saturée). 2. Lorsque vous utilisez CX-Programmer, vous pouvez spécifier un fichier de données qui dépassera l'adresse maximale de la zone DM (D32767) ou l'adresse maximale de la zone EM (E@_32767). Si le fichier AUTOEXEC.IOM dépasse les limites de la zone DM, les données restantes seront écrites dans la zone EM, à partir de E0_00000 et jusqu'à la banque finale, en suivant l'ordre des adresses mémoire et des banques. Il est ainsi possible de transférer automatiquement des données vers les zones DM et EM au démarrage. De même, si le fichier ATEXECE@.IOM est plus grand qu'une banque EM, les données restantes seront écrites dans les banques EM suivantes. 3. Vous pouvez modifier les configurations système pour les cartes d'E/S spéciales, les cartes réseau et la carte interne (série CS uniquement) en utilisant d'autres fichiers AUTOEXEC.IOM, contenant des paramètres différents pour la zone de carte d'E/S spéciales (D20000 à D29599), la zone de carte réseau (D30000 à D31599) et la zone de carte interne (série CS uniquement, D32000 à D32099). Les cartes mémoire permettent ainsi de créer des bibliothèques de données de configuration du système destinées aux cartes d'E/S spéciales, aux cartes réseau et aux cartes internes (série CS uniquement) pour des systèmes ou des périphériques différents. Fichiers de données de sauvegarde 5-1-4 La fonction de sauvegarde crée 4 types de fichiers de données, comme indiqué ci-après. Pour sauvegarder les données, mettez la broche 7 de l'interrupteur DIP de l'UC sur ON et la broche 8 sur OFF, insérez la carte mémoire, puis maintenez l'interrupteur d'alimentation de la carte mémoire enfoncé pendant trois secondes. Les quatre fichiers de sauvegarde (BACKUP.IOM, BACKUPIO.IOR, BACKUPDM.IOM et BACKUPE@.IOM) seront créés automatiquement et écrits sur la carte mémoire. Les quatre fichiers de sauvegarde sont utilisés exclusivement par la fonction de sauvegarde, bien que trois de ces fichiers (BACKUP.IOM, BACKUPDM.IOM et BACKUPE@.IOM) puissent être créés avec des opérations du périphérique de programmation (BACKUPIO.IOR ne peut pas être créé de cette façon). Description des procédures d'utilisation des fichiers Le tableau suivant résume les 6 méthodes que vous pouvez utiliser pour lire et écrire des fichiers. Lecture : transfère les fichiers de la mémoire de fichiers vers l'UC. Ecriture : transfère les fichiers de l'UC vers la mémoire de fichiers. 207 Chapitre 5-1 Mémoire de fichiers OK : Possible; ---: Impossible Procédure d'utilisation Support Nom de fichier Périphérique de CX-Programprogrammation mer ou console de programmation Carte mémoire Mémoire des fichiers EM Tout nom de fichier correct Périphérique de CX-Programprogrammation mer uniquement Carte mémoire Mémoire des fichiers EM, mémoire des commentaires Système de fichiers du CX-Programmer (nom de fichier fixe) Description Programme complet Données Données de zone de de zone de données paramè(Voir tres remarque 3.) Tables de symboles, fichiers de commentaires, fichiers d’index de programmes (Voir remarque 6.) Lecture OK OK OK --- Ecriture OK OK OK --- Autres opérations (Voir remarque 2.) OK OK OK --- Lecture --- --- --- OK Ecriture --- --- --- OK (Voir remarque 6.) Autres opérations (Voir remarque 2.) --- --- --- --- Carte Tout nom de mémoire fichier correct Mémoire des fichiers EM Lecture OK OK OK --- Ecriture OK OK OK --- Autres opérations (Voir remarque 2.) OK OK (Voir remarque 4.) OK --- Carte Tout nom de mémoire fichier correct Mémoire des fichiers EM Lecture des données d'un fichier. --- OK --- --- Ecriture de don--nées dans un fichier. OK --- --- L'opération de bit de contrôle de zone auxiliaire remplace tout le programme en cours d'opération (non pris en charge par les UC CS1 série CS antérieures à EV1). Carte de mémoire Tout nom de fichier correct Lecture OK --- --- --- Transfert automatique au démarrage Carte mémoire Transfert automatique avec les fichiers de démarrage (AUTOEXEC, ATEXEC@@ ou REPLACE (Voir remarque 5.)) Lecture OK OK OK --- Ecriture --- --- --- --- OK OK OK OK OK OK OK OK (Voir remarque 6.) Commande FINS (Voir remarque 1.) Instructions FREAD(700) et FWRIT(701) Opération de sauvegarde Carte (non prise en charge par les mémoire UC CS1 série CS antérieures à EV1). Remarque Fichiers de sau- Lecture vegarde simple Ecriture (BACKUP@@) 1. Les commandes FINS pour les opérations sur la mémoire de fichiers peuvent être envoyées depuis des ordinateurs connectés via une liaison Host Link, une autre API connectée à un réseau (avec CMND(490)) ou le programme de l'API locale (avec CMND(490)). (Pour les UC CS1 série CS antérieures à EV1, les opérations sur la mémoire de fichiers ne peuvent pas être exécutées avec CMND(490) sur la même UC que celle pour laquelle les opérations sur la mémoire de fichiers sont exécutées avec d'autres instructions. 2. Autres opérations : formatage de la mémoire de fichiers, lecture de données de fichiers, écriture de données de fichiers, modification de noms de fichiers, lecture de données de la mémoire de fichiers, suppression de fichier, copie de fichier, création de sous-répertoire et modification de nom de fichier. 3. Les fichiers de données aux formats TXT et CSV ne peuvent être lus et écrits qu'avec les instructions FREAD(700) et FWRIT(701). La lecture et l'écriture de ces fichiers ne sont pas possibles avec un périphérique de programmation. 208 Chapitre 5-1 Mémoire de fichiers 4. Les versions V1.2 et supérieures du CX-Programmer peuvent être utilisées pour transférer des fichiers de programmes (.OBJ) entre la RAM de l'ordinateur et un périphérique de stockage. 5. Avec une UC série CS/CJ Ver. 2.0, les fichiers peuvent être transférés automatiquement vers l'UC au démarrage sans qu'un fichier de paramètres ne soit stocké sur la carte mémoire. Pour ce faire, remplacez le nom du fichier de programme par REPLACE.OBJ. Il est également possible de transférer des fichiers de données avec REPLACE.OBJ en utilisant les noms de fichiers suivants : REPLACE.IOM, REPLCDM.IOM et REPLCE@.IOM. 6. Lorsque vous transférez des projets vers une UC série CS/CJ avec une version de carte 3.0 ou supérieure à partir d’un CX-Programmer version 5.0 ou supérieure, les tables de symboles, les fichiers de commentaires et les fichiers d’index de programmes peuvent être stockés à l’intérieur de la mémoire des commentaires dans la mémoire flash interne de l’UC (uniquement en l’absence de carte mémoire ou de mémoire de fichiers EM, ou si aucune zone n’est disponible). Les fichiers de sauvegarde des tables de symboles, des fichiers de commentaires et des fichiers d’index de programmes qui sont stockés sur la carte mémoire, la mémoire de fichiers EM ou la mémoire des commentaires seront automatiquement créés et stockés sur la carte mémoire. 5-1-5 Applications La mémoire de fichiers peut être utilisée pour les applications suivantes. Fichiers de données Dans cette application, les paramètres des données de la zone DM (pour les cartes d'E/S spéciales, les cartes réseau et les cartes internes (série CS uniquement)) sont stockées dans la carte mémoire. Si le fichier de données est nommé AUTOEXEC.IOM, les paramètres stockés dans le fichier seront automatiquement transférés à la mise sous tension. Données dans une zone DM affectée. Exemple : ABC.IOM Dans cette application, les données des fonctionnement (tendances, contrôle qualité et autres données) générées pendant l'exécution du programme sont stockées dans la mémoire de fichiers EM avec l'instruction WRITE DATA FILE (FWRIT(701)). Tendances, etc. Mémoire de fichiers EM Remarque Il est préférable de stocker les données souvent consultées, telles les données des tendances, dans la mémoire de fichiers EM plutôt que sur une carte mémoire. Fichiers de données ASCII (.TXT et .CSV) Les données de production qui ont été sauvegardées sur la carte mémoire dans le format TXT ou CSV peuvent être transférées vers un PC par l'inter- 209 Chapitre 5-1 Mémoire de fichiers médiaire d'un adaptateur de carte mémoire et modifiées avec un tableur (non pris en charge par les UC CS1 série CS antérieures à EV1). ou Données des mémoires E/S sauvegardées au format CSV ou TXT. Via un adaptateur de carte mémoire Tableur Carte mémoire Inversement, les données telles que les paramètres des cartes d'E/S spéciales peuvent être créés avec un tableur dans le format TXT ou CSV, stockées sur une carte mémoire et lues sur l'UC par FREAD(700) (non pris en charge par les UC CS1 série CS antérieures à EV1). Fichiers de programmes (.OBJ) Dans cette application, les programmes qui contrôlent des processus différents sont stockées sur des cartes mémoire individuelles. Vous pouvez changer l'ensemble de la configuration de l'API (programme, configuration de l'API, etc.) en insérant une carte mémoire différente et en utilisant la fonction de démarrage automatique au démarrage. A.OBJ B.BJO C.OBJ L'intégralité du programme peut être remplacée en cours d'opération à partir du programme lui-même (sans Périphérique de programmation) avec un bit de contrôle de zone auxiliaire (non pris en charge par les UC CS1 série CS antérieures à EV1). En cours d'opération .OBJ Remplacement du programme Fichiers de zone de paramètres (.STD) Dans cette application, la configuration de l'API, les tables de routage, la table d'E/S et les autres données destinées à des périphériques ou des machines particuliers sont stockés sur des cartes mémoire. Vous pouvez transférer les données vers un autre périphérique ou une autre machine simplement en changeant de carte mémoire. Utiliser A.STD. 210 Traitement des fichiers Chapitre 5-2 Fichiers de sauvegarde La fonction de sauvegarde permet de stocker toutes les données de l'UC (l'ensemble de la mémoire E/S, du programme et de la zone de paramètres) sur la carte mémoire sans périphérique de programmation. Si un problème survient sur les données de l'UC, les données sauvegardées peuvent être restaurées immédiatement (non pris en charge par les UC CS1 série CS antérieures à EV1). Fichiers de tableaux de symboles Vous pouvez utiliser CX-Programmer pour sauvegarder des symboles de programmes et des commentaires d'E/S dans des fichiers de tableaux de symboles intitulés SYMBOLS.SYM sur les cartes mémoire ou dans la mémoire de fichiers EM. Lorsque vous utilisez la version 5.0 ou une version supérieure du CX-Programmer associé à une UC série CS/CJ avec une version de carte 3.0 ou supérieure, les fichiers de tables de symboles peuvent être enregistrés à l’intérieur de la mémoire des commentaires dans la mémoire flash interne de l’UC si aucune carte mémoire ou mémoire de fichiers EM n’est fournie, ou si aucune zone de mémoire n’est disponible. Fichiers de commentaires Vous pouvez utiliser CX-Programmer pour sauvegarder les commentaires des équations logiques du programme dans des fichiers de commentaires intitulés COMMENTS.CMT sur les cartes mémoire ou dans la mémoire de fichiers EM. Lorsque vous utilisez une UC série CS/CJ avec une version de carte 3.0 ou supérieure, les fichiers de commentaires peuvent être enregistrés à l’intérieur de la mémoire des commentaires dans la mémoire flash interne de l’UC, qu’une carte mémoire ou une mémoire de fichiers EM soient disponibles ou non. 5-2 Traitement des fichiers Les procédures suivantes permettent d'effectuer des opérations de lecture, d'écriture et autres sur les fichiers avec le méthodes suivantes. • Périphériques de programmation • Commandes FINS • Instructions FREAD(700), FWRIT(701) et CMND(490) dans le programme utilisateur (CMND(490) : non pris en charge par les UC CS1 série CS antérieures à EV1.) • Remplacement du programme entier avec les bits de contrôle de zone auxiliaire (non pris en charge par les UC CS1 série CS antérieures à EV1) • Transfert automatique au démarrage • Fonction de sauvegarde (non prise en charge par les UC CS1 série CS antérieures à EV1) 5-2-1 Périphériques de programmation (y compris les Consoles de programmation) Les opérations suivantes sont disponibles avec les périphériques de programmation. Opération Lecture de fichiers (transfert de la mémoire de fichiers vers l'UC) Ecriture de fichiers (transfert de l'UC vers la mémoire de fichiers) Comparaison de fichiers (comparaison des fichiers dans l'UC et la mémoire de fichiers) Formatage de la Cartes mémoire mémoire de fichiers Fichiers EM Modification des noms de fichiers Lecture des données de la mémoire de fichiers CX-Programmer OK Console de programmation OK OK (voir remarque.) Impossible OK (voir remarque.) OK OK OK OK OK OK OK Impossible Impossible 211 Chapitre 5-2 Traitement des fichiers Opération CX-Programmer Suppression de fichiers Copie de fichiers Suppression/création de sous-répertoires Remarque Avec l'UC série CS/CJ Ver. 2.0 ou supérieure, vous pouvez utiliser une protection en lecture par mot de passe pour interdire l'écriture d'un fichier de programme dans la mémoire de fichiers (par exemple, une carte mémoire ou la mémoire de fichiers EM). Périphérique de programmation Création d'un fichier de programme utilisateur. OK OK OK Console de programmation OK Impossible Impossible Console de programmation Création d'un fichier de mémoire E/S Périphérique de Console de programmation programmation UC UC Carte mémoire Programme utilisateur Carte mémoire Programme utilisateur Programme utilisateur Remarque Mémoire E/S Mémoire E/S Mémoire de fichiers EM Mémoire de fichiers EM Mémoire E/S 1. Créez les étiquettes de volume requises avec l'Explorateur Windows. 2. La mémoire de fichiers utilise le formatage rapide de Windows. Si une erreur de formatage a lieu pour les cartes mémoire, elles peuvent être formatées avec la commande de formatage normal de Windows. 3. L'heure et la date d'écriture des fichiers pour les transferts entre l'UC et la mémoire de fichiers seront données par l'horloge de l'UC. Création d'un fichier de paramètres UC Périphérique de programmation Console de programmation Carte mémoire Zone de paramètres Zone de paramètres Zone de paramètres Remarque Mémoire de fichiers EM Avec l'UC série CS/CJ Ver. 2.0 ou supérieure et CX-Programmer Ver. 4.0 ou supérieure, la création d'un fichier de programme de sauvegarde (.OBJ) peut être interdite en tant qu'option lorsque vous enregistrez un mot de passe pour l'ensemble du programme utilisateur ou pour des tâches spécifiques. Pour plus de détails, voir Protection en écriture de programmes dans la section 1-4-2 Protection contre la lecture améliorée grâce aux mots de passe du Manuel d'utilisation des API, série CS ou du Manuel d'utilisation des API, série CJ. Une carte mémoire peut être installée dans un emplacement de cartes API sur un PC avec l'adaptateur de carte mémoire HMC-AP001 (vendu séparément). Lorsque vous installez une carte mémoire sur l'ordinateur, d'autres 212 Chapitre 5-2 Traitement des fichiers programmes, tel l'Explorateur Windows, peuvent accéder en lecture et en écriture aux fichiers présents sur la carte. Adaptateur de carte mémoire HMC-AP001 Carte mémoire Emplacement de carte PC sur l'ordinateur CX-Programmer Pour les opérations sur la mémoire de fichiers, utilisez la procédure suivante. 1,2,3... 1. Double-cliquez sur l'icône Memory Card dans la fenêtre de projet lorsque l'UC est en ligne. La fenêtre Memory Card s'affiche à l'écran. 2. Pour effectuer un transfert de l'UC vers la mémoire de fichiers, sélectionnez la zone de programme, la zone de mémoire E/S ou la zone de paramètres dans l'espace de travail du projet, sélectionnez Transfer dans la mémoire de fichiers, puis sélectionnez le transfert vers la carte mémoire ou la mémoire de fichiers EM. or Pour effectuer un transfert de la mémoire de fichiers vers l'UC, sélectionnez le fichier dans la mémoire de fichiers, puis déplacez-le (avec la méthode glisser-déplacer) vers la zone de programme, la zone de mémoire E/S ou la zone de paramètres dans l'espace de travail du projet. Remarque Utilisez les opérations de transfert de projet pour créer et lire des fichiers de tableaux de symboles (SYMBOLS.SYM) et des fichiers de commentaires (COMMENTS.CMT) sur CX-Programmer. Console de programmation CLR FUN SHIFT CONT # ↓ 000000 CT00 0: Transfer 1: Verify 0: Initialize 1: Delete Vous pouvez exécuter les opérations suivantes. Elément 1 Elément 2 0 : Envoyer 0 : API vers carte mémoire 1 : carte mémoire vers API Elément 3 Sélectionner OBJ, CIO, HR, WR, AR, DM, EM ou STD. Elément 4 Elément 5 Définir les adresses de Type de support, nom de début et de fin de transfert fichier Sélectionner OBJ, CIO, HR, WR, AR, DM, EM ou STD. Définir les adresses de Type de support, nom de début et de fin de transfert fichier 213 Chapitre 5-2 Traitement des fichiers Elément 1 Elément 2 Elément 3 Elément 4 1 : Vérifier Sélectionner OBJ, CIO, HR, WR, AR, DM, EM ou STD. 2 : Initialiser Entrer 9713 (carte mémoire) ou 8426 (mémoire de fichiers EM). Sélectionner OBJ, CIO, HR, Type de support, nom de WR, AR, DM, EM ou STD. fichier 3 : Supprimer Remarque UC source Version de Pré-ver. 2.0 carte de l’UC dans laquelle les fichiers Version de de paramètres ont carte 2.0 été créés Version de carte 3.0 ou supérieure 214 Elément 5 Type de support, nom de fichier --- --- Les types de fichiers sont répertoriées dans le tableau suivant. Symbole OBJ CIO HR WR AR DM EMO_ STD Précautions lors de la comparaison des données après le transfert des fichiers de paramètres Définir les adresses de début et de fin de comparaison --- Type de fichier Fichier de programme (.OBJ) Fichier de Zone CIO données (.IOM) Zone HR Zone WR Zone auxiliaire Zone DM Zone EM Fichiers de paramètres (.STD) Des erreurs de vérification peuvent se produire sur la console de programmation lorsque vous comparez les données des paramètres entre les fichiers avant le transfert et les données après le transfert, si les fichiers de paramètres (.STD) créés dans une UC série CJ sont enregistrées sur la carte mémoire d’une autre UC série CJ avec une version de carte différente. Le tableau suivant présente l’occurrence des erreurs pour les différentes combinaisons de versions de cartes. Etat initial des affectations d'E/S Affectation automatique Spécifié par l’utilisateur Affectation automatique Spécifié par l’utilisateur Affectation automatique Spécifié par l’utilisateur UC destination Version de carte de l’UC vers laquelle les fichiers de paramètres seront transférés Pré-ver. 2.0 Version de carte 2.0 Version de carte 3.0 ou supérieure Vérification possible Vérification possible Erreur de vérification Erreur de vérification Erreur de vérification Vérification possible Erreur de vérification Vérification possible Vérification possible Chapitre 5-2 Traitement des fichiers UC source Pré-ver. 2.0 Version de carte de l’UC utilisée afin de créer les fichiers pour le transfert automatique au démarrage Version de carte 2.0 Version de carte 3.0 ou supérieure 5-2-2 Etat initial des UC destination affectations d'E/S Version de carte de l’UC vers laquelle les fichiers pour le transfert automatique au démarrage seront envoyés Pré-ver. 2.0 Version de carte Version de carte 2.0 3.0 ou supérieure Affectation Bascule sur (Idem) Affectation Bascule sur automatique spécifié par automatique spécifié par l’utilisateur l’utilisateur Spécifié par l’utili- (Idem) Spécifié Bascule sur affec- (Idem) Spécifié sateur par l’utilisateur tation automatipar l’utilisateur que (Voir remarque 1.) Affectation autoBascule sur spéci- (Idem) Affectation Bascule sur opéramatique fié par l’utilisateur automatique tion utilisateur Spécifié par (Idem) Spécifié (Idem) Spécifié (Idem) Spécifié l’utilisateur par l’utilisateur par l’utilisateur par l’utilisateur Affectation Bascule sur spéci- (Idem) Affectation (Idem) Affectation automatique fié par l’utilisateur automatique automatique Spécifié par (Idem) Spécifié (Idem) Spécifié (Idem) Spécifié l’utilisateur par l’utilisateur par l’utilisateur par l’utilisateur Commandes FINS L'UC peut exécuter les opérations suivantes sur la mémoire de fichiers lorsqu'il reçoit la commande FINS appropriée. Ces opérations sont similaires aux fonctions du périphérique de programmation. Commandes FINS via Host Link Un ordinateur connecté via un système Host Link peut envoyer une commande FINS avec un en-tête et un code final Host Link. Ordinateur hôte UC Commande FINS Carte mémoire Mémoire E/S Programme utilisateur Mémoire de fichiers EM Zone de paramètres Commande FINS d'une autre API réseau Une autre API sur un réseau peut envoyer une commande FINS avec CMND(490). UC Mémoire E/S Autre API sur le réseau Instruction CMND Programme utilisateur Zone de paramètres Carte mémoire Mémoire de fichiers EM Commande FINS 215 Chapitre 5-2 Traitement des fichiers Remarque Un ordinateur sur un réseau Ethernet peut lire et écrire la mémoire de fichiers (cartes mémoire ou mémoire de fichiers EM) sur une UC via une carte Ethernet. Les données des fichiers peuvent être échangées si l'ordinateur hôte fonctionne en tant que client FTP et l'API série CS/CJ en tant que serveur FTP. Ordinateur hôte (client FTP) Carte Ethernet Ethernet Carte mémoire ou mémoire de fichiers EM Commande FTP De l'ordinateur vers la carte mémoire Fichier De la carte mémoire vers l'ordinateur Carte mémoire ou mémoire de fichiers EM Carte mémoire ou mémoire de fichiers EM Fichier Vous pouvez utiliser les commandes FINS suivantes pour exécuter différentes fonctions (lecture et écriture de fichiers, etc.). Commande Nom 2201 hex. FILE NAME READ 2202 hex. SINGLE FILE READ 2203 hex. SINGLE FILE WRITE 2204 hex. 2205 hex. FILE MEMORY FORMAT FILE DELETE 2207 hex. FILE COPY 2208 hex. 220A hex. FILE NAME CHANGE MEMORY AREA FILE TRANSFER 220B hex. PARAMETER AREA FILE TRANSFER PROGRAM AREA FILE TRANSFER CREATE/DELETE SUBDIRECTORY 220C hex. 2215 hex. Remarque 5-2-3 Description Lit les données de la mémoire de fichiers Lit une longueur de données de fichier spécifiée à partir d'une position donnée dans un fichier. Ecrit une longueur de données de fichier spécifiée à partir d'une position donnée dans un fichier. Formate (initialise) la mémoire de fichiers. Supprime les fichiers spécifiés stockés dans la mémoire de fichiers. Copie des fichiers d'une mémoire de fichiers vers une autre mémoire de fichiers. Change un nom de fichier. Transfère ou compare des données entre la zone de mémoire E/S et la mémoire de fichiers. Transfère ou compare les données entre la zone de paramètres et la mémoire de fichiers. Transfère ou compare les données entre la zone UM (mémoire utilisateur) et la mémoire de fichiers. Crée et supprime des sous-répertoires. L'heure de l'horloge interne de l'UC est utilisée pour dater les fichiers créés dans la mémoire de fichiers avec les commandes 220A, 220B, 220C et 2203. FREAD(700), FWRIT(701) et CMND(490) L'instruction FWRIT(701) (WRITE DATA FILE) permet de créer un fichier de données contenant les données de la mémoire E/S spécifiée sur une carte mémoire ou dans la mémoire de fichiers EM. Elle permet également d'ajouter ou d'écraser des données à partir de n'importe quel point dans les fichiers existants. L'instruction FREAD(700) (READ DATA FILE) permet de lire des données de mémoire E/S à partir d'un emplacement spécifié dans un fichier de données, sur une carte mémoire ou dans la mémoire de fichiers EM, et de les écrire dans la partie de la mémoire E/S spécifiée. La lecture est possible à partir de n'importe quel point dans le fichier spécifié. 216 Chapitre 5-2 Traitement des fichiers Remarque Ces instructions ne transfèrent pas le fichier spécifié, mais plutôt la quantité de données spécifiée, à partir de la position de départ indiquée. Vous pouvez exécuter l'instruction CMND(490) (DELIVER COMMAND) pour émettre une commande FINS sur l'UC proprement dite afin d'exécuter des opérations sur les fichiers. Les opérations sur les fichiers (formatage, suppression, copie, changement de nom, etc.) peuvent être exécutées sur les fichiers contenus sur la carte mémoire ou dans la mémoire de fichiers EM (non pris en charge par les UC CS1 série CS antérieures à EV1). FREAD(700)/FWRIT(701) : transferts entre la mémoire E/S et la mémoire de fichiers UC CMND(490) : Opérations sur la mémoire de fichiers (Impossible pour les UC série CS antérieures à EV1) UC Instruction FREAD/FWRIT Instruction CMND Fonctionnement Mémoire E/S Mémoire E/S Mémoire E/S Carte mémoire Mémoire E/S Fonctionnement Carte mémoire Mémoire de fichiers EM Mémoire de fichiers EM Instructions FREAD(700)/FWRIT(701) FREAD(700) et FWRIT(701) transfèrent les fichiers entre la mémoire E/S et la mémoire de fichiers. Toutes les UC CJ peuvent transférer des données binaires (fichiers .IOM) et les UC V1 peuvent également transférer des fichiers ASCII (fichiers .TXT et CSV). Transfert de fichiers ASCII (non pris en charge par les UC CS1 série CS antérieures à EV1). Nom READ DATA FILE Mnémonique FREAD(700) WRITE DATA FILE FWRIT(701) Description Lit les données des fichiers de données ou les éléments de données spécifiés dans la mémoire E/S spécifiée. Utilise les données de la zone de mémoire E/S spécifiée pour créer un fichier de données spécifié. Les fichiers ASCII peuvent être transférés au même titre que les fichiers binaires ; les troisième et quatrième chiffres de l'opérande du mot de contrôle de l'instruction (C) indiquent le type du fichier de données transféré et le nombre de champs entre les retours chariot. 217 Chapitre 5-2 Traitement des fichiers Bits Paramètres dans C 12 à 15 Type de données 0 : Binaire (.IOM) 1 : Mots non délimités (.TXT) 2 : Mots doubles non délimités (.TXT) 3 : Mots délimités par des virgules (.CSV) 4 : Mots doubles délimités par des virgules (.CSV) 5 : Mots délimités par des tabulations (.TXT) 6 : Mots doubles délimités par des tabulations (.TXT) 08 à 11 Retours chariot 0 : Pas de retours 8 : Retour tous les 10 champs 9 : Retour tous les 1 champ A : Retour tous les 2 champs B : Retour tous les 4 champs C : Retour tous les 5 champs D : Retour tous les 16 champs Limites du périphérique de programmation Si vous utilisez CX-Programmer V1.1 ou une version antérieure, seul 0 hex. (fichiers .IOM) peut être spécifié directement. Si vous utilisez CX-Programmer V1.2 ou une version supérieure (ou une console de programmation), les bits du mot de contrôle peuvent prendre une valeur comprise entre 0 et 6 hex. Si vous utilisez CX-Programmer V1.1 ou une version antérieure (ou une console de programmation), seul 0 hex. (par de retours) peut être spécifié directement. Si vous utilisez CX-Programmer V1.2 ou une version ultérieure, les bits du mot de contrôle peuvent prendre la valeur 0 hex. ou une valeur comprise entre 8 et D hex. CX-Programmer V1.1 ou version inférieure : Configuration indirecte du mot de contrôle Lorsque vous utilisez CX-Programmer V1.1 ou une version antérieure, les fichiers ASCII ne peuvent pas être transférés avec FREAD(700) et FWRIT(701) si vous entrez une constante pour le mot de contrôle afin de spécifier le traitement des types de données et des retours chariot. Seules les données binaires sans retours chariot peuvent être transférées si une constante est utilisée. Vous pouvez toutefois transférer les fichiers ASCII avec FREAD(700) et FWRIT(701) en définissant le mot de contrôle de façon indirecte. Ecrivez le paramètre du mot de contrôle voulu dans un mot et spécifiez ce mot en tant que mot de contrôle dans FREAD(700) ou FWRIT(701), comme indiqué dans la partie gauche du schéma suivant. CX-Programmer Versions V1.1 et antérieures Condition Drapeau de d'exécution fonctionnement de la mémoire de fichiers Écrire #1800 dans W000. CX-Programmer Versions V1.2 et ultérieures Spécifier W000 pour C. Remarque Condition d'exécution Drapeau de fonctionnement de la mémoire de fichiers Spécifier #1800 pour C. L'heure de l'horloge interne de l'UC est utilisée pour dater les fichiers créés dans la mémoire de fichiers avec FWRIT(701). Vous ne pouvez exécuter qu'une seule opération à la fois sur la mémoire de fichiers ; par conséquent, FREAD(700) et FWRIT(701) ne doivent pas être exécutées lorsque l'une des opérations suivantes sur la mémoire de fichiers est en cours : 1,2,3... 218 1. Exécution de FREAD(700) ou FWRIT(701) Chapitre 5-2 Traitement des fichiers 2. Exécution de CMND(490) pour envoyer une commande FINS à l'UC proprement dite 3. Remplacement du programme complet par des opérations de bit de contrôle de zone auxiliaire 4. Exécution d'une opération de sauvegarde simple Utilisez le drapeau de fonctionnement de la mémoire fichier (A34313) pour contrôler de façon exclusive les instructions de mémoire de fichiers afin d'empêcher leur exécution pendant qu'une autre opération est en cours sur la mémoire de fichiers. Lorsque FREAD(700) est en cours d'exécution, le drapeau d'erreur de lecture de fichier (A34310) passe à ON et l'instruction n'est pas exécutée si le fichier spécifié contient le type de données incorrect ou si les données du fichier sont altérées. Pour les fichiers texte ou CSV, le code des caractères doit correspondre à des données hexadécimales et des séparateurs doivent être placés tous les 4 chiffres pour les données des mots et tous les 8 chiffres pour les données des doubles mots. Les données seront lues jusqu'au point où un caractère interdit sera détecté. Bits auxiliaires/mots associés Nom Type de carte mémoire Adresse Opération A34300 à Indique le type de la carte mémoire installée, le cas échéant. A34302 Drapeau d'erreur de A34306 Passe à ON lorsqu'une erreur de formatage se produit dans la formatage de mémoire de première banque EM affectée à la mémoire de fichiers. Passe à fichiers EM OFF lorsque le formatage s'est terminé normalement. Drapeau d'erreur du format A34307 Sur ON lorsque la carte mémoire n'est pas formatée ou carte mémoire lorsqu'une erreur de formatage s'est produite. Drapeau d'erreur d'écriture A34308 Passe à ON lorsqu'une erreur est survenue pendant l'écriture de fichier dans le fichier. Drapeau d'erreur d'écriture A34309 A ON lorsque les données n'ont pas pu être écrites, le fichier de fichier étant protégé en écriture ou l'espace disponible étant insuffisant. Drapeau d'erreur lecture de A34310 A ON lorsqu'un fichier n'a pas pu être lu parce que ses données fichier sont altérées ou qu'il contient un type de données incorrect. Drapeau d'absence de A34311 A ON lorsque les données n'ont pas pu être lues parce que le fichier fichier spécifié n'existe pas. Drapeau de fonctionnement A34313 ON pour chacune des situations suivantes : de la mémoire de fichiers L'UC traite une commande FINS qu'elle a reçue avec CMND(490). FREAD(700) ou FWRIT(701) sont en cours d'exécution. Le programme est remplacé à l'aide d'un bit de contrôle de zone auxiliaire. Une opération de sauvegarde simple est en cours d'exécution. Drapeau d'accès au fichier A34314 A ON lorsque le système est en train d'accéder aux données du fichier. Drapeau de carte mémoire A34315 A ON lorsque la carte mémoire a été détectée. détectée (non pris en charge par les UC CS1 série CS antérieures à EV1). Nombre d'éléments à A346 à Ces mots indiquent le nombre de mots ou de champs restant à transférer A347 transférer (32 bits). Lorsqu'un fichier binaire (.IOM) est transféré, ce nombre est décrémenté chaque fois qu'un mot est lu. Lorsqu'un fichier texte ou CSV est transféré, ce nombre est décrémenté chaque fois qu'un champ est transféré. 219 Chapitre 5-2 Traitement des fichiers CMND(490)w: DELIVER COMMAND CMND(490) permet d'émettre une commande FINS sur l'UC locale pour exécuter des opérations sur la mémoire de fichiers (formatage, suppression de fichiers, etc.). Effectuez les réglages suivants dans les mots de contrôle de CMND(490) lorsque vous émettez une commande FINS de mémoire de fichiers sur l'API locale : 1,2,3... 1. Réglez l'adresse du réseau de destination sur 00 (réseau local) dans C+2. 2. Réglez l'adresse de la carte de destination sur 00 (UC de l'API) et le nœud de destination sur 00 (dans le nœud local) dans C+3. 3. Définissez le nombre de tentatives à 0 dans C+4. (En effet, ce paramètre n'est pas valide.) Commandes FINS relatives à la mémoire de fichiers Remarque Pour plus d'informations sur les commandes FINS, reportez-vous à la section 5-2-2 Commandes FINS. D'autres commandes FINS relatives à la mémoire de fichiers ne figurant pas dans le tableau suivant peuvent être exécutées. Veuillez vous reporter au Manuel de référence des commandes de communication (W342) pour de plus amples informations sur les commandes FINS. CMND(490) ne peut pas être exécutée sur l'UC locale si une autre instruction CMND(490) est en cours d'exécution sur une autre UC, si FREAD(700) ou FWRIT(701) est en cours d'exécution, si le remplacement du programme par une opération de bit de contrôle de zone auxiliaire est en cours ou si une opération de sauvegarde simple est en cours d'exécution. Veillez à inclure le drapeau de fonctionnement de la mémoire de fichiers (A34313) comme une condition normalement fermée pour empêcher l'exécution de CMND(490) pendant qu'une autre opération sur la mémoire de fichiers est en cours. Si CMND(490) ne peut pas être exécutée pour l'UC locale, le drapeau d'erreur passera à ON. Bits auxiliaires/mots associés Nom Adresse Drapeau de A34313 fonctionnement de la mémoire de fichiers Drapeau de carte mémoire détectée 220 A34315 Opération ON pour chacune des situations suivantes : • L'UC s'est envoyé une commande FINS à elle-même avec CMND(490). • FREAD(700) ou FWRIT(701) sont en cours d'exécution. • Le programme est remplacé à l'aide d'un bit de contrôle de zone auxiliaire. • Une opération de sauvegarde simple est en cours d'exécution. A ON lorsque la carte mémoire a été détectée. (non pris en charge par les UC CS1 série CS antérieures à EV1). Chapitre 5-2 Traitement des fichiers L'exemple suivant montre comment utiliser CMND(490) pour créer un sousrépertoire sur la carte mémoire. Drapeau d'activation d'instruction réseau (pour port 7) Lorsque 000000 et A20207 sont sur ON et A34313 à OFF, CMND(490) émet la commande FINS 2215 (CREATE/DELETE SUBDIRECTORY). La commande est envoyée à l'UC locale et la réponse enregistrée dans D00100 et D00101. Dans ce cas, la commande FINS crée un sousrépertoire nommé "CS1" dans le répertoire "OMRON" sur la carte mémoire de l'UC. La réponse est constituée du code (2 octets) de la commande (2215) et du code (2 octets) de la réponse. Drapeau de fonctionnement de la mémoire de fichiers Code de la commande : 2215 Hex (CREATE/DELETE SUBDIRECTORY) Numéro de disque : 8000 Hex (carte mémoire) Paramètre : 0000 Hex (créer un sous-répertoire.) Nom du sous-répertoire : CS1@@@@@.@@@ (@ : un espace) Longueur du répertoire : 0006 Hex (6 caractères) Chemin du répertoire : \OMRON Nombre d'octets de données de commande : 001A Hex (26 octets) Nombre d'octets de données de réponse : 0004 Hex (4 octets) Adresse de destination : 0000 Hex (réseau local) 00 Hex (nœud node) et 00 Hex (UC) Réponse demandée, port de communication 7, 0 nouvelle tentative Temps de réponse : FFFF Hex (6 553,5 s) Remarque 5-2-4 Outre les commandes relatives aux opérations sur la mémoire de fichiers figurant dans le tableau précédent, d'autres commandes FINS peuvent être envoyées à l'API locale. Le drapeau de fonctionnement de la mémoire de fichiers doit être utilisé pour éviter l'exécution simultanée de ces autres commandes FINS. Remplacement du programme entier en cours d'opération (non pris en charge par les UC CS1 série CS antérieures à EV1). Vous pouvez remplacer le programme entier en cours d'opération (mode RUN ou MONITOR) en mettant le drapeau de démarrage de remplacement (A65015) à ON. Le fichier spécifié sera lu à partir de la carte mémoire et remplacera le programme exécutable à la fin du cycle en cours. Le mot de passe du programme de remplacement (A651) et le nom du fichier de programme (A654 à A657) doivent être enregistrés à l'avance et le fichier de programme spécifié doit exister sur la carte mémoire pour remplacer le programme en cours d'opération. 221 Chapitre 5-2 Traitement des fichiers UC Remplacement Programme utilisateur Carte mémoire Drapeau de démarrage de remplacement (A65015) de OFF à ON. Spécifie le programme Nom de fichier du programme de remplacement Programme utilisateur complet Traitement normal Le programme entier est remplacé Drapeau de démarrage du remplacement Condition d'exécution Traitement normal L'UC exécutera les autres instructions du cycle lorsque le drapeau de démarrage de remplacement passera à ON. (Dans la dernière tâche) Il est également possible de remplacer le programme lorsque son exécution est arrêtée (mode PROGRAM) en mettant le drapeau de démarrage de remplacement à ON à partir d'un périphérique de programmation. Remarque Le fichier du programme de remplacement ne peut pas être lu à partir de la mémoire de fichiers EM. Le drapeau de démarrage de remplacement (A65015) peut être mis à ON à n'importe quel emplacement (adresse de programme) du programme. L'UC exécutera les autres instructions du cycle une fois que le drapeau de démarrage de remplacement sera passé de OFF à ON. Le programme ne sera pas exécuté pendant le remplacement. Après le remplacement du programme, l'opération sera redémarrée comme si l'UC était passée du mode PROGRAM au mode RUN ou MONITOR. Le programme sera remplacé à la fin du cycle dans lequel le drapeau de démarrage de remplacement sera passé de OFF à ON, c'est-à-dire après l'exécution de END(001) dans la dernière tâche du programme. 222 Chapitre 5-2 Traitement des fichiers Remarque Fichier de remplacement 1. Mettez le bit de maintien IOM (A50012) 0 on si vous souhaitez conserver l'état des données de la mémoire E/S tout au long du remplacement du programme. Mettez le bit de maintien état forcé (A50013) à ON si vous souhaitez conserver l'état des bits définis de force et réinitialisés de force tout au long du remplacement du programme. 2. Si le bit de maintien IOM (A50012) est à ON avant le remplacement du programme, l'état des bits dans la mémoire E/S sera conservé après le remplacement. Assurez-vous que les charges externes fonctionnent correctement avec les mêmes données de mémoire E/S. De même, si le bit de maintien état forcé (A50013) est à ON avant le remplacement du programme, l'état des bits définis de force et réinitialisés de force sera conservé après le remplacement. Assurez-vous que les charges externes fonctionnent correctement avec les mêmes bits définis de force et réinitialisés de force. Le fichier de programme spécifié dans le nom du fichier de programme (A654 à A657) sera lu à partir de la carte mémoire et remplacera le programme existant à la fin du cycle dans lequel le drapeau de démarrage de remplacement (A65015) sera passé de OFF à ON. Fichier Fichier de programme Conditions requises pour le remplacement du programme Remarque Fonctionnement de l'UC pendant le remplacement du programme Opérations qui continuent pendant et après le remplacement du programme Remarque Nom de fichier Spécification du nom du fichier de et extension remplacement (********) ∗∗∗∗∗∗∗∗.OBJ Ecrivez le nom du fichier du programme de remplacement dans les mots A654 à A657 avant le remplacement du programme. Les conditions suivantes doivent être réunies pour que vous puissiez remplacer le programme en cours d'opération. • Le mot de passe du programme (A5A5) a été écrit dans A651. • Le fichier de programme spécifié dans les mots du nom du fichier de programme (A654 à A657) existe dans le répertoire racine de la carte mémoire. • La carte mémoire a été détectée par l'UC. (A34315 ON) • Aucune erreur fatale ne s'est produite. • Aucune opération sur la mémoire de fichiers n'est en cours d'exécution. (A34313 OFF) • Aucune écriture de données n'est en cours dans la zone de programme. • Le droit d'accès est disponible. (Par exemple, aucun transfert de données n'est en cours entre CX-Programmer et l'API.) Le programme peut être transféré dans n'importe quel mode de fonctionnement. L'UC fonctionnera de la façon suivante pendant le remplacement du programme : • Exécution du programme : arrêté • Surveillance du temps de cycle : pas de surveillance Lorsque le bit de maintien IOM (A50012) est à ON, les données des zones de mémoire suivantes sont conservées : zone CIO, zone de travail (W), drapeaux de fin de temporisation (T), registres d'index (IR), registres de données (DR) et numéro de banque EM courant. Les valeurs actuelles de temporisation remplacement du programme. sont effacées pendant le Si le bit de maintien IOM est à ON lorsque le programme est transféré, les charges qui étaient produites avant le remplacement du programme continueront d'être produites après le remplacement. Assurez-vous que les charges fonctionnent correctement après le remplacement du programme. L'état des bits définis et réinitialisés de force sera conservé pendant le remplacement du programme si le bit de maintien état forcé (A50013) est à ON. 223 Chapitre 5-2 Traitement des fichiers Les interruptions seront masquées. Si la traçabilité des données est effectuée, elle sera interrompue. Les conditions des instructions (verrouillages, coupures et exécution de programme de bloc) seront initialisées. Les drapeaux de différentiation seront initialisés, que le bit de maintien IOM soit à ON ou à OFF. Opérations après le remplacement du programme L'état des tâches cycliques dépend de leurs propriétés de démarrage d'opération. (Elles ont le même état que si l'API passait du mode PROGRAM au mode RUN/MONITOR.) Le drapeau du premier cycle (A20011) sera à ON pendant un cycle après la reprise de l'exécution du programme. (L'état est le même que si l'API passait du mode PROGRAM au mode RUN/MONITOR.) Temps requis pour le remplacement du programme Taille du programme entier 60 Kpas 250 Kpas Temps de traitement des Temps approximatif périphériques défini requis pour le dans la configuration de remplacement du l'API programme Par défaut (4 % du temps 6 s de cycle) 25 s Bits auxiliaires/mots associés Nom Drapeau de fonctionnement de la mémoire de fichiers Adresse A34313 Drapeau de détection de carte mémoire (Non pris en charge par les UC CS1 série CS antérieures à EV1) A34315 Bit de maintien IOM A50012 Bit de maintien de état forcé A50013 Code d'achèvement fin de remplacement (Non pris en charge par les UC CS1 série CS antérieures à EV1) A65000 à A65007 Code d'erreur de remplacement (Non pris en charge par les UC CS1 série CS antérieures à EV1) A65014 224 Opération ON pour chacune des situations suivantes : L'UC s'est envoyé une commande FINS à elle-même avec CMND(490). FREAD(700) ou FWRIT(701) sont en cours d'exécution. Le programme est écrasé à l'aide d'un bit de contrôle de zone auxiliaire (A65015). Une opération de sauvegarde simple est en cours d'exécution. A ON lorsque la carte mémoire a été détectée. Lorsque ce bit est à ON, le contenu de la mémoire E/S est conservé pendant le remplacement du programme. Lorsque ce bit est à ON, l'état des bits définis et réinitialisés de force est conservé pendant le remplacement du programme. Codes pour un remplacement de programme normal (A65014 OFF) : 01 hex. : le fichier de programme (.OBJ) a remplacé le programme. Codes pour un remplacement de programme incomplet (A65014 ON) : 00 hex. : Une erreur fatale s'est produite. 01 hex. : Une erreur de mémoire s'est produite. 11 hex. : le programme est protégé en écriture. 12 hex. : le mot de passe du programme dans A651 est incorrect. 21 hex. : aucune carte mémoire n'est installée. 22 hex. : le fichier spécifié n'existe pas. 23 hex. : le fichier spécifié est trop grand (erreur de mémoire). 31 hex. : l'une des opérations suivantes était en cours d'exécution : • Opération sur la mémoire de fichiers. • Ecriture du programme. • Modification du mode de fonctionnement. A ON lorsqu'une erreur est survenue pendant une tentative de remplacement du programme après que A65015 est passé de OFF à ON. Passe à OFF lorsque A65015 repasse de OFF à ON. Chapitre 5-2 Traitement des fichiers Nom Adresse Drapeau de démarrage de remplacement (Non pris en charge par les UC CS1 série CS antérieures à EV1) A65015 Mot de passe du programme (Non pris en charge par les UC CS1 série CS antérieures à EV1) A651 Nom du fichier de programme (Non pris en charge par les UC CS1 série CS antérieures à EV1) A654 à A657 Opération Si vous avez activé ce bit en définissant le mot de passe du programme (A651) à A5A5 hex., le remplacement du programme commencera lorsque ce bit passera de OFF à ON. Ne refaites pas passer ce bit de OFF à ON pendant le remplacement du programme. Ce bit passe automatiquement à OFF lorsque le remplacement du programme est terminé (normalement ou avec une erreur) ou que l'alimentation est branchée. L'état de ce bit peut être lu à partir d'un périphérique de programmation, d'un terminal opérateur programmable (IHM) ou d'un ordinateur hôte pour déterminer si le remplacement du programme a été effectué ou non. Inscrivez le mot de passe dans ce mot pour activer le remplacement du programme. A5A5 hex. : active le drapeau de démarrage de remplacement (A65015). Autre valeur : désactive le drapeau de démarrage de remplacement (A65015). Ce bit passe automatiquement à OFF lorsque le remplacement du programme est terminé (normalement ou avec une erreur) ou que l'alimentation est branchée. Avant de démarrer le remplacement du programme, écrivez le nom du fichier du programme de remplacement dans ces mots en ASCII. Ecrivez simplement les 8 caractères du nom de fichier ; l'extension .OBJ est ajoutée automatiquement. Ecrivez les caractères dans l'ordre à partir de A654 (l'octet le plus significatif en premier). Si le nom du fichier comporte moins de 8 caractères, remplissez les octets restants par des codes de caractère d'espacement (20 Hex). N'incluez aucun caractère NULL ou espace dans le nom du fichier proprement dit. L'exemple suivant présente les données du fichier de programme ABC.OBJ : Exemple de programme 1 Enregistrez les fichiers de programmes ABC.OBJ et XYZ.OBJ sur la carte mémoire et sélectionnez l'un ou l'autre programme en fonction de la valeur de D00000. Définissez D00000 sur #1234 lorsque vous sélectionnez ABC.OBJ ou sur #5678 lorsque vous sélectionnez XYZ.OBJ. 225 Chapitre 5-2 Traitement des fichiers Démarrez et exécutez une autre tâche pour effectuer le traitement requis avant le remplacement du programme ou le traitement du bit de maintien IOM. Tâche principale (tâche cyclique numéro 0) MOV Drapeau du premier cycle ← Version du programme ← Zone de stockage de la version Condition d'exécution Drapeau d'absence de fichier Drapeau de démarrage du remplacement Ecrit le nom de fichier "ABC" dans les octets A654 à A657. Ecrit le nom de fichier "XYZ" dans les octets A654 à A657. Programme de traitement principal 226 Chapitre 5-2 Traitement des fichiers Tâche protégeant les données pendant le remplacement du programme (Tâche cyclique numéro 31, état en attente au démarrage) Traitement pour protéger les données avant que le remplacement du programme ne commence Drapeau toujours à ON Bit de maintien IOM Sorties vers les charges requises pendant le remplacement du programme. Exemple de programme 2 Enregistrez les fichiers de programmes de plusieurs périphériques et le fichier de programme du transfert automatique au démarrage (AUTOEXEC.OBJ ou REPLACE.OBJ (voir remarque) sur une carte mémoire. Lorsque l'API est mis sous tension, le fichier de transfert automatique au démarrage est lu et ce programme est remplacé ultérieurement par un fichier de programme pour un périphérique différent. Remarque REPLACE.OBJ est pris en charge par les UC série CS/CJ Ver. 2.0 ou supérieure uniquement. AUTOEXEC.OBJ ABC.OBJ Drapeau du premier cycle Traitement qui détermine le type de périphérique connecté et stocke le nom de fichier correspondant. Dans cet exemple, le nom de fichier "ABC" est écrit dans A654 à A657. Drapeau de carte mémoire détectée Ecraser Drapeau de démarrage du remplacement 227 Chapitre 5-2 Traitement des fichiers 5-2-5 Transfert automatique au démarrage Remarque Transfert d'un fichier de zone de paramètres Le transfert automatique au démarrage est utilisé pour lire les données du programme utilisateur, des paramètres et de la mémoire E/S à partir d'une carte mémoire sur l'UC lors de la mise sous tension. Les fichiers suivants peuvent être lus automatiquement dans la mémoire de l'UC. Il n'est pas possible d'utiliser cette fonction pour lire la mémoire de fichiers EM. Le nom du fichier de programme varie selon qu'un fichier de zone de paramètres doit également être transféré ou non. Utilisez les noms de fichiers suivants. Fichier de programme : AUTOEXEC.OBJ Fichier de zone de paramètres : AUTOEXEC.STD Fichiers de données : AUTOEXEC.IOM, ATEXECDM.IOM, ATEXECE@.IOM UC Programme utilisateur Mémoire E/S Carte mémoire Données des Ecrire au paramètres démarrage Fichier Fichier de programme Fichier de zone de paramètres Fichier de données Nom de fichier Doit contenir les éléments suivants : Fichier de programme utilisateur (AUTOEXEC.OBJ) Fichier de zone de paramètres (AUTOEXEC.STD) Peut contenir les éléments suivants : Fichiers de mémoire E/S (AUTOEXEC.IOM, ATEXECDM.IOM, ATEXECE@.IOM) Au démarrage AUTOEXEC.OBJ Le contenu de ce fichier est automatiquement transféré et remplace tout le programme utilisateur, y compris les attributs des tâches de l'UC. AUTOEXEC.STD Le contenu de ce fichier est transféré automatiquement et recouvre toutes les données des paramètres initiaux dans l'UC. AUTOEXEC.IOM Mots DM affectés aux cartes d'E/S spéciales, cartes réseau et cartes internes (série CS uniquement) Le contenu de ce fichier est transféré automatiquement dans la zone DM à partir de D20000 lors de la mise sous tension. (Voir remarque 1.) ATEXECDM.IOM Mots DM universels Le contenu de ce fichier est transféré automatiquement dans la zone DM à partir de D00000 lors de la mise sous tension. (Non pris en charge par les UC CS1 série CS antérieures à EV1) (Voir remarque 1.) ATEXECE@.IOM Mots DM universels Le contenu de ce fichier est transféré automatiquement dans la zone EM en commençant avec E@_00000 lors de la mise sous tension. (non pris en charge par les UC CS1 série CS antérieures à EV1). Remarque 228 Broche 2 de l'interrupteur DIP sur le panneau à ON Requis pour le transfert automatique Requis sur la carte mémoire. Requis sur la carte mémoire. Non requis sur la carte mémoire. 1. Si les données contenues dans AUTOEXEC.IOM et ATEXECDM.IOM se recouvrent, les données de ATEXECDM.IOM écraseront les données de recouvrement transférées à partir de AUTOEXEC.IOM, ATEXECDM.IOM étant le dernier fichier écrit. 2. Le fichier de programme (AUTOEXEC.OBJ) et le fichier de paramètres (AUTOEXEC.STD) doivent se trouver sur la carte mémoire. En l'absence de ces fichiers, le transfert automatique échouera, une erreur de mémoire se produira et A40115 (drapeau d'erreur de mémoire : erreur fatale) Chapitre 5-2 Traitement des fichiers 3. 4. 5. 6. Transfert sans fichier de zone de paramètres (UC série CS/CJ Ver. 2.0 ou supérieure uniquement) passera à ON. (Il n'est pas nécessaire que le fichier de mémoire E/S (AUTOEXEC.IOM) soit présent.) Il est possible de créer les fichiers AUTOEXEC.IOM, ATEXECDM.IOM et ATEXECE@.IOM à partir d'un périphérique de programmation (CXProgrammer ou console de programmation) avec des adresses de début autres que D20000, D00000 et E@_00000, respectivement. Les données seront de toute façon écrites avec l'adresse de début correcte, mais ne spécifiez pas d'autres adresses de début. Si la broche 7 de l'interrupteur DIP est sur ON et la broche 8 sur OFF pour utiliser la fonction de sauvegarde simple, celle-ci sera prioritaire, même si la broche 2 est également sur ON. Dans ce cas, les fichiers BACKUP@@ seront transférés vers l'UC, mais le transfert automatique au démarrage ne sera pas exécuté (non pris en charge par les UC CS1 série CS antérieures à EV1). Le fonction de transfert automatique au démarrage peut être utilisée conjointement avec la fonction de remplacement de programme. Le drapeau de démarrage de remplacement (A65015) peut être mis à ON par le programme qui est transféré automatiquement au démarrage pour le remplacer par un autre programme. La fonction de transfert automatique au démarrage et le remplacement complet du programme avec les bits de la zone auxiliaire peuvent être utilisés ensemble ; autrement dit, le programme transféré automatiquement vers l'UC au démarrage peut contenir du code pour manipuler les bits de la zone auxiliaire de façon à remplacer le programme par un autre. Utilisez les noms de fichiers suivants. Fichier de programme : REPLACE.OBJ Fichier de zone de paramètres : Non requis et non transféré indépendamment du nom de fichier. Fichiers de données : REPLACE.IOM, REPLCDM.IOM, REPLCE@.IOM UC Programme utilisateur Mémoire E/S Broche 2 de l'interrupteur DIP sur le panneau à ON Carte mémoire Doit contenir les éléments suivants : Fichier programme utilisateur (REPLACE.OBJ) Données des paramètres Ecrire au démarrage Fichier Fichier de programme Fichier de zone de paramètres Nom de fichier Peut contenir les éléments suivants : Fichiers de mémoire E/S (REPLACE.IOM, REPLCDM.IOM, REPLCE.IOM) Au démarrage REPLACE.OBJ Le contenu de ce fichier est transféré automatiquement Remarque : UC série et recouvre tout le programme utilisateur, y compris les attributs des tâches de l'UC. CS/CJ Ver. 2.0 ou supérieure uniquement Non transféré indépendamment du nom de fichier. Requis pour le transfert automatique Requis sur la carte mémoire. Non obligatoire. 229 Chapitre 5-2 Traitement des fichiers Fichier Fichier de données Nom de fichier Au démarrage REPLACE.IOM Remarque : UC série CS/CJ Ver. 2.0 ou supérieure uniquement REPLCDM.IOM Remarque : UC série CS/CJ Ver. 2.0 ou supérieure uniquement REPLCE@.IOM Remarque : UC série CS/CJ Ver. 2.0 ou supérieure uniquement Mots DM affectés aux cartes d'E/S spéciales, cartes réseau et cartes internes (série CS uniquement). Le contenu de ce fichier est transféré automatiquement dans la zone DM à partir de D20000 lors de la mise sous tension. Mots DM universels Le contenu de ce fichier est transféré automatiquement dans la zone DM à partir de D00000 lors de la mise sous tension. Remarque Requis pour le transfert automatique Non requis sur la carte mémoire. Mots DM universels Le contenu de ce fichier est transféré automatiquement dans la zone EM à partir de E@_00000 lors de la mise sous tension. @ indique le numéro de la banque. 1. Si le nom du fichier de programme est REPLACE.OBJ (UC série CS/CJ Ver. 2.0 ou ultérieure uniquement), le fichier de zone de paramètres ne sera pas transféré, même s'il se trouve sur la carte mémoire et quel que soit son nom. 2. Lorsque vous créez le fichier REPLACE.IOM, REPLCDM.IOM ou REPLCE@.IOM à partir d'un périphérique de programmation (console de programmation ou CX-Programmer), spécifiez toujours la première adresse appropriée (D20000, D00000 ou E@_00000). Le contenu du fichier sera toujours transféré à partir de la première adresse appropriée (D20000, D00000 ou E@_00000), même si un autre mot de début est spécifié, ce qui pourrait entraîner le recouvrement du contenu de cette partie de la zone DM ou de la banque EM par des données incorrectes. 3. Si la broche 7 de l'interrupteur DIP est sur ON et la broche 8 sur OFF pour utiliser la fonction de sauvegarde simple, celle-ci sera prioritaire, même si la broche 2 est également sur ON. Dans ce cas, les fichiers BACKUP@@ seront transférés vers l'UC, mais le transfert automatique au démarrage ne sera pas exécuté. Exemple d'application Transfert sans fichiers sans fichier de zone de paramètres Un fichier de programme (.OBJ) peut être créé hors ligne dans un bureau et transféré vers un emplacement distant sans fichier de zone de paramètres (.STD). Il est possible de stocker le fichier de programme sur une carte mémoire sur le site distant sans utiliser de périphérique de programmation et la carte mémoire peut être utilisée pour transférer automatiquement le programme vers l'UC au démarrage. Ordinateur personnel Site distant (pas de périphérique de programmation) Le programme peut être transféré UC (voir remarque). REPLACE.OBJ E-mail Internet Fichier programme créé sur CX-Programmer (voir remarque), nom de fichier remplacé par REPLACE.OJB dans un bureau et fichier envoyé en tant que pièce jointe. 230 Remarque :Le transfert est possible, même sans fichier de paramètres (AUTOEXEC.STD). Le fichier programme reçu sur le site distant est sauvegardé sur une carte mémoire à partir d'un ordinateur personnel et la carte mémoire est montée sur sur l'UC. Chapitre 5-2 Traitement des fichiers Combinaisons de transfert de fichiers prises en charge Les tableaux suivants indiquent si les fichiers sont transférés automatiquement vers l'UC au démarrage en fonction des fichiers présents sur la carte mémoire. ■ Fichier de programme AUTOEXEC.OBJ Fichier de programme : AUTOEXEC.OBJ Fichier de zone de paramètres AUTOEXEC.STD Aucun ■ Fichier de programme REPLACE.OBJ Aucun Fichier de programme Aucun Un ou plusieurs des fichiers suivants : AUTOEXEC.IOM, ATEXECDM.IOM, ATEXECE@.IOM Aucun Un ou plusieurs des fichiers suivants : Non transféré. AUTOEXEC.IOM, ATEXECDM.IOM, ATEXECE@.IOM Aucun Fichiers de données Un ou plusieurs des fichiers suivants : REPLACE.IOM, REPLCDM.IOM, REPLCE@.IOM Aucun Un ou plusieurs des fichiers suivants : REPLACE.IOM, REPLCDM.IOM, REPLCE@.IOM Aucun Transféré/non transféré Transféré, mais le fichier de zone de paramètres n'est pas transféré. Transféré. Pas de fichier de programme Fichier de zone de paramètres AUTOEXEC.STD Aucun ■ Transféré/non transféré Transféré. Fichier de programme : REPLACE.OBJ Fichier de zone de paramètres Présent ■ Fichiers de données Fichiers de données Transféré/non transféré Un ou plusieurs des fichiers suivants : Non transféré. AUTOEXEC.IOM, ATEXECDM.IOM, ATEXECE@.IOM Un ou plusieurs des fichiers suivants : REPLACE.IOM, REPLCDM.IOM, REPLCE@.IOM Aucun Un ou plusieurs des fichiers suivants : AUTOEXEC.IOM, ATEXECDM.IOM, ATEXECE@.IOM Un ou plusieurs des fichiers suivants : REPLACE.IOM, REPLCDM.IOM, REPLCE@.IOM es fichiers AUTOEXEC et REPLACE Plusieurs fichiers de programmes Fichiers de programmes AUTOEXEC. REPLACE. OBJ OBJ Fichier de zone de paramètres AUTOEXEC.STD Aucun Fichiers de données Un ou plusieurs des fichiers suivants : AUTOEXEC.IOM, ATEXECDM.IOM, ATEXECE@.IOM Un ou plusieurs des fichiers suivants : REPLACE.IOM, REPLCDM.IOM, REPLCE@.IOM Aucun Un ou plusieurs des fichiers suivants : AUTOEXEC.IOM, ATEXECDM.IOM, ATEXECE@.IOM Un ou plusieurs des fichiers suivants : REPLACE.IOM, REPLCDM.IOM, REPLCE@.IOM Transféré/non transféré Non transféré. 231 Chapitre 5-2 Traitement des fichiers Plusieurs types de fichiers de données Fichier de Fichier de zone programme de paramètres AUTOEXEC.OBJ AUTOEXEC.STD REPLACE.OBJ Fichiers de données Un ou plusieurs des fichiers suivants : AUTOEXEC.IOM, ATEXECDM.IOM, ATEXECE@.IOM Un ou plusieurs des fichiers suivants : REPLACE.IOM, REPLCDM.IOM, REPLCE@.IOM Aucun Ignoré Transféré/non transféré Les fichiers de données suivants sont transférés : AUTOEXEC.IOM, ATEXECDM.IOM, ATEXECE@.IOM Non transféré. Les fichiers de données suivants sont transférés : REPLACE.IOM, REPLCDM.IOM, REPLCE@.IOM Procédure 1,2,3... 1. Mettez l'API hors tension. 2. Placez la broche 2 de l'interrupteur DIP sur ON sur le panneau avant de l'UC. Assurez-vous que les broches 7 et 8 sont sur OFF. Remarque La fonction de sauvegarde simple sera prioritaire sur la fonction de transfert automatique au démarrage ; veillez par conséquent à ce que les broches 7 et 8 soient sur OFF. 3. Préparez une carte mémoire en procédant comme suit : a. Transfert avec un fichier de zone de paramètres Insérez une carte mémoire contenant le fichier de programme utilisateur (AUTOEXEC.OBJ), le fichier de zone de paramètres (AUTOEXEC.STD) et/ou les fichiers de mémoire E/S (AUTOEXEC.IOM, ATEXECDM.IOM et ATEXECE@.IOM) créés avec un CX-Programmer. (Le fichier de programme et le fichier de zone de paramètres doivent se trouver sur la carte mémoire. Les fichiers de mémoire E/S sont facultatifs.) b. Transfert sans fichier de zone de paramètres Insérez une carte mémoire contenant le fichier de programme utilisateur (REPLACE.OBJ) et/ou les fichiers de mémoire E/S (REPLACE.IOM, REPLCDM.IOM et REPLCE@.IOM) créés avec un CX-Programmer. (Le fichier de programme doit se trouver sur la carte mémoire. Les fichiers de mémoire E/S sont facultatifs.) 4. Mettez l'API sous tension. Remarque Interrupteur DIP sur le panneau avant de l'UC 232 Echec du transfert automatique au démarrage Si le transfert automatique échoue au démarrage, une erreur de mémoire se produira, A40115 passera à ON et l'UC s'arrêtera. Si une erreur se produit, coupez l'alimentation pour l'effacer. (L'erreur ne peut être effacée sans la mise hors tension.) Broche(s) Nom Paramètre 2 Transfert automatique ON : exécute le transfert automatique au démarrage. au démarrage OFF : n'exécute pas le transfert automatique au démarrage. 7 et 8 Broches sauvegarde Réglez les deux broches sur OFF. simple Chapitre 5-2 Traitement des fichiers Bits auxiliaires/mots associés Nom Drapeau d'erreur mémoire (erreur fatale) Adresse A40115 Drapeau d'erreur de transfert au démarrage de la carte mémoire A40309 Précautions lorsque vous changez l’état des affectations d’E/S pendant le transfert automatique au démarrage L’état des affectations d’E/S dépend des versions de carte des UC source et destination lorsque vous utilisez une seule UC série CJ pour créer les fichiers de paramètres du transfert automatique au démarrage, les enregistrer sur la carte mémoire et les transférer ensuite automatiquement vers une autre UC série CJ au démarrage. Le tableau suivant présente les changements d’état des affectations d’E/S pour les différentes combinaisons de versions de cartes. UC source Version de carte de Pré-ver. 2.0 l’UC utilisée afin de créer les fichiers pour le transfert automatique au démarrage Version de carte 2.0 Version de carte 3.0 ou supérieure Remarque Paramètre A ON lorsqu'une erreur survient dans la mémoire ou lorsqu'une erreur survient dans le transfert automatique à partir de la carte mémoire quand l'alimentation est mise sous tension (transfert automatique au démarrage). L'UC s'arrête et le voyant ERR/ALM situé à l'avant s'allume. Remarque : A40309 passera à ON si l'erreur s'est produite pendant le transfert automatique au démarrage. (Dans ce cas, l'erreur ne peut pas être effacée.) A ON lorsque le transfert automatique au démarrage a été sélectionné et qu'une erreur se produit pendant le transfert automatique (broche 2 de l'interrupteur DIP sur ON). Une erreur se produit en cas d'erreur de transfert, si le fichier spécifié n'existe pas ou si la carte mémoire n'est pas installée. Remarque : la mise hors tension permet d'effacer l'erreur. (Cette erreur ne peut être effacée lorsque l'alimentation est sous tension.) Etat initial des UC destination affectations d'E/S Version de carte de l’UC vers laquelle les fichiers pour le transfert automatique au démarrage seront envoyés Pré-ver. 2.0 Version de carte Version de carte 2.0 3.0 ou supérieure Affectation automa- Bascule sur spéci- (Idem) Affectation Bascule sur spécitique fié par l’utilisateur automatique fié par l’utilisateur Spécifié par l’utili(Idem) Spécifié par Bascule sur affec- (Idem) Spécifié par sateur l’utilisateur tation automatique l’utilisateur (Voir remarque 1.) Affectation automa- Bascule sur spéci- (Idem) Affectation Bascule sur opératique fié par l’utilisateur automatique tion utilisateur Spécifié par l’utili(Idem) Spécifié par (Idem) Spécifié par (Idem) Spécifié par sateur l’utilisateur l’utilisateur l’utilisateur Affectation automa- Bascule sur spéci- (Idem) Affectation (Idem) Affectation tique fié par l’utilisateur automatique automatique Spécifié par l’utili(Idem) Spécifié par (Idem) Spécifié par (Idem) Spécifié par sateur l’utilisateur l’utilisateur l’utilisateur 1. Lorsque les fichiers pour le transfert automatique au démarrage (AUTOEXEC.STD) sont créés et enregistrés sur une carte mémoire via des affectations d’E/S spécifiées par l’utilisateur avec une UC série CJ préversion 2.0, le système bascule automatiquement sur l’affectation d’E/S automatique au démarrage si les données sont transférées automatiquement depuis la carte mémoire. 2. Lorsque des fichiers pour le transfert automatique au démarrage (AUTOEXEC.STD) sont créés et enregistrés sur la carte mémoire à l’aide d’une UC série CJ avec une version de carte 2.0, l’état des affectations d’E/S bascule automatiquement sur « spécifié par l’utilisateur » si les données sont transférées automatiquement de la carte mémoire vers une UC série CJ avec une version de carte 3.0 ou supérieure. 233 Chapitre 5-2 Traitement des fichiers Précautions lors de la comparaison des fichiers de paramètres du transfert automatique au démarrage La comparaison des données de paramètres entre les fichiers avant le transfert et après le transfert peut générer des erreurs de vérification sur la console de programmation lorsque vous créez des fichiers de paramètres de transfert automatique au démarrage (AUTOEXEC.STD) et exécutez le transfert automatique au démarrage pour des combinaisons d’UC série CJ pré-ver. 2.0, version de carte 2.0 et version de carte 3.0. UC source Version de carte de l’UC à la source de la sauvegarde Etat initial des affectations d'E/S Pré-ver. 2.0 UC destination Version de carte de l’UC à la destination de la sauvegarde/restauration Pré-ver. 2.0 Version de carte Version de carte 2.0 ou supérieure 3.0 ou supérieure Affectation automa- Vérification possitique ble Version de carte 2.0 ou supérieure Spécifié par l’utilisateur Affectation automatique Version de carte 3.0 ou supérieure Spécifié par l’utilisateur Affectation automatique Spécifié par l’utilisateur 5-2-6 Vérification possible Erreur de vérification Erreur de vérification Erreur de vérification Vérification possible Erreur de vérification Vérification possible Vérification possible Fonction de sauvegarde simple Cette fonction n'est pas prise en charge par les UC CS1 série CS antérieures à EV1. Sauvegarde de données de l'UC sur la carte mémoire Pour sauvegarder les données, mettez la broche 7 de l'interrupteur DIP de l'UC sur ON, puis maintenez l'interrupteur d'alimentation de la carte mémoire enfoncé pendant trois secondes. La fonction de sauvegarde crée automatiquement les fichiers de sauvegarde avec des noms de fichier et des extensions fixes, et les écrit sur la carte mémoire. Les fichiers de sauvegarde contiennent le programme, les données de la zone de paramètres et les données de la mémoire E/S, les tables de symboles (voir remarque), les fichiers de commentaires (voir remarque) et les fichiers d’index de programmes (voir remarque). Cette fonction peut être exécutée dans l'importe quel mode de fonctionnement. Remarque Ces données sont prises en charge par les UC série CS/CJ avec une version de carte 3.0 ou supérieure uniquement. Les fichiers de sauvegarde sont créés automatiquement à partir des fichiers de la carte mémoire, de la mémoire des fichiers EM ou de la mémoire des commentaires. Broche 7 : ON Appuyez sur l'interrupteur d'alimentation de la carte mémoire et maintenez-le enfoncé pendant trois secondes. (Cet exemple présente une UC série CS.) Carte mémoire 234 Chapitre 5-2 Traitement des fichiers Restauration des données de la carte mémoire sur l'UC. Pour restaurer les fichiers de sauvegarde sur l'UC, vérifiez que la broche 7 est sur ON, mettez l'API hors tension, puis remettez-la sous tension. Les fichiers de sauvegarde contenant le programme, les données de zone de paramètres et les données de mémoire E/S sont lues à partir de la carte mémoire sur l'UC. *1 Ces données sont prises en charge par les UC série CS/CJ avec une version de carte 3.0 ou supérieure uniquement. Les fichiers de sauvegarde sont lus sur la carte mémoire, dans la mémoire des fichiers EM ou dans la mémoire des commentaires. Remarque 1. La fonction de sauvegarde sera prioritaire sur la fonction de transfert automatique au démarrage ; les fichiers de sauvegarde seront donc lus sur l'UC à la mise sous tension de l'API, même si la broche 2 de l'interrupteur DIP est sur ON. 2. Les données ne seront pas lues à partir de la carte mémoire sur l'UC si la broche 1 de l'interrupteur DIP est sur ON (mémoire du programme protégée en écriture). 3. Lorsque les fichiers de sauvegarde sont lus à partir de la carte mémoire par la fonction, l'état de la mémoire E/S et les bits définis/réinitialisés de force seront effacés, sauf si les paramètres requis sont spécifiés dans la zone auxiliaire et la configuration de l'API. Si le bit de maintien IOM (A50012) est à ON et que la configuration de l'API est définie de façon à conserver l'état du bit de maintien IOM au démarrage lors de l'écriture des fichiers de sauvegarde, l'état des données de la mémoire E/S sera conservé lorsque les données seront lues à partir de la carte mémoire. Si le bit de maintien état forcé (A50013) est à ON et que la configuration de l'API est définie de façon à conserver l'état du bit de maintien de l'état forcé au démarrage lors de l'écriture des fichiers de sauvegarde, l'état des bits définis/réinitialisés de force sera conservé lorsque les données seront lues à partir de la carte mémoire. 4. Une UC CS1-H, CJ1-H, CJ1M ou CS1D reste en mode PROGRAM après l'exécution de la fonction de sauvegarde simple et ne peut pas passer en mode MONITOR ou RUN tant que l'alimentation n'a pas été redémarrée. Après la sauvegarde, mettez l'UC hors tension, modifiez les paramètres de la broche 7 puis remettez l'UC sous tension. 5. Les sauvegardes de fichiers peuvent durer de quelques secondes à plusieurs minutes. Pour plus d'informations sur les temps d'exécution, reportez-vous à la page 253. Comparaison des données sur la carte mémoire et dans l'UC Pour comparer les fichiers de sauvegarde sur la carte mémoire et les données dans l'UC, mettez la broche 7 sur OFF sur l'interrupteur DIP de l'UC, puis maintenez l'interrupteur d'alimentation de la carte mémoire enfoncé pendant trois secondes. La fonction de sauvegarde comparera le programme, les données de la zone de paramètres, les données de la mémoire E/S, les tables de symboles (voir remarque), les fichiers de commentaires (voir remarque) et les fichiers d’index de programmes (voir remarque) sur la carte mémoire avec les données correspondantes dans l'UC. Cette fonction peut être exécutée dans l'importe quel mode de fonctionnement. Remarque Ces données sont prises en charge par les UC série CS/CJ avec une version de carte 3.0 ou supérieure uniquement. 235 Chapitre 5-2 Traitement des fichiers Le tableau suivant résume les opérations de sauvegarde simple. Opération de sauvegarde Sauvegarde de données de l'UC sur la carte mémoire Sauvegarde de données sur la carte mémoire Carte mémoire Interrupteur d'alimentation UC Programme Mémoire E/S Zone de paramètres Broche 7 : ON 236 Carte mémoire Etat des Procédure broches Broche 7 ON Appuyez sur l'interrupteur d'alimentation de la carte mémoire et maintenez-le enfoncé pendant trois secondes. Chapitre 5-2 Traitement des fichiers Opération de sauvegarde Restauration des données de la carte mémoire sur l'UC. Etat des broches Broche 7 ON Restauration de données à partir de la carte mémoire UC Tension à ON Programme Procédure Mettez l'API hors tension, puis de nouveau sous tension. (Voir remarque 1.) Carte mémoire Mémoire E/S Zone de paramètres Broche 7 : ON Comparaison de données entre la carte mémoire OFF et l'UC Comparaison de données avec la carte mémoire Appuyez sur l'interrupteur d'alimentation de la carte mémoire et maintenez-le enfoncé pendant trois secondes. Interrupteur d'alimentation UC de la carte mémoire Programme Comparer Carte mémoire Mémoire E/S Zone de paramètres Broche 7 : OFF Remarque 1. Pour plus d'informations sur les résultats des opérations de lecture, d'écriture et de comparaison, reportez-vous à la section Vérification des opérations de sauvegarde avec les voyants à la page 240. 2. Pour des lignes directrices sur les délais des opérations de sauvegarde de la carte mémoire, reportez-vous à la section 5-3-2 Procédures de fonctionnement. 237 Chapitre 5-2 Traitement des fichiers Fichiers de sauvegarde Fichiers de données Nom de fichier et extension Zone de données et plage d'adresses enregistrée Sauvegarde de la mémoire E/S sur la carte mémoire (création de fichiers) CS/CJ UC BACKUP.IOM DM BACKUPIO.IOR CIO Restauration de la carte mémoire vers l'UC Comparaison Fichiers de la carte requis lors de mémoire avec la restauration l'UC des données CS1/ CS1-H/ CJ1 CJ1-H Oui --Requis sur la carte mémoire D20000 à D32767 0000 à 6143 (y compris état de bit forcé.) Oui Oui Oui ---4 Oui --- WR W0000 à W511 (y compris état de bit forcé.) Oui ---4 Oui --- RH AR H000 à H511 A000 à A447 A448 à A959 Oui Oui Oui Oui --Oui Oui --Oui ------- Temporisation1 T0000 à T4095 Oui Oui4 Oui --- Compteur C0000 à C4095 Oui Oui Oui --- BACKUPDM.IOM DM Oui Oui Oui --- BACKUPE@.IOM2,3 EM Oui Oui Oui --- Remarque 238 D00000 à D19999 E@_00000 à E@_32767 Requis sur la carte mémoire Requis sur la carte mémoire Requis sur la carte mémoire (doit correspondre à l'UC) 1. Les drapeaux de fin et les valeurs actuelles sont sauvegardés. 2. Le @ représente le numéro de banque et le nombre de banques dépend de l'UC utilisée. Lorsque les fichiers BACKUPE@.IOM de la carte mémoire sont restaurés sur l'UC, la lecture des fichiers commence à la banque 0 et se poursuit jusqu'au numéro de banque maximum dans l'UC. Les autres fichiers BACKUPE@.IOM ne seront pas lus si le nombre de banques sauvegardées dépasse le nombre de banques dans l'UC. Inversement, les banques EM restantes dans l'UC resteront inchangées si le nombre de banques sauvegardées est inférieur au nombre de banques dans l'UC. Si un fichier BACKUPE@.IOM est manquant (par exemple : 0, 1, 2, 4, 5, 6), seuls les fichiers consécutifs seront lus. Dans le cas présent, les données seront lues dans les banques 0, 1 et 2 uniquement. 3. Les données de la zone EM seront sauvegardées en tant que données binaires. Les banques EM qui ont été converties dans la mémoire de fichiers seront sauvegardées avec les banques EM non converties. La mémoire de fichiers EM peut être restaurée dans la zone EM d'une autre UC seulement si les fichiers BACKUPE@.IOM sont consécutifs et que le nombre de banques EM sauvegardées correspond au nombre de banques dans l'UC. Si les fichiers BACKUPE@.IOM ne sont pas consécutifs ou que le nombre de banques EM ne correspond pas au nombre de banques dans l'UC, la mémoire de fichiers EM retrouvera sa condition non formatée et les fichiers dans la mémoire de fichiers sont incorrects. (Les banques EM régulières seront lues normalement.) 4. Normalement, le contenu de la zone CIO, de la zone WR, les drapeaux de fin de temporisation, les valeurs actuelles de temporisation et l'état des bits Chapitre 5-2 Traitement des fichiers définis/réinitialisés de force seront effacés lorsque l'API sera mise sous tension et BACKUPIO.IOR lu à partir de la carte mémoire. Si le bit de maintien IOM (A50012) est à ON et que la configuration de l'API est définie de façon à conserver l'état du bit de maintien IOM au démarrage lors de l'écriture des fichiers de sauvegarde, l'état des données de la mémoire E/S sera conservé lorsque les données seront lues à partir de la carte mémoire. Si le bit de maintien état forcé (A50013) est à ON et que la configuration de l'API est définie de façon à conserver l'état du bit de maintien de l'état forcé au démarrage lors de l'écriture des fichiers de sauvegarde, l'état des bits définis/réinitialisés de force sera conservé lorsque les données seront lues à partir de la carte mémoire. Fichiers de programme Nom de fichier et extension UC BACKUP.OBJ Contenu Programme utilisateur complet Sauvegarde de la mémoire E/S sur la carte mémoire (création de fichiers) Oui Restauration de la carte mémoire vers l'UC CS/CJ Oui Comparaison Fichiers requis lors de la de la carte restauration mémoire avec des données l'UC Oui Requis sur la carte mémoire Fichiers de paramètres Nom de fichier et extension UC BACKUP.STD Contenu Sauvegarde de la mémoire E/S sur la carte mémoire (création de fichiers) Restauration de la carte mémoire vers l'UC Comparaison Fichiers requis lors de la de la carte restauration mémoire avec des données l'UC CS/CJ Configuration de l'API Oui Tables d'E/S enregistrées Tableaux de routage Configuration de carte réseau Etc. Oui Oui Requis sur la carte mémoire Fichiers de sauvegarde d'unité/carte (UC CS1-H, CS1D, CJ1-H, CJ1M ou CS1D uniquement) Nom de fichier et extension UC BACKUP@@.PRM (où @@ désigne l'adresse d'unité de l'unité/carte sauvegardée) Sauvegarde Restauration Comparaison de la mémoire de la carte de la carte E/S sur la mémoire vers mémoire avec carte mémoire l'UC l'UC (création de fichiers) UC CS1-H, CS1D, CJ1-H, CJ1M ou CS1D uniquement Les données de sauvegarde Oui Oui Oui de l'unité ou de la carte correspondant à l'adresse d'unité spécifiée (le contenu spécifique dépend de l'unité ou de la carte). Remarque Contenu Fichiers requis lors de la restauration des données Requis sur la carte mémoire (Voir remarque 2.) 1. Les adresses d'unité sont les suivantes : Cartes réseau : Numéro de carte + 10 hex. Cartes d'E/S spéciales : Numéro de carte + 20 hex. Carte interne : E1 hex. 2. Aucune erreur ne se produira dans l'UC, même si ce fichier est absent lors du transfert des données de la carte mémoire vers la mémoire E/S, mais une erreur aura lieu sur l'unité ou la carte si les données ne sont pas restaurées. Pour plus d'informations sur les erreurs d'unité ou de carte, reportez-vous au manuel de l'unité ou de la carte. 239 Chapitre 5-2 Traitement des fichiers Tables de symboles, fichiers de commentaires, fichiers d’index de programmes (UC CS1-H/CJ1-H, CJ1M, CS1D avec version de carte 3.0 ou supérieure uniquement) Nom de fichier et extension Sommaire Sauvegarde de Restauration Comparaison Fichiers requis l’UC sur la de la carte de la carte lors de la rescarte mémoire mémoire vers mémoire avec tauration des (création de l'UC l'UC données fichiers) UC CS1-H, CJ1-H, CJ1M ou CS1D CPU avec version de carte 3.0 uniquement UC BKUPSYM.SYM BKUPCMT.CMT BKUPPRG.IDX Fichiers de tables de symboles Fichiers de commentaires Fichiers d'index de programmes Remarque Oui (écriture si la mémoire des commentaires de l’UC contient des fichiers) Oui (lecture dans la mémoire des commentaires de l’UC si la carte mémoire contient des fichiers) Oui (comparaison avec les fichiers contenus dans la mémoire des commentaires de l’UC) Ces fichiers ne sont pas absolument indispensables sur la carte mémoire. Les opérations de sauvegarde, de restauration et de comparaison dans le tableau ci-dessus sont exécutées uniquement pour les fichiers contenus dans la mémoire des commentaires. Vérification des opérations de sauvegarde avec les voyants L'état du voyant d'alimentation de la carte mémoire (MCPWR) indique si une opération de sauvegarde simple s'est déroulée correctement ou non. Voyant MCPWR (Cet exemple présente une UC série CS.) Opération de sauvegarde Sauvegarde de données de l'UC sur la carte mémoire Restauration des données de la carte mémoire sur l'UC. 240 Déroulement normal (Voir remarque 1). Etat de MCPWR Allumé → Reste allumé pendant que vous appuyez sur l'interrupteur d'alimentation de la carte mémoire. → Clignote une fois. → Allumé pendant l'écriture. → Eteint après l'écriture des données. Allumé lors de la mise sous tension. → Clignote une fois. → Allumé pendant la lecture. → Eteint après la lecture des données. Erreur survenue Etat de MCPWR Allumé → Reste allumé pendant que vous appuyez sur l'interrupteur d'alimentation de la carte mémoire. → Continue de clignoter. → S'allume lorsque vous appuyez sur l'interrupteur d'alimentation de la carte mémoire. Erreur Aucun fichier ne sera créé avec les erreurs suivantes : Capacité de la carte mémoire insuffisante (Voir remarque 2.) Erreur mémoire dans l'UC Erreur de bus E/S (lors de l'écriture de données sur une unité ou une carte, UC CS1-H, CS1D, ou CJ1-H uniquement) Allumé lors de la mise sous tension. → Clignote à cinq reprises. → S'éteint. Les données ne seront pas lues avec les erreurs suivantes : Le programme sur la carte mémoire dépasse la capacité de l'UC Les fichiers de sauvegarde requis n'existent pas sur la carte mémoire. Le programme ne peut pas être écrit car il est protégé en écriture (La broche 1 de l'interrupteur DIP est sur ON.) Allumé lors de la mise sous tension. → Clignote une fois. → Allumé pendant la lecture. → Clignote à trois reprises. → Eteint après la lecture des données. Attention : les données seront pas lues avec l'erreur suivante. Les fichiers EM et les banques EM de l'UC ne correspondent pas (numéros de banques non consécutifs ou non-concordance du numéro de banque max.). Chapitre 5-2 Traitement des fichiers Opération de sauvegarde Comparaison de données entre la carte mémoire et l'UC Déroulement normal (Voir remarque 1). Etat de MCPWR Allumé → Reste allumé pendant que vous appuyez sur l'interrupteur d'alimentation de la carte mémoire. → Clignote une fois. → Allumé pendant la comparaison. → Eteint après la comparaison des données. Commun à toutes les opérations de sauvegarde. --- Remarque Erreur survenue Etat de MCPWR Allumé → Reste allumé pendant que vous appuyez sur l'interrupteur d'alimentation de la carte mémoire. → Continue de clignoter. → S'allume lorsque vous appuyez sur l'interrupteur d'alimentation de la carte mémoire. Erreur Les erreurs de comparaison suivantes peuvent survenir (voir remarque 3) : La carte mémoire et l'UC ne correspondent pas. Les fichiers de sauvegarde requis n'existent pas sur la carte mémoire. Les fichiers EM et les banques EM de l'UC ne correspondent pas (numéros de banques non consécutifs ou non-concordance du numéro de banque max.). Erreur mémoire dans l'UC Erreur de bus E/S (lors de la comparaison des données sur une unité ou une carte, UC CS1-H, CS1D, ou CJ1-H uniquement) Lecture : Erreur d'accès à la carte Clignote à cinq reprises. → mémoire (erreur de formatage ou erreur de lecture/écriture) S'éteint. Ecriture ou comparaison : Continue de clignoter. → S'allume lorsque vous appuyez sur l'interrupteur d'alimentation de la carte mémoire. 1. Une fois l'opération de sauvegarde terminée, l'alimentation de la carte mémoire est coupée lorsque le voyant MCPWR s'éteint. Si vous devez réutiliser la carte mémoire, appuyez sur son interrupteur d'alimentation pour fournir l'alimentation et exécutez l'opération voulue. 2. Lorsque les données sont écrites pour une opération de sauvegarde simple à partir d'une UC CS1-H, CS1D, CJ1-H, CJ1M ou CS1D, les erreurs dues à une capacité insuffisante de la carte mémoire peuvent être contrôlées dans A397 (capacité en écriture de sauvegarde simple). Si A397 contient une valeur autre que 0000 hex. après l'exécution de l'opération d'écriture, la valeur indiquera la capacité requise sur la carte mémoire en kilo-octets. 3. Avec les UC CS1-H, CS1D, CJ1-H, CJ1M ou CS1D, les fichiers de sauvegarde des unités et des cartes sont également comparés. 241 Chapitre 5-2 Traitement des fichiers Bits auxiliaires/mots associés Nom Drapeau de fonctionnement de la mémoire de fichiers Adresse A34313 Banque de démarrage de la mémoire de fichiers EM A344 Drapeaux d'activation d'instruction A20200 à de communications réseau (UC A20207 CS1-H, CJ1-H, CJ1M ou CS1D uniquement) (Voir remarque.) Code de fin de communications réseau (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement) (Voir remarque.) Drapeaux d'erreurs de communications réseau (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement) (Voir remarque.) A203 à A210 A21900 à A21907 Capacité d'écriture de sauvegarde A397 simple (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement) Remarque Description A ON lorsque l'une des opérations suivantes est exécutée. Sur OFF lorsque l'exécution est terminée. • Détection de carte mémoire • Instruction CMND exécutée pour l'UC locale • Instructions FREAD/FWRIT • Remplacement de programme via bits de contrôle spéciaux • Opération de sauvegarde simple Il n'est pas possible d'écrire des données ou de vérifier le contenu de la carte mémoire lorsque ce drapeau est à ON. Lorsque l'UC commence la lecture à partir de la carte mémoire, elle fait référence à cette valeur. Si le numéro de banque EM maximum des fichiers BACKUPE@.IOM (numéro de banque consécutif maximum en partant de 0) correspond au numéro de banque maximum de l'UC, la zone EM sera formatée en fonction de la valeur de ce mot. Si ces numéros ne coïncident pas, la zone EM reviendra à son état non formaté. • Passe à OFF lorsque l'écriture ou la comparaison des données de la carte mémoire commence. • Passe à ON lorsque l'écriture ou la comparaison des données de la carte mémoire est terminée. Les données de l'unité et de la carte ne peuvent pas être écrites ou comparées si tous les drapeaux d'activation d'instruction de communications réseau sont à OFF au démarrage des opérations d'écriture ou de comparaison sur la carte mémoire. Toute tentative provoque une erreur. Fournit les résultats des communications avec l'unité ou la carte lors de l'exécution des opérations d'écriture ou de comparaison sur la carte mémoire. • Passe à ON si une erreur se produit dans les communications avec l'unité ou la carte lors de l'exécution des opérations d'écriture ou de comparaison sur la carte mémoire. • Reste à OFF (ou passe à OFF) si aucune erreur ne se produit dans les communications avec l'unité ou la carte lors de l'exécution des opérations d'écriture ou de comparaison sur la carte mémoire. Fournit la capacité de données en kilo-octets qui serait nécessaire sur la carte mémoire lorsque l'écriture échoue pour un opération de sauvegarde simple, indiquant qu'une erreur d'écriture s'est produite en raison d'une capacité insuffisante. 0001 à FFFF hex. : erreur d'écriture (Indique la capacité de la carte mémoire requise, entre 1 et 65 535 kilo-octets.) (Mis à 0000 hex. lorsqu'une écriture s'effectue correctement.) 0000 hex. : écriture terminée normalement. Ces drapeaux sont apparentés pour les UC CS1-H, CJ1-H, CJ1M ou CS1D, car l'UC utilisera automatiquement un port de communication disponible lors de l'écriture ou de la comparaison de données pour une carte mémoire. Sauvegarde des données d'une carte ou d'une unité Cette fonction est prise en charge uniquement par les UC CS1-H, CJ1-H, CJ1M et CS1D. Introduction Les données suivantes sont sauvegardées à partir de l'UC par les UC CS1 et CJ1 pour l'opération de sauvegarde simple : programme utilisateur, zone de paramètres, mémoire E/S entière. Outre les données ci-dessus, les données suivantes sont également sauvegardées pour les UC CS1-H, CJ1-H, CJ1M ou CS1D : données d'unités et de cartes spécifiques montées sur l'API. Aperçu Lorsque vous utilisez l'opération de sauvegarde simple pour une UC CS1-H, CJ1-H, CJ1M ou CS1D, un fichier de sauvegarde d'unité/de carte contenant 242 Chapitre 5-2 Traitement des fichiers les données d'unités et de cartes spécifiques est écrit sur la carte mémoire. Les données sont sauvegardées séparément pour chaque unité et carte. Interrupteur d'alimentation de la carte mémoire Carte DeviceNet ou autre UC CS1-H, CJ1-H, CJ1M ou CS1D unité/carte spécifique Toutes les données Données de sauvegarde Ecrire simple Lire Comparer Carte mémoire Application Cette fonction permet de sauvegarder les données pour l'ensemble de l'API, y compris l'UC, les cartes DeviceNet, les unités/cartes de communications série, etc. Elle peut également être utilisée pour le remplacement des cartes. Fichiers de sauvegarde d'unité/de carte Les données de chaque unité/carte sont stockées sur la carte mémoire avec les noms de fichiers suivants : BACKUP@@.PRM « @@ » désigne l'adresse d'unité de l'unité ou de la carte en hexadécimal. Remarque Les adresses d'unité sont les suivantes : Cartes réseau : Numéro de carte + 10 hex. Cartes d'E/S spéciales : Numéro de carte + 20 hex. Carte interne : E1 hex. Ces fichiers sont également utilisés pour lire sur la carte mémoire ou comparer les données de la carte mémoire. Unités et cartes utilisables Pour que les données de l'unité et de la carte puissent être sauvegardées, l'unité/la carte doit également prendre en charge la fonction de sauvegarde. Pour plus de détails sur la prise en charge, consultez le manuel d'utilisation de l'unité/la carte. Unité/carte Cartes DeviceNet Cartes de communications série Cartes de communications série Numéros de modèle Données sauvegardées pour une sauvegarde simple avec une UC CS1-H/CJ1-H Capacité de données utilisée sur la carte mémoire pour une sauvegarde simple CJ1W-DRM21-V1 Paramètres de périphérique 7 kilo-octets CJ1W-DRM21 (toutes les données dans l'EEPROM de la carte) (Bien qu'il s'agisse des mêmes données que celles sauvegardées avec la fonction de sauvegarde de carte mémoire prise en charge par la carte ou la Configuration DeviceNet (Ver. 2.0), les fichiers ne sont pas compatibles.) 129 kilo-octets CS1W-SCU21-V1 Données de macro CJ1W-SCU41 protocole (y compris les protocoles CS1W-SCB21-V1 système standard et les 129 kilo-octets CS1W-SCB41-V1 protocoles définis par l'utilisateur de la mémoire Flash sur l'unité ou la carte) 243 Chapitre 5-2 Traitement des fichiers Unité/carte Unités de compteur personnalisables Unités de commande de mouvement Unités de commande de position Remarque Numéros de modèle Données sauvegardées pour une sauvegarde simple avec une UC CS1-H/CJ1-H CS1W-HIO01-V1 • Programme utilisateur CS1W-HCP22-V1 • DM universelle en lecture CS1W-HCA22-V1 seule CS1W-HCA12-V1 • Zone de paramètres de la fonction de carte • Informations sur les instructions d'extension • Bibliothèque de schémas contact CS1W-MCH71 • Données de CS1W-MC221-V1 positionnement CS1W-MC421-V1 • Paramètres système • Programmes en langage G CS1W• Paramètres d'axe NC113/133/213/2 • Données de séquence 33/413/433 • Données de vitesse Ver. 2.0 ou • Données du temps supérieure d'accélération/décélération CJ1W• Données de double NC113/133/213/2 temporisation 33/413/433 • Données de zone Ver. 2.0 ou supérieure Capacité de données utilisée sur la carte mémoire pour une sauvegarde simple 64 kilo-octets 8 192 kilo-octets 142 kilo-octets 7 kilo-octets Les données des unités et des cartes répertoriées ci-dessus seront automatiquement sauvegardées pour l'opération de sauvegarde simple. Il n'existe aucun paramètre disponible pour les inclure ou les exclure. Si vous utilisez une console de programmation, cependant, les opérations sont prises en charge individuellement pour la zone de programme utilisateur, la zone de paramètres et les zones de mémoire E/S. Consultez le Manuel d'utilisation de la console de programmation (W314) pour plus de détails. Procédure La procédure associée à l'opération de sauvegarde simple est la même, que les données soient ou non sauvegardées à partir d'unités et de cartes spécifiques (y compris l'écriture, la lecture et la comparaison). ■ Sauvegarde de données 1,2,3... 1. Mettez la broche 7 de l'interrupteur DIP de l'UC à ON. 2. Appuyez sur l'interrupteur d'alimentation de la carte mémoire et maintenez-le enfoncé pendant trois secondes. Les données de sauvegarde pour les unités et les cartes seront créées dans un fichier et stockées sur la carte mémoire avec les autres données de sauvegarde. Carte DeviceNet ou autre unité/carte spécifique Interrupteur d'alimentation de la carte mémoire UC Toutes les données Données de sauvegarde simple Sauvegarde Carte mémoire Lorsque vous appuyez sur l'interrupteur d'alimentation, le voyant MCPWR clignote une fois, s'allume pendant l'opération d'écriture, puis s'éteint si l'opération s'est déroulée correctement. 244 Chapitre 5-2 Traitement des fichiers ■ Restauration de données 1,2,3... 1. Mettez la broche 7 de l'interrupteur DIP de l'UC à ON. 2. Mettez l'API sous tension. Les fichiers de sauvegarde seront restaurés sur les unités et les cartes. Les données de sauvegarde des unités et des cartes seront restaurées de la carte mémoire sur les unités et les cartes. Carte DeviceNet ou autre unité/carte spécifique Données de sauvegarde simple UC Toutes les données API sous tension Carte mémoire Restaurer Lorsque le système est sous tension, le voyant MCPWR clignote une fois, s'allume pendant l'opération de lecture, puis s'éteint si l'opération s'est déroulée correctement. ■ Comparaison de données 1,2,3... 1. Mettez à OFF la broche 7 de l'interrupteur DIP de l'UC. 2. Appuyez sur l'interrupteur d'alimentation de la carte mémoire et maintenez-le enfoncé pendant trois secondes. Les données de sauvegarde sur la carte mémoire seront comparées aux données sur les unités et les cartes. Carte DeviceNet ou autre unité/carte spécifique Interrupteur d'alimentation de la carte mémoire UC Toutes les données Données de sauvegarde simple Carte mémoire Comparer Lorsque vous appuyez sur l'interrupteur d'alimentation, le voyant MCPWR clignote une fois, s'allume pendant l'opération de comparaison, puis s'éteint si l'opération s'est déroulée correctement et que les données sont les mêmes. Remarque Le délai requis pour une opération de sauvegarde simple est plus long avec le CS1W-SCU21-V1 que sans. La différence est indiquée dans le tableau suivant. Délai supplémentaire lorsque le fichier de paramètres de la carte réseau (BACKUP@@.PRM) sur la carte mémoire est de 60 kilo-octets Mode de Délai Délai Délai fonctionne- supplémentaire lors supplémentaire lors supplémentaire lors ment de l'écriture sur une de la vérification de la lecture sur une carte mémoire d'une carte mémoire carte mémoire PROGRAM 25 s environ 10 s environ 4 s environ RUN 1 min 30 s environ 30 s environ 4 s environ 245 Chapitre 5-2 Traitement des fichiers Temps supplémentaire lorsque le fichier de paramètres de la carte réseau (BACKUP@@.PRM) sur la carte mémoire est de 128 kilo-octets Mode de fonctionne ment PROGRAM RUN Remarque Délai Délai Délai supplémentaire lors supplémentaire lors supplémentaire lors de l'écriture sur une de la vérification de la lecture à partir carte mémoire d'une carte mémoire d'une carte mémoire 40 s environ 14 s environ 8 s environ 2 min 30 s environ 1 min env. 8 s environ 1. Avant d'essayer d'exécuter les opérations ci-dessus, assurez-vous que les unités et les cartes fonctionnement correctement. Si ce n'est pas le cas, les opérations d'écriture, de lecture et de comparaison ne seront pas exécutées. 2. Avant d'exécuter une opération de sauvegarde simple pour des unités/cartes spécifiques, assurez-vous que l'UC est en mode PROGRAM ou que l'exécution de l'opération n'aura pas un impact négatif sur les instructions qui utilisent des numéros de ports de communication. Lorsque les données sont sauvegardées à partir d'unités/cartes spécifiques, un port de communication est recherché à partir du port 0 et le premier port disponible est utilisé. Si le numéro de port est le même que celui utilisé par une instruction de communication réseau, cette instruction ne sera pas exécutée avant la fin de l'opération de sauvegarde simple. Précautions lorsque vous changez l’état des affectations d’E/S pendant les opérations de sauvegarde/restauration L’état des affectations d’E/S dépend des versions de carte des UC source et destination lorsque vous utilisez une seule UC série CJ pour créer les fichiers des paramètres de sauvegarde (BKUP.STD), les enregistrer sur la carte mémoire et les sauvegarder ou les restaurer ensuite sur une autre UC. Le tableau suivant présente les changements d’état des affectations d’E/S pour les différentes combinaisons de versions de cartes. UC source Version de carte Pré-ver. 2.0 de l’UC à la source de la sauvegarde Version de carte 2.0 Version de carte 3.0 ou supérieure 246 Etat initial des affectations d'E/S Affectation automatique Spécifié par l’utilisateur Affectation automatique Spécifié par l’utilisateur Affectation automatique Spécifié par l’utilisateur UC destination Version de carte de l’UC à la destination de la sauvegarde/restauration Pré-ver. 2.0 Version de carte Version de carte 2.0 3.0 ou supérieure (Idem) Affectation automatique (Idem) Spécifié par l’utilisateur (Idem) Affectation automatique (Idem) Spécifié par l’utilisateur (Idem) Affectation automatique (Idem) Spécifié par l’utilisateur Chapitre 5-3 Utilisation de la mémoire de fichiers Précautions en cas de non-correspondance lors de la comparaison des sauvegardes Si une UC série CJ avec une version de carte 2.0 ou antérieure est associée à une UC série CJ avec une version de carte version 3.0, des erreurs de vérification peuvent se produire lorsque les données des paramètres sont comparées avec les données de sauvegarde restaurées à partir du fichier de sauvegarde simple qui a été créé. UC source Etat précédent des affectations d'E/S Version de carte Pré-ver. 2.0 de l’UC à la source de la sauvegarde Affectation automatique Version de carte 2.0 Version de carte 3.0 ou supérieure Spécifié par l’utilisateur Affectation automatique Spécifié par l’utilisateur Affectation automatique Spécifié par l’utilisateur 5-3 5-3-1 UC destination Version de carte de l’UC à la destination de la sauvegarde/restauration Pré-ver. 2.0 Version de carte Version de carte 2.0 3.0 ou supérieure Vérification Vérification Erreur de possible possible vérification Vérification possible Erreur de vérification Vérification possible Vérification possible Erreur de vérification Vérification possible Vérification possible Utilisation de la mémoire de fichiers Initialisation des supports Cartes mémoire 1,2,3... 1. Utilisez un périphérique de programmation, telle une console de programmation, pour initialiser les cartes mémoire. Ou CX-Programmer Carte mémoire Console de programmation Mémoire de fichiers EM 1,2,3... 1. Utilisez un périphérique de programmation, telle qu'une console de programmation, et définissez les paramètres de la mémoire de fichiers EM dans la configuration de l'API de manière à activer la mémoire de fichiers EM, puis définissez le numéro de banque spécifié pour la mémoire de fichiers EM sur une valeur comprise entre 0 et C hex. Ou CX-Programmer Spécifiez le premier numéro de banque pour la mémoire de fichiers EM. Console de programmation 2. Utilisez une commande FINS ou un périphérique de programmation autre qu'une console de programmation pour initialiser la mémoire de fichiers EM. 247 Chapitre 5-3 Utilisation de la mémoire de fichiers Ou Initialisation de la mémoire de fichiers EM. CX-Programmer Console de programmation Initialisation d'une mémoire de fichiers EM individuelle Remarque Une banque EM spécifiée peut être convertie d'un EM ordinaire en mémoire de fichiers. Le numéro de banque maximum pour les UC série CJ est 6. Banque 0 Banque 0 Banque n Banque n Converti en mémoire de fichiers Banque C Banque C 1. Définissez n dans la configuration de l'API. 2. Utilisez un périphérique de programmation ou une commande FINS pour formater à partir de n. 3. "n" est sauvegardé dans A344. L'EM utilisé pour la mémoire de fichiers peut être restauré à l'état d'EM normal. 1. Mettez la mémoire de fichiers à OFF dans la configuration de l'API. Banque 0 Banque 0 Banque n Banque n Converti en mémoire de fichiers Effacé Banque C Banque C 2. Si un périphérique de programmation ou une commande FINS est utilisé pour le formatage, la mémoire sera remise à 0000 Hex à partir de n. 3. FFFF Hex sera sauvegardé dans A344 pour indiquer qu'il n'existe pas de mémoire de fichiers EM. Remarque : 1. Toutes les données de fichiers présentes seront alors supprimées. 2. Seules les banques 0 à 6 peuvent être spécifiées pour une UC série CJ. Le numéro de la première banque peut être modifié. Banque 0 Banque 0 Banque n Banque n Banque m Converti en mémoire de fichiers Banque C 1. Remplacez n par m dans la configuration de l'API. Effac Banque m Converti en mémoire de fichiers Banque C 2. Utilisez un périphérique de programmation ou une commande FINS pour convertir les banques à partir de m en mémoire de fichiers. Remarque : les banques n à m-1 seront remises à 0000 Hex. 3. m sera sauvegardé dans A344. Remarque : 1. Toutes les données de fichiers présentes seront alors supprimées. 2. Seules les banques 0 à 6 peuvent être spécifiées pour une UC série CJ. Configuration de l'API Adresse 136 248 Nom Banque de démarrage de la mémoire de fichiers EM Description 0000 hex. : aucune 0080 hex. : commence à la banque N° 0 008C hex : banque N° C la zone EM qui commence au numéro de banque spécifié sera convertie en mémoire de fichiers. Paramètre initial 0000 hex. Chapitre 5-3 Utilisation de la mémoire de fichiers Relais auxiliaire spécial associé Nom Banque de démarrage de la mémoire de fichiers EM Lecture/écriture des tableaux de symboles et des commentaires avec CX-Programmer 1,2,3... Adresse Description Le numéro de banque qui correspond au début de la zone de mémoire de fichiers EM sera enregistrée. Le fichier EM sera converti en mémoire de fichiers du premier numéro de banque au dernier. FFFF hex. indiquera qu'il n'existe aucune mémoire de fichiers EM. A344 Procédez comme suit pour transférer les tableaux de symboles ou les commentaires créés sur CX-Programmer vers et à partir d'une carte mémoire ou d'une mémoire de fichiers EM. 1. Insérez une carte mémoire formatée dans l'UC ou formatez la mémoire de fichiers EM. 2. Mettez CX-Programmer en ligne. 3. Sélectionnez Transfer, puis To PLC ou From PLC dans le menu de l'API. 4. Sélectionnez Symbols ou Comments pour les données à transférer. 5-3-2 Procédures de fonctionnement Cartes mémoire Utilisation d'un périphérique de programmation 1,2,3... 1. Insérez une carte mémoire dans l'UC. Carte mémoire 2. Initialisez la carte mémoire à l'aide d'un périphérique de programmation. Ou CX-Programmer Initialiser Console de programmation 3. Utilisez un périphérique de programmation pour nommer les données de l'UC (programme utilisateur, mémoire E/S, zone de paramètres), puis sauvegardez les données sur la carte mémoire. (Utilisez un périphérique de programmation pour lire le fichier de carte mémoire sur l'UC.) 249 Chapitre 5-3 Utilisation de la mémoire de fichiers Transfert automatique des fichiers au démarrage Procédure pour le transfert d'un fichier de zone de paramètres 1,2,3... 1. Insérez une carte mémoire initialisée dans l'UC. Carte mémoire 2. Utilisez un périphérique de programmation pour écrire les fichiers de transfert automatique au démarrage sur la carte mémoire. Ces fichiers incluent le fichier de programme (AUTOEXEC.OBJ), le fichier de zone de paramètres (AUTOEXEC.STD) et les fichiers de mémoire E/S (AUTOEXEC.IOM, ATEXECDM.IOM et/ou ATEXECE@.IOM). Ou CX-Programmer Remarque Initialiser Console de programmation Un fichier de programme utilisateur et de zone de paramètres doit être présent sur la carte mémoire. 3. Mettez l'API hors tension. 4. Placez la broche 2 de l'interrupteur DIP sur ON (transfert automatique au démarrage). Broche 2 de l'interrupteur DIP à ON Remarque Si la broche 7 est sur ON et la broche 8 sur OFF, la fonction de sauvegarde sera activée et aura la priorité sur la fonction de transfert automatique au démarrage. Mettez les broches 7 et 8 sur OFF pour le transfert automatique au démarrage. 5. Insérez la carte mémoire dans l'UC. Carte mémoire 6. Mettez l'API sous tension pour lire le fichier. Procédure sans transfert d'un fichier de zone de paramètres 1,2,3... 1. Insérez une carte mémoire initialisée dans l'UC. 2. Utilisez un périphérique de programmation pour écrire les fichiers de transfert automatique au démarrage sur la carte mémoire. Ces fichiers 250 Chapitre 5-3 Utilisation de la mémoire de fichiers incluent le fichier de programme (REPLACE.OBJ) et les fichiers de mémoire E/S (REPLACE.IOM, REPLCDM.IOM et/ou REPLCDE@.IOM). Remarque Une zone de paramètres ne sera pas transférée, même s'il en existe une sur la carte mémoire. 3. Mettez l'API hors tension. 4. Placez la broche 2 de l'interrupteur DIP sur ON (transfert automatique au démarrage). Broche 2 de l'interrupteur DIP à ON Remarque Si la broche 7 est sur ON et la broche 8 sur OFF, la fonction de sauvegarde sera activée et aura la priorité sur la fonction de transfert automatique au démarrage. Mettez les broches 7 et 8 sur OFF pour le transfert automatique au démarrage. 5. Insérez la carte mémoire dans l'UC. Carte mémoire 6. Mettez l'API sous tension pour lire le fichier. Utilisation de FREAD(700)/FWRIT(701)/CMND(490) 1,2,3... 1. Insérez une carte mémoire dans l'UC. (Déjà initialisée.) 2. Utilisez FWRIT(701) pour nommer le fichier dans la zone spécifiée de la mémoire E/S, puis sauvegardez le fichier sur la carte mémoire. Remarque Une carte mémoire contenant des fichiers de données TXT ou CSV peut être installée dans l'emplacement de cartes API d'un PC avec un adaptateur de carte mémoire HMC-AP001 et les fichiers de données peuvent être lus dans un tableur avec les fonctions Windows standard (non pris en charge par les UC CS1 série CS antérieures à EV1). 3. Utilisez FREAD(700) pour lire le fichier de la carte mémoire dans la mémoire E/S de l'UC. Vous pouvez exécuter des opérations sur les fichiers de la carte mémoire en émettant des commandes FINS sur l'UC locale avec CMND(490) (non pris en charge par les UC CS1 série CS antérieures à EV1). Remplacement du programme en cours d'opération 1,2,3... 1. Insérez une carte mémoire dans l'UC. (Déjà initialisée.) 2. Ecrivez le mot de passe du programme (A5A5 hex.) dans A651 et le nom du fichier de programme dans les mots A654 à A657. 3. Faites passer le drapeau de démarrage de remplacement (A65015) de OFF à ON. Fonction de sauvegarde Il existe 3 opérations de sauvegarde : sauvegarde de données sur la carte simple mémoire, restauration de données à partir de la carte mémoire et comparaison de données avec la carte mémoire. Sauvegarde de données de l'UC sur la carte mémoire 1,2,3... 1. Insérez une carte mémoire dans l'UC. (Déjà initialisée.) 2. Mettez la broche 7 de l'interrupteur DIP de l'UC à ON et la broche 8 à OFF. 251 Chapitre 5-3 Utilisation de la mémoire de fichiers 3. Appuyez sur l'interrupteur d'alimentation de la carte mémoire et maintenez-le enfoncé pendant trois secondes. 4. Vérifiez que le voyant MCPWR clignote une fois, puis s'éteint. (Les autres changements indiquent qu'une erreur s'est produite pendant la sauvegarde des données.) 1,2,3... Restauration des données de la carte mémoire sur l'UC. 1. Insérez la carte mémoire contenant les fichiers de sauvegarde dans l'UC. 2. Mettez la broche 7 de l'interrupteur DIP de l'UC à ON et la broche 8 à OFF. 3. Les fichiers de sauvegarde seront restaurés lorsque l'API sera mis sous tension. 4. Vérifiez que le voyant MCPWR clignote une fois, puis s'éteint. (Les autres changements indiquent qu'une erreur s'est produite pendant la restauration des données.) Comparaison des données sur la carte mémoire et sur l'UC 1,2,3... Remarque 1. Insérez la carte mémoire contenant les fichiers de sauvegarde dans l'UC. 2. Mettez les broches 7 et 8 de l'interrupteur DIP de l'UC à OFF. 3. Appuyez sur l'interrupteur d'alimentation de la carte mémoire et maintenez-le enfoncé pendant trois secondes. 4. Les données correspondent si le voyant MCPWR clignote une fois, puis s'éteint. Le voyant MCPWR clignote si une erreur survient pendant l'écriture ou la comparaison des données. Ce clignotement s'arrête et le voyant MCPWR s'allume lorsque vous appuyez sur l'interrupteur d'alimentation de la carte mémoire. Le tableau suivant indique la durée des opérations de sauvegarde avec un programme de 20 Kpas et un temps de cycle de 10 ms en mode RUN : Mode PROGRAM RUN Sauvegarde 50 s environ 5 min env. Restauration 30 s environ 2 min env. Comparaison 7 s environ 7 s environ Le tableau suivant indique la durée des opérations de sauvegarde avec un programme de 30 Kpas et un temps de cycle de 10 ms en mode RUN : Mode PROGRAM RUN Sauvegarde 50 s environ 5 min 3 s environ Restauration 30 s environ 2 min 40 s environ Comparaison 7 s environ 7 s environ Le tableau suivant indique la durée des opérations de sauvegarde avec un programme de 250 Kpas et un temps de cycle de 12 ms en mode RUN : Mode PROGRAM RUN Création de la table des variables et des fichiers de commentaires 1,2,3... 252 Sauvegarde 1 min 30 s environ 13 min env. Restauration 1 min 30 s environ 7 min 30 s environ Comparaison 20 s environ 20 s environ Utilisez la procédure du CX-Programmer suivante pour créer des fichiers de table de variables ou des fichiers de commentaires sur les cartes mémoire ou dans la mémoire de fichiers EM. 1. Insérez une carte mémoire formatée dans l'UC ou formatez la mémoire de fichiers EM. 2. Mettez CX-Programmer en ligne. 3. Sélectionnez Transfer, puis To PLC ou From PLC dans le menu de l'API. 4. Sélectionnez Symbols ou Comments pour les données à transférer. Utilisation de la mémoire de fichiers Remarque Chapitre 5-3 Si une carte mémoire est installée dans l'UC, les données ne peuvent être transférées qu'avec la carte mémoire. (Cela ne sera pas possible avec la mémoire de fichiers EM.) Mémoire de fichiers EM Utilisation d'un périphérique de programmation 1,2,3... 1. Utilisez la configuration de l'API pour spécifier la première banque EM à convertir en mémoire de fichiers. 2. Utilisez un périphérique de programmation pour initialiser la mémoire de fichiers EM. 3. Utilisez un périphérique de programmation pour nommer les données de l'UC (programme utilisateur, mémoire E/S, zone de paramètres), puis sauvegardez les données dans la mémoire de fichiers EM. 4. Utilisez un périphérique de programmation pour lire le fichier de la mémoire de fichiers EM sur l'UC. Utilisation de FREAD(700)/FWRIT(701)/CMND(490) 1,2,3... 1. Utilisez la configuration de l'API pour spécifier la première banque EM à convertir en mémoire de fichiers. 2. Utilisez un périphérique de programmation pour initialiser la mémoire de fichiers EM. 3. Utilisez FWRIT(701) pour nommer le fichier dans la zone spécifiée de la mémoire E/S, puis sauvegardez le fichier dans la mémoire de fichiers EM. 4. Utilisez FREAD(700) pour lire le fichier de la mémoire de fichiers EM dans la mémoire E/S de l'UC. Vous pouvez exécuter des opérations sur la mémoire de fichiers EM en émettant des commandes FINS sur l'UC avec CMND(490). 5-3-3 Interruptions de l'alimentation pendant l'accès à la mémoire de fichiers Si une interruption de l'alimentation se produit pendant que l'UC accède à la mémoire de fichiers (la carte mémoire ou la mémoire de fichiers EM), le contenu de la carte mémoire risque de ne pas être exact. Le remplacement du fichier mis à jour peut ne pas se dérouler correctement et, dans certains cas, la carte mémoire proprement dite peut être endommagée. Le fichier affecté sera supprimé automatiquement par le système à la prochaine mise sous tension. Le drapeau de notification de suppression de fichier correspondant (A39507 pour la carte mémoire, A39506 pour la mémoire de fichiers EM) passera à ON. Le drapeau passera à OFF lors de la prochaine mise hors tension. Lorsqu'un fichier sera supprimé, un fichier journal de suppression (DEL_FILE.IOM) sera créé dans le répertoire racine de la carte mémoire ou de la mémoire de fichiers EM. Vous pouvez lire le fichier journal de suppression avec CX-Programmer ou FREAD(700) pour vérifier les informations suivantes : date de suppression du fichier, type de la mémoire de fichiers (support) existante, sous-répertoire, nom de fichier et extension. Si nécessaire, recréez ou recopiez le fichier supprimé. Le schéma suivant décrit la structure du fichier journal de suppression. 253 Chapitre 5-3 Utilisation de la mémoire de fichiers Taille de fichier : 86 octets Année Mois Jour Date de suppression du fichier (6 octets) Extension Extension du fichier supprimé (4 octets) Support Sous-répertoire et nom du fichier supprimé (73 octets) Type de support (2 octets) 0000 : Carte mémoire 0001 : Mémoire de fichiers EM 254 CHAPITRE 6 Fonctions avancées Ce chapitre fournit des informations détaillées sur les fonctions avancées suivantes : fonctions de traitement à grande vitesse/temps de cycle, fonctions de registres d'index, fonctions de communications série, fonctions de démarrage et de maintenance, fonctions de diagnostic et de débogage, fonctions des périphériques de programmation et les paramètres de temps de réponse des entrées de la carte d'E/S standard. 6-1 Temps de cycle et traitement à grande vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 6-1-1 Temps de cycle minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 6-1-2 Temps de cycle maximum (temps de cycle d'horloge) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 6-1-3 Surveillance du temps de cycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 6-1-4 Entrées à grande vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 6-1-5 Fonctions d'interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 6-1-6 Méthodes de mise à jour d'E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 6-1-7 Désactivation de la mise à jour cyclique des cartes d'E/S spéciales . . . . . . . . . . . . . . . . . . . . 261 6-1-8 Amélioration de la réponse de mise à jour des données de la carte réseau . . . . . . . . . . . . . . 262 6-1-9 Temps maximal de réponse d'E/S de liaison de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 6-1-10 Exécution en arrière-plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 6-1-11 Partage de registres d'index et de données entre des tâches . . . . . . . . . . . . . . . . . . . . . . . . . . 273 6-2 6-3 6-4 6-5 6-6 Registres d'index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 6-2-1 Définition des registres d'index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 6-2-2 Utilisation des registres d'index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 6-2-3 Traitement associé aux registres d'index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Communications en série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 6-3-1 Communications Host Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 6-3-2 Communications sans protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 6-3-3 Liaison NT (mode 1:N) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 6-3-4 Passerelle série de l’UC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 6-3-5 Liaisons API série (cartes CJ1M uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Modification du mode de mise à jour de la PV de temporisation/compteur. . . . . . . . . . . . . . . . . . . . . 305 6-4-1 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 6-4-2 Caractéristiques fonctionnelles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 6-4-3 Sélection du mode BCD ou du mode binaire et confirmation . . . . . . . . . . . . . . . . . . . . . . . . 307 6-4-4 Mnémoniques et données en mode BCD ou en mode binaire . . . . . . . . . . . . . . . . . . . . . . . . 308 6-4-5 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 6-4-6 Instructions et opérandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Utilisation d'une interruption programmée comme temporisation de haute précision (CJ1M uniquement) 313 6-5-1 Configuration de l'interruption programmée par pas de 0,1 ms . . . . . . . . . . . . . . . . . . . . . . . 313 6-5-2 Spécification d'un démarrage avec réinitialisation à l'aide de MSKS(690) . . . . . . . . . . . . . . 314 6-5-3 Lecture de la valeur actuelle (PV) de temporisation interne à l'aide de MSKR(692) . . . . . . 314 Paramètres du démarrage et maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 6-6-1 Fonctions de démarrage/d'arrêt à chaud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 6-6-2 Paramètre du mode de démarrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 255 6-6-3 Sortie RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 6-6-4 Paramètre du retard de la détection de mise hors tension . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 6-6-5 Désactivation des interruptions à la mise hors tension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 6-6-6 Fonctions d'horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 6-6-7 Protection du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 6-6-8 Protection en écriture à partir de commandes FINS envoyées aux UC via des réseaux . . . . . 321 6-6-9 Programmation et surveillance à distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 6-6-10 Profils des unités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 6-6-11 Mémoire flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 6-6-12 Paramètres des conditions au démarrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 6-7 6-8 6-9 Fonctions de diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 6-7-1 Journal d'erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 6-7-2 Fonction sortie OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 6-7-3 Fonctions d'alarme erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 6-7-4 Détection du point d'erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 6-7-5 Simulation d'erreurs système. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 6-7-6 Désactivation du stockage des erreurs FAL définies par l'utilisateur dans le journal d'erreurs. . . . 330 Modes de traitement UC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 6-8-1 Modes de traitement UC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 6-8-2 Mode de traitement parallèle et temps de cycle minimums . . . . . . . . . . . . . . . . . . . . . . . . . . 336 6-8-3 Concurrence de données en traitement parallèle avec accès mémoire asynchrone . . . . . . . . 336 Mode prioritaire du traitement des périphériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 6-9-1 Mode prioritaire du traitement des périphériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 6-9-2 Désactivation temporaire du traitement en mode prioritaire. . . . . . . . . . . . . . . . . . . . . . . . . . 339 6-10 Fonctionnement sans batterie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 6-11 Autres fonctions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 6-11-1 Paramètres des temps de réponse d'E/S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 6-11-2 Affectation de la zone d'E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 256 Chapitre 6-1 Temps de cycle et traitement à grande vitesse 6-1 Temps de cycle et traitement à grande vitesse Ce chapitre décrit les fonctions suivantes : • la fonction de temps de cycle minimum ; • la fonction de temps de cycle maximum (temps de cycle d'horloge) ; • la surveillance du temps de cycle ; • les entrées à réponse rapide ; • les fonctions d'interruption ; • les méthodes de mise à jour d'E/S ; • la désactivation de la mise à jour cyclique des cartes d'E/S spéciales ; • l'amélioration de la réponse de mise à jour pour les liaisons de données et d'autres données de cartes réseau (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement) ; • la réduction des fluctuations du temps de cycle grâce à des manipulations de données en arrière-plan (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement). 6-1-1 Temps de cycle minimum Les API série CS/CJ permettent de configurer un temps de cycle minimum (ou fixe). (Voir remarque). Pour éliminer les variations de temps de réponse d'E/S, répétez le programme avec un temps de cycle fixe. Remarque Le temps de cycle peut également être fixe dans le cas d'une UC CS1D pour système à UC seule, des UC CS1-H, CJ1-H ou CJ1M, ou si vous utilisez un mode de traitement parallèle. Le temps de cycle minimum (1 à 32 000 ms) est spécifié par pas de 1 ms dans la configuration de l'API. Temps de cycle minimal Temps de cycle minimal Temps de cycle minimal (effectif) (effectif) (effectif) Temps de cycle réel Temps de cycle réel Temps de cycle réel Si le temps de cycle réel est supérieur au temps de cycle minimum, la fonction de temps de cycle minimum est inopérante et le temps de cycle varie d'un cycle à l'autre. Temps de cycle minimum Temps de cycle minimum Temps de cycle réel (effectif) Temps de cycle réel (effectif) Temps de cycle minimal (effectif) Temps de cycle réel Configuration de l'API Adresse 208 Bits : 0 à 15 Nom Temps de cycle minimum Paramètre 0001 à 7D00 : 1 à 32 000 ms (pas de 1 ms) Par défaut 0000 (absence de minimum) 257 Chapitre 6-1 Temps de cycle et traitement à grande vitesse 6-1-2 Temps de cycle maximum (temps de cycle d'horloge) Si le temps de cycle (voir remarque) dépasse le paramètre de temps de cycle maximum, le drapeau de temps de cycle trop long (A40108) passe à ON et l'API s'arrête de fonctionner. Remarque Dans ce cas, le temps de cycle correspond au temps d'exécution du programme lorsque vous utilisez un mode de traitement parallèle pour les UC CS1-H, CJ1-H ou CJ1M, ou les UC pour systèmes à UC seule. Configuration de l'API Adresse 209 Bit : 15 209 Bits : 0 à 14 Nom Active le paramètre du temps de cycle d'horloge Paramètre du temps de cycle d'horloge (Activé lorsque le bit 15 est configuré à 1). Paramètre 0 : valeur par défaut (1 s) (1) bits 0 à 14 001 à FA0 : 10 à 40 000 ms (pas de 10 ms) Par défaut 0001 (1 s) Drapeaux et mots de la zone auxiliaire Nom Drapeau de temps de cycle trop long Remarque 6-1-3 Adresse A40108 Description Si le temps de cycle dépasse le paramètre du temps de cycle d'horloge, A40108 passe à ON et l'UC s'arrête de fonctionner. Le « temps de cycle » correspond au temps d'exécution du programme lorsque vous utilisez un mode de traitement parallèle pour les UC CS1-H, CJ1-H ou CJ1M, ou les UC pour systèmes à UC seule. Si le cycle du traitement des périphériques est supérieur à 2,0 s pour les UC CS1-H, CJ1-H ou CJ1M, ou les UC CS1D pour systèmes à UC seule en mode de traitement parallèle, une erreur de dépassement de temps de cycle du traitement des périphériques se produit et l'UC s'arrête de fonctionner. Si cela se produit, A40515 (drapeau de dépassement de temps de cycle du traitement des périphériques) passe à ON. Surveillance du temps de cycle Le temps de cycle maximum et le temps de cycle actuel sont mémorisés dans la zone auxiliaire après chaque cycle. Dans le cas des UC CS1-H, CJ1-H ou CS1D pour systèmes à UC seule en mode de traitement parallèle, les temps d'exécution du programme sont également mémorisés. Drapeaux et mots de la zone auxiliaire Nom Temps de cycle maximum (temps d'exécution du programme pour les UC CS1-H, CJ1-H ou CJ1M en mode de traitement parallèle) Temps de cycle actuel (temps d'exécution du programme pour les UC CS1-H, CJ1-H ou CJ1M en mode de traitement parallèle) Adresse Description A262 et Mémorisé à chaque cycle sous forme de A263 valeur binaire de 32 bits, dans la plage suivante : 0 à 429 496 729,5 ms par pas de 0,1 ms (0 à FFFF FFFF) A264 et A265 Mémorisé à chaque cycle sous forme de valeur binaire de 32 bits, dans la plage suivante : 0 à 429 496 729,5 ms par pas de 0,1 ms (0 à FFFF FFFF) Vous pouvez utiliser un périphérique de programmation (CX-Programmer ou console de programmation) pour lire la moyenne des temps de cycle sur les 8 derniers cycles. 258 Chapitre 6-1 Temps de cycle et traitement à grande vitesse Réduire le temps de cycle Vous pouvez réduire efficacement le temps de cycle des API série CS/CJ en appliquant l'une des méthodes suivantes : 1,2,3... 6-1-4 1. Mettez en attente les tâches qui ne sont pas en cours d'exécution. 2. Sautez les sections de programme qui ne sont pas en cours d'exécution à l'aide de JMP(004) et JME(005). Dans le cas des UC CS1-H ou CJ1-H, ou des UC CS1D pour systèmes à UC seule en mode de traitement parallèle, le temps de cycle du traitement des périphériques est stocké en A268 (temps de cycle du traitement des périphériques) après chaque cycle de service. Entrées à grande vitesse Si vous souhaitez recevoir des impulsions inférieures au temps de cycle, utilisez la carte d'entrée à grande vitesse CS1W-IDP01 ou les entrées à grande vitesse des cartes d'E/S haute densité C200H-ID501/ID215 et C200H-MD501/MD115/MD215. Les entrées à grande vitesse peuvent recevoir des impulsions d'une largeur (temps ON) de 1 ms ou 4 ms pour les cartes d'entrées haute densité C200H et de 0,1 ms pour la carte d'entrée à grande vitesse CS1W-IDP01. Carte d'entrée grande vitesse ou carte d'entrée haute densité CS1W-IDP01 : 0,1 ms CJ1W-IDP01 : 0,05 ms C200H-ID501/ID215/MD501/MD115/MD215 : 4 ms 6-1-5 Fonctions d'interruption Des tâches d'interruption peuvent être exécutées dans les conditions suivantes. Reportez-vous à la section4-3 Tâche d'interruption pour plus de détails. Remarque Les UC CS1D pour systèmes à UC en duplex ne prennent pas en charge les interruptions. Dans le cas des UC CS1D, les tâches d'interruption ne peuvent s'utiliser qu'en tant que tâches cycliques extra, autrement dit, vous ne pouvez utiliser aucun autre type de tâche d'interruption. Interruptions E/S (tâches d'interruption 100 à 131) Une tâche d'interruption E/S est exécutée lorsque l'entrée correspondante (sur le front montant du signal ou, pour les cartes d'entrées d'interruption, sur les fronts montant ou descendant) est reçue d'une carte d'entrée d'interruption. Interruptions programmées (tâches d'interruption 2 à 3) Une tâche d'interruption programmée est exécutée à intervalles réguliers. Interruption de mise hors tension (tâche d'interruption 1) Cette tâche est exécutée lorsque l'alimentation est interrompue. Interruptions externes (tâches d'interruption 0 à 255) Une tâche d'interruption externe est exécutée lorsqu'une interruption est reçue d'une carte d'E/S spéciales, d'une carte réseau ou d'une carte interne. Remarque Sur une UC CJ1M, vous pouvez utiliser les entrées intégrées d'interruption et de compteur à grande vitesse pour activer des tâches d'interruption. Reportez-vous au Manuel d'utilisation des E/S intégrées, série CJ pour plus de détails. 259 Chapitre 6-1 Temps de cycle et traitement à grande vitesse 6-1-6 Méthodes de mise à jour d'E/S Dans le cas des UC série CS/CJ, il existe 3 manières différentes de mettre à jour les données à l'aide de cartes d'E/S standard et de cartes d'E/S spéciales : la mise à jour cyclique, la mise à jour immédiate et l'exécution de l'instruction IORF(097). 1. Mise à jour cyclique La mise à jour d'E/S s'effectue une fois que toutes les instructions contenues dans les tâches exécutables ont été exécutées. (Vous pouvez définir la configuration de l'API de manière à désactiver la mise à jour cyclique des différentes cartes d'E/S spéciales). END Tâche END Tâche END Tâche Mise à jour d'E/S Données E/S réelles 2. Mise à jour immédiate Lorsqu'une adresse de la zone d'E/S est spécifiée en tant qu'opérande dans la variation par mise à jour immédiate d'une instruction, ces données d'opérande sont mises à jour lors de l'exécution de l'instruction. Les instructions de mise à jour immédiate peuvent mettre à jour des données affectées à des cartes d'E/S standard. La mise à jour immédiate est également possible pour les E/S intégrées des UC CJ1M. Données E/S réelles Mise à jour immédiate CIO 0001 CIO 0002 CIO 0003 CIO 0004 Remarque 260 1. Lorsque l'instruction contient un opérande bit, le mot entier contenant ce bit est mis à jour. Lorsque l'instruction contient un opérande mot, ce mot est mis à jour. 2. Les données d'entrée et sources sont mises à jour juste avant l'exécution de l'instruction. Les données de sortie et de destination sont mises à jour juste après l'exécution de l'instruction. 3. Les temps d'exécution des variations par mise à jour immédiate sont supérieurs à ceux des variations régulières d'instructions, le cycle sera donc plus long. Reportez-vous au chapitre 10-5 Temps d'exécution d'instruction et nombre de pas dans le Manuel d'utilisation pour plus de détails. 4. Les UC CS1D pour systèmes à UC en duplex ne prennent pas en charge la mise à jour immédiate. Chapitre 6-1 Temps de cycle et traitement à grande vitesse 3. Exécution des instructions IORF(097) et DLNK(226) ■ IORF(097) : MISE A JOUR D'E/S L'exécution de l'instruction IORF(097) permet de mettre à jour une plage de mots d'E/S. L'instruction IORF(097) peut mettre à jour des données affectées à des cartes d'E/S standard et spéciales. St : mot de début St E E : mot de fin Les données de tous les mots de St à E sont rafraîchies à l'exécution de IORF(097). Dans l'exemple suivant, l'instruction IORF(097) est utilisée pour mettre à jour 8 mots de données d'E/S. Les 7 mots de CIO 0010 à CIO 0016 sont rafraîchis à l'exécution de IORF(097). 0016 Remarque Lorsqu'une réponse à grande vitesse est requise pour l'entrée et la sortie d'un calcul, utilisez IORF(097) juste avant et juste après l'instruction de calcul. Le temps d'exécution de l'instruction IORF(097) est relativement long et augmente proportionnellement au nombre de mots mis à jour, ce qui peut entraîner un allongement significatif du temps de cycle. Reportez-vous au chapitre 10-5 Temps d'exécution d'instruction et nombre de pas dans le Manuel d'utilisation pour plus de détails. ■ DLNK(226) : mise à jour d'E/S de carte réseau (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement) DLNK(226) s'utilise pour mettre à jour des données d'une carte réseau portant le numéro de carte spécifié. Les données mises à jour sont les suivantes : • mots affectés à la carte dans la zone CIO ; • mots affectés à la carte dans la zone DM ; • données spécifiques de la carte (voir remarque) ; Remarque Les données spécifiques d'une carte réseau comprennent des liaisons de données pour la carte Controller Link ou les cartes SYSMAC LINK, ainsi que des E/S déportées pour les cartes DeviceNet. DLNK N : numéro de la carte réseau N Exemple : DLNK L'instruction à gauche met à jour les mots affectés à la carte dans les zones CIO et DM, et des données spécifiques de la carte réseau portant le numéro de carte 1. #1 Exemple d'application : Lorsque le temps de cycle est long, l'intervalle de mise à jour des liaisons de données de Controller Link peut être très long. Vous pouvez raccourcir cet intervalle en exécutant l'instruction DLNK(226) pour que la carte Controller Link augmente la fréquence de mise à jour des liaisons de données. 6-1-7 Désactivation de la mise à jour cyclique des cartes d'E/S spéciales Dix mots de la zone de carte d'E/S spéciales (CIO 2000 à CIO 2959) sont affectés à chaque carte d'E/S spéciales en fonction du numéro de carte configuré sur l'avant de la carte. Les données sont mises à jour entre cette zone et l'UC à chaque cycle de la mise à jour d'E/S. Vous pouvez toutefois 261 Chapitre 6-1 Temps de cycle et traitement à grande vitesse désactiver cette mise à jour cyclique pour les différentes cartes dans la configuration de l'API. Les trois principaux motifs de désactivation de la mise à jour cyclique sont les suivants : 1,2,3... 1. La mise à jour cyclique des cartes d'E/S spéciales peut être désactivée lorsque le temps de cycle est trop long, en raison du grand nombre de cartes d'E/S spéciales installées. 2. Si le temps de mise à jour d'E/S est trop court, le traitement interne de la carte risque de ne pas suivre le rythme, le drapeau d'erreur des cartes d'E/S spéciales (A40206) passera à ON et la carte d'E/S spéciales ne fonctionnera pas correctement. Dans ce cas, le temps de cycle peut être allongé en configurant un temps de cycle minimum dans la configuration de l'API ou en désactivant la mise à jour d'E/S cyclique de la carte d'E/S spéciales. 3. Désactivez toujours la mise à jour cyclique d'une carte d'E/S spéciales si cette dernière est mise à jour au cours d'une tâche d'interruption par l'instruction IORF(097). Si la mise à jour cyclique et la mise à jour par IORF(097) s'effectuent simultanément pour la même carte, une erreur de tâche d'interruption se produit et le drapeau d'erreur de tâche d'interruption (A40213) passe à ON. Lorsque la mise à jour cyclique est désactivée, les données de la carte d'E/S spéciales peuvent être mises à jour pendant l'exécution du programme à l'aide de l'instruction IORF(097). Configuration de l'API Les bits de désactivation de la mise à jour cyclique des cartes d'E/S spéciales 0 à 95 correspondent directement aux 96 bits des adresses 226 à 231. Adresse 226 bit 0 : 231 bit 15 6-1-8 Nom Bit de désactivation de la mise à jour cyclique de la carte d'E/S spéciales 0 : Bit de désactivation de la mise à jour cyclique de la carte d'E/S spéciales 95 Paramètre 0 : activé 1 : désactivé Par défaut 0 (activé) : 0 : activé 1 : désactivé : 0 (activé) Amélioration de la réponse de mise à jour des données de la carte réseau Cette fonction est uniquement prise en charge par les UC CS1-H, CJ1-H, CJ1M ou CS1D. En règle générale, les liaisons de données et les autres données spéciales des cartes réseau sont mises à jour en même temps que les mots des zones CIO et DM affectés aux cartes, pendant la période de mise à jour d'E/S qui suit l'exécution du programme. Le tableau suivant présente quelques exemples de données spéciales de cartes réseau. Cartes Cartes Controller Link et cartes SYSMAC LINK Cartes DeviceNet série CS/CJ 262 Données spéciales Liaisons de données Controller Link et SYSMAC LINK (y compris les liaisons configurées automatiquement et par l'utilisateur) Communications d'E/S déportées DeviceNet (y compris les affectations fixes et configurées par l'utilisateur) Chapitre 6-1 Temps de cycle et traitement à grande vitesse Les fonctions suivantes permettent d'améliorer la réponse de mise à jour des données spéciales des cartes réseau avec les UC CS1-H, CJ1-H, CJ1M ou CS1D. • Réduction du temps de cycle à l'aide du mode de traitement parallèle ou des instructions à grande vitesse. (Le mode de traitement parallèle n'est pas pris en charge par les UC CS1D pour systèmes d'UC en duplex). • Exécution de l'instruction DLNK(226) pour mettre à jour des cartes réseau spécifiques en indiquant leurs numéros (DLNK(226) peut s'utiliser plusieurs fois dans le programme). Remarque 1. Les temps de cycle plus longs (exemple : 100 ms) augmentent l'intervalle de mise à jour des liaisons de données. Dans ce cas, vous pouvez utiliser l'instruction DLNK(226), comme illustré dans l'exemple suivant. Tâche cyclique n DLNK N Les liaisons de données (Controller Link ou SYSMAC Link) de la carte réseau portant le numéro de carte N sont mises à jour ici. (Voir remarque). DLNK M Les liaisons de données (Controller Link ou SYSMAC Link) de la carte réseau portant le numéro de carte M sont mises à jour ici. (Voir remarque). END Mise à jour d'E/S Les liaisons de données de Controller Link et SYSMAC Link sont toutes mises à jour ici. Traitement des périphériques Remarque Si l'instruction DLNK(226) est exécutée pour une carte réseau qui est en train de mettre à jour des données, les données ne sont pas mises à jour et le drapeau d'égalité passe à OFF. En règle générale, le drapeau d'égalité doit être programmé comme indiqué ci-dessous, pour être sûr que la mise à jour s'est terminée normalement. Condition d'exécution DLNK &0 Drapeau = Met à jour les données de la carte réseau portant le numéro de carte 0. Bit « a » Active le bit « a » si la mise à jour des données échoue, et permet ainsi de détecter le problème. 2. L'instruction IORF(097) permet de mettre à jour des données de cartes d'E/S standard et spéciales. L'instruction (226) permet de mettre à jour des cartes réseau (mots des zones CIO et DM, affectés aux cartes et aux données spéciales des cartes). 263 Chapitre 6-1 Temps de cycle et traitement à grande vitesse 6-1-9 Temps maximal de réponse d'E/S de liaison de données Traitement normal Le diagramme suivant représente le flux de données qui génère le temps maximal de réponse d'E/S de liaison de données lorsque l'instruction DLNK(226) n'est pas utilisée. Entrée Carte d'entrée Cartes d'E/S standard mises à jour. Délai d'entrée à ON (1) Retard de deux temps de cycle Cartes réseau mises à jour (y compris les liaisons de données) × Un temps de cycle Traitement dans l'UC n° 1 Exécution du Transfert de données vers × la carte Controller Link (2) Retard de deux temps de cycle de communication Transmissions de liaisons de données (3) Retard de deux temps de cycle Un cycle de communication Données reçues de la carte Controller Link × Traitement dans l'UC n° 2 Un temps de cycle Exécution du programme Carte de sortie Délai de sortie à ON Temps maximal de réponse d'E/S de liaison de données 1,2,3... Dans le diagramme ci-dessus, le traitement est retardé en 3 points, ce qui augmente le temps de réponse d'E/S de liaison de données. 1. L'entrée arrive à l'API (UC n° 1) juste après la mise à jour d'E/S, entraînant un retard d'un cycle avant l'enregistrement de l'entrée dans l'API. Les cartes réseau sont mises à jour après l'exécution du programme, générant un retard total de deux cycles. 2. L'échange de données se produit immédiatement après que l'API a transmis le jeton qui le transforme en nœud d'analyse, générant ainsi un retard de l'ordre d'un temps de cycle de communication (maximum), avant le transfert des données par traitement de liaison de données. Un retard de l'ordre d'un temps de cycle de communication (maximum) se forme également après la réception du jeton, générant un retard total maximum de deux temps de cycle de communication. 3. Les données transférées par traitement de liaison de données arrivent à l'API (UC n° 2) après l'échange de données, de sorte que les données ne seront pas enregistrées dans l'API avant le prochain échange de données, générant ainsi un retard inférieur ou égal à un cycle. Les cartes réseau sont mises à jour après l'exécution du programme, générant un retard total de deux cycles. L'équation du temps maximal de réponse d'E/S de liaison de données est la suivante : Délai d'entrée à ON Temps de cycle de l'API sur l'UC n° 1 × 2 Temps de cycle de communication × 2 Temps de cycle de l'API sur l'UC n° 2 × 2 Délai de sortie à ON Total (temps de réponse d'E/S de liaison de données) 264 1,5 ms 25 ms × 2 10 ms × 2 20 ms × 2 15 ms 126,5 ms Chapitre 6-1 Temps de cycle et traitement à grande vitesse Utilisation de l'instruction DLNK(226) Le diagramme suivant représente le flux de données qui génère le temps maximal de réponse d'E/S de liaison de données lorsque l'instruction DLNK(226) est utilisée. Entrée Exécution de DLNK(226) Carte d'entrée ▼ Cartes d'E/S standard mises à jour Délai d'entrée à ON Cartes réseau mises à jour (y compris les liaisons de données) (1) Retard de 1,5 temps de cycle × Un temps de cycle DLNK ▼ Exécution du programme Transfert de données vers la carte Controller Link DLNK ▼ Traitement dans l'UC n° 1 DLNK ▼ (2) Retard de deux temps de cycle de communication × Transmissions de liaisons de données Un cycle de communication Un temps de cycle maximum (3) Retard d'environ 1 temps de cycle × Données reçues de la carte Controller Link Traitement dans l'UC n° 2 DLNK ▼ Exécution du programme DLNK ▼ DLNK ▼ Carte de sortie Délai de sortie à ON Temps maximal de réponse d'E/S de liaison de données Dans le diagramme ci-dessus, le traitement est retardé en 3 points, ce qui augmente le temps de réponse d'E/S de liaison de données. Remarque Dans cet exemple, l'instruction DNLK(226) est supposée être placée après d'autres instructions du programme dans les deux UC. 1,2,3... 1. L'entrée arrive à l'API (UC n° 1) juste après la mise à jour d'E/S, entraînant un retard d'un cycle avant l'enregistrement de l'entrée dans l'API. Les cartes réseau sont mises à jour pendant l'exécution du programme, ce qui réduit le retard total à environ 1,5 temps de cycle. 2. L'échange de données se produit immédiatement après que l'API a transmis le jeton qui le transforme en nœud d'analyse, générant ainsi un retard de l'ordre d'un temps de cycle de communication (maximum), avant le transfert des données par traitement de liaison de données. Un retard de l'ordre d'un temps de cycle de communication (maximum) se forme également après la réception du jeton, générant un retard total maximum de deux temps de cycle de communication. 3. Les données transférées par traitement de liaison de données arrivent à l'API (UC n° 2) après la mise à jour d'E/S, mais l'instruction DLNK(226) met à jour les données, et les données seront donc enregistrées dans l'API sans générer de retard de l'ordre d'un cycle (maximum). Les cartes d'E/S standard sont mises à jour après l'exécution du programme, générant ainsi un retard total d'environ un cycle. 265 Chapitre 6-1 Temps de cycle et traitement à grande vitesse L'équation du temps maximal de réponse d'E/S de liaison de données est la suivante : Délai d'entrée à ON Temps de cycle de l'API sur l'UC n° 1 × 1,5 1,5 ms 25 ms × 1,5 Temps de cycle de communication × 2 Temps de cycle de l'API sur l'UC n° 2 × 1 10 ms × 2 20 ms × 1 Délai de sortie à ON 15 ms Total (temps de réponse d'E/S de liaison de 94 ms données) --Plus rapide de 12,5 ms (25 ms x 0,5) --Plus rapide de 20 ms (20 ms x 1) --Plus rapide de 32,5 ms (26 % plus rapide) 6-1-10 Exécution en arrière-plan Remarque L'exécution en arrière-plan permet de réduire les fluctuations du temps de cycle. L'exécution en arrière-plan n'est prise en charge que par les UC CS1-H, CJ1-H ou CJ1M, ou les UC CS1D pour systèmes à UC seule. Le traitement des données de tables (par exemple, les recherches de données) et le traitement des chaînes de caractères (par exemple les recherches de chaînes de caractères) nécessitent un certain temps d'exécution et peuvent induire d'importantes fluctuations du temps de cycle, en raison du temps supplémentaire requis pour leur exécution. Toutefois, dans le cas des UC CS1-H, CJ1-H ou CJ1M, ou des UC CS1D pour systèmes à UC seule (voir remarque), l'exécution en arrière-plan (découpage du temps) permet d'exécuter les instructions suivantes sur plusieurs cycles afin de mieux contrôler les fluctuations du temps de cycle. La configuration de l'API permet de paramétrer une exécution en arrière-plan pour chaque type d'instruction. Les UC CS1D pour systèmes à UC en duplex ne prennent pas en charge l'exécution en arrière-plan. • Instructions de traitement de données de tables • Instructions de traitement de chaînes de caractères • Instructions de décalage de données (ASYNCHRONOUS SHIFT REGISTER uniquement) Configurer l'exécution en arrière-plan des instructions ci-dessus peut faciliter le contrôle des allongements temporaires du temps de cycle. UC CS1-H ou CJ1-H UC CS1 MAX Temps d'exécution long ↓ Temps de cycle plus long lorsque l'instruction MAX est exécutée. Exécution en arrière-plan MAX Exécution uniquement lancée. Exécutée sur plusieurs cycles à l'aide du découpage du temps. Applications Vous pouvez utiliser l'exécution en arrière-plan pour le traitement de grands volumes de données, tel que la compilation ou le traitement de données, requis à certaines heures seulement (exemple : 1 fois par jour), lorsque la réduction de l'effet sur le temps de cycle a plus d'importance que la vitesse du traitement des données. Procédure 1,2,3... 266 1. Paramétrez la configuration de l'API pour activer l'exécution en arrièreplan des instructions requises. 2. Configurez le numéro du port des communications (numéro de port logique) à utiliser pour l'exécution en arrière-plan, dans la configuration de l'API. Ce numéro de port sera utilisé pour toutes les instructions traitées en arrière-plan. Chapitre 6-1 Temps de cycle et traitement à grande vitesse 3. 4. 5. 6. Remarque Un seul port est utilisé pour toutes les exécutions en arrièreplan. Par conséquent, une exécution en arrière-plan ne peut être lancée si l'exécution en arrière-plan d'une autre instruction est déjà en cours. Utilisez le drapeau d'activation du port des communications pour contrôler les instructions spécifiées pour l'exécution en arrière-plan et éviter que plusieurs instructions ne soient exécutées simultanément. Si une instruction pour laquelle vous avez spécifié une exécution en arrière est exécutée, l'exécution ne sera lancée qu'au cours du cycle pendant lequel la condition d'exécution a été satisfaite, et ne se terminera pas sur le même cycle. Lorsque l'exécution en arrière-plan est lancée, le drapeau d'activation du port des communications correspondant à ce port passe à OFF. L'exécution en arrière se poursuit sur plusieurs cycles. Lorsque le traitement est terminé, le drapeau d'activation du port des communications correspondant à ce port passe à ON. Ceci active l'exécution en arrière-plan d'une autre instruction. Instructions utilisables ■ Instructions de traitement des données de tables Instruction DATA SEARCH SWAP BYTES FIND MAXIMUM FIND MINIMUM SUM FRAME CHECKSUM Mnémonique Code fonction SRCH 181 SWAP 637 MAX 182 MIN 183 SUM 184 FCS 180 ■ Instructions de traitement des chaînes de caractères Instruction MOVE STRING CONCATENATE STRING GET STRING LEFT GET STRING RIGHT GET STRING MIDDLE FIND IN STRING STRING LENGTH REPLACE IN STRING DELETE STRING EXCHANGE STRING CLEAR STRING INSERT INTO STRING Mnémonique MOV$ +$ LEFT$ RIGHT$ MID$ FIND$ LEN$ RPLC$ DEL$ XCHG$ CLR$ INS$ Code fonction 664 656 652 653 654 660 650 661 658 665 666 657 ■ Instructions de décalage de données Instruction ASYNCHRONOUS SHIFT REGISTER Mnémonique Code fonction ASFT 017 Différences entre les instructions exécutées normalement et celles exécutées en arrière-plan Les différences entre l'exécution normale des instructions et leur exécution en arrière-plan sont répertoriées ci-dessous. 267 Chapitre 6-1 Temps de cycle et traitement à grande vitesse ■ Sortie vers les registres d'index (IR) Si MAX(182) ou MIN(183) est exécutée pour diriger l'adresse de mémoire d'E/S du mot contenant la valeur minimale ou maximale vers un registre d'index, l'adresse sera dirigée vers A595 et A596 au lieu d'être dirigée vers le registre d'index. Pour stocker l'adresse dans un registre d'index, utilisez une instruction de déplacement de données (exemple : MOVL(498)) pour copier l'adresse dans A595 et A596 vers un registre d'index. ■ Drapeaux de condition Les drapeaux de condition ne sont pas mis à jour après l'exécution d'instructions traitées en arrière-plan. Pour accéder à l'état des drapeaux de condition, exécutez une instruction qui modifie les drapeaux de condition en procédant comme dans l'exemple suivant, puis accédez aux drapeaux de condition. Exemple : MOV(021) modifie les drapeaux d'égalité et négatif de manière identique à MAX(182), autrement dit, ces deux instructions mettent toutes deux le drapeau d'égalité à ON pour 0 et mettent le drapeau négatif à ON si le bit de poids fort (MSB) est activé. Vous pouvez donc utiliser MOV(021) pour copier les résultats de MAX(182) vers la même adresse afin de manipuler les drapeaux de condition et de pouvoir ainsi accéder à l'état. Condition d'exécution MAX D01000 D02000 D00000 Recherche la valeur maximale de la table de données à partir de D020000 et la place dans D000000. RSET 000000 SET 000001 000001 A20200 MOV D00000 D00000 W00000 Déplace le contenu de D000000 vers D000000 pour manipuler les drapeaux de condition. Active W00000 si le drapeau d'égalité est à ON, c'est-à-dire si D000000 contient 0000 hex. ■ Sortie vers le registre d'index IR00 Si SRCH(181) est exécutée pour diriger l'adresse de mémoire d'E/S du mot contenant la valeur correspondante (le premier mot s'il en existe plusieurs) vers un registre d'index, l'adresse est dirigée vers A595 et A596 au lieu d'être dirigée vers le registre d'index. ■ Sortie vers des registres de données (DR) avec SRCH(181) Si SRCH(181) est exécutée pour diriger les données correspondantes vers un registre de données, les données sont dirigées vers A597 au lieu d'être dirigées vers le registre de données. ■ Chaînes de caractères correspondantes Si SRCH(181) trouve des données correspondantes, elle active A59801 au lieu de mettre le drapeau d'égalité à ON. ■ Erreurs d'instructions Si une erreur d'exécution d'instruction ou une erreur d'accès illégal se produit pendant le traitement en arrière-plan d'une instruction, les drapeaux ER ou AER ne sont pas mis à ON mais, au lieu de cela, A39510 est activée. A39510 reste à ON jusqu'au prochain traitement en arrière-plan d'une instruction. 268 Chapitre 6-1 Temps de cycle et traitement à grande vitesse ■ Sortie vers des registres de données (DR) avec SRCH(181) Si MAX(182) ou MIN(183) est exécutée avec un registre de données spécifié comme mot de sortie de la valeur minimale ou maximale, une erreur d'exécution d'instruction se produit et le drapeau ER passe à ON. Configuration de l'API Mot 198 Bits 15 Nom Paramètre Exécution en arrièreplan des instructions de la table de données Exécution en arrièreplan des instructions de chaînes de caractères 0 : non exécutée en arrièreplan. 1 : exécutée en arrière-plan. 13 Exécution en arrièreplan des instructions de décalage de données 0 : non exécutée en arrièreplan. 1 : exécutée en arrière-plan. 00 à 03 Numéro du port des 0 à 7 hex. : ports des communications pour communications 0 à 7 l'exécution en arrière- (ports logiques internes) plan 14 0 : non exécutée en arrièreplan. 1 : exécutée en arrière-plan. Par défaut et fréquence de mise à jour 0 : non exécutée en arrièreplan. Début du fonctionnement 0 hex. : port 0 Début du fonctionnement Drapeaux et mots de la zone auxiliaire Nom Adresse A20200 à Drapeaux d'activation du A20207 port des communications Drapeaux A21900 à d'erreurs du A21907 port des communications Description Passe à ON lorsqu'une instruction de réseau (SEND, RECV, CMND ou PMCR) peut être exécutée avec le numéro de port correspondant ou lorsque l'exécution en arrière-plan peut s'effectuer avec le numéro de port correspondant (UC CS1D pour systèmes à UC seule, ou UC CS1-H, CJ1-H ou CJ1M uniquement). Les bits de 00 à 07 correspondent aux ports des communications de 0 à 7. Lorsque la sauvegarde simple est utilisée pour effectuer une écriture ou une comparaison sur une carte mémoire d'une UC CS1-H, CJ1-H, CJ1M ou CS1D, un port des communications est automatiquement affecté et le drapeau correspondant passe à ON pendant l'opération et à OFF lorsque l'opération est terminée. Passe à ON lorsqu'une erreur survient pendant l'exécution d'une instruction réseau (SEND, RECV, CMND ou PMCR). Les bits de 00 à 07 correspondent aux ports des communications de 0 à 7. Lorsque la sauvegarde simple est utilisée pour effectuer une écriture ou une comparaison sur une carte mémoire d'une UC CS1-H, CJ1-H, CJ1M ou CS1D, un port des communications est automatiquement affecté. Le drapeau correspondant passe à ON si une erreur survient et passe à OFF si la sauvegarde simple se termine normalement. 269 Chapitre 6-1 Temps de cycle et traitement à grande vitesse Nom Adresse Codes d'exé- A203 à cution du port A210 des communications Drapeaux A39510 d'exécution en arrière-plan ER/AER Sortie IR00 pour l'exécution en arrière-plan A595 et A596 Sortie DR00 pour l'exécution en arrière-plan A597 Sortie de dra- A59801 peau d'égalité pour l'exécution en arrière-plan Remarque Description Ces mots contiennent les codes de fin des numéros de ports correspondants lorsque les instructions de réseau (SEND, RECV, CMND ou PMCR) ont été exécutées. Le contenu est effacé lorsque l'exécution en arrière-plan est terminée (pour les UC CS1D pour systèmes à UC seule, ou les UC CS1-H, CJ1-H ou CJ1M uniquement). Les mots de A203 à A210 correspondent aux ports des communications de 0 à 7. Lorsque la sauvegarde simple est utilisée pour effectuer une écriture ou une comparaison sur une carte mémoire d'une UC CS1-H, CJ1-H, CJ1M ou CS1D , un port des communications est automatiquement affecté et un code de fin est sauvegardé dans le mot correspondant. Passe à ON lorsqu'une erreur d'exécution de l'instruction ou une erreur d'accès illégal se produit pendant l'exécution en arrière-plan d'une instruction. Passe à OFF lors de la mise sous tension ou au début du fonctionnement. Ces mots reçoivent la sortie lorsque vous spécifiez la sortie d'une instruction exécutée en arrière-plan pour un registre d'index. Aucune sortie ne sera effectuée vers IR00. Plage : 0000 0000 à FFFF FFFF hex. 4 chiffres inférieurs : A595, 4 chiffres supérieurs : A596 Ce mot reçoit la sortie lorsque vous spécifiez la sortie d'une instruction exécutée en arrière-plan pour un registre de données. Aucune sortie ne sera effectuée vers DR00. Plage : 0000 à FFFF hex. Ce drapeau passe à ON si des données correspondantes sont trouvées pour une instruction SRCH(181) exécutée en arrière-plan. Les ports des communications (ports logiques internes) de l'UC sont utilisés pour l'exécution en arrière-plan et pour les instructions suivantes : • SEND(090), RECV(098) et CMND(490) (instructions de communication réseau) ; • PMCR(260) (PROTOCOL MACRO). Les instructions en arrière-plan et les instructions ci-dessus ne peuvent être exécutées simultanément sur le même port. Utilisez les drapeaux d'activation du port des communications pour vous assurez qu'une seule instruction est exécutée à la fois sur chaque port. Remarque Si vous spécifiez l'exécution en arrière-plan d'une instruction sur un port dont le drapeau d'activation du port des communications est à OFF, le drapeau ER passe à ON et l'instruction en arrière-plan n'est pas exécutée. Drapeaux d'activation du port des communications Les drapeaux d'activation du port des communications sont à ON lorsque le port n'est pas utilisé, et à OFF lorsqu'un traitement est en cours d'exécution sur le port. 270 Chapitre 6-1 Temps de cycle et traitement à grande vitesse Drapeau d'activation du port des communications Traitement d'une instruction en arrière-plan pour le programme utilisateur Instruction exécutée Temps de cycle Temps de cycle Temps de cycle Exécution en arrière-plan Mise à jour d'E/S Exemple de programmation 1 ■ Programmation classique sans exécution en arrière-plan Comme indiqué ci-dessous, le traitement est terminé lorsque l'instruction est exécutée. Condition d'exécution a MAX D00000 D00100 D00200 SUM D00002 D00100 D00201 ■ MAX(182) est exécutée entièrement dès que la condition d'exécution « a » passe à ON. SUM(184) peut être exécutée immédiatement après MAX(182). Programmation avec exécution en arrière-plan Avec l'exécution en arrière-plan, le programme est modifié de manière que MAX(182) ne soit exécutée que si le drapeau d'activation du port des communications est à ON (c.-à-d., uniquement lorsque le port n'est pas déjà utilisé pour une exécution en arrière-plan ou des communications réseau). Les conditions d'entrée sont également contrôlées à l'aide des instructions SET et RESET pour s'assurer que le traitement s'effectue dans l'ordre correct. (Dans l'exemple suivant, le port des communications 0 est utilisé pour l'exécution en arrière-plan). 271 Chapitre 6-1 Temps de cycle et traitement à grande vitesse Condition d'exécution a Drapeau d'activation du port des communications A20200 L'exécution de l'instruction MAX(182) est lancée si la condition d'exécution « a » et le drapeau d'activation du port des communications sont à ON. MAX D00000 D00100 D00200 La condition d'exécution « b » passe à ON pour activer les instructions en arrière-plan suivantes (ici, SUM(184)). SET b « a » passe à OFF pour que l'instruction MAX(182) ne soit pas exécutée au prochain cycle. RSET a Condition d'exécution b Drapeau d'activation du port des communications A20200 L'exécution de l'instruction SUM(184) est lancée si la condition d'exécution « b » et le drapeau d'activation du port des communications sont à ON (c.-à-d., lorsque l'exécution de MAX(182) est terminée). SUM D00002 D00100 D00201 RSET b « b » passe à OFF pour que l'instruction SUM(184) ne soit pas exécutée au prochain cycle. L'exécution de l'instruction SUM(184) est terminée lorsque « c » et le drapeau d'activation du port des communications sont à ON. SET c c A20200 Confirmation de la fin de l'exécution en arrière-plan La condition d'exécution « c » passe à ON pour activer la confirmation de la fin d'exécution de SUM(184). Exemple de programmation 2 Ces exemples décrivent l'exécution en arrière-plan lorsque vous avez spécifié la sortie vers un registre d'index, comme cela est possible avec MAX(182), MIN(183) et SRCH(181). ■ Programmation classique sans exécution en arrière-plan Comme indiqué ci-dessous, l'adresse de mémoire réelle du mot contenant la valeur maximale est dirigée vers un registre d'index. Condition d'exécution a ■ MAX D00000 D00100 D00200 MAX(182) est entièrement exécutée dès que la condition d'exécution « a » passe à ON, l'adresse réelle de mémoire du mot contenant la valeur maximale est dirigée vers le registre d'index IR0 MOV ,IR0 D00300 Le contenu du mot de la mémoire d'E/S désigné par l'adresse de mémoire dans IR0 est copié dans D00300. Programmation avec exécution en arrière-plan Sans l'exécution en arrière-plan, l'adresse de mémoire réelle du mot contenant la valeur maximale est dirigée vers A595 et A596. MOVL(498) est alors utilisée pour diriger l'adresse de mémoire réelle vers le registre d'index. 272 Chapitre 6-1 Temps de cycle et traitement à grande vitesse Drapeau d'activation du port Condition d'exécution des communications a A20200 MAX D00000 D00100 D00200 SET b RSET a Condition d'exécution b L'exécution de l'instruction MAX(182) est lancée si la condition d'exécution « a » et le drapeau d'activation du port des communications sont à ON. L'adresse de mémoire réelle du mot contenant la valeur maximale est dirigée vers A595 et A596. La condition d'exécution « b » passe à ON pour exécuter MOVL(498). « a » passe à OFF pour que l'instruction MAX(182) ne soit pas exécutée au prochain cycle. Drapeau d'activation du port des communications A20200 MOVL A595 IR0 MOV ,IR0 D00300 Lorsque la condition d'exécution « b » et le drapeau d'activation du port des communications sont à ON, MOVL(498) copie l'adresse de mémoire réelle dans A595 et A596 vers IR0. Traitement supplément aire requis pour déplacer l'adresse. Le contenu du mot de la mémoire d'E/S désigné par l'adresse de mémoire dans IR0 est copié dans D00300. RSET b 6-1-11 Partage de registres d'index et de données entre des tâches Le partage de registres d'index et de données (IR/DR) entre des tâches est uniquement pris en charge par les UC CS1-H, CJ1-H, CJ1M ou CS1D. La configuration normale spécifie des registres séparés pour chaque tâche. Vous pouvez confirmer la configuration actuelle dans A09914. Remarque 1. Les registres d'index et de données partagés permettent d'éliminer les opérations de stockage et de chargement du contenu des registres entre les tâches, lorsqu'un même contenu est requis dans plusieurs tâches. Consultez le chapitre sur les registres d'index dans le Manuel d'utilisation, série CS (W339) ou le Manuel d'utilisation, série CJ (W393), pour plus d'informations sur le stockage et le chargement de contenu d'un registre d'index. 2. Le temps de commutation entre les tâches est un peu plus rapide lorsque les registres d'index et de données sont partagés. Il est recommandé de configurer des registres partagés si les registres ne sont pas en cours d'utilisation ou si des registres séparés ne sont pas absolument nécessaires dans chaque tâche. Méthode de configuration Configurez les registres d'index et de données à l'aide du CX-Programmer. Vous ne pouvez pas réaliser ce paramétrage à partir de la console de programmation. 1,2,3... 1. Sélectionnez un API (PLC) dans l'arborescence du projet du CX-Programmer et cliquez avec le bouton droit de la souris. 273 Chapitre 6-2 Registres d'index 2. Sélectionnez Propriétés. La boîte de dialogue suivante s'affiche. 3. Laissez la coche pour permettre l'utilisation indépendante des registres IR/ DR par tâche, si des registres d'index et de données séparés sont nécessaires pour chaque tâche. Retirez la coche pour utiliser des registres d'index et de données pour toutes les tâches. Drapeaux et mots de la zone auxiliaire Nom Adresse Fonctionneme A09914 nt de l'IR/DR entre tâches 6-2 6-2-1 Description Indique si des registres d'index et de données sont partagés entres les tâches. 0 : registres séparés pour chaque tâche (par défaut) 1 : registres partagés pour toutes les tâches Registres d'index Définition des registres d'index Les registres d'index fonctionnent comme des pointeurs permettant de spécifier des adresses de mémoire API, qui correspondent à des adresses de mémoire absolues dans la mémoire d'E/S. Après le stockage d'une adresse de la mémoire API dans un registre d'index à l'aide de l'instruction MOVR(560) ou MOVRW(561), entrez le registre d'index sous forme d'opérande dans d'autres instructions pour adresser indirectement l'adresse de mémoire API stockée. Les registres d'index ont l'avantage de permettre la spécification d'un bit ou d'un mot quelconque de la mémoire d'E/S, y compris les valeurs actuelles (PV) de temporisation et de compteur. 274 Chapitre 6-2 Registres d'index Pointeur Toutes les zones de la mémoire E/S MOVR(560) Registre d'index 6-2-2 Utilisation des registres d'index Les registres d'index peuvent se transformer en outil puissant s'ils sont associés à des boucles de type FOR-NEXT. Vous pouvez facilement incrémenter, décrémenter et décaler le contenu des registres d'index, et un petit nombre d'instructions d'une boucle peuvent ainsi traiter des tables de données consécutives avec une grande efficacité. Incrémenter IR0 et répéter l'exécution de l'instruction Données de table Adressage indirect Fonctionnement de base En principe, les registres d'index s'utilisent en procédant de la manière suivante : 1,2,3... 1. Utilisez MOVR(560) pour stocker l'adresse de mémoire API du bit ou du mot désiré dans un registre d'index. 2. Spécifiez le registre d'index en tant qu'opérande dans presque toutes les instructions pour l'adressage indirect du bit ou du mot désiré. 3. Décalez ou incrémentez l'adresse de mémoire API d'origine (voir plus bas) pour rediriger le pointeur vers une autre adresse. 4. Poursuivez en reprenant les étapes 2 et 3 pour exécuter l'instruction sur le nombre d'adresses de votre choix. Décalage, incrémentation et décrémentation d'adresses Le tableau suivant présente les variantes possibles pour l'adressage indirecte. Variante Adressage indirect Adressage indirect avec décalage constant Adressage indirect avec décalage DR Adressage indirect avec auto-incrémentation Adressage indirect avec auto-décrémentation Syntaxe ,IR@ Constant ,IR@ (Inclure un + ou un – dans la constante). DR@,IR@ Incrément de 1 : ,IR@+ Incrément de 2 : ,IR@++ Décrément de 1 : ,–IR@ Décrément de 2 : ,– –IR@ Instructions d'adressage direct des registres d'index Les registres d'index peuvent être adressés directement par les instructions suivantes : DOUBLE SIGNED BINARY ADD WITHOUT CARRY: +L(401), DOUBLE SIGNED BINARY SUBTRACT WITHOUT CARRY: –L(411), DOUBLE INCREMENT BINARY: ++L(591) et DOUBLE DECREMENT BINARY: – –L(593) 275 Chapitre 6-2 Registres d'index Exemple 1 L'exemple suivant décrit comment un registre d'index peut remplacer une longue série d'instructions, dans une boucle de programme. Dans ce cas, l'instruction A est répétée n+1 fois pour effectuer une opération comme, par exemple, lire et comparer les valeurs d'une table. Instruction A m MOVR(560) m IR0 Instruction A m+1 Instruction A ,IR0+ Sauvegarde l'adresse mémoire API de m dans IR0. Répète le processus dans une boucle telle que FOR-NEXT. Ajouter 1 à IR0 (n fois) Instruction A m+n Exemple 2 Dans l'exemple suivant, des registres d'index sont utilisés dans une boucle FOR–NEXT pour définir et démarrer 100 temporisations (T0000 à T099) à l'aide des valeurs de consigne contenues dans la plage D00100 à D00109. Le numéro et le drapeau de fin de chaque temporisation sont spécifiés dans des registres d'index et la boucle se répète, tandis que les registres d'index sont incrémentés de 1 à chaque répétition. MOVRW(561) sauvegarde l'adresse mémoire API de la valeur actuelle (PV) de T0000 dans IR0. MOVR(560) sauvegarde l'adresse mémoire API du drapeau de fin de T0000 dans IR1. MOVR(560) sauvegarde l'adresse mémoire API de W00000 dans IR2. TIM déclenche la temporisation avec le numéro de temporisation (PV de temporisation) désigné indirectement par IR0+. Si le drapeau de fin de la temporisation (désigné indirectement par IR0+) est sur ON, le bit de travail désigné indirectement IR2+ passe sur ON. Les variantes IR0+, IR1+ et IR2+ incrémentent l'adresse dans le registre d'index après le référencement de l'adresse. L'instruction ++ incrémente D00000. 276 Répété Chapitre 6-2 Registres d'index Le sous-programme de 11 instructions, à gauche, est équivalent au sousprogramme de 200 instructions, à droite. 00 TIM MOVRW T0000 Place l'adresse mémoire API de la valeur actuelle (PV) de T0000 dans IR0. 0000 D00100 IR0 T0000 MO VR T0000 Place l'adresse mémoire API du drapeau de fin de T0000 dans IR1. W000 00 IR1 W000 01 MO VR W00000 Place l'adresse mémoire API de W00000 dans IR2. TIM 0001 IR2 D00101 MO V Ecrit &100 dans D00000. &100 T0001 W000 01 D00000 Saute la boucle FOR-NEXT si les pointeurs ci-dessus n'ont pas été définis. JMP &1 W006 03 TIM 0099 D00109 Répète la boucle FOR-NEXT 100 fois. FOR &100 ,IR2 TIM ,IR O+ @D00000 ,IR1+ W006 03 Si le drapeau de fin désigné dans IR1 est sur ON, OUT met sur ON le bit de travail désigné dans IR2. ,IR2+ ON ++ D00000 T0099 Si le bit de travail désigné dans IR2 est sur OFF, TIM déclenche la temporisation avec la valeur actuelle (PV) de temporisation désignée dans IR0+ et la valeur de consigne (SV) désignée dans D00000. Incrémente le contenu de D00000. (La prochaine adresse contenant une SV.) NEXT JME &1 La boucle FOR-NEXT déclenche les temporisations T0000 à T0099 en répétant la boucle 100 fois, tout en incrémentant le contenu de IR0 (numéro de temporisation/adresse de PV), IR1 (adresse du drapeau de fin), IR2 (adresse du bit de travail) et D00000 (adresse de SV). 277 Chapitre 6-2 Registres d'index Adressage direct de registres d'index Les registres d'index peuvent être adressés directement uniquement dans les instructions répertoriées dans le tableau suivant. Groupe d'instruction Nom de l'instruction Instructions de MOVE TO REGISTER déplacement de (déplacer vers un registre) données MOVE TIMER/COUNTER PV TO REGISTER (déplacer la valeur actuelle de temporisation/compteur vers un registre) Instructions de SET RECORD LOCATION (configurer traitement de données emplacement d'enregistrement) de tables GET RECORD NUMBER (obtention du numéro d'enregistrement) Instructions de DOUBLE MOVE (déplacement double) déplacement de DOUBLE DATA EXCHANGE données (échange de données doubles) Instructions de DOUBLE EQUAL (égalité double) comparaison DOUBLE NOT EQUAL (non égalité double) DOUBLE LESS THAN (double inférieur à) DOUBLE LESS THAN OR EQUAL (double inférieur ou égal à) DOUBLE GREATER THAN (double supérieur à) DOUBLE GREATER THAN OR EQUAL (double supérieur ou égal à) DOUBLE COMPARE (comparer double) Instructions DOUBLE INCREMENT BINARY d'incrémentation et de (binaire d'incrémentation double) décrémentation DOUBLE DECREMENT BINARY (binaire de décrémentation double) Instructions DOUBLE SIGNED BINARY ADD WITHOUT mathématiques à CARRY (addition de binaires doubles symboles signés sans retenue) DOUBLE SIGNED BINARY SUBTRACT WITHOUT CARRY (soustraction de binaires doubles signés sans retenue) Instructions spéciales CONVERT ADDRESS FROM CV CONVERT ADDRESS TO CV Remarque 6-2-3 Mnémonique Fonction primaire MOVR(560) Stocke l'adresse de mémoire API d'un bit ou d'un mot dans un MOVRW(561) registre d'index. SETR(635) GETR(636) MOVL(498) XCGL(562) Extrait l'adresse de mémoire API stockée dans un registre d'index. Transferts entre des registres d'index. Utilisés pour les échanges et les comparaisons. =L(301) < >L(306) < L(311) < =L(316) >L(321) >=L(326) CMPL(060) ++L(591) – –L(593) Modifie l'adresse de mémoire API dans le registre d'index en incrémentant, décrémentant ou décalant son contenu. +L(401) –L(411) FRMCV(284) TOCV(285) Convertit des adresses réelles de mémoire API entre la série CV et la série CS/CJ. (UC CS1-H, CJ1-H, CJ1M ou CS1D CPU uniquement). Les instructions pour opérandes de longueur double (par exemple, celles qui se terminent par « L ») s'utilisent avec les registres d'index IR0 à IR15, car chaque registre contient deux mots. Traitement associé aux registres d'index Les instructions de traitement de données de table de l'UC série CS/CJ complètent les fonctions des registres d'index. Ces instructions peuvent se diviser en deux groupes : les instructions de traitement de pile et les instructions de traitement de table. Traitement Traitement de pile 278 Objet Exploiter des tables de données FIFO (premier entré, premier sorti) ou LIFO (dernier entré, premier sorti), et lire, écrire, insérer, supprimer ou compter les entrées de données dans les tables de données. Instructions SSET(630), PUSH(632), FIFO(633), LIFO(634) et, pour les UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement, SREAD(639), SWRITE(640), SINS(641), SDEL(642), SNUM(638). Chapitre 6-2 Registres d'index Traitement de tables Traitement Tables d'enregis- Traitement trements d'un standard mot (Instructions de plage) Traitement spécial Objet Rechercher des valeurs telles que la checksum, une valeur particulière, la valeur maximale ou la valeur minimale de la plage. Effectuer de nombreux autres traitements de tables tels que les comparaisons et le tri. Tables d'enregistrements de plusieurs mots (Instructions de table d'enregistrements) Traiter des données dans des enregistrements composés de plusieurs mots. Instructions FCS(180), SRCH(181), MAX(182), MIN(183) et SUM(184) Associer des registres d'index à des instructions telles que SRCH(181), MAX(182), MIN(183), et des instructions de comparaison. Associer des registres d'index à des instructions telles que DIM(631), SETR(635), GETR(636), et des instructions de comparaison. Traitement de pile Les instructions de pile opèrent sur des tables de données spécialement définies, appelées piles. Les données peuvent être extraites d'une pile suivant la méthode du premier entré, premier sorti (FIFO), ou du dernier entré, premier sorti (LIFO). Vous devez définir une région particulière de la mémoire d'E/S comme pile. Les premiers mots de la pile indiquent la longueur de la pile et contiennent le pointeur d'empilement. Ce dernier est incrémenté à chaque fois que des données sont écrites dans la pile pour indiquer la prochaine adresse de stockage des données. B A Adresse de pointeur Adresse de pointeur C Adresse de pointeur A B C A A B Région d'empilement Adresse de pointeur (Le diagramme ci-dessus montre l'état des données du pointeur avant l'ajout des données). Remarque En réalité, les deux premiers mots de la pile contiennent l'adresse de mémoire API du dernier mot de la pile, et le mot suivant contient le pointeur d'empilement. Traitement FIFO (premier entré, premier sorti) Le diagramme suivant illustre le fonctionnement d'une pile premier entré, premier sorti (FIFO). Adresse de pointeur A B C A Lit le mot le plus ancien des données stockées dans la pile. Chaque fois qu'un mot est lu, le pointeur est décrémenté d'une unité afin d'indiquer l'adresse suivante pour le stockage. X 279 Chapitre 6-2 Registres d'index Traitement LIFO (dernier entré, premier sorti) Le diagramme suivant illustre le fonctionnement d'une pile dernier entré, premier sorti (LIFO). Adresse de pointeur Lit le mot le plus récent des données stockées dans la pile. Chaque fois qu'un mot est lu, le pointeur est décrémenté d'une unité afin d'indiquer l'adresse suivante pour le stockage. Les données à la position qui a été lue restent inchangées. A B X V W X 1 Gestion de données de tables spécifiques Vous pouvez lire, écrire, insérer ou supprimer différentes entrées dans une table. Le diagramme suivant montre un exemple de lecture. Adresse de pointeur A B Lecture V V W X −n Les données sont lues à partir d'un décalage spécifique de l'adresse de pointage dans la table. La gestion de données de tables spécifiques s'utilise, par exemple, pour tracer des éléments sur un convoyeur. Un décalage à partir de l'adresse de pointage est spécifié. Comptage des données de tables Le diagramme suivant décrit la procédure de comptage des données d'une table. Adresse de pointeur A B V W X Compte toutes les entrées, à partir de celle située juste avant l'adresse de pointeur. Le nombre d'entrées dans la table de données est compté à partir de l'emplacement situé juste avant l'adresse du pointeur jusqu'au début de la table. Ce traitement s'utilise, par exemple, pour compter le nombre d'éléments sur un convoyeur. N Instructions d'empilement Le tableau suivant répertorie les instructions d'empilement et leurs fonctions. Exemples d'applications caractéristiques des piles : le traitement des informations relatives aux rayonnages pour les systèmes d'entreposage automatisés, le traitement des résultats de test et la gestion des informations relatives aux pièces de fabrication sur un convoyeur. Instruction SSET(630) PUSH(632) FIFO(633) Fonction Définit une région d'empilement. Stocke des données dans le prochain mot disponible de la pile. Lit des données de la pile suivant la méthode du premier entré, premier sorti. LIFO(634) Lit des données de la pile suivant la méthode du dernier entré, premier sorti. SREAD(639) Lit une entrée spécifique de la table (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement). SWRITE(640) Ecrit une entrée spécifique dans la table (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement). SINS(641) Insère une entrée spécifique dans la table (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement). SDEL(642) Supprime une entrée spécifique de la table (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement). SNUM(638) Compte le nombre d'entrées dans la table (UC CS1-H, CJ1-H, CJ1M ou CS1D uniquement). 280 Chapitre 6-2 Registres d'index Traitement de tables (instructions de plage) Les instructions de plage opèrent sur une plage de mots, assimilable à une table d'enregistrements composés d'un mot. Ces instructions effectuent des opérations standard comme la recherche de la valeur maximale ou minimale de la plage, la recherche d'une valeur particulière de la plage ou le calcul de la somme ou FCS. L'adresse de mémoire API du mot résultat (mot contenant la valeur maximale, la valeur minimale, les données de recherche, etc.) est automatiquement stockée dans IR0. Vous pouvez utiliser le registre d'index (IR0) en tant qu'opérande dans des instructions plus récentes, telles que MOV(021), pour lire le contenu du mot et effectuer un autre traitement. Données Valeur max. Plage spécifiée dans l'instruction Valeur min. Rechercher Calcul de SUM Calcul de FCS Le tableau suivant répertorie les instructions de plage et leurs fonctions. Instruction Fonction Description SRCH(181) Recherche des données Recherche les données de recherche dans la (de recherche). plage spécifiée et dirige l'adresse de mémoire API du mot contenant cette valeur vers IR0. MAX(182) Recherche la valeur Recherche la valeur maximale dans la plage maximale. spécifiée et dirige l'adresse de mémoire API du mot contenant cette valeur vers IR0. MIN(183) Recherche la valeur Recherche la valeur minimale dans la plage minimale. spécifiée et dirige l'adresse de mémoire API du mot contenant cette valeur vers IR0. SUM(184) Calcule la somme. Calcule la somme des données contenues dans la plage spécifiée. FCS(180) Calcule la checksum Calcule la somme de contrôle du cadre des (somme de contrôle). données contenues dans la plage spécifiée. Vous pouvez associer les registres d'index à d'autres instructions (par exemple, des instructions de comparaison) dans des boucles FOR-NEXT, pour réaliser des opérations plus compliquées sur des plages de mots. Traitement de tables (instructions de table d'enregistrements) Les instructions de table d'enregistrements opèrent sur des tables de données spécialement définies contenant des enregistrements de longueur égale. Pour faciliter le traitement, vous pouvez accéder aux enregistrements à l'aide d'un numéro d'enregistrement. Instruction Fonction DIM(631) Définit une table d'enregistrements. SETR(635) Définit l'emplacement de l'enregistrement. GETR(636) Remarque Recherche l'emplacement de l'enregistrement. Description Déclare la longueur de chaque enregistrement et le nombre d'enregistrements. Ecrit l'emplacement de l'enregistrement spécifié (l'adresse de mémoire API du début de l'enregistrement) dans le registre d'index spécifié. Renvoie le numéro de l'enregistrement contenant l'adresse de mémoire API dans le registre d'index spécifié. Les numéros des enregistrements et les adresses des mots sont liés par les registres d'index. Spécifiez un numéro d'enregistrement dans SETR(635) pour stocker l'adresse de mémoire API du début de cet enregistrement dans un registre d'index. Si vous avez besoin de données de cet enregistrement, ajoutez le décalage requis à ce registre d'index pour accéder à un mot quelconque de l'enregistrement. 281 Chapitre 6-2 Registres d'index Utilisez les instructions de table d'enregistrements avec des registres d'index pour exécuter des opérations du type : lecture/écriture de données d'enregistrements, recherche d'enregistrements, tri de données d'enregistrements, comparaison de données d'enregistrements et calculs avec des données d'enregistrements. Une application caractéristique des tables d'enregistrements consiste à stocker les données de fabrication de différents modèles d'un produit (par exemple, les paramètres de température et de pression) sous forme d'enregistrements, et à passer d'un modèle à l'autre en modifiant simplement le numéro de l'enregistrement. Table d'enregistrements Enregistrement 1 Modèle A Modèle A ↓ Enregistrement 2 N˚ 2 ↓ Paramètre de température Paramètre de pression Enregistrement 2 Enregistrement N La procédure fondamentale d'utilisation des tables d'enregistrements est la suivante : 1,2,3... 1. Définissez la structure de la table d'enregistrements à l'aide de DIM(631) et configurez l'adresse de mémoire API d'un enregistrement dans un registre d'index à l'aide de SETR(635). 2. Décalez ou incrémentez l'adresse de mémoire API dans le registre d'index pour lire ou comparer des mots dans un enregistrement. 3. Décalez ou incrémentez l'adresse de mémoire API dans le registre d'index pour passer à un autre enregistrement. 4. Répétez les étapes 2 et 3 autant de fois que nécessaire. Exemple L'exemple suivant illustre l'utilisation des registres d'index et des instructions de table d'enregistrements pour comparer trois valeurs aux mots 1, 3 et 5 de chaque enregistrement. Si une correspondance est trouvée, le numéro de l'enregistrement est stocké dans D00000. DIM(631) définit une table d'enregistrements avec 1 000 enregistrements de 5 mots chacun. SETR(635) sauvegarde l'adresse mémoire API du premier enregistrement dans IR0. • Les premier, troisième et cinquième mots de l'enregistrement sont comparés à trois valeurs différentes. • Si les trois mots correspondent à leurs valeurs respectives, le numéro d'enregistrement est sauvegardé dans D00000 par GETR(636) et la boucle est interrompue. • Si les trois mots correspondent pas à leurs valeurs respectives, 5 est ajouté à IR0 et la boucle se poursuit. 282 Chapitre 6-2 Registres d'index 0000 01 DIM 1 Définit la table d'enregistrements 1 avec 1 000 enregistrements de 5 mots chacun. &5 &1000 E0_00000 SETR Sauvegarde l'adresse mémoire API du premier enregistrement de la table numéro 1 (enregistrement 0) dans IR0. 1 &0 IR0 JMP Saute la boucle FOR-NEXT si les conditions de traitement n'ont pas été définies. FOR Contrôle la boucle FOR-NEXT pour un maximum de 1 000 répétitions (1 000 enregistrements). &1000 &1000 = GETR = = ,IR0 +2,IR0 +4,IR0 &1 #1234 #ABCD #9999 IR0 D00000 BREAK Compare le contenu du mot 1 avec #1234, le contenu du mot 3 avec #ABCD et le contenu du mot 5 avec #9999. Si les mots 1, 3 et 5 contiennent la donnée de comparaison, le numéro d'enregistrement est sauvegardé dans D00000 et BREAK interrompt la boucle. ON +L Ajoute 5 à l'adresse mémoire API dans IR0 pour accéder au début de l'enregistrement suivant. IR0 &5 IR0 NEXT JME &1000 Renvoie l'exécution à FOR pour continuer la boucle. Sauter la destination si les conditions de traitement n'ont pas été définies. Incrémente IR0 de cinq unités à chaque répétition et compare les premier, troisième et cinquième mots de chaque enregistrement avec la donnée de comparaison. Ecrit le numéro d'enregistrement dans D00000 et interrompt la boucle si une donnée correspondante est trouvée. 283 Chapitre 6-3 Communications en série 6-3 Communications en série Les UC série CS/CJ prennent en charge les fonctions de communications en série suivantes : les communications Host Link et les communications sans protocole sont décrites en détail plus loin dans ce chapitre. Protocole Host Link Connexions Ordinateur hôte IHM OMRON (terminal opérateur programmable) ou Sans protocole Périphérique externe standard Liaison NT IHM OMRON 1:N ou 1:1 (terminaux opérateur programmable) Bus périphérique 284 Périphériques de programmation (pas les consoles de programmation) Description Ports Périphérique RS-232C OK OK 1) Vous pouvez exécuter diverses commandes de contrôle comme la lecture et l'écriture dans la mémoire d'E/S, le changement de mode de fonctionnement et la configuration/réinitialisation forcée en émettant des commandes de liaison à l'ordinateur (Host Link) ou des commandes FINS de l'ordinateur hôte vers l'UC. 2) Vous pouvez également émettre des commandes FINS de l'UC vers l'ordinateur, pour envoyer des données ou des informations. Utilisez les communications Host Link pour surveiller des données telles que l'état de fonctionnement, les informations sur les erreurs et les données de qualité dans l'API, ou pour envoyer des données, par exemple des informations de planning de production, vers l'API. Permet de communiquer avec des Non autorisé périphériques standard connectés au port RS-232C sans format commande-réponse. Au lieu de cela, les instructions TXD(236) et RXD(235) sont exécutées à partir du programme pour transmettre des données depuis le port de transmission ou lire des données sur le port de réception. Vous pouvez spécifier les entêtes et les codes de fin de cadre. L'échange de données avec des OK IHM (terminaux opérateurs programmables) est possible sans utiliser un programme de communications dans l'UC. OK Assure des communications à grande vitesse avec des périphériques de programmation différents des consoles de programmation. (La programmation déportée via modems n'est pas prise en charge). OK OK OK Chapitre 6-3 Communications en série Protocole Connexions Description Passerelle Composants OMRON (périphériques série (con- compatibles CompoWay/F) version vers ComTOP série NS poWay/F) (version de FINS carte 3.0 API ou supérieure uniquement) Convertit les commandes FINS reçues en commandes CompoWay/F et les transfère sur le chemin de communications série. Ports Périphérique RS-232C OK OK Passerelle série CompoWay/F Chemin de communications série Composants OMRON Liaisons API série (CJ1M uniquement). Carte UC CJ1M Carte d'analyse RS-422A/485 CJ1W-CIF11 connectée au port RS-232C (Voir remarque.) Pour IHM série NS : NS-AL002 Carte UC CJ1M Carte analysée Carte UC CJ1M Carte analysée 8 unités max. Carte UC CJ1M Carte d'analyse Non autorisé 9 UC maximum, comprenant une carte d'analyse et huit cartes interrogées, peuvent partager jusqu'à 10 mots par carte. Un convertisseur RS-422A peut être connecté au port RS-232C de chaque UC pour communiquer via RS-422A/485, ou deux UC peuvent communiquer via une connexion RS-232C. Les liaisons API en série peuvent également inclure des IHM sous forme de cartes interrogées via des liaisons NT Link (1:N) associées à des UC CJ1M. OK RS-232C Carte UC CJ1M Carte analysée Vous trouverez ici une description des communications Host Link et sans protocole. Remarque L'adaptateur CJ1W-CIF11 n'est pas isolé et la distance de transmission totale est de 50 mètres maximum. Si la distance de transmission totale est supérieure à 50 mètres, utilisez l'adaptateur isolé NT-AL001 mais jamais le CJ1W-CIF11. Si vous utilisez uniquement l'adaptateur NT-AL001, la distance de transmission totale est de 500 mètres maximum. 285 Chapitre 6-3 Communications en série 6-3-1 Communications Host Link Le tableau suivant présente les fonctions de communication Host Link disponibles dans les API CS/CJ. Sélectionnez la méthode la mieux adaptée à votre application. Flux de commandes Type de commande Ordinateur hôte Commande Host Link API Commande Host Link Méthode de communication Configuration Créez un cadre dans l'ordinateur Connexion directe de l'ordinateur dans un hôte et émettez la commande système 1:1 ou 1:N. vers l'API. Réceptionnez la réponse depuis l'API. OR Application : utilisez cette méthode lorsque les communications s'effectuent Commande essentiellement de l'ordinateur hôte vers l'API. Créez un cadre dans l'ordinateur hôte et émettez la commande vers l'API. Réceptionnez la réponse depuis l'API. FINS Application : utilisez ces méthodes lorsque En-tête Code final les communications s'effectuent essentiellement de l'ordinateur hôte vers des API du réseau. Commande1 FINS (avec en-tête et code final Host Link) Connexion directe de l'ordinateur dans un système 1:1 ou 1:N. OR Commande Communication avec d'autres API sur le réseau à partir de l'ordinateur hôte. (Conversion de Host Link en protocole réseau.) Commande API Ordinateur hôte Commande1 FINS (avec en-tête et code final Host Link) FINS En-tête Terminal Emettez un cadre avec les instructions SEND/RECV/CMND de l'UC. Réceptionnez la réponse depuis l'ordinateur hôte. Application : utilisez cette méthode lorsque les communications s'effectuent essentiellement de l'API vers l'ordinateur hôte pour transmettre des informations d'état telles que des informations sur les erreurs. Connexion directe de l'ordinateur dans un système 1:1. SEND/RECV/ CMND Commande Communication avec l'ordinateur hôte via d'autres API sur le réseau. (Conversion de Host Link en protocole réseau.) SEND/RECV/ CMND Commande Remarque 286 1. Vous devez rattacher un en-tête et un code final Host Link de liaison à l'ordinateur hôte, à la commande FINS, avant que celle-ci ne soit transmise depuis l'ordinateur hôte. Chapitre 6-3 Communications en série 2. La commande FINS est transmise depuis l'API avec un en-tête et un code final Host Link (rattachés). Vous devez préparer, dans l'ordinateur hôte, un programme qui analyse les commandes FINS et renvoie les réponses appropriées. Procédure Paramétrez la configuration de l'API à partir d'un périphérique de programmation. (Paramètres tels que le mode des communications et les paramètres des communications). Console de programmation Port périphérique : adresses 144, 145 et 147 Port RS-232C : adresses 160 à 163 Veillez à configurer le mode des communications à « Host Link ». (Consultez le Manuel de l'utilisateur de CX-Programmer pour de plus amples informations sur les procédures de CX-Programmer). Tension à OFF Connectez l'ordinateur hôte et l'UC. Configurez l'interrupteur DIP à l'avant de l'UC. Placez la broche 4 sur ON si vous utilisez le port périphérique. Placez la broche 5 sur OFF si vous utilisez le port RS-232C. Tension à ON API vers ordinateur hôte Ordinateur hôte vers API Emettez des commandes Host Link depuis l'ordinateur hôte. Emettez des commandes FINS depuis l'ordinateur hôte. Exécutez des instructions SEND/ RECV/CMND dans le programme de l'API. Réceptionnez les réponses dans l'ordinateur hôte. (Un programme est requis dans l'ordinateur hôte). Commandes Host Link Code en-tête RR RL Nom CIO AREA READ LINK AREA READ RH HR AREA READ RC PV READ RG T/C STATUS READ RD RJ DM AREA READ AR AREA READ RE EM AREA READ Le tableau suivant répertorie les commandes Host Link. Consultez le Manuel du système des cartes Host Link, série C (W143) pour plus de détails. Fonction Lit le contenu du nombre spécifié de mots de la zone CIO, à partir du mot spécifié. Lit le contenu du nombre spécifié de mots de la zone de liaison, à partir du mot spécifié. Lit le contenu du nombre spécifié de mots de la zone de maintien, à partir du mot spécifié. Lit le contenu du nombre spécifié de valeurs actuelles (PV) de temporisation/ compteur, à partir de la temporisation ou du compteur spécifié(e). Lit l'état des drapeaux de fin du nombre spécifié de temporisations/compteurs, à partir de la temporisation ou du compteur spécifié(e). Lit le contenu du nombre spécifié de mots de la zone DM, à partir du mot spécifié. Lit le contenu du nombre spécifié de mots de la zone auxiliaire, à partir du mot spécifié. Lit le contenu du nombre spécifié de mots de la zone EM, à partir du mot spécifié. 287 Chapitre 6-3 Communications en série Code en-tête Nom WR CIO AREA WRITE WL LINK AREA WRITE WH HR AREA WRITE WC PV WRITE WD DM AREA WRITE WJ AR AREA WRITE WE EM AREA WRITE R# SV READ 1 R$ SV READ 2 R% SV READ 3 W# SV CHANGE 1 W$ SV CHANGE 2 W% SV CHANGE 3 MS STATUS READ SC MF KS KR FK STATUS CHANGE ERROR READ FORCE SET FORCE RESET MULTIPLE FORCE SET/RESET FORCE SET/RESET CANCEL PLC MODEL READ TEST PROGRAM READ KC MM TS RP WP MI QQMR QQIR XZ 288 Fonction Ecrit les données spécifiées (unités de mots uniquement) dans la zone CIO, à partir du mot spécifié. Ecrit les données spécifiées (unités de mots uniquement) dans la zone de liaison, à partir du mot spécifié. Ecrit les données spécifiées (unités de mots uniquement) dans la zone de maintien, à partir du mot spécifié. Ecrit les valeurs actuelles (PV) du nombre spécifié de temporisations/compteurs, à partir de la temporisation ou du compteur spécifié(e). Ecrit les données spécifiées (unités de mots uniquement) dans la zone DM, à partir du mot spécifié. Ecrit les données spécifiées (unités de mots uniquement) dans la zone auxiliaire, à partir du mot spécifié. Ecrit les données spécifiées (unités de mots uniquement) dans la zone EM, à partir du mot spécifié. Lit la constante BCD à 4 chiffres ou l'adresse mot dans la valeur de consigne de l'instruction de temporisation/compteur spécifiée. Recherche l'instruction de temporisation/compteur spécifiée, à partir de l'adresse de programme spécifiée, et lit la constante à 4 chiffres ou l'adresse mot dans la valeur de consigne. Recherche l'instruction de temporisation/compteur spécifiée, à partir de l'adresse de programme spécifiée, et lit la constante BCD à 4 chiffres ou l'adresse mot dans la valeur de consigne. Modifie la constante BCD à 4 chiffres ou l'adresse mot dans la valeur de consigne de l'instruction de temporisation/compteur spécifiée. Recherche l'instruction de temporisation/compteur spécifiée, à partir de l'adresse de programme spécifiée, et modifie la constante à 4 chiffres ou l'adresse mot dans la valeur de consigne. Recherche l'instruction de temporisation/compteur spécifiée, à partir de l'adresse de programme spécifiée, et modifie la constante à 4 chiffres ou l'adresse mot dans la valeur de consigne. Lit l'état de fonctionnement de l'UC (mode de fonctionnement, état de configuration/ réinitialisation forcée, état d'erreur fatale). Modifie le mode de fonctionnement de l'UC. Lit et supprime des erreurs dans l'UC (non-fatales et fatales). Met le bit spécifié en configuration forcée. Met le bit spécifié en réinitialisation forcée. Met les bits spécifiés en configuration/réinitialisation forcée ou remet l'état forcé des bit spécifiés à 0. Annule l'état forcé de tous les bits en configuration/réinitialisation forcée. Lit le type de modèle de l'API. Renvoie, sans le modifier, un bloc de données transmis depuis l'ordinateur hôte. Lit le contenu de la zone de programme utilisateur de l'UC en langage machine (code objet). PROGRAM WRITE Ecrit le programme en langage machine (code objet), transmis depuis l'ordinateur hôte, dans la zone de programme utilisateur de l'UC. I/O TABLE GENERATE Crée une table d'E/S enregistrées à l'aide d'une table d'E/S réelles. COMPOUND Enregistre les bits et les mots désirés dans une table. COMMAND COMPOUND READ Lit les mots et les bits enregistrés à partir de la mémoire d'E/S. ABORT (commande Interrompt la commande Host Link en cours de traitement. uniquement) Chapitre 6-3 Communications en série Code en-tête ** IC Nom Fonction INITIALIZE Initialise la procédure de contrôle de la transmission de tous les API connectés à (commande l'ordinateur hôte. uniquement) Commande non définie Cette réponse est renvoyée si le code en-tête d'une commande n'a pas été reconnu. (réponse uniquement) Commandes FINS Type Le tableau suivant répertorie les commandes FINS. Consultez le Manuel de référence des commandes FINS pour plus de détails. Code de la Nom commande 01 01 MEMORY AREA READ Fonction Accès à la zone de mémoire d'E/S 01 02 MEMORY AREA WRITE 01 03 MEMORY AREA FILL 01 04 01 05 MULTIPLE MEMORY AREA READ MEMORY AREA TRANSFER 02 02 01 02 PARAMETER AREA READ PARAMETER AREA WRITE 02 03 PARAMETER AREA FILL Accès à la zone de programme 03 03 03 06 07 08 PROGRAM AREA READ PROGRAM AREA WRITE PROGRAM AREA CLEAR Contrôle de l'exécution 04 04 01 02 RUN SIHM Copie et transfère des données consécutives d'une partie de la zone de mémoire d'E/S vers une autre partie. Lit des données consécutives de la zone de paramètres. Ecrit des données consécutives dans la zone de paramètres. Remplit la plage spécifiée de la zone de paramètres avec les mêmes données. Lit des données de la zone de programme utilisateur. Ecrit des données dans la zone de programme utilisateur. Efface la plage spécifiée de la zone de programme utilisateur. Commute l'UC au mode RUN, MONITOR ou DEBUG. Commute l'UC au mode PROGRAMME. Lecture de la configuration 05 05 06 06 07 07 09 01 02 01 20 01 02 20 CONTROLLER DATA READ CONNECTION DATA READ CONTROLLER STATUS READ CYCLE TIME READ CLOCK READ CLOCK WRITE MESSAGE READ/CLEAR Lit des informations relatives à l'UC. Lit les numéros de modèle des cartes spécifiées. Lit les informations d'état de l'UC. Lit les temps de cycle moyens, maximums et minimums. Lit l'horloge. Règle l'horloge. Lit/efface des messages et des messages FAL(S). 0C 01 ACCESS RIGHT ACQUIRE 0C 02 0C 03 ACCESS RIGHT FORCED ACQUIRE ACCESS RIGHT RELEASE 21 21 21 01 02 03 ERROR CLEAR ERROR LOG READ ERROR LOG CLEAR Acquiert le droit d'accès si aucun autre périphérique ne le détient. Acquiert le droit d'accès même si un autre périphérique le détient. Cède le droit d'accès quel que soit le périphérique qui le détient. Efface des erreurs et des messages d'erreur. Lit le journal d'erreurs. Remet le pointeur du journal d'erreurs à zéro. Accès à la zone de paramètres Lecture de l'état Accès à l'horloge Accès aux messages Droit d'accès Accès aux erreurs Lit des données consécutives de la zone de mémoire d'E/S. Ecrit des données consécutives dans la zone de mémoire d'E/S. Remplit la plage spécifiée de la mémoire d'E/S avec les mêmes données. Lit des données non consécutives de la mémoire d'E/S. 289 Chapitre 6-3 Communications en série Type Mémoire de fichiers Etat forcé Code de la commande Nom 22 22 01 02 FILE NAME READ SINGLE FILE READ 22 03 SINGLE FILE WRITE 22 22 22 04 05 07 FILE MEMORY FORMAT FILE DELETE FILE COPY 22 22 08 0A 22 0B 22 0C 22 15 23 01 FILE NAME CHANGE I/O MEMORY AREA FILE TRANSFER PARAMETER AREA FILE TRANSFER PROGRAM AREA FILE TRANSFER CREATE/DELETE DIRECTORY FORCED SET/RESET 23 02 FORCED SET/RESET CANCEL Fonction Lit les informations de fichier de la mémoire de fichiers. Lit le volume de données spécifié à partir du point spécifié dans un fichier. Ecrit le volume de données spécifié à partir du point spécifié dans un fichier. Formate la mémoire de fichiers. Supprime les fichiers spécifiés de la mémoire de fichiers. Copie un fichier dans la mémoire de fichiers ou entre deux périphériques de mémoire de fichiers d'un système. Modifie un nom de fichier. Transfert ou compare des données entre la zone de mémoire d'E/S et la mémoire de fichiers. Transfert ou compare des données entre la zone de paramètres et la mémoire de fichiers. Transfert ou compare des données entre la zone de programme et la mémoire de fichiers. Crée ou supprime un répertoire. Force la configuration/réinitialisation ou remet l'état forcé du bit spécifié à 0. Annule l'état forcé de tous les bits en configuration/ réinitialisation forcée. Fonctions de communication de messages Les commandes FINS répertoriées dans le tableau ci-dessus peuvent également être transmises, via le réseau, depuis d'autres API vers l'UC. Observez les consignes suivantes lorsque vous transmettez des commandes FINS via le réseau. • Les cartes réseau (par exemple, les cartes Controller Link ou Ethernet) doivent être montées dans l'API local et l'API de destination pour permettre la transmission des commandes FINS. • Les commandes FINS sont émises à l'aide de l'instruction CMND(490) du programme de l'UC. • Les commandes FINS peuvent être transmises à travers huit réseaux maximum, dans le cas des UC série CS/CJ version 2.0 ou supérieure, et à travers trois réseaux maximum, dans le cas des autres UC. Il peut s'agir de réseaux de même type ou de types différents. Carte de communication série Carte de communication série CMND Commande FINS Consultez le Manuel d'utilisation des cartes réseau pour plus de détails sur les fonctions de communication de messages. 290 Chapitre 6-3 Communications en série 6-3-2 Communications sans protocole Le tableau suivant répertorie les fonctions de communication sans protocole disponibles dans les API CS/CJ. Sens de transfert Méthode Volume max. de données Exécution de TXD(236) dans le programme* 256 octets Réception de données Exécution de (Périphérique externe → RXD(235) dans le programme API) 256 octets Transmission de données (API → périphérique externe) Remarque Format de synchronisation Autres fonctions Code de Code de fin démarrage Temps de retard Oui : 00 à FF Oui : Non : aucune 00 à FF ou CR+LF envoi (retard entre l'exécution de TXD Non : aucun et l'envoi de données depuis le port spécifié) : 0 à 99 990 ms (pas : 10 ms) --- Vous pouvez spécifier un retard de transmission ou « retard de mode sans protocole » dans la configuration de l'API (adresse 162). Ce paramètre génère un retard de l'ordre de 30 secondes (maximum) entre l'exécution de l'instruction TXD (236) et la transmission des données depuis le port spécifié. Procédure Paramétrez la configuration de l'API à partir d'un périphérique de programmation. (Paramètres tels que le mode des communications et les paramètres des communications). Tension à OFF Console de programmation Configurez les adresses 160 à 163. En particulier, configurez le mode des communications au mode sans protocole, et définissez le code de démarrage, le code de fin, le volume de données et le retard du mode sans protocole. (Consultez le Manuel de l'utilisateur de CX-Programmer pour de plus amples informations sur les procédures de CX-Programmer). Connectez l'UC et le périphérique externe via le port RS-232C. Configurez l'interrupteur DIP à l'avant de l'UC. Placez la broche 5 à OFF. Tension à ON API → périphérique externe Périphérique externe → API Exécutez TXD(236). Exécutez RXD(235). Formats des cadres de messages Des données peuvent être placées entre un code de démarrage et un code de fin pour la transmission par TXD(236) et RXD(235) peut recevoir des cadres dans ce même format. Lors d'une transmission à l'aide de TXD(236), seules les données de la mémoire d'E/S sont transmises, et lors de la réception à l'aide de RXD(235), seules les données sont stockées dans la mémoire d'E/S. Vous pouvez transférer jusqu'à 256 octets (y compris les codes de démarrage et de fin) en mode sans protocole. 291 Chapitre 6-3 Communications en série Le tableau suivant répertorie les formats de messages configurables pour les transmissions et les réceptions en mode sans protocole. Le format est fonction des paramètres du code de démarrage (ST) et du code de fin (ED) dans la configuration de l'API. Paramètre du code de démarrage Non Oui Non Paramètre du code de fin Oui CR+LF données (données : 256 octets max.) ST+données (données : 255 octets max.) données+ED (données : 255 octets max.) ST+données+ED (données : 254 octets max.) données+CR+LF (données : 254 octets max.) ST+données+CR+LF (données : 253 octets max.) Remarque • Si vous utilisez plusieurs codes de démarrage, le premier code ddémarrage sera effectif. • Si vous utilisez plusieurs codes de fin, le premier code de fin sera effectif. 1. Si les données en cours de transfert contiennent le code de fin, le transfert de données s'arrête à la moitié. Dans ce cas, remplacez le code de fin par CR+LF. 2. Il existe un paramètre dans la configuration de l'API (adresse 162 : retard du mode sans protocole) qui temporise la transmission de données après l'exécution de TXD(236). Délai de transmission du mode de non protocole Transmission Temps Exécution de TXD(236) Consultez le Manuel de référence des instructions pour les automates programmables série CJ (W340) pour plus de détails sur les instructions TXD(236) et RXD(235). 6-3-3 Liaison NT (mode 1:N) Avec la série CS/CJ, il est possible de communiquer avec les IHM (terminaux opérateurs programmables) à l'aide de liaisons NT (mode 1:N). Remarque Il est impossible de communiquer à l'aide du protocole NT Link en mode 1:1. Les liaisons NT à grande vitesse sont possibles, en plus des liaisons NT standard précédentes, en utilisant le menu système du terminal opérateur et les paramètres de configuration de l'API répertoriés ci-après (non pris en charge par les UC pré-EV1 CS1 série CS). Les liaisons NT à grande vitesse sont possibles, mais uniquement avec les terminaux opérateurs NT31(C)-V2 ou NT631(C)-V2. 292 Chapitre 6-3 Communications en série Configuration de l'API Port des communications Port périphérique Port RS-232C Adresse du paramètre de la console de programmation 144 Octets : 8 à 11 Mode des communications en série 02 hex. : NT Link (mode 1:N) 145 Bits : 0à7 Vitesse de transmission 150 Bits : 00 à 09 hex. : NT Link standard 0A hex. : NT Link à grande vitesse (voir remarque 1) 0 à 7 hex. 0à3 160 Bits : 8 à 11 nombre maximum de cartes en mode NT Link Mode des commu- 02 hex. : NT Link nications en série (mode 1:N) 161 Bits : 0à7 Vitesse de transmission 166 Bits : 0à3 Remarque Menu système du terminal opérateur 1,2,3... Nom nombre maximum de cartes en mode NT Link Contenu des paramètres 00 à 09 hex. : NT Link standard 0A hex. : NT Link à grande vitesse (voir remarque 1) 0 à 7 hex. Valeurs par défaut Autres conditions 00 hex. : Host Link Placez la broche 4 de l'interrupteur 00 hex. : NT Link DIP de l'UC sur ON. standard 0 hex. (nombre de --cartes max. 0) 00 hex. : Host Link Placez la broche 5 de l'interrupteur 00 hex. : NT Link DIP de l'UC sur OFF. standard 0 hex. (nombre max. de cartes 0) --- Configurez la vitesse de transmission à 115 200 bps lors du réglage des paramètres avec CX-Programmer. Configurez le terminal opérateur en procédant comme suit : 1. Sélectionnez NT Link (1:N) à partir de la méthode Comm. A ou Comm. B dans le menu de l'interrupteur mémoire sous le menu système de la carte du terminal opérateur. 2. Appuyez sur la touche SET pour configurer la vitesse de communication à « grande vitesse ». 6-3-4 Passerelle série de l’UC Présentation de la Passerelle série Les messages FINS (commandes) qui sont reçus sont automatiquement convertis dans le protocole spécifié, puis envoyés via les communications série. Les réponses sont également converties automatiquement. Lorsque le port RS-232C ou le port périphérique de l’UC est utilisé, les messages FINS peuvent être convertis dans le protocole suivant. • CompoWay/F La Passerelle série est activée lorsque le mode de communications série est configuré sur Passerelle série. Message FINS (via le réseau ou le bus UC) En-tête FINS 2803 Commande CompoWay/F Port RS-232C ou périphérique Port RS-232C ou périphérique de l'UC Commande CompoWay/F La Passerelle série est activée lorsque le port RS-232C ou le port périphérique est configuré sur le mode Passerelle série. 293 Chapitre 6-3 Communications en série Caractéristiques techniques de la Passerelle série Elément Source de la conversion Fonction de conversion Après la conversion Méthode de communications série Nombre maximal de cartes connectées Modes de communications série pris en charge Surveillance du délai de réponse Délai d'envoi Détails Commande FINS (reçue via réseau FINS, Host Link FINS, bus périphérique, liaisons NT ou bus UC) Les commandes FINS reçues sont converties en fonction des valeurs suivantes avant d’être envoyées au port série (port périphérique ou RS-232C) de l’UC. 2803 hex. : supprime l’en-tête FINS et convertit la commande en commande CompoWay/F Commandes CompoWay/F Communications 1:N semi-duplex 31 esclaves Mode Passerelle série Le délai entre l’envoi d’un message converti dans le protocole CompoWay/F avec la Passerelle série et la réception d’une réponse du périphérique distant est surveillé (activé en mode Passerelle série ou en mode Macro protocole). Par défaut : 5 s ; Plage de réglage : 0,1 à 25,5 s Remarque En cas de dépassement du temps imparti, le code de fin FINS est retourné à la source de la commande FINS (0205 hex : Délai de réponse). Aucun Conversion de FINS en CompoWay/F Les composants OMRON connectés en série au port RS-232C ou au port périphérique de l’UC via CompoWay/F sont accessibles à partir de l’API ou du TOP avec des commandes CompoWay/F incluses dans les messages FINS. • Message FINS envoyé : en-tête FINS + code de commande FINS 2803 hex + commande CompoWay/F • Message après conversion : Commande CompoWay/F UC (instruction CMND(490)) ou TOP (terminal programmable) Message FINS En-tête FINS 2803 Commande CompoWay/F Commande CompoWay/F encapsulée avec la commande FINS 2803 hex Port RS-232C ou port périphérique de l'UC Commande CompoWay/F Composant Commande CompoWay/F OMRON compatible CompoWay/F (Via le réseau ou le bus UC) Pour des informations détaillées sur le code de commande FINS 2803 hex, reportez-vous au Manuel de référence des commandes de communication (W342). 294 Chapitre 6-3 Communications en série Composants compatibles CompoWay/F esclave Régulateurs de température Composant Thermac NEO Thermac R Temporisation/ compteurs Afficheurs numériques Régulateurs de température plug-in Cartes de contrôleur numérique Contrôleurs numériques Temporisateurs/compteurs Afficheurs numériques Compteurs de cellules de charge numériques Compteurs rotatifs/ d’impulsions numériques Afficheurs numériques à incrémentation Chronomicromètres numériques Compteurs de température/ processus numériques Capteurs intelligents Cartes d’interface de communications ZX Positionneurs de --came Contrôleurs de --sécurité Série du modèle E5GN (composants G) E5CN E5EN E5AN E5AR E5ER E5ZN E5ZM ES100X H8GN (composants G) K3GN (composants G) K3NX K3NV K3NR K3NP K3NC K3NH ZX-SF11 3F88L-160, 3F88L-162 F3SX 295 Chapitre 6-3 Communications en série Modèles de configuration système Exécution de Smart Active Parts avec un TOP série NS (envoi de messages FINS internes) L’UC convertit les messages FINS dans le protocole CompoWay/F pour demander cette opération. Accès depuis le TOP sur Ethernet ou la liaison NT série TOP série NS Smart Active Parts Message FINS (envoyé en interne) Ethernet En-tête FINS Commande CompoWay/F 2803 UC avec version de carte 3.0 ou ultérieure Conversion de protocole Commande CompoWay/F Détails Tables de routage pour traiter le chemin de communications série comme un réseau L’accès via les commu- En option nications série avec CompoWay/F est possible à partir d’un TOP connecté au réseau ; vous devez à cet effet exécuter un Smart Active Part connecté en série, qui envoie automatiquement une commande FINS interne. RS-485 (CompoWay/F) Composants OMRON compatibles CompoWay/F Remarque Lorsque le TOP série NS est connecté en série à l’API en mode de communications série (liaisons NT 1:N) et qu’il envoie des commandes FINS encapsulées dans les commandes NT Link avec Smart Active Parts, l’UC supprime l’en-tête NT Link, etc. de la commande reçue, le convertit en commande FINS et transfère cette dernière au port série de l’UC. L’UC utilise la Passerelle série pour convertir la commande dans le protocole spécifié. Cette opération permet aux périphériques connectés en série d’accéder au port série de l’UC à partir de Smart Active Parts avec un TOP série NS. Remarque 1. L’en-tête FINS contient les informations suivantes. • Adresse du réseau de destination déporté (DNA) • Avec des tables de routage qui traitent le chemin de communications série comme un réseau : Adresse réseau correspondant au port série dans les tables de routage. • Sans tables de routage qui traitent le chemin de communications série comme un réseau : Adresse réseau pour spécifier l’API déporté réel. • Adresse de nœud de destination déporté (DA1) • Avec des tables de routage qui traitent le chemin de communications série comme un réseau : 00 hex (communications internes de l’API local) • Sans tables de routage qui traitent le chemin de communications série comme un réseau : adresse de nœud pour spécifier l’API déporté réel. • Adresse d’unité de destination déportée (DA2) Adresse d’unité du port série UC Port périphérique Port RS-232C 296 Chapitre 6-3 Communications en série Port série de l’UC Port périphérique Port RS-232C Adresse d’unité du port série FD hex (253 décimal) FC hex (252 décimal) 2. Le contenu de la commande CompoWay/F incluse dans le message FINS qui est envoyé se présente de la manière suivante : numéro de nœud + sous-adresse + SID + texte de la commande (ASCII indispensable.) STX, ETX+BCC ne sont pas obligatoires lors de l’envoi du message FINS. Ils sont ajoutés automatiquement pour les communications série. Envoi de messages FINS avec CMND(490) dans le schéma contact de l’UC L’UC convertit les messages FINS dans le protocole CompoWay/F pour demander cette opération. Accès à partir de l’UC (sur le même API) Conversion série UC avec version de carte 3.0 ou supérieure Port RS-232C Détails CMND(490) Message FINS En-tête FINS Conversion de protocole Commande CompoWay/F 2803 Commande CompoWay/F Les composants OMRON connectés en série au port RS-232C de l’UC avec CompoWay/F sont accessibles à partir d’une UC dans le même API. Tables de routage pour traiter le chemin de communications série comme un réseau En option RS-485 (CompoWay/F) Composant OMRON compatible CompoWay/F Accès à partir de l’UC (API sur le réseau) Message FINS vers série CMND(490) Message FINS En-tête FINS 2803 Commande CompoWay/F UC avec version de Réseau (Ethernet, carte 3.0 ou supérieure Controller Link, DeviceNet) Détails Les composants OMRON connectés en série au port RS-232C de l’UC avec CompoWay/F sont accessibles à partir d’une UC dans un API connecté au réseau. Tables de routage pour traiter le chemin de communications série comme un réseau En option Conversion de protocole Commande CompoWay/F RS-485 (CompoWay/F) Composant OMRON compatible CompoWay/F 297 Chapitre 6-3 Communications en série Trames de communication Trame de commande Trame avant conversion En-tête FINS Adresse du réseau déporté (DNA) Commande FINS Adresse de nœud déporté (DA1) Adresse d'unité déportée (DA2) Adresse allouée au port série 00 hex. Adresse d'unité du port série ou adresse du réseau local ou adresse de nœud du réseau local Etc. MRC 28 CompoWay/F (Voir remarque.) SRC 03 N˚ de nœud (× 101) (× 102) (2 octets ASCII) Sousadresse "00" (ASCII 3030 hex) etc. SID "0" (ASCII 30 hex) Commande (MRC, SRC) (4 octets ASCII) Texte (ASCII) Trame après conversion CompoWay/F STX (02 hex) N˚ de nœud (× 101) (× 102) (2 octets ASCII) Sousadresse "00" (ASCII 3030 hex) etc. Remarque SID "0" (ASCII 0 hex) Commande (MRC, SRC) (4 octets ASCII) Texte (ASCII) ETX (03 hex) BCC Les commandes CompoWay/F utilisent ASCII comme code de transmission. Veillez par conséquent à utiliser ASCII pour la commande CompoWay/F après le code de commande FINS 2803 hex (du numéro de nœud au texte) avec CMND(490) ou une autre instruction. Exemple : Si la commande CompoWay/F MRC SRC est “01” “02” (où les guillemets (“”) indiquent des caractères ASCII), 0, 1, 0, 2 doivent être traités comme des caractères ASCII. Par conséquent, fixez “01” à 3031 hex (et non en 01 hex), et “02” à 3032 hex (et non en 02 hex). En outre, pour écrire la commande CompoWay/F dans la zone de stockage des commandes avec CMND(490) dans l’ordre des trames (sans créer d’octets vides), le composant SID de la commande CompoWay/F exige 1 octet d’ASCII en tant que 30 hex ; les composants suivants (s+3 et après) doivent donc être définis chacun sur un octet. Trame avant conversion CompoWay/F STX (02 hex) N˚ de nœud 1 (× 10 ) 2 (× 10 ) (2 octets ASCII) Sousadresse "00" (ASCII 3030 hex), etc. Code de fin Commande Réponse (2 octets (MRC, (MRES, ASCII) SRC) SRES) (4 octets (4 octets ASCII) ASCII) Texte (ASCII) ETX BCC (03 hex) Trame après conversion En-tête FINS 298 Adresse de réseau déporté (DNA) Adresse de nœud déporté (DA1) Adresse allouée au port série 00 hex. Adresse d'unité déportée (DA2), etc. Commande FINS MRC Adresse 28 d'unité du port série SRC 03 Code de fin FINS MRES SRES Spécifié par l'utilisateur Spécifié par l'utilisateur CompoWay/F (Voir remarque.) N˚ de nœud 1 (× 10 ) 2 (× 10 ) (2 octets ASCII) Sousadresse "00" (ASCII 3030 hex) etc. Code de fin Commande Réponse (2 octets (MRC, (MRES, ASCII) SRC) SRES) (4 octets (4 octets ASCII) ASCII) Texte (ASCII) Chapitre 6-3 Communications en série Surveillance du délai de réponse (mode Passerelle série) En mode Passerelle série, le délai entre l’envoi du message converti dans le protocole spécifié par la passerelle série et la réception d’une réponse du périphérique distant est surveillé. (Le délai par défaut est de 5 s. La plage de configuration pour une valeur spécifiée par l’utilisateur est comprise entre 0,1 et 25,5 s.) Si aucune réponse n’est reçue au port série dans le délai spécifié, une erreur réponse FINS est retournée à la source de la commande FINS (code de fin : 0205 hex (délai de réponse)). Si une réponse est reçue après l’expiration du délai, cependant, la réponse reçue pour chaque protocole est supprimée et aucune réponse FINS n’est retournée à la source de la commande FINS. Commande FINS reçue par l'UC Source de transmission FINS : Commande FINS UC : Passerelle série Envoi dans le protocole spécifié Périphérique distant : 6-3-5 Conversion/transmission du protocole Temps de surveillance du délai de réponse Erreur de réponse FINS 0205 hex (délai de réponse) Temps La réponse reçue est éliminée Réception Traitement de la réception Réponse réelle reçue après l'expiration du délai Une réponse réelle est reçue Liaisons API série (cartes CJ1M uniquement) Présentation Les liaisons API série sont uniquement prises en charge par les UC CJ1M. Elles permettent d'échanger des données entre les UC CJ1M, via les ports RS232C intégrés, sans nécessiter de programmation spéciale. Les mots sont affectés en mémoire dans les mots de liaison API série (CIO 3100 à CIO 3199). Vous pouvez utiliser des connexions RS-232C entre les UC, ou des connexions RS-422A/485 en connectant des convertisseurs RS-232C-vers-RS-422A/485 aux ports RS-232C. Des convertisseurs CJ1W-CIF11 RS-422A peuvent être utilisés pour effectuer la conversion entre RS-232C et RS-422A/485. Un terminal opérateur configuré pour les communications NT Link (1:N) peut également être utilisé sur le même réseau. Le terminal opérateur interrogé utilise le réseau pour communiquer par une liaison NT Link (1:N) avec l'UC d'analyse. Toutefois, lorsqu'un IHM est connecté, les adresses dans les mots de liaison API série correspondant au numéro de carte du IHM ne sont pas définies. Caractéristiques techniques Mode de connexion Zone de données affectée Nombre de cartes Caractéristiques techniques Connexion RS-232C ou RS-422A/485 via le port RS-232C de l'UC. Mots de liaison API série : CIO 3100 à CIO 3199 (vous pouvez affecter jusqu'à 10 mots pour chaque UC). 9 cartes maximum, comprenant 1 carte d'analyse et 8 cartes interrogées. (Vous pouvez installer un terminal opérateur sur le même réseau dans une liaison NT Link (1:N), mais il doit être compté avec les 8 cartes interrogées). 299 Chapitre 6-3 Communications en série Configuration système UC Carte d'analyse UC Carte d'analyse RS-422/485 Convertisseur RS-422A CJ1W-CIF11 (Voir remarque 1.) UC RS-232C UC Carte interrogée n˚ 0 Carte interrogée n˚ 1 IHM Carte n˚1 Nombre de cartes interrogées : 8 max. (Voir remarque 2.) UC Carte interrogée n˚ 3 NS-AL002 avec un IHM série NS OR Remarque UC Carte interrogée n˚ 0 1. L'adaptateur CJ1W-CIF11 n'est pas isolé et la distance de transmission totale est de 50 mètres maximum. Si la distance de transmission totale est supérieure à 50 mètres, utilisez l'adaptateur isolé NT-AL001 mais jamais le CJ1W-CIF11. Si vous utilisez uniquement l'adaptateur NT-AL001, la distance de transmission totale est de 500 mètres maximum. 2. Vous pouvez connecter jusqu'à 8 cartes, comprenant le terminal opérateur et les cartes interrogées, à la carte d'analyse, lorsqu'un terminal opérateur configuré pour les communications par liaison API série est installé sur le même réseau. Méthodes de mise à jour des données Vous pouvez mettre à jour les données à l'aide des deux méthodes suivantes : • Méthode de liaison complète • Méthode de liaison de la carte d'analyse Méthode de liaison complète Les données provenant de tous les nœuds des liaisons API série sont représentées dans la carte d'analyse et dans les cartes interrogées. (Les seules exceptions sont l'adresse affectée au numéro de carte du terminal opérateur connecté et les adresses des cartes interrogées qui ne sont pas présentes dans le réseau. Ces plages de données sont non définies dans tous les nœuds). Exemple : méthode de liaison complète, nombre maximum de cartes : 3. Dans le diagramme suivant, la carte interrogée n° 2 est soit un terminal opérateur, soit une carte absente du réseau, de sorte que la zone affectée à la carte interrogée n° 2 est non définie dans tous les nœuds. Carte d'analyse Zone locale Carte interrogée n˚0 Carte interrogée n˚1 300 Carte interrogée n˚0 Carte interrogée n˚1 Carte interrogée n˚ 3 Carte d'analyse Carte d'analyse Carte d'analyse Zone locale Carte interrogée n˚0 Carte interrogée n˚1 Zone locale Carte interrogée n˚0 Carte interrogée n˚1 Non défini Non défini Non défini Non défini Carte interrogée n˚ 3 Carte interrogée n˚ 3 Carte interrogée n˚ 3 Zone locale (Inutilisé) (Inutilisé) (Inutilisé) (Inutilisé) (Inutilisé) (Inutilisé) (Inutilisé) (Inutilisé) (Inutilisé) (Inutilisé) (Inutilisé) (Inutilisé) (Inutilisé) (Inutilisé) (Inutilisé) (Inutilisé) Chapitre 6-3 Communications en série Méthode de liaison de la carte d'analyse Les données de l'ensemble des cartes interrogées dans les liaisons API série sont uniquement représentées dans la carte d'analyse, et chaque carte interrogée représente uniquement les données de la carte d'analyse. L'avantage de la méthode de liaison de la carte d'analyse est que l'adresse affectée aux données des cartes interrogées locales est identique dans chaque carte interrogée, ce qui permet d'accéder aux données à l'aide d'un schéma contact commun. Les zones affectées aux numéros de carte des terminaux opérateurs ou des cartes interrogées absents du réseau sont non définies dans la carte d'analyse seulement. Exemple : méthode de liaison de la carte d'analyse, nombre maximum de cartes : 3. Dans le diagramme suivant, la carte interrogée n° 2 est soit un terminal opérateur, soit une carte extérieure au réseau. Par conséquent, la zone correspondante dans la carte d'analyse est non définie. Carte d'analyse Carte interrogée n˚0 Carte interrogée n˚1 Carte interrogée n˚ 3 Zone locale Carte d'analyse Carte d'analyse Carte d'analyse Carte interrogée n˚0 Carte interrogée n˚1 Zone locale Zone locale Zone locale (Inutilisé.) (Inutilisé.) (Inutilisé.) Non défini (Inutilisé.) (Inutilisé.) (Inutilisé.) Carte interrogée n˚ 3 (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) (Inutilisé.) 301 Chapitre 6-3 Communications en série Mots affectés Méthode de liaison complète Adresse CIO 3100 Mots de liaison API série CIO 3199 Mots de liaison Carte d'analyse 1 mot CIO 3100 Carte interrogée n° 0 Carte interrogée n° 1 Carte interrogée n° 2 Carte interrogée n° 3 Carte interrogée n° 4 Carte interrogée n° 5 Carte interrogée n° 6 Carte interrogée n° 7 Non utilisée. CIO 3101 CIO 3102 CIO 3103 CIO 3104 CIO 3105 CIO 3106 CIO 3107 CIO 3108 CIO 3109 à CIO 3199 2 mots CIO 3100 à CIO 3101 CIO 3102 à CIO 3103 CIO 3104 à CIO 3105 CIO 3106 à CIO 3107 CIO 3108 à CIO 3109 CIO 3110 à CIO 3111 CIO 3112 à CIO 3113 CIO 3114 à CIO 3115 CIO 3116 à CIO 3117 CIO 3118 à CIO 3199 3 mots CIO 3100 à CIO 3102 CIO 3103 à CIO 3105 CIO 3106 à CIO 3108 CIO 3109 à CIO 3111 CIO 3112 à CIO 3114 CIO 3115 à CIO 3117 CIO 3118 à CIO 3120 CIO 3121 à CIO 3123 CIO 3124 à CIO 3126 CIO 3127 à CIO 3199 jusqu'à 10 mots CIO 3100 à CIO 3109 CIO 3110 à CIO 3119 CIO 3120 à CIO 3129 CIO 3130 à CIO 3139 CIO 3140 à CIO 3149 CIO 3150 à CIO 3159 CIO 3160 à CIO 3169 CIO 3170 à CIO 3179 CIO 3180 à CIO 3189 CIO 3190 à CIO 3199 Méthode de liaison de la carte d'analyse Adresse Mots de liaison 1 mot CIO 3100 Carte d'analyse CIO 3100 CIO 3101 CIO 3199 Carte interrogée n° 0 Carte interrogée n° 1 Carte interrogée n° 2 Carte interrogée n° 3 Carte interrogée n° 4 Carte interrogée n° 5 Carte interrogée n° 6 Carte interrogée n° 7 Non utilisée. Mots de liaison API série 302 CIO 3101 CIO 3101 CIO 3101 CIO 3101 CIO 3101 CIO 3101 CIO 3101 CIO 3102 à CIO 3199 2 mots CIO 3100 à CIO 3101 CIO 3102 à CIO 3103 CIO 3102 à CIO 3103 CIO 3102 à CIO 3103 CIO 3102 à CIO 3103 CIO 3102 à CIO 3103 CIO 3102 à CIO 3103 CIO 3102 à CIO 3103 CIO 3102 à CIO 3103 CIO 3104 à CIO 3199 3 mots CIO 3100 à CIO 3102 CIO 3103 à CIO 3105 CIO 3103 à CIO 3105 CIO 3103 à CIO 3105 CIO 3103 à CIO 3105 CIO 3103 à CIO 3105 CIO 3103 à CIO 3105 CIO 3103 à CIO 3105 CIO 3103 à CIO 3105 CIO 3106 à CIO 3199 jusqu'à 10 mots CIO 3100 à CIO 3109 CIO 3110 à CIO 3119 CIO 3110 à CIO 3119 CIO 3110 à CIO 3119 CIO 3110 à CIO 3119 CIO 3110 à CIO 3119 CIO 3110 à CIO 3119 CIO 3110 à CIO 3119 CIO 3110 à CIO 3119 CIO 3120 à CIO 3199 Chapitre 6-3 Communications en série Procédure Les liaisons API série fonctionnent d'après les paramètres suivants de la configuration de l'API. Paramètres sur la carte d'analyse 1,2,3... 1. Configure le mode des communications en série du port des communications RS-232C sur les liaisons API série (carte d'analyse). 2. Configure la méthode de liaison sur la méthode de liaison complète ou sur la méthode de liaison de la carte d'analyse. 3. Définit le nombre de mots de liaison (jusqu'à 10 mots pour chaque carte). 4. Définit le nombre maximum de cartes dans les liaisons API série (0 à 7). Paramètres sur les cartes interrogées 1,2,3... 1. Configure le mode des communications en série du port des communications RS-232C sur les liaisons API série (carte interrogée). 2. Définit le numéro de carte de la carte interrogée de liaison API série. Configuration de l'API Paramètres sur la carte d'analyse Paramètre Mode des commudu port nications en série RS-232C Vitesse de transmission du port Adresse API Mot Bit 160 11 à 08 Valeur de consigne Nombre de mots de liaison 07 à 04 8 hex. : carte d'analyse de liaison API série 00 à 09 hex : standard 0A hex : grande vitesse (voir remarque 2). 0 : liaisons complètes 1 : liaisons de cartes d'analyse 1 à A hex. Nombre maximum de cartes 03 à 00 0 à 7 hex. Méthode de liaison Remarque 161 07 à 00 166 15 Par défaut 0 hex Fréquence de mise à jour A chaque cycle 00 hex 0 0 hex. (voir remarque 1). 0 hex. 1. Affecte automatiquement 10 mots (A hex.) lorsque la configuration par défaut 0 hex. est utilisée. 2. Lorsque CX-Programmer est configuré, spécifiez 115 200 bits/s. Paramètres sur la carte interrogée Adresse API Mot Bit Paramètres Mode des commu- 160 11 à 08 du port nications en série RS-232C Vitesse de trans- 161 07 à 00 mission du port Nombre de cartes 167 interrogées Remarque 03 à 00 Valeur de consigne 7 hex : carte interrogée de liaison API série 00 à 09 hex. : standard 0A hex. : grande vitesse (voir remarque). 0 à 7 hex. Par défaut 0 hex. Fréquence de mise à jour A chaque cycle 00 hex. 0 hex. Lorsque CX-Programmer est configuré, spécifiez 115 200 bits/s. 303 Chapitre 6-3 Communications en série Drapeaux de zone auxiliaire associés Nom Adresse Infos Lecture/ écriture Lecture Drapeau d'erreur A39204 des communications du port RS-232C Passe à ON lorsqu'une erreur de communication survient sur le port RS-232C. 1 : erreur 0 : normal Drapeau des A39300 à communications A39307 du port RS-232C avec un IHM (voir remarque). Lorsque vous utilisez le port Lecture RS-232C en mode NT Link, le bit correspondant à la carte qui effectue les communications est à ON. Les bits de 00 à 07 correspondent respectivement aux numéros de carte de 0 à 7. 1 : en communication 0 : pas en communication Mettez ce bit à ON pour Lecture/ redémarrer le port RS-232C. écriture Bit de redémarrage du port RS-232C A52600 Drapeau d'erreur A52800 à Lorsque qu'une erreur se du port RS-232C A52807 produit sur le port RS-232C, le code d'erreur correspondant est mémorisé. Bit 00 : non utilisé. Bit 01 : non utilisé. Bit 02 : erreur de parité. Bit 03 : erreur de synchronisation. Bit 04 : erreur d'engorgement. Bit 05 : erreur de dépassement de temps. Bit 06 : non utilisé. Bit 07 : non utilisé. Lecture/ écriture Drapeau de modification des paramètres du port RS-232C Lecture/ écriture A61902 Remarque 304 Passe à ON pendant la modification des conditions des communications du port RS-232C. 1 : modification. 0 : pas de modification. Fréquence de mise à jour • Remis à zéro lors de la mise sous tension. • Passe à ON lorsqu'une erreur de communication survient sur le port RS-232C. • Passe à OFF lorsque le port est redémarré. • Désactivé en mode bus périphérique et en mode NT Link. • Remis à zéro lors de la mise sous tension. • Met à ON le bit correspondant au numéro de carte du IHM ou de la carte interrogée qui est en train de communiquer via le port RS232C en mode NT Link ou en mode de liaison API série. • Les bits de 00 à 07 correspondent respectivement aux numéros de carte de 0 à 7. • Remis à zéro lors de la mise sous tension. • Passe à ON lors du redémarrage du port RS-232C, (sauf lors de la communication en mode bus périphérique). Remarque : en fonction du système, le bit peut passer automatiquement à OFF lorsque le processus de redémarrage est terminé. • Remis à zéro lors de la mise sous tension. • Lorsqu'une erreur se produit sur le port RS-232C, le code d'erreur correspondant est mémorisé. • En fonction du système, le drapeau peut être remis à zéro lorsque le port RS-232C est redémarré. • Désactivé en mode bus périphérique. • En mode NT Link, seul le bit 05 (erreur de dépassement de temps) est activé. En mode de liaison API série, seuls les bits ci-dessous sont activés. Erreur sur la carte d'analyse : Bit 05 : erreur de dépassement de temps. • Erreur CHECK sur la carte interrogée : Bit 05 : erreur de dépassement de temps. Bit 04 : erreur d'engorgement. Bit 03 : erreur de synchronisation • Remis à zéro lors de la mise sous tension. • Passe à ON pendant la modification des conditions des communications du port RS-232C. • Passe à ON lorsque l'instruction CHANGE SERIAL PORT SETUP (STUP(237)) est exécutée. • Repasse à OFF lorsque les modifications de paramètres sont terminées. Comme pour la liaison NT existante (1:N), vous pouvez vérifier l'état (en communication/pas en communication) des IHM de la liaison API série à partir de la carte d'analyse (UC), en lisant le drapeau des communications du port RS-232C avec un IHM (A393 bits 00 à 07 pour les numéros de carte 0 à 7). Modification du mode de mise à jour de la PV de temporisation/compteur 6-4 6-4-1 Chapitre 6-4 Modification du mode de mise à jour de la PV de temporisation/compteur Présentation Jusqu'à présent, les UC CS1 n'utilisaient les valeurs BCD que pour le mode de mise à jour de la valeur actuelle (PV) de temporisation/compteur. Par conséquent, tous les paramètres de temporisation/compteur étaient entrés sous forme de valeurs BCD. Sur d'autres UC (voir remarques 1 et 2), il est possible d'utiliser le mode BCD ou le mode binaire pour la mise à jour des valeurs actuelles d'instructions de temporisation et de compteur (voir remarque 3). En mode binaire, le temps de configuration de temporisation/compteur précédent de 0 à 9 999 peut être allongé jusqu'à 0 à 65 535. Les valeurs de consigne de temporisation/compteur peuvent également correspondre à des données binaires calculées à l'aide d'autres instructions. Le mode de mise à jour de la PV de temporisation/compteur peut également être spécifié lorsque la valeur de consigne de temporisation/compteur est spécifiée sous forme d'adresse (spécification indirecte). (La configuration du mode détermine, suivant qu'il s'agit du mode BCD ou binaire, si le contenu du mot adressé est considéré comme une valeur BCD ou binaire). Il existe toutefois des différences entre les opérandes d'instructions des modes BCD et binaire. Par conséquent, vérifiez et assurez-vous d'avoir bien compris les différences entre ces modes avant de modifier le mode de mise à jour de la PV de temporisation/compteur. Remarque 1. Dans ce cas, les UC différentes des UC CS1 sont les suivantes : • UC CS1-H • UC CJ1-H • UC CJ1M • UC CS1D 2. Lorsque la surveillance du mnémonique s'effectue à partir de la console de programmation pour des UC CS1-H, CJ1-H, CJ1M ou CS1D fabriquées avant le 31 mai 2002 (inclus), et que le mode de mise à jour de la PV de temporisation/compteur est configuré sur le mode binaire, le mnémonique du binaire s'affiche sous la forme du mnémonique ou de l'instruction BCD (exemple : TIMX #0000 &16 s'affiche sous la forme TIM #0000 &16), mais les opérations s'effectuent en mode binaire. 3. Vous ne pouvez sélectionner le mode de mise à jour de la PV qu'avec CXProgrammer version 3.0. La sélection des modes n'est pas prise en charge par CX-Programmer version 2.1 ou inférieure, ou par les consoles de programmation. 4. CX-Programmer version 2.1 ou inférieure ne peut pas lire les programmes utilisateur des UC contenant des instructions en mode binaire, mais il peut lire les programmes définis à l'aide d'instructions en mode BCD. 305 Chapitre 6-4 Modification du mode de mise à jour de la PV de temporisation/compteur 6-4-2 Caractéristiques fonctionnelles Infos A configurer à l'aide de CX-Programmer version 3.0 (non prise charge par CX-Programmer version 2.1 ou inférieure). Configurée dans les propriétés de l'API de CX-Programmer version 3.0. UC prises en charge Les UC CS1-H/CJ1-H du lot n° 020601 (fabriqué le 1er juin 2002) ou d'un lot postérieur (voir remarque 1), et les UC CJ1M et CS1D. Mode Mode BCD Mode binaire Mnémonique Identique aux Ajout d'un X au mnémonique du modèles mode BCD précédents Exemple : TIMX Exemple : TIM Code fonction Identique aux Nouveaux codes modèles précédents Plage PV/SV #0000 à #9999 &0 à &65536 #0000 à #FFFF Exemple : &100 Hexadécimal Affichage de la PV sur le péri- BCD Exemple : #64 Exemple : phérique de programmation (CX-Programmer version 3.0 #0100 ou console de programmation) Méthode de configuration de la mise à jour de la PV de temporisation/compteur Remarque Lorsque la surveillance du mnémonique s'effectue à partir de la console de programmation pour des UC CS1-H/CJ1-H fabriquées avant le 31 mai 2002 (inclus), et que le mode de mise à jour de la PV de temporisation/compteur est configuré sur le mode binaire, le mnémonique du binaire s'affiche sous la forme du mnémonique ou de l'instruction BCD (exemple : TIMX #0000 &16 s'affiche sous la forme TIM #0000 &16), mais les opérations s'effectuent en mode binaire. Vérification du numéro de lot de l'UC 1,2,3... 1. Le numéro de lot est imprimé au bas de la face avant (série CS) ou dans le coin droit de la face supérieure de l'UC (série CJ), et se compose des deux derniers chiffres de l'année, du mois et du jour, dans cet ordre, comme illustré ci-dessous. Exemple : 020601 (fabriqué le 1er juin 2002). UC série CJ UC série CS Les 6 chiffres de gauche correspondent au code de la date. 01 06 02 020601 2. Vérifiez le mode sélectionné. Pour ce faire, mettez CX-Programmer en ligne, ouvrez la fenêtre des tables d'E/S et sélectionnez Unit Information - CPU Unit. Le numéro de lot s'affiche dans le format représenté plus haut, c'est-àdire composé des deux derniers chiffres de l'année, du mois et du jour, dans cet ordre. 306 Modification du mode de mise à jour de la PV de temporisation/compteur 6-4-3 Chapitre 6-4 Sélection du mode BCD ou du mode binaire et confirmation Lors de l'écriture d'un nouveau programme, le mode BCD ou binaire est sélectionné dans les paramètres des propriétés de l'API, dans CXProgrammer version 3.0. Remarque La sélection du mode BCD/binaire est uniquement prise en charge par CXProgrammer version 3.0 ou supérieure. CX-Programmer version 2.1 ou les versions inférieures ne permettent pas la sélection de modes. Utilisation du mode BCD TIM 0000 #0010 Utilisation du mode binaire TIMX CX-Programmer Console de Vers. 3.0 Le mode BCD/binaire Utilisation du est sélectionné dans les programmation mode BCD propriétés de l'API. 000001 TIM Il n'est pas possible de Valeur de consigne #0010 sélectionner le mode avec la console de Utilisation du programmation. mode binaire UC CS1-H/CJ1Transfert du 0 0 0 0 0 1 TIMX H/CJ1M/CS1D programme Valeur de consigne & 1 0 utilisateur en cours Définition du mode de mise à jour de la PV de temporisation/compteur (Voir remarque.) 0000 &10 Programme utilisateur Remarque : La définition du mode de mise à jour de la PV de temporisation/compteur est sauvegardée dans le Mnémoniques : Exemple d'utilisation du mode BCD : TIM Exemple d'utilisation du mode binaire : TIMX Sélection du mode BCD ou du mode binaire 1,2,3... 1. Sélectionnez le nom de l'API, cliquez avec le bouton droit de la souris et sélectionnez PLC Properties. Cochez cette case pour activer la configuration. 2. Cliquez sur l'onglet General et cochez la caseExecute Timers/Counters as Binary. • Non cochée (par défaut) : mode BCD • Cochée : mode binaire La valeur de consigne du mode de mise à jour de la PV de temporisation/ compteur configurée dans les propriétés de l'API sera stockée dans la mémoire utilisateur de l'UC lors du transfert du programme utilisateur, du CX-Programmer vers l'UC. 307 Modification du mode de mise à jour de la PV de temporisation/compteur Chapitre 6-4 Lorsque vous modifiez la configuration, la boîte de dialogue ci-dessous s'affiche automatiquement. Annuler Cliquez sur OK pour exécuter la vérification du programme. Les résultats de la vérification du programme s'affichent dans la fenêtre de résultats. Exemple : l'instruction TIM a été utilisée bien que vous soyez passé au mode binaire. TIM s'affiche en rouge. Les résultats de la vérification du programme s'affichent dans la fenêtre de résultats. Exemple : le mode de fonctionnement de la temporisation ou du compteur est différent, vous ne pouvez pas utiliser l'instruction TIM. Confirmation du mode BCD ou du mode binaire A09915 dans la zone auxiliaire (drapeau de mise à jour de la PV de temporisation/compteur) permet de vérifier si une UC fonctionne en mode BCD ou en mode binaire. Nom Adresse Drapeau de mise à jour de A09915 la PV de temporisation/ compteur 6-4-4 Infos 0 : mode BCD 1 : mode binaire Mnémoniques et données en mode BCD ou en mode binaire Mnémoniques en mode BCD ou en mode binaire Les mnémoniques en mode binaire sont caractérisés par l'ajout du suffixe X au mnémonique BCD. Exemple : mnémoniques de l'instruction TIMER Mode BCD : TIM Mode binaire : TIMX 308 Modification du mode de mise à jour de la PV de temporisation/compteur Chapitre 6-4 Affichage des données en mode BCD ou en mode binaire Propriété de l'API Mode BCD Mode binaire Signification des symboles d'entrée et d'affichage Le symbole # indique la #0000 à #9999 valeur de l'instruction ou (une valeur BCD lorsque le mode BCD est utilisé) #00000000 à #99999999 Le symbole & indique une valeur décimale. Le symbole # indique la valeur de l'instruction (une valeur hexadécimale lorsque le mode BCD est utilisé). Remarque 6-4-5 Plage de configuration &0 à &65535 ou &0 à &4294967295 #0000 à #FFFF ou #0000 à #FFFFFFFF Exemple : temporisation n° : 0000, valeur de consigne : 10 s TIMX 0000 &10 TIMX 0000 &10 TIMX 0000 #A Lorsque vous utilisez CX-Programmer en mode BCD ou en mode binaire, si vous saisissez la valeur numérique sans inclure le symbole d'entrée/affichage # ou & indiquant qu'il s'agit de la constante, (exemple : TIM 0000 0010), la valeur de consigne de temporisation/compteur est entrée en tant qu'adresse (par exemple, la valeur contenue dans le mot CIO 0010 sera utilisée comme valeur de consigne). Restrictions • Vous ne pouvez pas utiliser ensemble, sur une même UC, le mode BCD et le mode binaire. • Lorsque vous utilisez la console de programmation pour créer un nouveau programme utilisateur ou pour effacer la mémoire, le mode de mise à jour de la PV de temporisation/compteur est fixé au mode BCD. • Lorsque vous mettez l'UC en ligne à l'aide de CX-Programmer version 3.0, la valeur de consigne du mode de mise à jour de la PV de temporisation/compteur, stockée dans la mémoire utilisateur de l'UC, est automatiquement utilisée. Si le paramètre de l'UC est différent du paramètre du projet CX-Programmer, une erreur se produit et la connexion en ligne est impossible à établir. Le message suivant s'affiche. Modifiez la sélection de manière que le paramètre de l'UC corresponde à celui du projet CX-Programmer ou que le paramètre de propriétés du projet CX-Programmer corresponde à celui de l'UC. • CX-Programmer version 2.1 ou inférieure ne peut pas lire les programmes utilisateur des UC définis à l'aide du mode binaire, mais il peut lire les programmes définis à l'aide du mode BCD. 309 Modification du mode de mise à jour de la PV de temporisation/compteur Chapitre 6-4 • Lorsque vous entrez une instruction de mode de mise à jour de la PV de temporisation/compteur incorrecte, les différences entre les opérations de CXProgrammer et celles d'une console de programmation sont les suivantes : • CX-Programmer : Une erreur se produit si vous entrez une instruction correspondant à un mode différent de celui défini comme mode de mise à jour de la PV de temporisation/compteur sous PLC properties. Exemple : lorsque l'API du projet est configuré au mode binaire, une erreur se produit si vous entrez TIM comme mnémonique. En mode BCD, une erreur se produit si vous entrez TIMX comme mnémonique. • Console de programmation : Lorsque vous entrez un code fonction pour une instruction dans un mode différent du mode de mise à jour de la PV de temporisation/ compteur configuré dans l'UC, le mnémonique est automatiquement remplacé par celui correspondant au mode de mise à jour de la PV de temporisation/compteur configuré dans l'UC. 6-4-6 Instructions et opérandes Instructions Type d'instruction Nom Instructions de TIMER (100 ms) temporisation HIGH-SPEED et de compteur TIMER (10 ms) ONE-MS TIMER (1 ms) ACCUMULATIVE TIMER (100 ms) LONG TIMER (100 ms) MULTI-OUTPUT TIMER (100 ms) COUNTER REVERSIBLE COUNTER RESET TIMER/ COUNTER Instructions de TIMER WAIT programme de (100 ms) bloc HIGH-SPEED TIMER WAIT (10 ms) COUNTER WAIT 310 Mnémonique Mode BCD Mode binaire TIM TIMX(550) TIMH(015) TIMHX(551) TMHH(540) TMHHX(552) TTIM(087) TTIMX(555) TIML(542) TIMLX(553) MTIM(543) MTIMX(554) CNT CNTR(012) CNTX(546) CNTRX(548) CNR(545) CNRX(547) TIMW(813) TIMWX(816) TMHW(815) TMHWX(817) CNTW(814) CNTWX(818) Modification du mode de mise à jour de la PV de temporisation/compteur Chapitre 6-4 Instructions et opérandes Instructions de temporisation et de compteur TIMER (100 ms) Nom de l'instruction Mode BCD Mnémonique TIM S (valeur de consigne temporisation) #0000 à #9999 (BCD) Configuration du temps (pas : 0,1 s) 0 à 999,9 s Mode binaire TIMX(550) &0 à &65535 (décimal) ou #0000 à #FFFF (hexadécimal) 0 à 6 553,5 s HIGH-SPEED TIMER (10 ms) Nom de l'instruction Mode BCD Mnémonique TIMH(015) S (valeur de consigne temporisation) #0000 à #9999 (BCD) Configuration du temps (pas : 0,01 s) 0 à 99,99 s Mode binaire TIMHX(551) &0 à &65535 (décimal) ou #0000 à #FFFF (hexadécimal) 0 à 655,35 s ONE-MS TIMER (1 ms) Nom de l'instruction Mnémonique S (valeur de consigne temporisation) Mode BCD TMHH(540) #0000 à #9999 (BCD) Configuration du temps (pas : 0,001 s) 0 à 9,999 s Mode binaire TMHHX(552) &0 à &65535 (décimal) ou #0000 à #FFFF (hexadécimal) 0 à 65,535 s ACCUMULATIVE TIMER (100 ms) Nom de l'instruction Mnémonique S (valeur de consigne temporisation) Mode BCD TTIM(087) #0000 à #9999 (BCD) Configuration du temps (pas : 0,1 s) 0 à 999,9 s Mode binaire TTIMX(555) &0 à &65535 (décimal) ou #0000 à #FFFF (hexadécimal) 0 à 6 553,5 s LONG TIMER (100 ms) Nom de l'instruction Mnémonique S, S+1 (valeurs de consigne temporisation) Mode BCD TIML(542) #00000000 à #99999999 (BCD) Configuration du temps (pas : 0,1 s) 0 à 999,9 s Mode binaire TIMLX(553) &0 à &4294967295 (décimal) ou #0000 à #FFFFFFFF (hexadécimal) 0 à 6 553,5 s MULTI-OUTPUT TIMER (100 ms) Nom de l'instruction Mnémonique S à S-7 (chaque valeur de consigne) Mode BCD MTIM(543) #0000 à #9999 (BCD) Configuration du temps (pas : 0,1 s) 0 à 999,9 s Mode binaire MTIMX(554) &0 à &65535 ou #0000 à #FFFF (hexadécimal) 0 à 6 553,5 s 311 Modification du mode de mise à jour de la PV de temporisation/compteur Chapitre 6-4 COUNTER Nom de l'instruction Mnémonique S (valeur de consigne compteur) Mode BCD CNT #0000 à #9999 (BCD) Paramètre 0 à 9 999 fois Mode binaire CNTX(546) &0 à &65535 (décimal) ou #0000 à #FFFF (hexadécimal) 0 à 65 535 fois REVERSIBLE COUNTER Nom de l'instruction Mnémonique S (valeur de consigne compteur) Mode BCD CNTR(012) #0000 à #9999 (BCD) Paramètre 0 à 9 999 fois Mode binaire CNTRX(548) &0 à &65535 (décimal) ou #0000 à #FFFF (hexadécimal) 0 à 65 535 fois RESET TIMER/COUNTER Nom de l'instruction Mnémonique Mode BCD CNR(545) Mode binaire CNRX(547) Nom de l'instruction Mnémonique S (valeur de consigne temporisation) Mode BCD TIMW(813) #0000 ou # 9999 (BCD) Configuration du temps (pas : 0,1 s) 0 à 999,9 s Mode binaire TIMWX(816) &0 à &65535 (décimal) ou #0000 à #FFFF (hexadécimal) 0 à 6 553,5 s Instructions de programme de bloc TIMER WAIT (100 ms) HIGH-SPEED TIMER WAIT (10 ms) Nom de l'instruction Mnémonique S (valeur de consigne temporisation) Pas : 0,01 s Configuration du temps (pas : 0,01 s) Mode BCD TMHW(815) #0000 à #9999 (BCD) 0 à 999,9 s Mode binaire TMHHX(817) &0 à &65535 (décimal) ou #0000 à #FFFF (hexadécimal) 0 à 655.35 s COUNTER WAIT 312 Nom de l'instruction Mnémonique S (valeur de consigne compteur) Mode BCD CNTW(814) #0000 à #9999 (BCD) Paramètre 0 à 9 999 fois Mode binaire CNTX(818) &0 à &65535 (décimal) ou #0000 à #FFFF (hexadécimal) 0 à 65 535 fois Utilisation d'une interruption programmée comme temporisation de haute 6-5 Chapitre 6-5 Utilisation d'une interruption programmée comme temporisation de haute précision (CJ1M uniquement) Lorsque vous utilisez une UC CJ1M, les fonctions ci-dessous vous permettent de créer une temporisation de haute précision à l'aide d'une interruption programmée. • Vous pouvez entrer la temporisation d'interruption programmée par pas de 0,1 ms (temporisation interne de haute précision). • La réinitialisation (c.-à-d., le redémarrage) est possible à l'aide de l'instruction MSKS(690) (temps fixe jusqu'à la première interruption). • Les valeurs actuelles (PV) de temporisation interne peuvent être lues à l'aide de l'instruction MSKR(692) (lecture des PV de temporisation interne). Ces fonctions offrent des applications telles que celle illustrée dans l'exemple suivant. Il s'agit ici d'une temporisation haute précision à 1 impulsion, dans laquelle l'activation du bit d'entrée agit comme un déclencheur, entraînant le passage à ON du bit de sortie, puis son retour à OFF après un intervalle fixe. Exemple : 1,2,3... 1. La tâche d'interruption d'entrée démarre lorsque le bit d'entrée intégrée passe à ON. 2. Le bit de sortie A passe à ON dans la tâche d'interruption d'entrée, et l'instruction MSKS(690) est exécutée pour réaliser un démarrage de réinitialisation d'interruption programmée. 3. Après un intervalle fixe, la tâche d'interruption programmée démarre, le bit de sortie A dans la tâche d'interruption programmée passe à OFF et l'instruction MSKS(690) est exécutée pour interdire toute interruption programmée. Tâche cyclique Tâche d'interruption d'entrée Entrée SET d'interruption A ON Le bit de sortie A passe sur ON. Démarrage de réinitialisation d'interruption programmée. MSKS 14 #0005 Tâche d'interruption programmée Exemple d'intervalle fixe : Après 0,5 ms) 6-5-1 RESET A MSKS 4 #0000 Le bit de sortie A passe sur OFF. Arrêt dû à l'interdiction d'une interruption fixe. Configuration de l'interruption programmée par pas de 0,1 ms Le temps d'interruption programmée est défini à l'aide du paramètre de temps de l'interruption programmée dans la configuration de l'API, et de l'instruction MSKS(690). Dans le cas des UC CJ1M, vous pouvez définir le temps d'interruption programmée par pas de 0,1 ms, entre un intervalle minimum de 0,5 ms et un intervalle maximum de 999,9 ms. Configuration de l'API Configuration du pas de réglage de l'interruption programmée Adresse API Mot Bit 195 00 à 03 Valeur de consigne 0 hex. : pas de 10 ms 1 hex. : pas de 1 ms 2 hex. : pas de 0,1 ms (UC CJ1M uniquement) Par défaut 0 hex. Fréquence de mise à jour Au début du fonctionnement. 313 Utilisation d'une interruption programmée comme temporisation de haute 6-5-2 Chapitre 6-5 Spécification d'un démarrage avec réinitialisation à l'aide de MSKS(690) Lorsque vous utilisez des UC CJ1M et que vous démarrez l'interruption programmée à l'aide de l'instruction MSKS(690), la temporisation interne peut être réinitialisée avant le démarrage de l'interruption (cette opération est appelée démarrage avec réinitialisation). Cette méthode permet de spécifier le temps jusqu'à la première interruption sans l'aide de l'instruction CLI(691). Les interruptions programmées sont démarrées à l'aide de l'instruction MSKS(690) pour configurer le temps d'interruption programmée (intervalle entre deux interruptions). Toutefois, après l'exécution de l'instruction MSKS(690), le temps requis avant le démarrage de la première tâche d'interruption programmée (temps de démarrage de la première interruption) n'est fixé que si l'instruction CLI(691) est spécifiée. Les UC CJ1M offrent donc une fonction de démarrage avec réinitialisation de la temporisation interne, permettant de définir le temps jusqu'à la première interruption sans l'aide de l'instruction CLI(691). Opérande de l'instruction MSKS(690) (uniquement si l'interruption programmée est spécifiée) Opérande N (identifiant d'interruption) 6-5-3 Valeur de consigne 4 : interruption programmée 0, configuration normale (temporisation interne non réinitialisée). 5 : interruption programmée 1, configuration normale (temporisation interne non réinitialisée). 14 : interruption programmée 0, spécifie un démarrage de réinitialisation (UC CJ1M uniquement). 15 : interruption programmée 1, spécifie un démarrage réinitialisation (UC CJ1M uniquement). Lecture de la valeur actuelle (PV) de temporisation interne à l'aide de MSKR(692) Les UC CJ1M permettent de lire la PV de la temporisation interne qui mesure le temps d'interruption programmée. Le temps est lu à partir du point de démarrage de l'interruption programmée ou du point d'interruption programmée précédent. La PV de temporisation interne est lue en exécutant l'instruction MSKR(692). L'unité de temps dépend du paramètre de temps de l'interruption programmée dans la configuration de l'API, comme pour le temps d'interruption programmée. Opérandes de l'instruction MSKR(692) (uniquement si l'interruption programmée est spécifiée) Opérande N (identifiant d'interruption) 314 Valeur de consigne 4 : interruption programmée 0, lit le temps d'interruption programmée (valeur de consigne). 5 : interruption programmée 1, lit le temps d'interruption programmée (valeur de consigne). 14 : interruption programmée 0, lit la PV de temporisation interne (UC CJ1M uniquement). 15 : interruption programmée 1, lit la PV de temporisation interne (UC CJ1M uniquement). Chapitre 6-6 Paramètres du démarrage et maintenance 6-6 Paramètres du démarrage et maintenance Cette section décrit les fonctions relatives au démarrage et à la maintenance suivantes : • les fonctions de démarrage/d'arrêt à chaud ; • le paramètre du mode de démarrage ; • le paramètre du retard de la détection de mise hors tension ; • la désactivation des interruptions à la mise hors tension ; • la sortie RUN ; • l'horloge ; • la protection du programme ; • la surveillance et la programmation déportées ; • la mémoire flash ; • la configuration des conditions au démarrage. 6-6-1 Fonctions de démarrage/d'arrêt à chaud Changement de mode de fonctionnement Démarrage à chaud Mettez le bit de maintien IOM (A50012) à ON de manière à conserver toutes les données dans la mémoire d'E/S lorsque vous commutez l'UC du mode PROGRAM au mode RUN ou MONITOR pour lancer l'exécution du programme. Mémoire E/S PROGRAM Conserver CIO et autres zones MONITOR ou RUN Arrêt à chaud Lorsque le bit de maintien IOM (A50012) est à ON, toutes les données dans la mémoire d'E/S sont également conservées lorsque vous commutez l'UC du mode RUN ou MONITOR au mode PROGRAM pour arrêter l'exécution du programme. MONITOR ou RUN Conserver Mémoire E/S CIO et autres zones PROGRAM Remarque *Si le bit de maintien IOM n'est pas à ON, les zones suivantes de la mémoire d'E/ S seront effacées pendant les changements de mode (PROGRAM ↔ RUN/ MONITOR) : la zone CIO (zone I/O, zone de liaison de données, zone de cartes réseau, zone de cartes d'E/S spéciales, zone de cartes internes, zone de bus SYSMAC BUS, zone de bornes d'E/S, zone DeviceNet (CompoBus/D) et zones d'E/S internes), la zone de travail, les drapeaux de fin de temporisation et les PV de temporisation. (Les zones de cartes internes, de bus SYSMAC BUS et de bornes d'E/S sont uniquement prises en charge par les UC série CS). Drapeaux et mots de la zone auxiliaire Nom Adresse Description Bit de maintien A50012 Si ce bit est à ON, la totalité de la mémoire d'E/S est IOM conservée lorsque vous changez de mode de fonctionnement (PROGRAM ↔ RUN/MONITOR). Si le bit de maintien IOM est à ON, toutes les sorties des cartes de sorties sont maintenues lorsque l'exécution du programme s'arrête. Au redémarrage du programme, les sorties seront à l'état dans lequel elles étaient avant l'arrêt du programme. 315 Chapitre 6-6 Paramètres du démarrage et maintenance (Si le bit de maintien IOM est à OFF, les instructions seront exécutées après la remise à zéro des sorties). Mise sous tension de l'API Pour conserver toutes les données* dans la mémoire d'E/S lors de la mise sous tension de l'API (OFF → ON), le bit de maintien IOM doit être à ON et protégé dans la configuration de l'API (adresse 80, état du bit de maintien IOM au démarrage). Mémoire E/S Tension sur ON Conserver CIO et autres zones Drapeaux et mots de la zone auxiliaire Nom Bit de maintien IOM Adresse A50012 Description Si ce bit est à ON, la totalité de la mémoire d'E/S est conservée lorsque vous changez de mode de fonctionnement (PROGRAM ↔ RUN/MONITOR). Configuration de l'API Adresse Nom Paramètre dans console de programmation 80 bit 15 Etat du bit de 0 : le bit de maintien IOM est remis à 0 maintien IOM lors de la mise sous tension. au démarrage 1 : le bit de maintien IOM est conservé lors de la mise sous tension. 6-6-2 Par défaut 0 (remis à zéro) Paramètre du mode de démarrage Vous pouvez configurer le mode de fonctionnement initial de l'UC (à la mise sous tension) dans la configuration de l'API. Mode de fonctionnement Tension sur ON Configuration de l'API Adresse Nom dans console de programmation 81 Mode de démarrage Remarque 316 Signification Spécifie le mode de fonctionnement à utiliser au démarrage. Paramètre Par défaut PRCN : commutateur de mode de la console de programmation PRG : mode PROGRAM MON : mode MONITOR RUN : mode RUN PRCN : commutateur de mode de la console de programmation Si le mode de démarrage est configuré sur PRCN (commutateur de mode de la console de programmation) mais qu'aucune console de programmation n'est connectée, l'UC démarrera en mode RUN. Modifie la valeur par défaut dans la configuration de l'API afin de démarrer en mode MONITOR ou en mode PROGRAM à la mise sous tension. (Les UC CS1 série CS démarrent toutefois en mode PROGRAM dans les mêmes conditions). Chapitre 6-6 Paramètres du démarrage et maintenance 6-6-3 Sortie RUN Certaines cartes d'alimentation (les C200HW-PA204R, C200HW-PA209R, CJ1W-PA205R et CS1D-PA207R) sont équipées d'une sortie RUN. Ce point de sortie est à ON (fermé) lorsque l'UC fonctionne en mode RUN ou MONITOR, et à OFF (ouvert) lorsque l'UC est en mode PROGRAM. Carte d'alimentation sortie RUN Vous pouvez utiliser cette sortie RUN pour créer un circuit de sécurité externe, par exemple, un circuit d'arrêt d'urgence qui empêche l'alimentation externe d'une carte de sortie de délivrer du courant lorsque l'API n'est pas sous tension. 6-6-4 Remarque Si vous utilisez une carte d'alimentation sans sortie RUN, vous pouvez créer un sortie équivalente en programmant le drapeau Toujours ON (A1) en tant que condition d'exécution d'un point de sortie à partir d'une carte de sortie. !Attention Si l'alimentation externe de la carte de sortie s'allume avant l'alimentation de l'API, la carte de sortie risque de dysfonctionner temporairement à la première mise en marche de l'API. Pour éviter tout dysfonctionnement, ajoutez un circuit externe qui empêche l'alimentation externe de la carte de sortie de s'allumer avant l'alimentation de l'API. Créez un circuit de sécurité similaire à celui décrit plus haut pour garantir que le courant est exclusivement délivré par une alimentation externe lorsque l'API fonctionne en mode RUN ou MONITOR. Paramètre du retard de la détection de mise hors tension En règle générale, une interruption d'alimentation est détectée dans un délai de 10 à 25 ms (2 à 5 ms pour les alimentations c.c.) lorsque la tension chute en dessous de 85 % de la valeur nominale minimale (80 % pour les alimentations c.c.). Il existe, dans la configuration de l'API, un paramètre (adresse 225 bits 0 à 7, Retard de la détection de mise hors tension) qui permet d'allonger cette durée jusqu'à 10 ms (jusqu'à 2 ms pour les alimentations c.c.). Lorsque la tâche d'interruption de mise hors tension est activée, elle est exécutée lorsque l'interruption d'alimentation est confirmée, sinon l'UC est réinitialisée et s'arrête de fonctionner. Paramètres associés Adresse Nom CIO 256, Retard de la bits 00 à détection de 07 mise hors tension 6-6-5 Signification Paramètre Par défaut Définir le temps de 00 à 0A (hex.) : 0 à 10 ms 00 (hex.) : retard avant la dé0 ms tection d'une interruption d'alimentation. Désactivation des interruptions à la mise hors tension Cette fonction est uniquement prise en charge par les UC CS1-H, CJ1-H, CJ1M ou CS1D. Dans le cas des UC CS1-H, CJ1-H, CJ1M ou CS1D, des zones du programme peuvent être protégées des interruptions à la mise hors tension et être ainsi exécutées avant l'UC, même si l'alimentation est interrompue. Cette opération est réalisée à l'aide des instructions DISABLE INTERRUPTS (DI(693)) et ENABLE INTERRUPTS (EI(694)). 317 Chapitre 6-6 Paramètres du démarrage et maintenance Vous pouvez utiliser cette fonction avec des ensembles d'instructions à exécuter sous forme groupée, par exemple, afin que l'exécution ne démarre pas avec des données stockées intermédiaires à la prochaine mise sous tension. Procédure 1,2,3... 1. Attribuez la valeur A5A5 hex. au paramètre Désactiver le paramètre d'interruption à la mise hors tension dans A530, afin d'activer la désactivation des interruptions à la mise hors tension. 2. Activez la désactivation des interruptions à la mise hors tension dans la configuration de l'API (correspond à la configuration par défaut). 3. Utilisez DI(693) pour désactiver les interruptions avant la section de programme à protéger, puis utilisez EI(694) pour activer les interruptions après la section. Toutes les instructions comprises entre DI(693) et EI(694) seront achevées avant l'exécution de l'interruption à la mise hors tension, même si l'interruption d'alimentation survient pendant l'exécution des instructions comprises entre DI(693) et EI(694). Condition d'exécution DI Interruptions désactivées. Alimentation interrompue. Instructions exécutées. Activation des interruptions entraînant la réinitialisation de l'UC. EI L'alimentation chute en dessous de 85 % de la valeur nominale Interruption (80 % pour les d'alimentation alimentations c.c.). détectée. D I Instructions exécutées jusqu'à EI(694). Temps de détection de mise hors tension + retard de la détection de mise hors tension UC réinitialisée (fin forcée). ▼ E I Arrêt Retard de la détection de mise hors tension de 10 ms (temps de confirmation de la mise hors tension) Paramètres associés Nom Adresse Désactiver le A530 paramètre d'interruption à la mise hors tension 6-6-6 Signification Active l'utilisation de DI(693) pour désactiver l'interruption à la mise hors tension (sauf pour l'exécution de la tâche d'interruption à la mise hors tension) jusqu'à ce que EI(694) soit exécutée. A5A5 hex. : active l'utilisation de DI(693) pour désactiver l'interruption à la mise hors tension. Autre valeur : désactive l'utilisation de DI(693) pour désactiver l'interruption à la mise hors tension. Fonctions d'horloge Les API série CS/CJ possèdent les fonctions d'horloge suivantes : • la surveillance de l'heure à laquelle les interruptions d'alimentation se sont produites ; • la surveillance de l'heure à laquelle l'API a été mis sous tension ; • la surveillance du temps total pendant lequel l'API a été sous tension. 318 Chapitre 6-6 Paramètres du démarrage et maintenance Remarque Les UC CSI série CS sont livrées sans la batterie de remplacement installée, et l'horloge interne de l'UC indique 00/01/01 00:00:00 ou éventuellement une autre valeur lorsque la batterie est connectée. Pour utiliser les fonctions d'horloge, connectez la batterie, mettez l'UC sous tension et réglez l'heure et la date à l'aide d'un périphérique de programmation (console de programmation ou CXProgrammer) ou de la commande FINS (07 02, CLOCK WRITE). L'horloge interne de l'UC commence à fonctionner une fois que vous l'avez réglée. Drapeaux et mots de la zone auxiliaire Nom Données d'horloge Adresses A35100 à A35107 A35108 à A35115 A35200 à A35207 A35208 à A35215 A35300 à A35307 A35308 à A35315 A35400 à A35407 Heure de démarrage A510 et A511 Heure d'interruption de A512 et A513 l'alimentation Temps total de l'alimenta- A523 tion sous tension Fonction Seconde : 00 à 59 (BCD) Minute : 00 à 59 (BCD) Heure : 00 à 23 (BCD) Jour du mois : 00 à 31 (BCD) Mois : 00 à 12 (BCD) Année : 00 à 99 (BCD) Jour de la semaine : 00 : dimanche, 01 : lundi, 02 : mardi, 03 : mercredi, 04 : jeudi, 05 : vendredi, 06 : samedi Contiens l'heure à laquelle l'alimentation a été mise sous tension. Contiens l'heure à laquelle l'alimentation a été interrompue. Contient le temps total (en binaire) pendant lequel l'API a été sous tension, en unités de 10 heures. Instructions associées Instruction Nom SEC(065) HOURS TO SECONDS HMS(066) CADD(730) CSUB(731) DATE(735) 6-6-7 SECONDS TO HOURS CALENDAR ADD CALENDAR SUBTRACT CLOCK ADJUSTMENT Fonction Convertit les données de temps au format heures/minutes/secondes en un temps équivalent en secondes uniquement. Convertit les données en secondes en un temps équivalent au format heures/minutes/secondes. Ajoute des données de temps aux données de calendrier dans les mots spécifiés. Soustrait des données de temps aux données de calendrier dans les mots spécifiés. Règle le paramètre de l'horloge interne sur celui des mots sources spécifiés. Protection du programme Le programme utilisateur de la série CS/CJ peut être protégé en écriture ou entièrement protégé (protection en lecture/écriture). Protection en écriture à l'aide de l'interrupteur DIP Le programme utilisateur peut être protégé en écriture en plaçant la broche 1 de l'interrupteur DIP de l'UC sur ON. Lorsque cette broche est activée, il est impossible de modifier le programme utilisateur à partir d'un périphérique de programmation (y compris les consoles de programmation). Cette fonction permet d'empêcher l'écrasement involontaire du programme sur le lieu de travail. La lecture et l'affichage du programme restent possibles lorsque celui-ci est protégé en écriture. 319 Paramètres du démarrage et maintenance Remarque Chapitre 6-6 Dans le cas des UC série CS/CJ version 2.0 ou supérieure, vous pouvez utiliser le paramètre d'interrupteur DIP ci-dessus ou, avec CX-Programmer version 4.0 ou supérieure, vous pouvez configurer la protection en lecture/écriture du programme en tant qu'option si vous définissez un mot de passe pour le programme entier ou pour une tâche au moins. Pour plus de détails, reportezvous à la section Activation/Désactivation de la création de fichiers programme de mémoire de fichiers sous 1-4-2 Protection de lecture améliorée grâce aux mots de passe dans le Manuel d'utilisation des API série CS ou le Manuel d'utilisation des API série CJ. Protection en lecture/écriture à l'aide de mots de passe Vous pouvez bloquer l'accès en lecture et en écriture à la zone de programme utilisateur à partir du CX-Programmer. La protection du programme empêche la copie non autorisée du programme et la perte de la propriété intellectuelle. Un mot de passe est défini pour la protection du programme à partir d'un périphérique de programmation et l'accès à la totalité du programme est bloqué. Remarque 1. Si vous oubliez le mot de passe, vous ne pourrez pas transférer le programme contenu dans l'API vers l'ordinateur. Notez le mot de passe et conservez-le en lieu sûr. 2. Si vous oubliez le mot de passe, vous ne pourrez pas transférer de programmes de l'ordinateur vers l'API. Le transfert des programmes de l'ordinateur vers l'API est possible même si la protection par mot de passe n'a pas été levée. Protection par mot de passe 1,2,3... 1. Pour enregistrer un mot de passe en ligne ou hors ligne, procédez de la manière suivante : a. Sélectionnez l'API puis sélectionnez Propriétés dans le menu Affichage. b. Sélectionnez Protection dans la boîte de dialogue des propriétés de l'API et entrez le mot de passe. 2. Pour configurer la protection par mot de passe en ligne, procédez de la manière suivante : a. Sélectionnez PLC, Protection,, puis Set. La boîte de dialogue de configuration de la protection s'affiche. b. Remarque Cliquez sur OK. Dans le cas des UC série CS/CJ version 2.0 ou supérieure, vous pouvez configurer la protection en lecture pour le programme entier mais aussi pour des tâches spécifiques. Pour plus de détails, reportez-vous à la section Protection contre la lecture des différentes tâches grâce aux mots de passe sous 1-4-2 Protection de lecture améliorée grâce aux mots de passe dans le Manuel d'utilisation des API série CS ou dans le Manuel d'utilisation des API série CJ. Confirmation de la date du programme utilisateur Dans le cas des UC CS1-H, CJ1-H, CJ1M ou CS1D, vous pouvez confirmer les dates de création du programme et des paramètres en vérifiant le contenu de A090 à A097. 320 Chapitre 6-6 Paramètres du démarrage et maintenance Mots de la zone auxiliaire 6-6-8 Nom Date du programme utilisateur Adresse A090 à A093 Date des paramètres A094 à A097 Description L'heure et la date de la dernière réécriture du programme utilisateur dans la mémoire sont indiquées en BCD. A09000 à A09007 Secondes (00 à 59 BCD) A09008 à A09015 Minutes (00 à 59 BCD) A09100 à A09107 Heure (00 à 23 BCD) A09108 à A09115 Jour du mois (01 à 31 BCD) A09200 à A09207 Mois (01 à 12 BCD) A09208 à A09215 Année (00 à 99 BCD) A09300 à A09307 Jour (00 à 06 BCD) Jour de la semaine : 00 : dimanche, 01 : lundi, 02 : mardi, 03 : mercredi, 04 : jeudi, 05 : vendredi, 06 : samedi L'heure et la date de la dernière réécriture des paramètres dans la mémoire sont indiquées en BCD. Le format est identique à celui de la date du programme utilisateur indiqué plus haut. Protection en écriture à partir de commandes FINS envoyées aux UC via des réseaux Dans le cas des UC série CS/CJ version 2.0 ou supérieure, vous pouvez configurer une protection pour empêcher l'écriture dans les UC et leur contrôle à l'aide de commandes FINS via des réseaux (c.-à-d., via des connexions différentes des connexions série directes). Cette protection comprend l'écriture à partir d'applications à l'aide de FinsGateway, et à partir de CX-Programmer, CXProtocol et CX-Process. La lecture est toujours possible dans ce cas. Si la protection en écriture est configurée, les opérations suivantes sont interdites : le téléchargement du programme utilisateur, de la configuration de l'API, de la mémoire d'E/S ou d'autres données ; le changement de mode de fonctionnement, l'édition en ligne ; et toute autre opération d'écriture ou de contrôle. Même si la protection en écriture est configurée, vous pouvez définir des nœuds spécifiques à titre exceptionnel, pour permettre l'exécution d'opérations d'écriture ou de contrôle depuis ces nœuds. Ordinateur n˚ 1 Désactivé Protégé en écriture pour les commandes FINS provenant des nœuds sur les réseaux (par exemple, l'écriture est impossible à partir de l'ordinateur n˚ 1, de l'API n˚ 1 ou de l'API n˚ 2). Désactivé API n˚ 1 Réseau Désactivé API n˚ 3 Activé Ordinateur n˚ 2 Réseau Réseau Accès en écriture activé pour cet API. Remarque API n˚ 2 Activé Désactivé Des exceptions sont définies pour activer l'écriture avec les commandes FINS provenant de nœuds spécifiques (par exemple, API n˚ 3 et ordinateur n˚ 2). Cette fonction empêche les opérations d'écriture ou de contrôle uniquement pour les commandes FINS. Elle n'influe pas sur les opérations d'écriture et de contrôle exécutées par toute autre méthode, par exemple, pour les liaisons de données. 321 Chapitre 6-6 Paramètres du démarrage et maintenance Pour plus de détails, reportez-vous au chapitre 1-4-3 Protection en écriture à partir de commandes FINS envoyées aux UCs via le réseau dans le Manuel d'utilisation des API série CS ou le Manuel d'utilisation des API série CJ. 6-6-9 Programmation et surveillance à distance Les API série CS/CJ peuvent être programmés et surveillés à distance via un modem ou un réseau Controller Link. 1,2,3... 1. Connexions par modem La fonction Host Link peut fonctionner via un modem qui permet de surveiller par téléphone le fonctionnement d'un API déporté, les transferts de données ou encore, l'édition en ligne d'un programme d'API déporté. Toutes les opérations en ligne du périphérique de programmation sont prises en charge dans ces connexions. Périphérique de programmation RS-232C Connexion téléphonique Modem Host Link Modem UC RS-232C 2. Connexions par réseau Controller Link Les API d'un réseau Controller Link ou Ethernet peuvent être programmés et surveillés via la liaison Host Link. Toutes les opérations en ligne du périphérique de programmation sont prises en charge dans ces connexions. Périphérique de programmation Carte Controller Link UC RS-232C Carte Controller Link UC (Fonctionne comme une passerelle.) Host Link 6-6-10 Profils des unités Dans le cas des UC série CS/CJ, les informations que vous pouvez lire à partir du CX-Programmer sont les suivantes : • les informations de fabrication (numéro de lot, numéro de série, etc.) : facilitent la fourniture d'informations à OMRON lorsque des problèmes surviennent sur des cartes ; • les informations relatives aux cartes (type, numéro de modèle, position correcte de rack/emplacement) : permettent d'obtenir facilement des informations de montage ; • le texte défini par l'utilisateur (256 caractères max.) : permet d'enregistrer des informations nécessaires à la maintenance (historique d'inspection des cartes, numéros de ligne de fabrication ou autres informations d'application) dans des cartes mémoire. 322 Chapitre 6-6 Paramètres du démarrage et maintenance 6-6-11 Mémoire flash Cette fonction est uniquement prise en charge par les UC CS1-H, CJ1-H, CJ1M ou CS1D. Dans le cas des UC CS1-H, CJ1-H, CJ1M ou CS1D, le programme utilisateur et les paramètres sont sauvegardés automatiquement dans la mémoire flash à chaque fois qu'ils sont écrits ou modifiés dans l'UC. Les données sauvegardées automatiquement sont les suivantes : programme utilisateur, paramètres (y compris la configuration de l'API, les tables d'E/S enregistrées, les tables de routage et les données de cartes réseau telles que les tables de liaison de données). Les données sont sauvegardées automatiquement à chaque fois que le programme utilisateur ou des paramètres sont écrits dans l'UC, y compris pour des opérations de transfert de données à partir du CX-Programmer, pour l'écriture de données à partir d'une console de programmation, l'édition en ligne, les transferts de données d'une carte mémoire ou d'une mémoire de fichiers EM, etc. Les données de programme utilisateur et de paramètres écrites dans la mémoire flash sont transférées automatiquement dans la mémoire utilisateur de l'UC au démarrage. Transfert de données à partir de CX-Programmer Ecrire à partir de la console de programmation Ecrire à partir de la mémoire de fichiers Edition en ligne à partir de CX-Programmer UC Mémoire utilisateur Programme utilisateur Paramètres Sauvegarde automatique Opération d'écriture Restauration automatique lors de la Mémoire flash Remarque 1. 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), après un transfert de données depuis un périphérique de programmation ou une mémoire de fichiers, ou après une édition en ligne. 2. Uniquement dans le cas de l'édition en ligne et si l'UC contient une batterie, l'UC redémarre dans l'état précédent (par exemple, avec le voyant BKUP allumé) même si le système est mis hors tension avant la fin de la sauvegarde, bien que le démarrage nécessite jusqu'à 1 minute. Dans ce cas également (et même si l'UC contient une batterie), vérifiez toujours que l'opération de sauvegarde est bien terminée avant de mettre l'alimentation hors tension, si vous prévoyez de ne pas vous servir de l'UC pendant une période prolongée. 323 Chapitre 6-6 Paramètres du démarrage et maintenance Le temps requis pour la sauvegarde de données (durée pendant laquelle le voyant BKUP reste allumé) dépend de la taille du programme utilisateur, comme illustré dans le tableau suivant. Taille du programme utilisateur 10 Kpas 60 Kpas 250 Kpas Remarque Temps de traitement de la sauvegarde Mode MONITOR Mode PROGRAM Temps de cycle de Temps de cycle de 0,4 ms (exemple) 10,0 ms (exemple) 2s 11 s 42 s 8s 42 s 170 s 1s 6s 22 s 1. Le voyant BKUP s'allume lorsque l'UC est alimentée en courant. 2. Suivant le type d'édition en ligne réalisée, la sauvegarde des données peut nécessiter jusqu'à 1 minute. !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 d'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. Si la batterie est défaillante, le contenu de ces zones risque de ne pas être exact après une interruption d'alimentation. Si le contenu des zones DM, EM et HR est utilisé pour contrôler des sorties externes, empêchez l'exécution de sorties inappropriées à chaque fois que le drapeau d'erreur de batterie (A40204) est à ON. Remarque Le CX-Programmer affiche un état de sauvegarde dans une fenêtre d'état de sauvegarde de la mémoire, pendant la sauvegarde de données depuis CXProgrammer, pour des opérations de transfert différentes des transferts de données normaux (PLC/Transfer). Pour visualiser cette fenêtre, activez le paramètre d'affichage de la boîte de dialogue de l'état de sauvegarde dans les propriétés de l'API et sélectionnez la fenêtre dans le menu Affichage. Pour les opérations de transfert normales, l'état de sauvegarde s'affiche dans la fenêtre de transfert, après l'état de transfert du programme et d'autres données. Drapeaux de la zone auxiliaire Nom Drapeau d'erreur mémoire flash Adresse A40310 Signification Passe à ON lorsque la mémoire flash est défaillante. 6-6-12 Paramètres des conditions au démarrage Cette fonction est uniquement prise en charge par les UC CS1-H, CJ1-H, CJ1M ou CS1D. Certaines unités et cartes internes sont plus longues à démarrer après la mise sous tension, ce qui influe sur le temps de démarrage de l'UC. Vous pouvez paramétrer la configuration de l'API de sorte que l'UC démarre sans avoir besoin d'initialiser ces cartes. Ce paramètre s'applique aux cartes d'interface bus ITNC-EIS01-CST et ITNC-EIX01-CST Open Network Controller-CS1. (Aucune carte interne n'est actuellement utilisable pour cette application depuis octobre 2001). 324 Chapitre 6-6 Paramètres du démarrage et maintenance Cette fonction est contrôlée en configurant la condition au démarrage et le paramètre de carte interne décrits dans le tableau suivant. Conditions au démarrage Démarrer sans attendre toutes les unités et toutes les cartes Démarrer sans attendre toutes les unités (attendre les cartes) Attendre toutes les unités et toutes les cartes avant de démarrer Remarque Configuration de l'API Condition au démarrage Paramètre de la carte (adresse dans la console de interne (adresse dans la programmation 83, bit 15) console de programmation 84, bit 15) 1 : activer le fonctionnement 1 : ne pas attendre de cartes sans attendre. internes spécifiques. 1 : activer le fonctionnement sans attendre. 0 : attendre toutes les cartes avant de démarrer. 0 : toujours attendre toutes les Quelconque unités et toutes les cartes. Dans le cas des UC CJ1, CS1-H, CJ1-H, CJ1M ou CS1D, l'UC ne démarrera pas avant que le processus de démarrage soit terminé pour l'ensemble des unités et des cartes. Configuration de l'API Adresse de la Nom console de programmation Mot Bit 83 15 Condition au démarrage 84 15 Paramètre de carte interne Paramètre Par défaut Fréquence de mise à jour UC 0 : attendre les cartes. 1 : ne pas attendre. 0: attendre Mise en marche 0 : attendre toutes les cartes. 1 : ne pas attendre de cartes spécifiques. 0: attendre Mise en marche Condition au démarrage 0 : si le processus de démarrage d'une ou plusieurs cartes ou unités spécifiques n'est pas terminé, l'UC se met en attente en mode MONITOR ou PROGRAM et attend toutes les unités et toutes les cartes. 1 : même si le processus de démarrage d'une ou plusieurs cartes ou unités spécifiques n'est terminé, l'UC poursuit son traitement et démarre en mode MONITOR ou PROGRAM. Toutefois, le fonctionnement des cartes internes dépend aussi du paramètre suivant. Paramètre de carte interne Ce paramètre ne s'utilise que si la condition au démarrage est définie sur 1 afin d'activer le démarrage sans attendre d'unités ou de cartes spécifiques. Ce paramètre n'est pas pris en compte si la condition au démarrage est définie sur 0. 0 : si le processus de démarrage d'une ou plusieurs cartes spécifiques n'est pas terminé, l'UC se met en attente en mode MONITOR ou PROGRAM, et attend toutes les cartes. 1 : même si le processus de démarrage d'une ou plusieurs cartes spécifiques n'est terminé, l'UC poursuit son traitement et démarre en mode MONITOR ou PROGRAM. 325 Chapitre 6-7 Fonctions de diagnostic 6-7 Fonctions de diagnostic Ce chapitre fournit un bref récapitulatif des fonctions de diagnostic et de débogage suivantes : • le journal d'erreurs ; • la fonction sortie OFF ; • les fonctions d'alarme erreur (FAL(006) and FALS(007)) ; • la fonction de détection du point d'erreur (FPD(269)). 6-7-1 Journal d'erreurs Chaque fois qu'une erreur survient dans un API série CS/CJ, l'UC enregistre les informations relatives aux erreurs dans la zone du journal d'erreurs. Les informations relatives aux erreurs incluent le code d'erreur (stocké dans A400), le contenu des erreurs et l'heure à laquelle l'erreur est survenue. Le journal d'erreurs peut stocker jusqu'à 20 enregistrements. En plus des erreurs générées par le système, l'API enregistre les erreurs FAL(006) et FALS(007) définies par l'utilisateur, ce qui facilite le suivi de l'état de fonctionnement du système. Reportez-vous au chapitre sur la résolution des problèmes dans le Manuel d'utilisation, série CS/CJ pour plus de détails. Remarque Une erreur définie par l'utilisateur est générée lorsque les instructions FAL(006) ou FALS(007) sont exécutées dans le programme. Les conditions d'exécution de ces instructions constituent les conditions d'erreur définies par l'utilisateur. L'instruction FAL(006) génère une erreur non fatale et l'instruction FALS(007) une erreur fatale qui arrête l'exécution du programme. Lorsque plus de 20 erreurs se produisent, les données des erreurs les plus anciennes (de A100 à A104) sont supprimées et le nouvel enregistrement est stocké de A195 à A199. 326 Chapitre 6-7 Fonctions de diagnostic Code d'erreur Ordre de l'occurrence Zone du journal d'erreurs Code d'erreur Contenu de l'erreur Minute, seconde Moment de Jour, heure l'occurrence Année, mois Code d'erreur Contenu de l'erreur Minute, seconde Moment de Jour, heure l'occurrence Année, mois Code d'erreur Contenu de l'erreur Minute, seconde Jour, heure Année, mois Moment de l'occurrence Pointeur du journal d'erreurs Le nombre d'enregistrements est mémorisé en binaire dans le pointeur du journal d'erreurs (A300). Le pointeur n'est pas incrémenté lorsque plus de 20 erreurs se sont produites. 6-7-2 Fonction sortie OFF En tant que mesure d'urgence lorsqu'une erreur se produit, toutes les sorties des cartes de sorties peuvent être mises à OFF en activant le bit de sortie à OFF (A50015). Le mode de fonctionnement reste au mode RUN ou MONITOR, mais toutes les sorties passent à OFF. Remarque Précautions d'application de DeviceNet 6-7-3 En général (lorsque le bit de maintien IOM = OFF), toutes les sorties des cartes de sorties passent à OFF lorsque le mode de fonctionnement passe du mode RUN/MONITOR au mode PROGRAM. Le bit de sortie à OFF permet de désactiver toutes les sorties sans passer au mode PROGRAM ni arrêter l'exécution du programme. Si vous utilisez la fonction maître avec la carte CS1W-DRM21 ou CJ1W-DRM21, toutes les sorties esclaves passeront à OFF. Si vous utilisez la fonction esclave, toutes les entrées vers le maître seront à OFF. Cependant, si vous utilisez la carte C200HW-DRM21-V1, toutes sorties esclaves ne passeront pas à OFF. Fonctions d'alarme erreur Les instructions FAL(006) et FALS(007) génèrent des erreurs définies par l'utilisateur. L'instruction FAL(006) génère une erreur non fatale et l'instruction FALS(007) une erreur fatale qui arrête l'exécution du programme. Lorsque les conditions d'erreur définies par l'utilisateur (conditions d'exécution de FAL(006) ou FAL(007)) sont réunies, l'instruction d'alarme erreur est exécutée et le traitement ci-dessous s'effectue. 327 Chapitre 6-7 Fonctions de diagnostic 1,2,3... 1. Le drapeau d'erreur FAL (A40215) ou le drapeau d'erreur FALS (A40106) passe à ON. 2. Le code d'erreur correspondant est écrit sur A400. 3. Le code d'erreur et l'heure où l'erreur s'est produite sont stockés dans le journal d'erreurs. 4. Le voyant d'erreur à l'avant de l'UC clignote ou s'allume. 5. Si FAL(006) a été exécutée, l'UC continue de fonctionner. Si FALS(007) a été exécutée, l'UC s'arrête de fonctionner. (L'exécution du programme s'arrête). Fonctionnement de l'instruction FAL(006) FAL 002 #0000 Lorsque la condition d'exécution A passe à ON, une erreur avec le numéro FAL 2 est générée, A40215 (drapeau d'erreur FAL) passe à ON et A36002 (drapeau FAL numéro 2) passe à ON. L'exécution du programme se poursuit. Pour effacer des erreurs générées par FAL(006), exécutez l'instruction FAL(006) avec le numéro FAL 00, ou exécutez l'opération de lecture/ effacement d'erreur à partir d'un périphérique de programmation (y compris une console de programmation). Fonctionnement de l'instruction FALS(007) FALS 003 #0000 Lorsque la condition d'exécution B passe à ON, une erreur avec le numéro FALS 3 est générée et A40106 (drapeau d'erreur FALS) passe à ON. L'exécution du programme s'arrête. Pour effacer les erreurs générées par FAL(006), éliminez la cause de l'erreur et exécutez l'opération de lecture/effacement d'erreur à partir d'un périphérique de programmation (y compris une console de programmation). 6-7-4 Détection du point d'erreur FPD(269) effectue la surveillance du temps et le diagnostic logique. La fonction de surveillance du temps génère une erreur non fatale si la sortie de diagnostic ne passe pas à ON dans le temps de surveillance spécifié. La fonction de diagnostic logique indique quelle entrée empêche l'activation de la sortie de diagnostic. Fonction de surveillance du temps L'exécution de l'instruction FPD(269) démarre la temporisation et met le drapeau de retenue à ON si la sortie de diagnostic ne passe pas à ON dans le temps de surveillance spécifié. Vous pouvez programmer le drapeau de retenue en tant que condition d'exécution d'un bloc de traitement d'erreur. Il est également possible de programmer FPD(269) pour générer une erreur non fatale avec le numéro FAL désiré. Lorsqu'une erreur FAL est générée, un message prédéfini est enregistré et peut être affiché sur un périphérique de programmation. Vous pouvez configurer FPD(269) pour éditer les résultats de diagnostic logique (l'adresse du bit qui empêche l'activation de la sortie de diagnostic) juste avant le message. Vous pouvez utiliser la fonction d'apprentissage pour déterminer le temps réel requis pour l'activation de la sortie de diagnostic et configurer le temps de surveillance. 328 Chapitre 6-7 Fonctions de diagnostic Fonction de diagnostic logique FPD(269) détermine quel bit d'entrée empêche l'activation de la sortie de diagnostic, et édite l'adresse de ce bit. Vous pouvez configurer la sortie sur la sortie d'adresse du bit (adresse de mémoire API) ou la sortie de message (ASCII). • Si vous sélectionnez la sortie d'adresse de bit, l'adresse de mémoire API du bit peut être transférée vers un registre d'index et vous pourrez adresser indirectement le registre d'index lors d'un traitement ultérieur. • Si vous sélectionnez la sortie de message, l'adresse du bit est enregistrée dans un message ASCII affichable sur un périphérique de programmation. Premier mot du registre (Destination de sortie de diagnostics) de FPD(269) Condition d'exécution A Surveillance du temps (unité : 0,1 s) 10 s Données de contrôle (FAL 004, sortie d'adresse de bit) Drapeau de retenue Bloc de traitement d'erreur C (sortie de diagnostic) Condition d'exécution de diagnostic logique B Surveillance du temps : Surveille si la sortie C passe à ON dans un délai de 10 secondes après l'entrée A. Si ce n'est pas le cas, une erreur est détectée et le drapeau de retenue passe à ON. Le drapeau de retenue exécute le bloc de traitement d'erreur. Une erreur FAL (erreur non fatale) avec le numéro FAL 004 est également générée. Diagnostic logique : FPD(269) détermine quel bit d'entrée du bloc B empêche l'activation de la sortie C. L'adresse de ce bit est sortie vers D01000 et D01001. Drapeaux et mots de la zone auxiliaire Nom Code d'erreur Adresse Fonctionnement A400 Lorsqu'une erreur se produit, son code d'erreur est stocké dans A400. Drapeau d'erreur FAL A40215 ON lorsque FAL(006) est exécutée. Drapeau d'erreur A40106 ON lorsque FALS(007) est exécutée. FALS Drapeaux de numéro A360 à Le drapeau correspondant passe à OFF d'instruction FAL A391 lorsqu'une erreur FAL(006) ou FALS(007) se exécutée produit. Zone du journal A100 à La zone de journal d'erreurs contient des d'erreurs A199 informations sur les 20 erreurs les plus récentes. Pointeur du journal A300 Lorsqu'une erreur survient, le pointeur du journal d'erreurs d'erreurs est incrémenté de 1 pour indiquer où l'erreur suivante sera enregistrée sous forme de décalage à partir du début de la zone du journal d'erreurs (A100). Bit de réinitialisation A50014 Mettez ce bit à ON pour réinitialiser le pointeur du du pointeur du journal journal d'erreur (A300) à 00. d'erreurs Bit d'apprentissage A59800 Mettez ce bit à ON si vous voulez que le temps FPD de surveillance soit configuré automatiquement lors de l'exécution de FPD(269). 329 Chapitre 6-7 Fonctions de diagnostic 6-7-5 Simulation d'erreurs système Cette fonction est uniquement prise en charge par les UC CS1-H, CJ1-H, CJ1M ou CS1D. FAL(006) et FALS(007) permettent de créer intentionnellement des erreurs système fatales et non fatales. Vous pouvez utiliser cette fonction pendant le débogage du système, pour tester l'affichage de messages sur les terminaux opérateurs programmables (IHM) ou d'autres interfaces d'opérateurs. Procédez de la manière suivante : 1,2,3... 1. Définissez le numéro de FAL/FALS à utiliser pour la simulation dans A529. (A529 est utilisé lors de la simulation d'erreurs pour FAL(006) et FALS(007)). 2. Définissez le numéro FAL/FALS à utiliser pour la simulation en tant que premier opérande de FAL(006) ou FALS(007). 3. Définissez le code d'erreur et l'erreur à simuler en tant que seconde opération (deux mots) de FAL(006) ou FALS(007). Indiquez une erreur non fatale pour FAL(006) et une erreur fatale pour FALS(007). Pour simuler plusieurs erreurs système, utilisez plusieurs instructions FAL(006) ou FALS(007), comme décrit ci-dessus. Drapeaux et mots de la zone auxiliaire Nom Adresse Numéro FAL/FALS A529 pour la simulation des erreurs système Fonctionnement Choisissez un numéro d'instructions FAL/FALS factice pour simuler l'erreur système. 0001 à 01FF hex. : instructions FAL/FALS de numéros 1 à 511. 0000 ou 0200 à FFFF hex. : pas de numéro FAL/ FALS pour la simulation des erreurs système. Exemple d'erreur de batterie Condition d'exécution a Remarque 6-7-6 MOV &100 A529 Définissez le numéro FAL 100 dans A529. MOV #00F7 D00010 Définissez le code d'erreur de batterie (#00F7) dans D00010. FAL 100 D00010 Générez une erreur de batterie à l'aide de l'instruction FAL numéro 100. Pour supprimer les erreurs systèmes simulées, utilisez les mêmes méthodes que pour les erreurs système réelles. Consultez le Manuel d'utilisation, série CS ou le Manuel d'utilisation, série CJ pour plus de détails. Vous pouvez supprimer toutes les erreurs système simulées à l'aide des instructions FAL(006) et FALS(007) en mettant l'alimentation hors tension. Désactivation du stockage des erreurs FAL définies par l'utilisateur dans le journal d'erreurs Cette fonction est uniquement prise en charge par les UC CS1-H, CJ1-H, CJ1M ou CS1D. La configuration de l'API contient un paramètre qui empêche l'enregistrement des erreurs FAL définies par l'utilisateur, crées à l'aide de FAL(006) et de la surveillance du temps pour FPD(269), dans le journal d'erreurs (A100 à A199). 330 Chapitre 6-8 Modes de traitement UC L'erreur FAL sera générée même si ce paramètre est utilisé, et les informations suivantes s'afficheront également : A40215 (drapeau d'erreur FAL), A360 à A391 (numéros de FAL exécutées) et A400 (code d'erreur). Vous pouvez utiliser cette fonction lorsque vous avez uniquement besoin d'enregistrer les erreurs FAL système dans le journal d'erreurs, par exemple, lorsque le programme génère une grand nombre d'erreurs définies par l'utilisateur à l'aide de l'instruction FAL(006) et que le journal d'erreurs se remplit trop vite. Configuration de l'API Adresse dans Nom console de programmation Mot Bit 129 15 Paramètre de stockage des erreurs FAL utilisateur Remarque Paramètre Par défaut Fréquence de mise à jour UC 0 : enregistrer les erreurs FAL 0 : enredéfinies par l'utilisateur dans le gistrer. journal d'erreurs. 1 : ne pas enregistrer les erreurs FAL définies par l'utilisateur dans le journal d'erreurs. Chaque fois que l'instruction FAL(006) est exécutée (à chaque cycle). Les éléments suivants sont stockés dans le journal d'erreurs même si vous utilisez le paramètre ci-avant pour empêcher l'enregistrement des erreurs FAL définies par l'utilisateur : • les erreurs fatales définies par l'utilisateur (FALS(007)) ; • les erreurs système non fatales ; • les erreurs système fatales ; • les erreurs système non fatales simulées par l'utilisateur (FAL(006)) ; • les erreurs système fatales simulées par l'utilisateur (FALS(007)). 6-8 6-8-1 Modes de traitement UC Modes de traitement UC Habituellement, le traitement des périphériques (voir remarque) s'effectue à la fin de chaque cycle (après la mise à jour d'E/S) sur 4 % du cycle ou sur une durée définie par l'utilisateur pour chaque traitement. Par conséquent, il est impossible de traiter les périphériques à une vitesse plus rapide que le temps de cycle, et le temps requis pour le traitement des périphériques s'ajoute au temps de cycle. Toutefois, dans le cas des UC CS1D pour systèmes à UC seule, ou des UC CS1-H ou CJ1-H, des modes de traitement parallèle sont pris en charge pour permettre l'exécution de programme en parallèle à l'aide du traitement des périphériques. Ces modes autorisent un traitement des périphériques plus rapide et des temps de cycle plus courts, particulièrement lorsqu'un traitement des périphériques de grande ampleur est requis. (Les UC CS1D pour systèmes à UC en duplex et les UC CJ1M ne prennent pas en charge les modes de traitement parallèle). Remarque Le traitement des périphériques comprend des services non programmés requis par des périphériques externes, tels que le traitement d'événements (exemple : communications de commandes FINS) pour des cartes d'E/S spéciales, des cartes réseau et des cartes internes (série CS uniquement), ainsi que le traitement des ports des communications périphériques et RS-232C (sans inclure les liaisons de données et d'autres mises à jour d'E/S spéciales de cartes réseau). 331 Chapitre 6-8 Modes de traitement UC Mode normal Surveillance Exécution du programme Temps de cycle Mise à jour d'E/S Traitement des périphériques Modes de traitement parallèle Cycle d'exécution du programme Surveillance Exécution du programme Cycle du traitement des périphériques Surveillance Traitement des périphériques Temps de cycle pour le traitement des périphériques Temps de cycle pour l'exécution du programme Mise à jour d'E/S Modes de traitement parallèle Il existe deux modes de traitement parallèle différents : le traitement parallèle avec accès à la mémoire synchrone ou le traitement parallèle avec accès à la mémoire asynchrone. ■ Traitement parallèle avec accès à la mémoire asynchrone Dans ce mode, l'accès à la mémoire d'E/S pour le traitement des périphériques n'est pas synchronisé avec l'accès à la mémoire d'E/S pour l'exécution du programme. En d'autres termes, l'intégralité du traitement des périphériques est exécuté en parallèle avec l'exécution du programme, y compris l'accès à la mémoire. Ce mode assure l'exécution la plus rapide (par rapport aux autres modes) pour l'exécution du programme et le traitement des événement, lorsque la charge du traitement des périphériques est importante. ■ Traitement parallèle avec accès mémoire synchrone Dans ce mode, l'accès à la mémoire d'E/S pour le traitement des périphériques n'est pas exécuté en parallèle avec l'exécution du programme, mais plutôt à la suite de l'exécution du programme, exactement comme en mode d'exécution normal, c'est-à-dire après la période de mise à jour d'E/S. Tous les autres traitements périphériques sont exécutés en parallèle avec l'exécution du programme. Ce mode assure une exécution plus rapide que le mode d'exécution normal, pour l'exécution du programme comme pour le traitement des événements. Le temps de cycle de l'exécution du programme est plus long que celui du traitement parallèle avec accès mémoire asynchrone, du temps de mise à jour d'E/S requis pour le traitement des périphériques. Les temps de cycle et les réponses du traitement des périphériques pour le traitement normal, le traitement parallèle avec accès mémoire asynchrone et le traitement parallèle avec accès mémoire synchrone sont répertoriés dans le tableau suivant. (Ces valeurs s'appliquent à un programme composé d'instructions standard avec un temps de cycle de 10 ms et une carte Ethernet). 332 Chapitre 6-8 Modes de traitement UC Ces valeurs sont fournies à titre de référence seulement et varient en fonction du système. Mode normal Temps de cycle Traitement des périphériques Remarque Traitement parallèle Traitement parallèle avec accès à la mémoire avec accès asynchrone mémoire synchrone 0,9 0,9 Défini à 1 arbitrairement. Défini à 1 arbitrairement. 0,4 1,0 1. Le traitement des périphériques comprend le traitement d'événements (exemple : communications de commandes FINS) pour des cartes d'E/S spéciales, des cartes réseau et des cartes internes (série CS uniquement), ainsi que le traitement des ports des communications périphériques et RS232C (sans inclure les liaisons de données et d'autres mises à jour d'E/S spéciales pour des cartes réseau). 2. Les UC CS1 version 1 ou supérieure et les UC CS1-H ou CJ1-H prennent également en charge un mode prioritaire du traitement des périphériques qui effectue le traitement des périphériques sur un cycle fixe pendant l'exécution du programme. Il assure un traitement des périphériques plus rapide que le mode de traitement normal, mais l'exécution du programme est plus lente. Cependant la réponse aux événements n'est pas aussi rapide que pour les modes de traitement parallèle. Par conséquent, vous devez utiliser le traitement parallèle avec accès mémoire asynchrone à chaque fois que la réponse aux événements doit être prioritaire dans le traitement. 3. Lors de l'utilisation du traitement parallèle, des erreurs de dépassement de temps de cycle du traitement des périphériques peuvent survenir dans l'UC, comme décrit dans les paragraphes a) et b), ci-dessous. Si cette erreur se produit, le message qui s'affiche sur le périphérique de programmation indique que le temps de cycle est trop long, A40515 (dépassement de temps de cycle du traitement des périphériques) passe à ON et le fonctionnement s'arrête (erreur fatale). a. Si le temps de cycle du traitement des périphériques est supérieur à 2,0 s, une erreur de dépassement de temps de cycle se produit. Vous pouvez surveiller le temps de cycle du traitement des périphériques dans A268 pour détecter les erreurs éventuelles avant qu'elles ne se produisent. Par exemple, une erreur définie par l'utilisateur peut être générée à l'aide de FAL numéro 001, si le temps de cycle du traitement des périphériques est supérieur à 1 s (c.-à-d., si le contenu de A268 dépasse 2710 hexadécimal (10 000 décimal)). > FAL A268 1 &10000 #0000 FAL(006) génère une erreur définie par l'utilisateur avec le numéro FAL 001 si le temps de cycle du traitement des périphériques dépasse 1 s. b. Une erreur de dépassement de temps de cycle du traitement des périphériques peut également survenir si le temps de traitement du cycle d'exécution de l'instruction (c.-à-d., le temps d'exécution de l'instruction) est trop court. Ce temps est mémorisé dans A266 et A267 en mode d'exécution normal. A titre de référence, si le temps d'exécution de l'instruction est inférieur ou égal à 2 ms, une erreur de dépassement de temps de cycle du traitement des périphériques se produit et vous ne pouvez pas utiliser le mode de traitement parallèle. Lors du débogage de sections du programme uniquement (qui peut induire un temps d'exécution de l'instruction très court), utilisez le mode normal pour éviter que cette erreur ne se produise. La console de programmation doit être déconnectée lorsque des applications utilisateur fonctionnent en mode de traitement parallèle. Du temps de traitement est alloué à la console de programmation pour augmenter la réponse aux touches de la console de programmation, ce qui 333 Chapitre 6-8 Modes de traitement UC augmente le temps de traitement des périphériques et réduit l'efficacité du traitement parallèle. Configuration de l'API Le mode de traitement est spécifié dans la configuration de l'API. Adresse dans Nom console de programmation Mot Bit 219 08 à 15 Mode de traitement UC Paramètre Par défaut Fréquence de mise à jour UC 00 hex. : Début du 00 hex. : mode normal mode fonctionne 01 hex. : traitement parallèle ment avec accès mémoire synchrone normal 02 hex. : traitement parallèle avec accès mémoire asynchrone 05 à FF hex. : temps d'exécution du programme par tranche de temps pour le mode prioritaire du traitement des périphériques (5 à 255 ms par incréments de 1 ms) Les paramètres de 03 et 04 hex. ne sont pas définis (non autorisés) et génèrent des erreurs de configuration de l'API (non fatales). Drapeaux et mots de la zone auxiliaire Nom Dépassement du temps de cycle du traitement des périphériques Temps de cycle du traitement des périphériques Temps d'exécution des instructions (total de tous les découpages du temps en intervalles d'exécution du programme et tous les découpages du temps en intervalles du traitement des périphériques). Adresse Fonctionnement A40515 Passe à ON lorsque le temps de cycle du traitement des périphériques dépasse 2 s. Le fonctionnement s'arrête. A268 Contient le temps de cycle du traitement des périphériques lorsque l'un des modes de traitement parallèle (accès mémoire synchrone ou asynchrone) est utilisé et que l'API est en mode RUN ou MONITOR. Le temps est indiqué en binaire entre 0,0 et 2000,0 (par incréments de 0,1 ms). A266 et En mode normal, seul le temps d'exécution des A267 instructions est inclus. Le temps est mémorisé sous forme de valeur binaire de 32 bits. 00000000 à FFFFFFFF hex. (pas : 0,1 ms) (0 à 429 496 729,5 ms) A266 : mot de poids inférieur A267 : mot de poids supérieur Traitement parallèle avec accès mémoire asynchrone Exécutions du programme Surveillance Temps d'exécution des instructions Calculs du temps de cycle minimum Traitement Mise à jour d'E/S cyclique Mise à jour d'E/S spéciales des cartes réseau Traitement Accès au fichier des périphériques 334 Vérification du bus d'E/S et autres traitements 0,3 ms Temps d'exécution total de toutes les instructions Temps de traitement pour un temps de cycle d'exécution du programme minimum Temps de mise à jour d'E/S pour chaque carte multiplié par le nombre de cartes. Temps de mise à jour d'E/S spéciales pour chaque carte multiplié par le nombre de cartes. Temps de traitement des périphériques défini dans la configuration de l'API (par défaut : 4 % du temps de cycle). Chapitre 6-8 Modes de traitement UC Traitement des périphériques Surveillance Traitement des périphériques Traitement d'événements pour les cartes d'E/S spéciales Traitement d'événements pour les cartes réseau Traitement du port périphérique Traitement du port RS-232C Traitement d'événements pour les cartes internes (série CS uniquement) Traitement d'événements pour les ports de communications (ports logiques internes) en cours d'utilisation (y compris l'exécution en arrière-plan). Remarque Vérification de la batterie, vérification de la mémoire du programme utilisateur, etc. 0,2 ms Inclut le traitement d'événements pour accéder à la mémoire d'E/S. (Voir remarque). 1 ms max. pour chaque service. Le traitement d'événements pour accéder à la mémoire d'E/S comprend : 1) Le traitement de toutes les commandes FIN reçues qui accèdent à la mémoire d'E/S (commandes de lecture/écriture dans la mémoire d'E/S avec des codes communs commençant par 01 hex. ou commandes de configuration/réinitialisation forcée avec des codes communs commençant par 23 hex.) et 2) Le traitement de toutes les commandes en mode C reçues qui accèdent à la mémoire d'E/S (exceptées les liaisons NT utilisant le port périphérique ou RS-232C). Traitement parallèle avec accès mémoire synchrone Exécutions du programme Surveillance Temps d'exécution des instructions Calculs du temps de cycle minimum Traitement cyclique Mise à jour d'E/S Traitement des périphériques Mise à jour d'E/S spéciales des cartes réseau Accès au fichier Traitement d'événements nécessitant l'accès à la mémoire d'E/S. (Voir remarque). Vérification du bus d'E/S et autres traitements 0,3 ms Temps d'exécution total de toutes les instructions Temps de traitement pour un temps de cycle d'exécution du programme minimum Temps de mise à jour d'E/S pour chaque carte multiplié par le nombre de cartes. Temps de mise à jour d'E/S spéciales pour chaque carte multiplié par le nombre de cartes. Temps de traitement des périphériques défini dans la configuration de l'API (par défaut : 4 % du temps de cycle). Traitement des périphériques Surveillance Traitement des Traitement d'événements pour les cartes d'E/S périphériques spéciales Traitement d'événements pour les cartes réseau Traitement du port périphérique Traitement du port RS-232C Vérification de la batterie, vérification de la mémoire du programme utilisateur, etc. 0,2 ms Sauf pour le traitement d'événements pour accéder à la mémoire d'E/S. (Voir remarque). 1 ms max. pour chaque service. Traitement d'événements pour les cartes internes (série CS uniquement) Traitement d'événements pour les ports des communications (ports logiques internes) en cours d'utilisation (y compris l'exécution en arrière-plan). Remarque Le traitement d'événements pour accéder à la mémoire d'E/S comprend : 1) Le traitement de toutes les commandes FIN reçues qui accèdent à la mémoire d'E/S 335 Mode prioritaire du traitement des périphériques Chapitre 6-9 (commandes de lecture/écriture dans la mémoire d'E/S avec des codes communs commençant par 01 hex. ou commandes de configuration/réinitialisation forcée avec des codes communs commençant par 23 hex.) et 2) Le traitement de toutes les commandes en mode C reçues qui accèdent à la mémoire d'E/S (exceptées les liaisons NT utilisant le port périphérique ou RS-232C). 6-8-2 Mode de traitement parallèle et temps de cycle minimums Si un temps de cycle minimum est spécifié lorsque vous utilisez un mode de traitement parallèle, une pause est insérée après l'exécution du programme jusqu'à ce que le temps de cycle minimum soit atteint, mais le traitement des périphériques continue. 6-8-3 Concurrence de données en traitement parallèle avec accès mémoire asynchrone Lors de l'utilisation du traitement parallèle avec accès mémoire asynchrone, les données ne doivent pas être concurrentes dans les cas suivants • Lorsque plusieurs mots sont lus dans la mémoire d'E/S à l'aide d'une commande de communication, les données contenues dans les mots ne peuvent pas être concurrentes. • Si une instruction lit plusieurs de la mémoire d'E/S et qu'un traitement des périphériques est exécuté pendant l'exécution des instructions, les données contenues dans les mots ne peuvent pas être concurrentes. • Si le même mot de la mémoire d'E/S est lu par plusieurs instructions à différents emplacements du programme et que le traitement des périphériques est exécuté entre l'exécution des instructions, les données contenues dans le mot ne peuvent pas être concurrentes. Pour garantir la concurrence des données, si nécessaire, procédez de la manière suivante : 1. Utilisez le traitement parallèle avec accès mémoire synchrone. 2. Utilisez l'instruction IOSP(287) pour désactiver le traitement des périphériques aux endroits requis du programme, puis réactivez le traitement des périphériques à l'aide de l'instruction IORS(288). 6-9 Mode prioritaire du traitement des périphériques Normalement, le traitement des périphériques du port RS-232C, du port périphérique, de la carte interne (série CS uniquement), des cartes réseau et des cartes d'E/S spéciales n'est pris en charge qu'une seule fois, à la fin du cycle, après la mise à jour d'E/S. Le temps alloué à chaque service est égal à 4 % de temps de cycle ou à un temps défini par l'utilisateur. Il existe cependant un mode qui active le traitement périodique en cours de cycle. Ce mode, appelé mode prioritaire du traitement des périphériques, est paramétré dans la configuration de l'API. Remarque 336 Vous pouvez utilisez le mode prioritaire du traitement des périphériques avec les UC de la série CJ ou CS, mais les UC CS1 série CS doivent porter le numéro de lot 001201@@@@ ou un numéro postérieur (date de fabrication au 1er décembre 2000 ou postérieure). (Le mode prioritaire du traitement des périphériques n'est pas pris en charge par les UC CS1D pour systèmes à CPU en duplex). Chapitre 6-9 Mode prioritaire du traitement des périphériques 6-9-1 Mode prioritaire du traitement des périphériques Si le mode prioritaire du traitement des périphériques est configuré, l'exécution du programme s'interrompt au moment spécifié, le traitement spécifié s'effectue, puis l'exécution du programme reprend. Ce processus se répète pendant toute l'exécution du programme. Un traitement des périphériques normal s'effectue également après la période de mise à jour d'E/S. Traitement des périphériques Traitement des périphériques Traitement des périphériques T0 : Tranche de temps pour l'exécution du programme T1 : Tranche de temps pour le traitement des périphériques Exécution du programme Interrompu Exécution du programme Interrompu Exécution du programme Interrompu Exécution du Rafraîchissement Traitement normal d'E/S programme des périphériques 1 cycle Par conséquent, le mode prioritaire du traitement des périphériques permet d'exécuter un traitement périodique sur des ports ou des cartes spécifiés, parallèlement au traitement des périphériques normal. Ceci autorise l'utilisation d'applications pour lesquelles le traitement des périphériques doit être prioritaire sur l'exécution du programme, par exemple des application de contrôle de processus qui requièrent un réponse rapide pour la surveillance de l'ordinateur hôte. • Il est possible de spécifier jusqu'à cinq cartes ou ports pour le traitement prioritaire. Les cartes réseau et les cartes d'E/S spéciales CS/CJ sont spécifiées à l'aide du numéro de carte. • Une seule carte ou un seul port est exécuté pendant chaque tranche de temps du traitement des périphériques. Si le traitement se termine avant l'expiration du temps spécifié, l'exécution du programme reprend immédiatement et la carte ou le port suivant(e) n'est pris en charge qu'à partir de la prochaine tranche de temps du traitement des périphériques. Il est toutefois possible de traiter plusieurs fois la même carte ou le même port pendant le cycle. • Les cartes/ports sont traité(e)s dans l'ordre de leur détection par l'UC. Remarque 1. Bien que les instructions ci-dessous utilisent les ports des communications, elles ne seront exécutées qu'une seule fois pendant le cycle d'exécution, même si le mode prioritaire du traitement des périphériques est utilisé : RXD(235) (RECEIVE) TXD(236) (TRANSMIT) 2. Si plusieurs mots sont lus via une commande de communication, il est impossible de garantir la concurrence des données lues lors de l'utilisation du mode prioritaire du traitement des périphériques. 3. En mode prioritaire du traitement des périphériques, l'UC peut dépasser le temps de cycle maximum. Le temps de cycle maximum est défini dans la configuration de l'API en tant que paramètre du temps de cycle d'horloge. Si le temps de cycle dépasse la valeur du paramètre du temps de cycle d'horloge, le drapeau de temps de cycle trop long (A40108) passe à ON et l'API s'arrête de fonctionner. Si le mode prioritaire du traitement des périphériques est utilisé, surveillez le temps de cycle actuel dans A264 et A265 et réglez le temps de cycle d'horloge (adresse : +209) comme requis. (La plage de configuration va de 10 à 40 000 ms par incréments de 10 ms, et la configuration par défaut est 1 s). 337 Chapitre 6-9 Mode prioritaire du traitement des périphériques Paramètres de configuration de l'API Adresse dans la console de programmation Mot Bit(s) 219 08 à 15 220 221 222 Pour utiliser le mode prioritaire du traitement des périphériques, vous devez configurer les paramètres suivants dans configuration de l'API. • Temps découpé en intervalles pour l'exécution du programme : 5 à 255 ms par incréments de 1 ms. • Temps découpé en intervalles pour le traitement des périphériques : 0,1 à 25,5 ms par incréments de 0,1 ms. • Cartes et/ou ports pour le traitement prioritaire : carte réseau (par n° de carte), carte d'E/S spéciales CS/CJ (par n° de carte), carte interne (série CS uniquement), port RS232C, port périphérique. Paramètre Par défaut Fonction Application de la nouvelle configuration 00 05 à FF (hex.) 00 00 : désactive le traitement en mode prioritaire. 05 à FF : tranche de temps pour l'exécution des instructions (5 à 255 ms par incréments de 1 ms). 00 à 07 00 à FF (hex.) 00 00 : désactive le traitement en mode prioritaire. 01 à FF : tranche de temps pour l'exécution du traitement des périphériques (0,1 à 25,5 ms par incréments de 0,1 ms). 08 à 15 00 à 07 08 à 15 00 à 07 08 à 15 00 10 à 1F 20 à 2F E1 FC FD (hex.) 00 00 00 00 00 00 : désactive le traitement en mode prioritaire. 10 à 1F : numéro de carte des cartes réseau + 10 (hex.). 20 à 7F : numéro de carte des cartes d'E/S spéciales série CS/CJ + 20 (hex.). E1 : carte interne. FC : port RS-232C. FD : port périphérique. Prend effet au début du fonctionnement. (Ne peut pas être modifié au cours du fonctionnement). • Le tableau ci-dessous décrit le fonctionnement et les erreurs en fonction des paramètres dans la configuration de l'API. • Vous ne pouvez pas réaliser ce paramétrage à partir du CX-Programmer pour les UC CS1 ou CJ1. Vous pouvez réaliser ce paramétrage à partir du CX-Programmer version 2.1 ou supérieure pour les UC CS1-H ou CJ1-H. Tranche de temps pour le traitement des périphériques 01 à FF : (0,1 à 25,5 ms) Conditions Tranche de Cartes et ports temps pour spécifié(e)s l'exécution des instructions 05 à FF : Paramètres tous corrects (5 à 255 ms) Paramètres à 00 et corrects Paramètres corrects mais redondants Plusieurs paramètres non autorisés 00 00 N'importe quelle autre valeur Remarque 338 Paramètres tous à 00 Paramètres à 00 et non autorisés Paramètres tous non autorisés ----- Fonctionnement de l'UC Erreurs de configuration de l'API Mode prioritaire du Aucune traitement des périphériques Mode prioritaire du traiteGénérées ment des périphériques pour des éléments correctement paramétrés Fonctionnement normal Générées Fonctionnement normal Fonctionnement normal Aucune Générées Si une erreur est détectée dans la configuration de l'API, A40210 passe à ON et une erreur non fatale se produit. Chapitre 6-9 Mode prioritaire du traitement des périphériques Informations de la zone auxiliaire Mots A266 et A267 Si vous configurez des temps découpés en intervalles pour l'exécution du programme et le traitement des périphériques, le total de tous les découpages du temps en intervalles d'exécution du programme et de tous les découpages du temps en intervalles du traitement des périphériques est stocké dans A266 et A267. Ces informations peuvent servir de référence pour effectuer les réglages appropriés sur les découpages du temps. Lorsque le mode prioritaire du traitement des périphériques n'est pas utilisé, le temps d'exécution du programme est mémorisé. Vous pouvez utiliser cette valeur pour déterminer des paramètres de découpages du temps appropriés. Table des matières Signification 00000000 à Total de tous les découpages du temps en FFFFFFFF hex. intervalles d'exécution du programme et tous (0 à 4294967295 0,0 à 429 496 729,5 ms (incréments de 0,1 ms) décimal) A267 (Octets les plus significatifs) 6-9-2 A266 (Octets les moins significatifs) Mise à jour Le contenu est mis à jour à chaque cycle et effacé au début du fonctionnement. La valeur est sauvegardée sous la forme d'une valeur binaire de 32 bits (8 chiffres hexadécimaux) Désactivation temporaire du traitement en mode prioritaire La concurrence des données n'est pas garantie dans les cas suivants, si le mode prioritaire du traitement des périphériques est utilisé. • Lorsque plusieurs mots sont lus à partir d'un périphérique à l'aide d'une commande de communication. Les données risquent d'être lues pendant différentes tranches de temps du traitement des périphériques, entraînant ainsi une non concurrence des données. • Lorsque le programme contient des instructions à temps d'exécution longs, par exemple, lors du transfert de grandes quantités de données de mémoire d'E/S. L'opération de transfert risque de s'interrompre pour le traitement des périphériques, entraînant ainsi une non concurrence des données. Cela se vérifie lorsque des mots en train d'être écrits par le programme sont lus depuis un périphérique avant que l'écriture ne soit terminée, ou lorsque des mots en train d'être lus par le programme sont écrits depuis un périphérique avant que la lecture ne soit terminée. • Lorsque deux instructions accèdent aux même mots dans la mémoire. Si ces mots sont écrits à partir d'un périphérique entre les intervalles d'exécution des deux instructions, ces deux instructions liront différentes valeurs dans la mémoire. Lorsque la concurrence des données doit être garantie, vous pouvez utiliser les instructions DISABLE INTERRUPTS et ENABLE INTERRUPTS (DI(693) et EI(694)) avec les UC CS1 ou CJ1, pour empêcher le traitement prioritaire pendant des sections obligatoires du programme, comme illustré dans l'exemple suivant. Dans le cas des UC CS1D pour systèmes à UC seule et des UC CS1-H, CJ1-H ou CJ1M, vous pouvez utiliser les instructions DISABLE PERIPHERAL SERVICING et ENABLE PERIPHERAL SERVICING (IOSP(287) et IORS(288)). Le traitement prioritaire ne sera pas exécuté entre DI(693) et EI(694) pendant que W000000 est sur ON. 339 Chapitre 6-9 Mode prioritaire du traitement des périphériques Fonctionnement Tranche de temps pour l'exécution du programme Tranche de temps pour le traitement des périphériques Tranche de temps pour l'exécution du programme Traitement des périphériques Exécution Interrompu Traitement normal des périphériques Traitement des périphériques Exécution Interrompu Exécution Rafraîchissement d'E/S Section de programme exigeant la concurrence des données DI(693) exécuté. Remarque EI(694) exécuté. 1. DI(693) et IOSP(287) désactivent les interruptions pour le traitement prioritaire, mais également toutes les autres interruptions, y compris les interruptions d'E/S, programmées et externes. Toutes les interruptions générées sont exécutées après l'exécution de la tâche cyclique (après l'exécution de END(001)), à moins que l'instruction CLI(691) ne soit exécutée d'abord pour supprimer les interruptions. 2. La désactivation des interruptions à l'aide de DI(693) ou de IOSP(287) est effective jusqu'à l'exécution de EI(694) ou IORS(288), de END(001), ou jusqu'à ce que l'API s'arrête de fonctionner. Il est donc impossible de créer des sections de programme qui dépassent la fin d'une tâche ou d'un cycle. Utilisez DI(693) et EI(694), ou IOSP(287) et IORS(288), dans chaque tâche cyclique, pour désactiver des interruptions dans plusieurs cycles ou tâches si nécessaire. UC CS1 et CJ1 DI(693) L'exécution de l'instruction DI(693) désactive toutes les interruptions (à l'exception des interruptions pour la tâche d'interruption d'alimentation), y compris les interruptions pour le traitement prioritaire, les interruptions d'E/S, les interruptions programmées ou les interruptions externes. Si DI(693) est exécutée alors que les interruptions sont déjà désactivées, celles-ci restent désactivées. Symbole (@)DI(693) Zones de programme utilisables Zone Zones de programmation de bloc Zones de programmation de pas Sous-programmes Tâches d'interruption Application possible Oui Oui Oui Non Drapeaux de condition Drapeau Drapeau d'erreur EI(694) 340 Etiquette Fonctionnement ER Passe à ON si DI(693) est exécutée dans une tâche d'interruption, sinon à OFF. L'exécution de l'instruction EI(694) active toutes les interruptions (à l'exception des interruptions pour la tâche d'interruption d'alimentation), y compris les interruptions pour le traitement prioritaire, les interruptions d'E/S, les interruptions programmées ou les interruptions externes. Si EI(694) est exécutée alors que les interruptions sont déjà activées, celles-ci restent activées. Chapitre 6-9 Mode prioritaire du traitement des périphériques Symbole EI(694) n'exige aucune condition d'exécution. EI(694) Zones de programme utilisables Zone Zones de programmation de bloc Zones de programmation de pas Sous-programmes Tâches d'interruption Application possible Oui Oui Oui Non Drapeaux de condition Drapeau Drapeau d'erreur Etiquette Fonctionnement ER Passe à ON si EI(694) est exécutée dans une tâche d'interruption. UC CS1D pour systèmes à UC seule et UC CS1-H, CJ1-H et CJ1M IOSP(287) L'exécution de IOSP(287) désactive le traitement des périphériques. Si IOSP(287) est exécutée alors que le traitement des périphériques est déjà désactivé, celui-ci reste désactivé. Symbole IOSP Zones de programme utilisables Zone Zones de programmation de bloc Zones de programmation de pas Sous-programmes Tâches d'interruption Application possible Oui Oui Oui Non Drapeaux de condition Drapeau Drapeau d'erreur IORS(288) Etiquette ER Fonctionnement Passe à ON si IOSP(287) est exécutée dans une tâche d'interruption, sinon à OFF. L'exécution de IORS(288) active le traitement des périphériques désactivé à l'aide de IOSP(287). Si IORS(288) est exécutée alors que le traitement des périphériques est déjà activé, celui-ci reste activé. Symbole IORS Zones de programme utilisables Zone Zones de programmation de bloc Zones de programmation de pas Sous-programmes Tâches d'interruption Application (possible ?) Oui Oui Oui Non Drapeaux de condition Drapeau Drapeau d'erreur Etiquette Fonctionnement ER Passe à ON si IORS(288) est exécutée dans une tâche d'interruption. 341 Chapitre 6-10 Fonctionnement sans batterie 6-10 Fonctionnement sans batterie Les API série CS et CJ peuvent fonctionner sans batterie (ou avec une batterie vide). La procédure utilisée pour le fonctionnement sans batterie dépend des éléments suivants : • UC ; • maintien ou pas de la mémoire d'E/S (par exemple : la zone CIO) ; • initialisation ou pas des zones DM et EM au démarrage ; • initialisation ou pas des zones DM et EM à partir du programme utilisateur. Le tableau suivant récapitule les différences mentionnées ci-dessus. UC CS1-H, CJ1-H, CJ1M ou CS1D CS1 ou CJ1 Pas de maintien de la mémoire d'E/S. Maintien de la mémoire d'E/S. Pas d'initialisation Initialisation des zones DM et EM au des zones DM et EM démarrage. au démarrage. A partir du programme Pas à partir du utilisateur programme utilisateur Impossible quelle que soit la Utilisez le fonctionnement normal (avec la Utilisez le transfert méthode. Vous devez installer mémoire flash) ou une carte mémoire. automatique à partir d'une carte mémoire au une batterie. démarrage. (Placez la broche 2 de l'interrupteur Utilisez le transfert automatique à partir d'une carte mémoire au démarrage. (Placez la broche 2 DIP sur ON). de l'interrupteur DIP sur ON). Remarque 1. Lorsque vous utilisez le fonctionnement sans batterie, désactivez la détection de tension de batterie faible dans la configuration de l'API, quelle que soit la méthode de fonctionnement sans batterie utilisée. 2. Si aucune batterie n'est connectée ou si la batterie est vide, le fonctionnement de l'UC est soumis aux restrictions suivantes. Cela est vrai quelle que soit l'UC utilisée. • L'état du bit de sortie à OFF (A50015) n'est pas fiable. Lorsque le bit de sortie à OFF est activé, toutes les sorties des cartes de sorties passent à OFF. Incluez les instructions suivantes au schéma de contact pour éviter que toutes les sorties des cartes de sorties ne passent à OFF, lors de la mise sous tension. Drapeau du premier cycle (A20011) RSET A50015 • Le contenu de la mémoire d'E/S (y compris les zones HR, DM et EM) risque de ne pas être maintenu correctement. Par conséquent, paramétrez la configuration de l'API de manière que le drapeau de maintien de la mémoire d'E/S (A50012) et le drapeau de maintien de l'état forcé (A50013) ne soient pas maintenus lors de la mise sous tension. • La fonction d'horloge ne peut pas être utilisée. Les données d'horloge de A351 à A354 et l'heure de démarrage dans A510 et A511 ne sont pas fiables. Les dates de fichiers figurant sur les fichiers écrits dans la carte mémoire à partir de l'UC ne sont pas fiables non plus. • Les données suivantes sont toutes remises à zéro au démarrage : l'heure de mise sous tension (A523), l'heure de l'interruption d'alimentation (A512 et A513) et le nombre d'interruptions d'alimentation (A514). • La zone de journal d'erreurs de A100 à A199 n'est pas maintenue. • La banque EM actuelle est toujours à 0 au démarrage. • La mémoire de fichiers EM ne contient plus aucun fichier au démarrage et les fonctions de la mémoire de fichiers ne peuvent pas être utilisées. Pour utiliser la mémoire de fichiers EM, vous devez la réinitialiser dans la configuration de l'API et la reformater. 342 Chapitre 6-10 Fonctionnement sans batterie UC CS1-H, CJ1-H, CJ1M ou CS1D Les UC CS1-H, CJ1-H, CJ1M ou CS1D peuvent fonctionner sans batterie, en mode de fonctionnement normal. Les données du programme utilisateur et des paramètres sont sauvegardées automatiquement dans la mémoire flash de l'UC et restaurées automatiquement depuis la mémoire flash, au démarrage. Dans ce cas, la mémoire d'E/S n'est pas maintenue et les zones DM et EM doivent être initialisées à partir du programme utilisateur. Le fonctionnement sans batterie est également possible avec les UC CS1-H, CJ1-H, CJ1M ou CS1D, en transférant automatiquement les données depuis une carte mémoire au démarrage, comme c'est la cas pour les UC CS1. (Avec une carte mémoire, vous pouvez inclure les données des zones DM et EM). UC CS1 et CJ1 Le fonctionnement sans batterie est possible avec les UC CS1 et CJ1, en transférant automatiquement les données depuis une carte mémoire au démarrage. Dans ce cas, la mémoire d'E/S n'est pas maintenue. (Avec une carte mémoire, vous pouvez inclure les données des zones DM et EM). Procédure Les organigrammes suivants décrivent les procédures pour les deux types d'UC. UC CS1-H, CJ1-H, CJ1M ou CS1D Tension à ON Fonctionnement avec une batterie Maintenir les données d'E/S précédentes au démarrage ? Oui Données requises ? Non CIO/WR/TIM CNT/HR/DM/EM Utiliser le fonctionnement normal. Pas de carte mémoire requise. Configuration de l'API : désactivez la détection de tension faible de la batterie et configurez l'état du bit de maintien de la mémoire d'E/S pour qu'il soit maintenu lors de la mise sous tension. Mettez AR50012 à ON. CNT/HR/DM/EM Utiliser le fonctionnement normal. Pas de carte mémoire requise. Configuration de l'API : activez la détection de tension faible de la batterie. Fonctionnement sans batterie Initialiser la mémoire d'E/S avant l'exécution du programme ? Utiliser le fonctionnement normal. Pas de carte mémoire requise. Données du programme utilisateur et des paramètres sauvegardées dans la mémoire flash. Configuration de l'API : désactivez la détection de tension faible de la batterie. Non Oui Oui, initialiser la mémoire d'E/S à partir du programme. Initialiser la mémoire d'E/S à partir du programme ? Non Transférer automatiquement les données à partir d'une carte mémoire au démarrage. Fichiers requis : AUTOEXEC.OBJ, AUTOEXEC.STD et AUTOEXEC.IOM. Configuration de l'API : désactivez la détection de tension faible de la batterie. Initialiser uniquement les mots de la zone DM affectés à des cartes réseau et à des cartes internes (D20000 à D32767) ? Non Initialiser toutes les zones DM et EM à partir de D00000. Autre. Transférer automatiquement les données à partir d'une carte mémoire au démarrage. Fichiers requis : AUTOEXEC.OBJ, AUTOEXEC.STD, AUTOEXEC.IOM, etc. Configuration de l'API : désactivez la détection de tension faible de la batterie. Le fonctionnement sans batterie n'est pas nécessaire. 343 Chapitre 6-11 Autres fonctions UC CS1 et CJ1 Tension à ON Fonctionnement avec une batterie Maintenir les données d'E/S précédentes au démarrage ? Oui CIO/WR/TIM CNT/HR/DM/EM Données requises ? Non Utiliser le fonctionnement normal. Pas de carte mémoire requise. Configuration de l'API : désactivez la détection de tension faible de la batterie et configurez l'état du bit de maintien de la mémoire d'E/S pour qu'il soit maintenu lors de la mise sous tension. Mettez AR50012 à ON. CNT/HR/DM/EM Utiliser le fonctionnement normal. Pas de carte mémoire requise. Configuration de l'API : activez la détection de tension faible de la batterie. Fonctionnement sans batterie Transférer automatiquement les données à partir d'une carte mémoire au démarrage. Fichiers requis : AUTOEXEC.OBJ, AUTOEXEC.STD et AUTOEXEC.IOM. Configuration de l'API : désactivez la détection de tension faible de la batterie. Initialiser uniquement les mots de la zone DM affectés à des cartes réseau et à des cartes internes (D20000 à D32767) ? Non Initialiser toutes les zones DM et EM à partir de D00000. Transférer automatiquement les données à partir d'une carte mémoire au démarrage. Fichiers requis : AUTOEXEC.OBJ, AUTOEXEC.STD, AUTOEXEC.IOM, etc. Configuration de l'API : désactivez la détection de tension faible de la batterie. Autre. Le fonctionnement sans batterie n'est pas nécessaire. 6-11 Autres fonctions 6-11-1 Paramètres des temps de réponse d'E/S Les temps de réponse des entrées peuvent être configurés par rack et par numéro d'emplacement pour les cartes d'E/S standard CS/CJ. L'augmentation du temps de réponse des entrées réduit les effets de vibration et de parasites. La réduction du temps de réponse des entrées (en conservant une largeur d'impulsion supérieure au temps de cycle) permet la réception d'impulsions d'entrée plus courtes. Remarque Dans le cas des UC de la série CS, les impulsions plus courtes que le temps de cycle peuvent être traitées à l'aide des entrées à grande vitesse disponibles sur certaines cartes d'E/S haute densité C200H ou à l'aide d'une carte d'entrées à grande vitesse. Voir la section 6-1-4 Entrées à grande vitesse pour plus d'informations. Temps de réponse d'entrée Temps de réponse d'entrée Carte E/S ToR CS1 Carte E/S ToR CS1 Mise à jour d'E/S UC 344 Les impulsions plus courtes que le temps de réponse de l'entrée ne sont pas reçues. Mise à jour d'E/S UC Chapitre 6-11 Autres fonctions Configuration de l'API Vous pouvez configurer les temps de réponse des entrées pour les 80 emplacements d'un API CS/CJ (de l'emplacement 0 du rack 0 à l'emplacement 9 du rack 7) dans les 80 octets des adresses 10 à 49. Adresse dans Nom console de programmation 10 Temps de réponse des entrées des cartes d'E/S Bits 0 à 7 standard CS/CJ, pour l'emplacement 0 du rack 0 : 49 Bits 8 à 15 : Temps de réponse des entrées des cartes d'E/S standard CS/CJ, pour l'emplacement 7 du rack 9 Paramètre (hex.) Par défaut (hex.) 00 : 8 ms 10 : 0 ms 11 : 0,5 ms 12 : 1 ms 13 : 2 ms 14 : 4 ms 15 : 8 ms 16 : 16 ms 17 : 32 ms : Comme ci-dessus. 00 (8 ms) : 00 (8 ms) 6-11-2 Affectation de la zone d'E/S Vous pouvez utiliser un périphérique de programmation pour configurer le premier mot de l'affectation d'E/S dans les racks d'extension (racks d'extension CS/CJ et racks d'extension d'E/S C200H). Cette fonction permet de définir une zone d'affectation d'E/S de chaque rack fixe dans la plage CIO 0000 à CIO 0999. (Les premiers mots sont affectés par numéro de rack). 345 Autres fonctions 346 Chapitre 6-11 CHAPITRE 7 Transfert du programme, essais de fonctionnement et débogage Ce chapitre décrit les processus utilisés pour transférer le programme vers l'UC, ainsi que les fonctions disponibles pour tester et déboguer le programme. 7-1 7-2 Transfert du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Essais de fonctionnement et débogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 7-2-1 Configuration et réinitialisation forcées . . . . . . . . . . . . . . . . . . . . . . 348 7-2-2 Surveillance différenciée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 7-2-3 Edition en ligne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 7-2-4 Traçabilité des données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 347 Chapitre 7-1 Transfert du programme 7-1 Transfert du programme Un périphérique de programmation permet de transférer les programmes, la configuration de l’API, les données de mémoire d’E/S et les commentaires d’E/S vers l’UC, lorsque celle-ci est en mode PROGRAM. Procédure de transfert du programme pour CX-Programmer 7-2 7-2-1 1,2,3... 1. Sélectionnez PLC, Transfer, puis To PLC. La boîte de dialogue Download Options s'affiche. 2. Sélectionnez les éléments à transférer parmi la liste suivante : programmes (Programs), paramètres (configuration de l’API) (Settings [PLC Setup]), table d’E/S (I/O table), symboles (Symbols), commentaires (Comments) et index de programme (Program index). Remarque Les éléments table d’E/S et commentaires ne sont sélectionnables que s’ils existent sur la carte mémoire de l’UC. 3. Cliquez sur OK. Vous pouvez transférer le programme à l’aide de l’une des méthodes suivantes : • Transfert automatique à la mise sous tension Le fichier AUTOEXEC.OBJ de la carte mémoire sera lu sur l’UC (la broche 2 de l’interrupteur DIP doit être à ON) à la mise sous tension. • Remplacement du programme pendant le fonctionnement Vous pouvez remplacer le fichier de programme existant par le fichier de programme spécifié dans la zone auxiliaire en activant le bit de démarrage du remplacement dans la zone auxiliaire (A65015), à partir du programme, pendant le fonctionnement de l’UC. Voir la section CHAPITRE 5 Fonctions de mémoire de fichiers pour plus d'informations. Remarque Si vous utilisez CX-Programmer version 4.0 ou supérieure avec des UC série CS/CJ version 2.0 ou supérieure, vous pouvez télécharger les programmes de tâches individuellement. Pour plus de détails, consultez le chapitre 1-4-1 Téléchargement et chargement des différentes tâches dans le Manuel d’utilisation des API, série CS ou dans le Manuel d’utilisation des API de la série CJ. Essais de fonctionnement et débogage Configuration et réinitialisation forcées Remarque 348 Un périphérique de programmation peut forcer la configuration (ON) ou la réinitialisation (OFF) de bits spécifiés (zone CIO, zone auxiliaire, zone HR et drapeaux de fin de temporisation/compteur). L’état forcé l’emportera sur l’état résultant du programme ou de la mise à jour d’E/S. Cet état ne peut être remplacé par des instructions, et sera mémorisé indépendamment de l’état du programme ou des entrées externes, jusqu’à ce qu’il soit remis à zéro à partir d’un périphérique de programmation. Les opérations de configuration/réinitialisation forcée s’utilisent pour forcer l’entrée et la sortie lors d’un essai de fonctionnement ou pour forcer certaines conditions lors d’un débogage. Vous pouvez exécuter des opérations de configuration/réinitialisation forcée en mode MONITOR ou en mode PROGRAM, mais pas en mode RUN. Activez (ON) simultanément le bit de maintien de l’état forcé (A50013) et le bit de maintien IOM (A50012) pour que l’état des bits en configuration ou réinitialisation forcée soit conservé lorsque vous changez de mode de fonctionnement. Activez (ON) le bit de maintien de l’état forcé (A50013) et le bit de maintien IOM (A50012), et réglez le paramètre de configuration de l’API « Bit de maintien de l’état forcé au démarrage » de manière à conserver l’état du bit de maintien de l’état forcé et donc à maintenir l’état des bits de configuration ou réinitialisation forcée lors de la mise hors tension. Chapitre 7-2 Essais de fonctionnement et débogage Forcé à ON indépendamment de la programmation UC Réglage forcé Réglage forcé Entrée ignorée Programme Carte de sortie La configuration et la réinitialisation forcées sont possibles dans les zones suivantes : CIO (bits d’E/S, bits de liaison de données, bits de cartes réseaux, bits de cartes d’E/S spéciales, bits de cartes internes, bits SYSMAC BUS, bits de cartes d’E/S optiques, bits de travail), zone de travail (WR), drapeaux de fin de temporisation, zone HR, drapeaux de fin de compteur. (Les zones de cartes internes, SYSMAC BUS et de bornes d’E/S sont prises en charge par les UC série CS uniquement). Fonctionnement du périphérique de programmation • Sélectionnez des bits pour la configuration/réinitialisation forcée. • Sélectionnez la configuration forcée ou la réinitialisation forcée. • Remettez l’état forcé à 0 (inclut la remise à zéro simultanée de tous les états forcés). 7-2-2 Surveillance différenciée Lorsque l’UC détecte qu’un bit configuré par un périphérique de programmation est passé de OFF à ON ou de ON à OFF, les résultats sont indiqués par le drapeau de surveillance différenciée terminée (A50809). Le drapeau passe à ON lorsque les conditions définies pour la surveillance différenciée sont satisfaites. Un périphérique de programmation peut surveiller et afficher ces résultats à l’écran. Périphérique de programmation Détecte le passage du bit A de OFF sur ON. UC Mémoire E/S Surveillance du passage de OFF sur ON. Bit A Fonctionnement du périphérique de programmation pour CX-Programmer 1,2,3... 1. Cliquez avec le bouton droit sur le bit de la surveillance différenciée. 2. Cliquez sur Differential Monitor dans le menu de l’API. La boîte de dialogue de la surveillance différenciée s'affiche. 3. Cliquez sur Rising ou Falling. 4. Cliquez sur le bouton Start. L'avertisseur sonore émet un son lorsque le changement spécifié est détecté et le compte est alors incrémenté. 5. Cliquez sur le bouton Stop. La surveillance différenciée s'arrête. 349 Chapitre 7-2 Essais de fonctionnement et débogage Bits/mots auxiliaires associés Nom Drapeau de surveillance différenciée terminée 7-2-3 Adresse A50809 Description Passe à ON lorsque la condition de surveillance différenciée a été satisfaite pendant la surveillance différenciée. Remarque : le drapeau est remis à 0 au démarrage de la surveillance différenciée. Edition en ligne La fonction d’édition en ligne sert à ajouter ou à modifier une partie d’un programme dans une UC, directement à partir des périphériques de programmation, lorsque l’UC est en mode MONITOR ou PROGRAM. Les ajouts et les modifications s’effectuent une instruction à la fois à partir de la console de programmation, et une ou plusieurs sections de programme à la fois à partir de CX-Programmer. Par conséquent, la fonction permet d’apporter des modifications mineures au programme sans arrêter l’UC. Vous pouvez procéder à l’édition en ligne simultanée à partir de plusieurs ordinateurs exécutant CX-Programmer et à partir d’une console de programmation dans la mesure où les tâches modifiées sont bien distinctes. Edition en ligne Périphérique de programmation Fonctionnement en mode MONITOR. Section de programme modifiée Le temps de cycle passera d’un à plusieurs temps de cycle si le programme de l’UC est modifié en ligne en mode MONITOR. Le temps de cycle des UC CS1-H, CJ1-H, CJ1M et CS1D s’allongera également pour permettre la sauvegarde des données dans la mémoire flash après l’édition en ligne. Le voyant BKUP sera allumé durant cette période. La progression de la sauvegarde s’affiche sur CX-Programmer. Les augmentations par cycle sont répertoriées dans le tableau suivant. UC UC CS1 pré-EV1 UC CS1 EV1 ou supérieure UC CS1-H UC CS1D UC CS1 UC CJ1-H UC CJ1M Augmentation du temps de cycle Edition en ligne Sauvegarde en mémoire flash 90 ms max. Non prise en charge. 12 ms max. 4 % ou temps de cycle Non prise en charge. 4 % ou temps de cycle Dans le cas d'une UC CS1-H, CJ1-H, CJ1M ou CS1D, il existe une limite au nombre de modifications que vous pouvez apporter successivement. Le nombre réel dépend du type de modification apportée, toutefois les indications fournies ci-après peuvent être prises pour références. 350 Essais de fonctionnement et débogage Chapitre 7-2 CJ1M-CPU@@ : 40 modifications CS1G-CPU@@H/CJ1G-CPU@@H : 160 modifications CS1H-CPU@@H/CJ1H-CPU@@H/ CS1D-CPU@@H/CS1D-CPU@@S : 400 modifications Si vous dépassez la limite, un message s’affichera sur CX-Programmer ou la console de programmation et vous ne pourrez poursuivre la modification que lorsque l’UC aura terminé la sauvegarde des données. Taille de la tâche et allongement du temps de cycle Le rapport entre la taille de la tâche en cours d’édition et l’allongement du temps de cycle est le suivant : Dans le cas d’une UC CS1, CS1-H, CS1D, CJ1 ou CJ1M version 1 ou supérieure, la taille de la tâche (programme) en cours de modification n’a pratiquement aucune incidence sur l’allongement du temps de cycle induit par l’édition en ligne. Dans le cas d’une UC CS1 antérieure à EV1, la taille de la tâche en cours de modification déterminera la durée d’interruption d’un programme en vue de l’édition en ligne. Si vous divisez le programme en tâches plus petites, le temps de cycle s’allongera moins avec la fonction Edition en ligne qu’avec les anciens modèles d’API. Précautions Si vous réécrivez un programme à l’aide de la fonction Edition en ligne en mode MONITOR, le temps de cycle sera plus long que d’habitude. Par conséquent, assurez-vous qu’il ne dépasse pas le temps de surveillance du cycle défini dans la configuration de l’API. S’il dépasse le temps de surveillance, une erreur de dépassement de temps de cycle se produit et l’UC s’arrête. Pour redémarrer l’UC, sélectionnez d’abord le mode PROGRAM avant de passer au mode RUN ou MONITOR. Remarque Si la tâche modifiée en ligne contient un programme de bloc, les données d’exécution précédentes, par exemple l’état En attente (WAIT) ou Pause, seront effacées par l’édition en ligne, et l’exécution suivante commencera au début. Edition en ligne à partir de CX-Programmer 1,2,3... !Attention 1. 2. 3. 4. 5. Affichez la section de programme à modifier. Sélectionnez les instructions à modifier. Sélectionnez Program, Online Edit, puis Begin. Modifiez les instructions. Sélectionnez Program, Online Edit, puis Send Changes. Les instructions sont vérifiées et, si elles ne contiennent aucun erreur, elles sont transférées vers l’UC. Les instructions contenues dans l’UC sont réécrites et l’augmentation du temps de cycle se produit à ce stade. Avant de poursuivre l’édition en ligne, vérifiez que l’allongement du temps de cycle n’influera pas sur le fonctionnement. Si le temps de cycle est trop long, certains signaux d’entrée risquent de ne pas être traités. Désactivation temporaire de l’édition en ligne Il est possible de désactiver l’édition en ligne d’un cycle afin d’assurer les caractéristiques de réponse nécessaires au contrôle de la machine pendant ce cycle. L’édition en ligne à partir du périphérique de programmation sera désactivée pour un cycle et toutes les requêtes d’édition en ligne reçues pendant ce cycle seront conservées jusqu’au cycle suivant. Pour désactiver l’édition en ligne, mettez le bit de désactivation de l’édition en ligne (A52709) à ON et définissez la Validation du bit de désactivation de l’édition en ligne (A52700 à A52707) sur 5A. Lorsque ces paramètres sont configurés de cette manière et qu’une requête d’édition en ligne est reçue, l’édition en ligne est mise en attente et le drapeau d’attente d’édition en ligne (A20110) passe à ON. 351 Essais de fonctionnement et débogage Chapitre 7-2 Lorsque le bit de désactivation de l’édition en ligne (A52709) est mis à OFF, l’édition en ligne est exécutée, le drapeau de traitement d’édition en ligne (A20111) passe à ON et le drapeau d’attente d’édition en ligne (A20110) passe à OFF. Une fenêtre indiquant la fin de l'installation s'affiche à l'écran. Vous pouvez également désactiver temporairement l’édition en ligne en mettant le bit de désactivation de l’édition en ligne (A52709) à ON pendant l’édition en ligne. Dans ce cas aussi, le drapeau d’attente d’édition en ligne (A20110) passera à ON. Si une seconde requête d’édition en ligne est réceptionnée alors que la première est en attente, la seconde requête ne sera pas enregistrée et une erreur se produira. Vous pouvez également désactiver l’édition en ligne pour éviter qu’elle ne se produise accidentellement. Comme décrit plus haut, pour désactiver l’édition en ligne, mettez le bit de désactivation de l’édition en ligne (A52709) à ON et définissez la Validation du drapeau de désactivation de l’édition en ligne (A52700 à A52707) sur 5A. Activation de l’édition en ligne à partir d’un périphérique de programmation Lorsqu’il est impossible d’activer l’édition en ligne à partir du programme, vous pouvez l’activer à partir du CX-Programmer. 1,2,3... 1. Edition en ligne à l’aide d’une console de programmation Si l’édition en ligne est exécutée à partir d’une console de programmation et qu’il est impossible de remettre à zéro l’état En attente de l’édition en ligne, la console de programmation sera verrouillée et vous ne pourrez effectuer aucune opération à l’aide de celle-ci. Dans ce cas, branchez CX-Programmer sur un autre port série et mettez le bit de désactivation de l’édition en ligne (A52709) à 0. L’édition en ligne sera traitée et vous pourrez à nouveau effectuer des opérations à l’aide de la console de programmation. 2. Edition en ligne à l’aide du CX-Programmer Si les opérations se poursuivent alors que l’édition en ligne est à l’état En attente, CX-Programmer risque de se déconnecter (hors ligne). Si cela se produit, rétablissez la connexion entre l’ordinateur et l’API, et mettez le bit de désactivation de l’édition en ligne (A52709) à OFF. Bits/mots auxiliaires associés Nom Validation du bit de désactivation de l'édition en ligne Adresse A52700 à A52707 Bit de désactivation de l'édition en A52709 ligne Drapeau d'attente d'édition en A20110 ligne Drapeau de traitement d'édition en A20111 ligne Description Valide le bit de désactivation de l'édition en ligne (A52709). Autre que 5A : Bit de désactivation de l’édition en ligne non valide 5A : Bit de désactivation de l’édition en ligne valide Pour désactiver l’édition en ligne, mettez ce bit à ON et définissez la Validation du bit de désactivation de l’édition en ligne (A52700 à A52707) sur 5A. A ON lorsqu'un traitement d'édition en ligne est en attente en raison de la désactivation de l’édition en ligne. A ON lorsqu'un traitement d'édition en ligne est en cours d'exécution. Désactivation des sorties Si le bit de sortie OFF (A50015) est activé par le biais de l’instruction OUT ou à partir d’un périphérique de programmation, toutes les sorties de toutes les cartes de sorties seront désactivées (ceci s’applique également aux sorties intégrées universelles ou aux sorties d’impulsions des UC), et le voyant INH à l’avant de l’UC s’allumera. L'état du bit de sortie à OFF est conservé même après une coupure d’alimentation. 352 Chapitre 7-2 Essais de fonctionnement et débogage Carte de sortie Tous à OFF 7-2-4 UC Bit de sortie à OFF : ON Traçabilité des données La fonction de traçage des données échantillonne des données spécifiées de la mémoire d’E/S à l’aide de l’une des méthodes de temporisation ci-dessous, et stocke les données échantillonnées dans la mémoire de tracé, où elles pourront être lues et vérifiées ultérieurement, à partir d’un périphérique de programmation. • Temps d’échantillonnage spécifié (10 à 2 550 ms par pas de 10 ms). • Un échantillon par cycle. • Lors de l’exécution de l’instruction TRACE MEMORY SAMPLING (TRSM). Vous pouvez spécifier jusqu’à 31 bits et 6 mots dans la mémoire d’E/S, pour l’échantillonnage. La capacité de la mémoire de tracé est de 4 000 mots. Procédure de base 1,2,3... Remarque 1. L’échantillonnage démarre lorsque les paramètres ont été configurés à partir du CX-Programmer et que la commande de lancement du traçage a été exécutée. 2. Les données échantillonnées (après l’étape 1 ci-dessus) sont tracées lorsque la condition de déclenchement du tracé est satisfaite, et les données présentes immédiatement après le retard (voir remarque 1) sont stockées dans la mémoire de tracé. 3. Les données de la mémoire de tracé sont échantillonnées, et le tracé est terminé. Valeur de retard : spécifie de combien de périodes (d’échantillonnage) l’échantillonnage doit être décalé dans la mémoire de tracé, à partir de l’instant où le bit de démarrage du tracé (A50814) est activé. Les plages de configuration sont indiquées dans le tableau suivant. Nombre de mots échantillonnés 0 1 2 3 4 5 6 Plage de configuration – 1 999 à 2 000 – 1 332 à 1 333 – 999 à 1 000 – 799 à 8 000 – 665 à 666 – 570 à 571 – 500 à 666 Retard positif : mémorisation de données différées du retard défini. Retard négatif : mémorisation de données antérieures en fonction du retard défini. Exemple : l’échantillonnage à 10 ms avec un temps de retard de – 30 ms donne – 30 x 10 = 300 ms. Par conséquent, les données présentes 300 ms avant le déclenchement seront mémorisées. 353 Essais de fonctionnement et débogage Remarque Chapitre 7-2 Utilisez un périphérique de programmation pour activer le bit de démarrage de l’échantillonnage (A50815). N’activez jamais ce bit à partir du programme utilisateur. Bit de démarrage de l'échantillonnage Bit de démarrage du tracé Drapeau de surveillance du déclenchement du tracé Drapeau de tracé en cours Drapeau de tracé terminé Echantillonnage Vous pouvez exécuter les tracés suivants : Tracé de données programmé Un tracé de données programmé réalise un échantillonnage des données à intervalles fixes. Les temps d’échantillonnage spécifiés vont de 10 à 2 550 ms par pas de 10 ms. N’utilisez jamais l’instruction TRSM dans le programme utilisateur et assurez-vous que la période d’échantillonnage définie est supérieure à 0. Tracé de données sur un cycle Un tracé de données sur un cycle réalise un échantillonnage des données de mise à jour d’E/S à la fin des tâches du cycle complet. N’utilisez jamais l’instruction TRSM dans le programme utilisateur et assurez-vous que la période d’échantillonnage définie est supérieure à 0. Tracé de données via TRSM Un échantillon est prélevé une fois, lorsque l’instruction TRACE MEMORY SAMPLING (TRSM) est exécutée. Si plusieurs instructions TRSM sont utilisées dans le programme, un échantillon est prélevé à chaque exécution de l’instruction TRSM, après que la condition de déclenchement du tracé a été satisfaite. Procédure de traçage des données Pour exécuter un tracé, procédez comme suit : 1,2,3... 1. Utilisez CX-Programmer pour configurer les paramètres de tracé de données (exécutez PLC/Data Trace et configurez sous Execute/Set) : l’adresse des données échantillonnées, la période d’échantillonnage, le temps de retard et les conditions de déclenchement. 2. Utilisez CX-Programmer pour démarrer l’échantillonnage ou activez le bit de démarrage de l’échantillonnage (A50815). 3. Appliquez la condition de déclenchement du tracé. 4. Terminez le tracé des données. 5. Utilisez CX-Programmer pour lire les données de tracé. a) Sélectionnez Data Trace dans le menu de l’API. b) Sélectionnez Select dans le menu d’exécution. c) Sélectionnez Execute dans le menu d’exécution. d) Sélectionnez Read dans le menu d’exécution. 354 Essais de fonctionnement et débogage Chapitre 7-2 Bits/mots auxiliaires associés Nom Bit de démarrage de l'échantillonnage Adresse A50815 Bit de démarrage du tracé A50814 Description Utilisez un périphérique de programmation pour activer ce bit de démarrage de l’échantillonnage. Ce bit doit être activé à partir d’un périphérique de programmation. N’activez ou ne désactivez jamais ce bit à partir du programme utilisateur. Remarque : le bit sera remis à zéro lorsque le tracé de données sera terminé. Lorsque ce bit est activé, le déclenchement du tracé est surveillé et les données échantillonnées sont stockées dans la mémoire de tracé, si la condition de déclenchement est satisfaite. Les tracés activés par ce bit sont les suivants : 1) Tracé programmé (traçage à intervalles fixes de 10 à 2 550 ms) 2) Tracé à l’aide d’une instruction TRSM (traçage lorsque la TRSM est exécutée) Drapeau de surveillance du déclenchement du tracé Drapeau de tracé en cours Drapeau de tracé terminé A50811 A50813 A50812 3) Tracé sur un cycle (traçage à la fin de l’exécution de toutes les tâches cycliques) Ce drapeau passe à ON lorsque la condition de déclenchement du tracé a été satisfaite après l’activation du bit de démarrage du tracé. Ce drapeau passe à OFF lorsque vous redémarrez l’échantillonnage en activant le bit de démarrage de l’échantillonnage. Ce drapeau passe à ON lorsque l’échantillonnage est démarré par un bit de démarrage de l’échantillonnage, et repasse à OFF lorsque le tracé est terminé. Ce drapeau passe à ON si la mémoire de tracé est pleine après que la condition de déclenchement du tracé a été satisfaite pendant un tracé et il repasse à OFF au démarrage de l’échantillonnage suivant. 355 Annexe A Tableaux de comparaison des API : API série CJ, série CS, C200HG/HE/HX, CQM1H, CVM1 et série CV Comparaison des fonctions Elément Fonctions de base Série CJ Capaci- Nombre de té points E/S Capacité de programme Mémoire de données maximale Bits d'E/S Série CS C200HX/HG/HE Série CVM1/CV 2 560 points 5 120 points 1 184 points 250 Kpas Un pas correspond à un mot. Consultez la fin du chapitre 10-5 Temps d'exécution d'instruction et nombre de pas dans le Manuel d'utilisation pour plus de détails. 32 Kmots 250 Kpas 2 Kmots 62 Kmots Un pas correspond à (63,2 Kmots pour un mot. Consultez la -Z) fin du chapitre 10-5 Temps d'exécution d'instruction et nombre de pas dans le Manuel d'utilisation pour plus de détails. 32 Kmots 6 Kmots 24 Kmots 160 mots (2 560 bits) 320 mots (5 120 bits) 40 mots (640 bits) Bits de travail 2 644 mots 2 644 mots 408 mots (42 304 bits) + WR : (42 304 bits) + WR : (6 528 bits) 512 mots (8 192 bits) 512 mots (8 192 bits) = 3 156 mots) = 3 156 mots) (50 496 bits) (50 496 bits) Bits de maintien 512 mots (8 192 bits) 512 mots (8 192 bits) 100 mots (1 600 bits) Mémoire de données étendue maximale Vitesse de traitement 32 Kmots x 13 banques 4 096 chacun Nombre max. de temporisations/compteurs Instructions de CJ1 : 0.08µs min. base (LD) CJ1-H : 0.02µs min. CJ1M : 0.1µs min. Instructions spéciales (MOV) CJ1 : 0,25µs min. CJ1-H : 0,18µs min. CJ1M : 0,3µs min. Temps de dépassement du système CJ1 : 0,5 ms min. CJ1-H : 0,3 ms min. en mode normal, 0,2 ms en mode de traitement parallèle CJ1M : 0,5 ms min. CJ1 : Env. 12 ms CJ1-H : Env. 11 ms pour CPU4@ et 8 ms pour CPU6 CJ1M : Env. 14 ms Retard lors de l'édition en ligne (écriture) 32 Kmots x 13 banques 4 096 chacun CS1 : 0.04µs min. CS1-H : 0.02µs min. CS1 : 0,25µs min. CS1-H : 0,18µs min. CS1 : 0,5 ms min. CS1-H : 0,3 ms min. en mode normal, 0,2 ms en mode de traitement parallèle CS1 : Env. 12 ms CS1-H : Env. 11 ms pour CPU4@ et 8 ms pour CPU6 6 144 points 128 mots (2 048 bits) 168 mots (2 688 bits) +400 mots (6 400 bits) CQM1H 512 points 15,2 Kmots 6 Kmots 32 mots (512 bits) 158 mots (2 528 bits) 300 mots 100 mots (4 800 bits) (1 600 bits) Max. : 1 400 mots (2 400 bits) 32 Kmots x 6 Kmots 8 banques (en option) 6 Kmots x 3 banques (6 Kmots x 16 banques pour -Z) Temporisations/ compteurs combinés : 512 0,104µs min. 0,125µs min. Temporisations/ compteurs combinés : 512 0,375µs min. 0,417µs min. 4,3µs min. 17,7 µs 0,7 ms 0,5 ms 0,7 ms 80 ms (160 ms pour -Z) 500 ms Généralement 250 ms 1 024 points 357 Annexe A Tableaux de comparaison des API Elément Structure Nombre de cartes/racks Montage avec vis Montage sur rail DIN Rack arrière Taille (H x P, mm) Cartes d'E/S Cartes réseau Racks d'extension E/S Fonction de tâche Mode de trai- Mode normal tement de l'UC Mode prioritaire du traite(exécution du ment des périphériques programme et traitement du Traitement parallèle avec périphérique) accès mémoire synchrone Série CJ C200HX/HG/HE Série CVM1/CV Oui Oui Oui 130 x 123 89 cartes (y compris les racks esclaves) Oui Oui Oui 130 x 118 10 ou 16 cartes 16 cartes 3 racks Oui Oui Oui 16 cartes 7 racks Oui Oui Oui CJ1 : Non CS1-H : Oui CJ1M : Non Traitement parallèle avec CS1 : Non accès à la mémoire CJ1-H : Oui asynchrone CJ1M : Non Format de Mise à jour cyclique Oui mise à jour Mise à jour programmée Non des E/S Mise à jour au zéro de Non tension Mise à jour immédiate Oui Mise à jour immédiate à Oui l'aide de l'instruction IORF Fonction d'horloge Oui Sortie RUN Série CS Non Oui Non 90 x 65 40 cartes Non Oui Non 110 x 107 16 cartes Aucune 3 racks Non ----- CS1 : Non CS1-H : Oui Non Non Non CS1 : Non CS1-H : Oui Non Non Non Oui Non Non Oui Non Non Oui Oui Oui Oui Non Non Oui Oui Non Oui Oui Oui Non Oui Oui Oui Oui Oui (cassette Mémoire obligatoire) Non Oui (en fonction de la Oui (en fonction de la Oui (en fonction carte d'alimentation) carte d'alimentation) de la carte d'alimentation) Mode de démarrage (paramètre par Mode RUN CS1 : mode Mode RUN défaut de la configuration de l'API PROGRAM lorsqu'aucune console de programmation CS1-H : mode RUN n'est connectée) Désactivation du traitement des interrup- CJ1 : Non CS1 : Non Non tions d'alimentation CJ1-H : Oui CS1-H : Oui CJ1M : Oui CS1 : Carte mémoire Fonctionnement sans batterie CJ1 : Carte mémoire Carte mémoire CS1-H : CJ1-H : Carte mémoire ou Carte mémoire ou mémoire flash mémoire flash CJ1M : Carte mémoire ou mémoire flash Sauvegarde automatique dans la CJ1 : Non CS1 : Non Non mémoire flash CJ1-H : Oui CS1-H : Oui CJ1M : Oui Poursuite du redémarrage Non Non Non 358 CQM1H Oui Non Oui 250 x 100 64 cartes (8 racks x 8 cartes) 16 cartes 7 racks Non ----- Oui Aucune 1 rack Non ----- Mode RUN Mode PROGRAM Non Non Carte mémoire Cassette Mémoire Non Non Oui Non Annexe A Tableaux de comparaison des API Elément Mémoire externe Série CJ Série CS C200HX/HG/HE Série CVM1/CV Moyen Carte mémoire (Flash ROM) Carte mémoire (Flash ROM) Capacité 48 Mo 48 Mo Oui Oui Carte interne Non Ports série intégrés Oui (RS-232C x 1) Carte de communica- Carte de tions série communications Oui (RS-232C x 1) Oui (RS-232C x 1) Table des matières Méthode de lecture/ écriture Format de fichier Mémoire de données étendue gérée comme des fichiers Programmes transférés automatiquement au démarrage CQM1H Cassette Mémoire (EEPROM, EPROM) 4 à 32 Kmots (4 à 64 Kmots pour -Z) Carte mémoire (RAM, EEPROM, EPROM) Cassette Mémoire (ROM, EEPROM, EPROM) 4 à 16 Kmots Oui Oui Oui Non Carte de communications Oui (RS-232C x 1) 32 à 512 Kmots (RAM : 64 à 512 Ko, EEPROM : 64 à 128 Ko, EPROM : 0,5 à 1 Mo Programmes, Programmes, Programmes, Programmes, Programmes, mémoire E/S, mémoire E/S, mémoire E/S, mémoire E/S, DM en lecture paramètres paramètres paramètres paramètres seule, paramètres Périphérique de Périphérique de Mise à ON du bit Périphérique de Mise à ON du bit programmation, programmation, SR programmation, AR programme utilisaprogramme utilisaproramme utilisateur (instructions de teur (instructions de teur (instruc-tions la mémoire de la mémoire de de la mémoire de fichiers) ou Host Link fichiers) ou Host Link fichiers), Host Link ou graveur de carte mémoire Binaire Binaire Binaire Binaire Binaire Oui (sauf pour les UC Oui Non Non Non CJ1M) Oui (RS-232C ou RS-422 x 1) 359 Annexe A Tableaux de comparaison des API Elément Communications série Série CJ Port pé- Bus périphéri- Oui riphéri- que que Host Link (SYS- Oui MAC WAY) Port RS232C intégré dans l' UC C200HX/HG/HE Série CVM1/CV CQM1H Oui Oui Oui Oui Oui Non (Possible avec connexion vers l'interface périphérique) Oui Passerelle Oui (UC avec Oui (UC avec Non série (conver- version de carte 3.0 version de carte 3.0 sion vers ou supérieure) ou supérieure) CompoWay/F) Non Non Sans protocole NT Link Bus périphérique Host Link (SYSMAC WAY) Non Oui Oui Non Oui Oui Oui Non Oui Non Non Non Oui Non Non Oui Oui Oui Oui Oui Non Non Passerelle Oui (UC avec Oui (UC avec Non série (conver- version de carte 3.0 version de carte 3.0 sion vers ou supérieure) ou supérieure) CompoWay/F) Sans protocole NT Link Connexions inter-API RSBus périphéri232C ou que RS-422/ Host Link (SYSRS-485 MAC WAY) sur la carte de communications Passerelle Oui Oui (1:N) Oui (CJ1M uniquement) Non Oui Oui (1:N) Non Oui Oui Non Non Non Non Oui Oui (1:1) Non Non Oui Non Non Non Oui Les commandes WG, MP et CR ne sont pas prises en charge. Oui La commande CR n'est pas prise en charge. Oui Les commandes WG et MP ne sont pas prises en charge. Oui La commande CR n'est pas prise en charge. Non Oui (Unité/carte de communications série avec version de carte 1.2 ou supérieure) Non Non Non Sans protocole Non Oui (Unité/carte de communications série avec version de carte 1.2 ou supérieure) Oui Non Oui NT Link Macro protocole Maître CompoWay/F Non Non Oui Oui Oui Oui Non Non Oui (1:1 et 1:N) Oui Non Oui (avec macro protocole) Oui (avec macro protocole) Non Oui (avec macro protocole) série (conversion vers CompoWay/F, Modbus-RTU, Modbus-ASCII ou Host Link FINS) 360 Série CS Oui Annexe A Tableaux de comparaison des API Elément Interruptions Interruptions d'E/S Interruptions programmées Interruptions de la temporisation à une impulsion Interruptions d'entrées en mode compteur Interruptions compteur à grande vitesse Interruptions externes A partir de la carte de communications Interruption de mise sous tension Interruption de mise hors tension Temps de réponse d'interruption Zone Configuration de l'API Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H Oui (max. 2 cartes d'entrées d'interruption : 32 points, plus 4 points pour les E/S intégrées sur les UC CJ1M) (les UC CJ1 ne prennent pas en charge les interruptions d'E/S.) Oui Oui (max. 4 ou 2 cartes d'entrées d'interruption : 32 points) Oui (max. 2 cartes d'entrées d'interruption : 16 points) Oui (max. 4 cartes Oui (4, intégrées d'entrées à la carte d'interruption : réseau) 32 points) Oui Oui Oui Oui Non Non Non Non Oui Oui (UC CJ1M uniquement) Oui (UC CJ1M uniquement) Oui (Les UC CJ1 ne prennent pas en charge les interruptions externes.) Non Non Non Non Oui Non Non Non Oui Oui Non Non Non Oui Oui Non Non Non Non Non Oui Non Oui Oui Non Oui Non 0,17 ms E/S intégrées sur les UC CJ1M : 0,12 ms Pas d'adresse utilisateur (paramétrage possible uniquement à partir d'un périphérique de programmation, y compris une console de programmation) Carte d'E/S spéciales C200H : 1 ms E/S série CJ : 0,1 ms Pas d'adresse utilisateur (paramétrage possible uniquement à partir d'un périphérique de programmation, y compris une console de programmation) 1 ms --- Env. 0,1 ms Affectation de zone DM fixe : DM 6600 à DM 6655, DM 6550 à DM 6559. Paramétrage possible à partir d'une console de programmation. Pas d'adresse utilisateur (paramétrage possible uniquement à partir d'un périphérique de programmation, y compris en partie à partir d'une console de programmation) Affectation de zone DM fixe : DM 6600 à DM 6655. Paramétrage possible à partir d'une console de programmation. 361 Annexe A Tableaux de comparaison des API Elément PaE/S ramètres initiaux Mémoire Instructions Mémoire de fichier Interruptions 362 Temps de réponse des entrées des cartes d'E/S Premières adresses de rack Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H Défini dans la configuration de l'API Défini dans la configuration de l'API Non Défini dans la table d'E/S à partir d'un périphérique de programmation (mais l'ordre des numéros de rack est fixe). Non Défini dans la table d'E/S à partir d'un périphérique de programmation (mais l'ordre des numéros de rack est fixe). Non Non Défini dans la configuration de l'API Défini dans la con- Non figuration de l'API (possibilité de définir les numéros des racks.) Non Défini dans la con- Non figuration de l'API Non Non Défini dans la con- Non figuration de l'API Défini sur l'interrupteur DIP Défini sur l'interrupteur DIP Déterminé par la valeur de l'interrupteur clé Défini dans la configuration de l'API Défini dans la configuration de l'API Première adresse des cartes d'E/S optiques SYSMAC BUS par maître Non Fonctionnement de l'erreur de vérification d'E/S Protection de la mémoire Défini sur l'interruputilisateur teur DIP Non Défini sur l'interrupteur DIP Zones avec maintien Non Non Non Maintien des mots E/S en cas d'erreur fatale (excepté les coupures d'alimentation) Mémoire sauvegardée grâce au bit de maintien IOM lors de la mise sous tension de l'API Mémoire sauvegardée grâce au bit de maintien de l'état forcé lors de la mise sous tension de l'API Surveillance de l'état de l'interrupteur DIP Paramétrage des données DM indirectes en données BCD ou binaires Utilisation répétée de l'instruction JMP(0) Fonctionnement en cas d'erreurs d'instruction (continue ou s'arrête) Exécution en arrière plan Non Non Non Défini dans la configuration de l'API Défini dans la configuration de l'API Défini dans la configuration de l'API Défini dans la con- Défini dans la figuration de l'API configuration de l'API Défini dans la configuration de l'API Défini dans la configuration de l'API Défini dans la configuration de l'API Défini dans la con- Défini dans la figuration de l'API configuration de l'API Oui Oui Oui Non Entrée directe possible Entrée directe possible Non Défini dans la con- Non figuration de l'API Utilisation répétée déjà possible Défini dans la configuration de l'API Utilisation répétée déjà possible Défini dans la configuration de l'API Non Non Défini dans la con- Non figuration de l'API Non Non CJ1 : Non CJ1-H : Oui CJ1M : Oui Transfert automatique au Déterminé par le démarrage réglage de l'interrupteur DIP (lu automatiquement à partir de la carte mémoire) CS1 : Non CS1-H : Oui Non Non Non Déterminé par le réglage de l'interrupteur DIP (lu automatiquement à partir de la carte mémoire) Déterminé par le réglage de l'interrupteur DIP (lu automatiquement à partir de la cassette Mémoire) Déterminé par le réglage de l'interrupteur DIP (lu automatiquement à partir de la carte mémoire) Conversion en fichier EM Défini dans la configuration de l'API Réponse suite à l'interNon ruption Défini dans la configuration de l'API Non Non Déterminé dans la configuration de l'API ou par le réglage de l'interrupteur DIP (lu automatiquement à partir de la carte mémoire) Non Détection d'erreur Défini dans la configuration de l'API Défini dans la configuration de l'API Maintien des interruptions d'E/S pendant l'exécution du programme d'interruption d'E/S Activation/désactivation de l'interruption de l'alimentation Paramétrage de l'intervalle d'interruption programmée Non Non Défini dans la configuration de l'API Défini dans la configuration de l'API Défini dans la confiDéfini dans la configuration de l'API guration de l'API (10 ms, 1 ms) (égale- (10 ms, 1 ms) ment 0,1 ms pour l'UC CJ1M uniquement) Non Non Oui Non Défini dans la Non Non configuration de l'API (C200H/ Réponse rapide) Défini dans la Non Non configuration de l'API Non Défini dans la con- Non figuration de l'API Non Défini dans la con- Non figuration de l'API Défini dans la configuration de l'API Défini dans la con- Non figuration de l'API (10 ms, 1 ms, 0,5 ms) Annexe A Tableaux de comparaison des API Elément Confi- Aligura- mentions tation initiales (suite) Redémarrage du bit de continuation Mode de démarrage Série CJ Série CS C200HX/HG/HE Série CVM1/CV Non Non Non Défini dans la configuration de l'API Défini dans la configuration de l'API CS1 : Non CS1-H : Oui Trace au démarrage CJ1 : Non CJ1-H : Oui CJ1M : Oui Non Défini dans la configuration de l'API Non Non Non Détection de tension faible de la batterie Défini dans la configuration de l'API Défini dans la configuration de l'API Défini dans la configuration de l'API Non Paramètres des conditions au démarrage Temps d'interruption d'ali- Non mentation momentanée Temps de retard de la Défini dans la confidétection de la mise hors guration de l'API tension Interruption d'alimentation momentanée considérée comme erreur fatale/non-fatale Cycles Mise à jour d'E/S Non Défini dans la configuration de l'API Non Non Non Non CQM1H Défini dans la con- Non figuration de l'API Défini dans la con- Défini dans la figuration de l'API configuration de l'API Non Non Défini dans la con- Non figuration de l'API Défini dans la con- Défini dans la figuration de l'API configuration de l'API Défini dans la con- Non figuration de l'API Non Non Défini dans la configuration de l'API (Temps pendant lequel le fonctionnement se poursuivra après la détection de la mise hors tension) Non Défini dans la con- Non figuration de l'API Défini dans la configuration de l'API (cartes d'E/S spéciales uniquement) Temps de cycle constant Défini dans la confiDéfini dans la confiDéfini dans la guration de l'API guration de l'API configuration (1 à 32 000 ms) (1 à 32 000 ms) de l'API (1 à 9 999 ms) Contrôle du temps de Défini dans la confiDéfini dans la confiDéfini dans la cycle guration de l'API (10 à guration de l'API (10 à configuration de 40 000 ms) (paramè- 40 000 ms) (paramè- l'API (0 à 99 ms) tre initial : 1 000 ms tre initial : 1 000 ms Carte : 1 s, fixes) fixes) 10 ms, 100 ms (paramètre initial : 120 ms fixes) Désactivation de la Non Non Défini dans la détection du dépasseconfiguration de ment de cycle l'API Non Non Non Exécution asynchrone des instructions et périphérique de service Com- Paramètres de communi- Réglage de l'interrup- Réglage de l'interrup- Réglage de muni- cations du port RS-232C teur DIP sur la détec- teur DIP sur la détec- l'interrupteur DIP cation automatique ou tion automatique ou sur les valeurs tions la configuration de la configuration de par défaut ou la série l'API l'API configuration de l'API Paramètres de communi- Défini dans la confiDéfini dans la confiConfiguration de cations du port périphéri- guration de l'API guration de l'API l'API que Paramétrage des comNon Non Configuration de munications de la carte l'API de communications Mode Modes de traitement CJ1 : Non CS1 : Non Non de trai- parallèle CJ1-H : Oui CS1-H : Oui tement CJ1M : Non UC Mode prioritaire du traite- Oui Oui Non ment des périphériques Autres Temps de traitement Défini dans la confiDéfini dans la confiDéfini dans la périguration de l'API guration de l'API configuration de phéri(Temps fixe de traite- (Temps fixe de traite- l'API ques ment des périphériment des périphéri(Port RS-232C de ques) ques) intégré, carte de sercommunications, vice port périphérique) Mesure de l'intervalle de Non Non Non traitement de la carte réseau Arrêt de la mise à jour Défini dans la confiDéfini dans la confiDéfini dans la cyclique des cartes d'E/S guration de l'API guration de l'API configuration de spéciales l'API Application de liaison de Non Non Non la carte réseau Défini dans la con- Non figuration de l'API Défini dans la con- Défini dans la figuration de l'API configuration (1 à 32 000 ms) de l'API (1 à 9 999 ms) Défini dans la con- Défini dans la figuration de l'API configuration de (10 à 40 000 ms) l'API (0 à 99 ms) (paramètre initial : Carte : 1 s, 1 000 ms fixes) 10 ms, 100 ms (paramètre initial : 120 ms fixes) Non Défini dans la configuration de l'API Défini dans la con- Non figuration de l'API Réglage de l'interrupteur DIP sur les valeurs par défaut ou la configuration de l'API Défini sur l'interrupteur DIP. Non Réglage de l'interrupteur DIP sur les valeurs par défaut ou la configuration de l'API Défini dans la configuration de l'API Configuration de l'API Non Non Non Non Non Défini dans la configuration de l'API (Port RS-232C intégré, carte de communications, port périphérique) Défini dans la con- Non figuration de l'API Non Non Défini dans la con- Non figuration de l'API 363 Annexe A Tableaux de comparaison des API Elément Configurations initiales (suite) Zone auxiliaire Série CS C200HX/HG/HE Série CVM1/CV CQM1H CS1 : défini sur l'inter- Défini sur l'interrupteur DIP rupteur DIP CS1-H : défini à partir de la console de programmation Non Défini sur l'interrupteur DIP Non (fixe) Non (fixe : DM 6001 à DM6030) Non Défini dans la con- Non (fixe : figuration de l'API DM 6569 à DM 6599) Non Non Non-consignation des erreurs FAL dues à l'utilisateur dans le journal d'erreurs. UC mise en attente CJ1 : Non CJ1-H : Oui CJ1M : Oui CS1 : Non CS1-H : Oui Non Non Non Défini dans la con- Non figuration de l'API Drapeau ER, CY, <, >, =, Toujours ON/OFF, etc. Impulsions de temporisation Entrée à l'aide des symboles, ex., ER. Entrée à l'aide des symboles, ex., 0,1 s. Entrée à l'aide des symboles, ex., ER. Entrée à l'aide des symboles, ex., 0,1 s. Oui Oui Oui Oui Oui Oui Bit de désactivation du traitement de l'UC Codes des périphériques connectés Temps de cycle du traitement des périphériques Intervalle de traitement de la carte réseau Activation/désactivation des périphériques connectés à l'UC Bit de désactivation du service Host Link/NT Link Bit de désactivation du périphérique de service Bit de désactivation de la mise à jour programmée Zone de surveillance universelle de la carte interne Dépassement du cycle Drapeau de première tâche Non Non Non Oui Non Non Non Non Oui Non Non Non Non Oui Non Non Non Non Oui Non Non Non Non Oui Non Non Non Non Oui Non Non Non Non Oui Non Non Non Non Oui Non Non Oui Oui Non Oui Oui Oui Oui Oui Débo- Drapeau d'édition en gage ligne désactivée Drapeau d'édition en ligne en attente Bit de sortie OFF Bit de maintien de l'état forcé MéDrapeau d'instruction de moire la mémoire de fichiers de Drapeau d'erreur de forfichier mat de la mémoire du fichier EM Banque de démarrage du format du fichier EM MéDrapeaux de l'état de moire l'interrupteur DIP Oui Oui Oui Non (seulement premier drapeau de scannage) Oui (AR) Oui Non (seulement premier drapeau de scannage) Non Oui Non (seulement premier drapeau de scannage) Non Oui Oui Oui (AR) Non Non Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Non Oui Non Oui (sauf pour les UC Oui CJ1M) Non Non Non Oui (sauf pour les UC Oui CJ1M) Oui (broche 6) Oui (broche 6) Non Non Non Fonctionnement Drapeaux de condition Service Tâches Interruptions 364 Série CJ Con- Langage de la console de Défini sur l'interrupsole programmation teur DIP de programmation Erreurs Zone du journal d'erreurs Non (fixe) Bit de maintien IOM Oui Temps de traitement Oui max. de l'action/sous-programme Drapeau d'erreur des Oui tâches d'interruption Oui Oui Oui (AR, Non broche 6 uniquement) Oui Oui Oui Non Oui Non Oui Oui Non Non Oui (AR, broche 6) Annexe A Tableaux de comparaison des API Elément Série CJ Zone auxiliaire, suite Erreurs Zone/pointeur de la sauvegarde du journal d'erreurs Codes d'erreur Para- Initialisation de la confimètres guration de l'API initiaux Com- Drapeaux de niveau de muni- fonctionnement de la caliaison API tions AliDrapeau d'interruption men- d'alimentation tation Heure de l'interruption d'alimentation Heure de la mise sous tension Heure de l'interruption d'alimentation (y compris la mise hors tension) Nombre d'interruptions momentanées d'alimentation Temps total de l'alimentation sous tension Méthodes Format d'affectation Série CS C200HX/HG/HE Série CVM1/CV CQM1H Oui Oui Non Oui Non Oui Non Oui Non Oui Oui Oui Non Oui Oui Oui (bit de la zone auxiliaire de liaison API) Oui (bit de la zone auxiliaire de liaison API) Oui (AR) Non Non Non Non Non Oui Non Non Non Non Oui Non Oui Oui Non Oui Non Oui Oui Non Oui Oui Oui (Nombre d'interruptions d'alimentation) Oui Oui (Nombre d'interruptions d'alimentation) Oui Oui (Nombre d'interruptions d'alimentation) Non Oui Oui (Nombre d'interruptions d'alimentation) Non L'affectation est basée sur le nombre de mots nécessaires à la connexion de la carte. L'affectation est basée sur le nombre de mots nécessaires pour la carte et les emplacements vides sont ignorés. Affectation de mots fixe : un mot est affecté automatiquement à chaque carte Affectation de cartes d'E/S haute densité groupe 2 Aucune Comme pour les E/S Méthode de réservation des mots Changement de la Changement de la table d'E/S à partir de table d'E/S à partir de CX-Programmer CX-Programmer Affecta- Zone CIO tion d'une carte d'E/S spéciales Affectation dans une zone de cartes d'E/S spéciales en fonction du nombre de cartes. 10 mots par carte pour un total de 96 cartes. Affectation dans une zone de cartes d'E/S spéciales en fonction du nombre de cartes. 10 mots par carte pour un total de 96 cartes. Zone DM Affectation entre D20000 et D29599 en fonction du nombre de cartes, 100 mots par carte pour un total de 96 cartes. Affectation entre D20000 et D29599 en fonction du nombre de cartes, 100 mots par carte pour un total de 96 cartes. Carte Zone CIO réseau/ affectation des cartes réseau Affectation dans une zone de cartes réseau en fonction du nombre de cartes. 25 mots par carte pour un total de 16 cartes. Affectation dans une zone de cartes réseau en fonction du nombre de cartes. 25 mots par carte pour un total de 16 cartes. Zone d'affectation groupe 2 dans la zone IR (emplacement déterminé par l'interrupteur du panneau avant) Création de la table d'E/S avec des emplacements vides ou changement de la table d'E/S à partir de CX-Programmer. Affectation dans une zone de cartes d'E/S spéciales (zone IR) en fonction du nombre de cartes. 10 mots par carte pour un total de 16 cartes. Affectation entre DM 1000 et DM 1999, et entre DM 2000 et DM 2599, 100 mots par carte pour un total de 16 cartes. Aucune Zone DM Affectation entre D30000 et D39599 en fonction du nombre de cartes. 100 mots par carte pour un total de 16 cartes. Affectation entre Aucune D30000 et D39599 en fonction du nombre de cartes. 100 mots par carte pour un total de 16 cartes. Non L'affectation est basée sur le nombre de mots nécessaires pour la carte et les emplacements vides sont passés. Aucune L'affectation est basée sur le nombre de mots nécessaires à la connexion de la carte. Aucune Carte d'E/S factice Affectation autoou changement de matique au la table d'E/S à démarrage l'aide de CX-Programmer. Idem que pour les cartes d'E/S spéciales ; 2 ou 4 mots affectés dans une zone d'E/S (différent pour chaque carte) Idem que pour les cartes d'E/S spéciales ; 1, 2 ou 4 mots affectés dans une zone d'E/S (différent pour chaque carte) Aucune Aucune Affectation dans Aucune une zone de cartes réseau en fonction du nombre de cartes. 25 mots par carte pour un total de 16 cartes. Affectation entre Aucune D02000 et D03599 en fonction du nombre de cartes. 100 mots par carte pour un total de 16 cartes. 365 Annexe A Tableaux de comparaison des API Elément Mémoire E/S Série CJ CQM1H Oui Oui Oui Oui Non Oui Oui Non Oui Oui Non Oui Oui Non Oui (Zone de liaison de données) Oui Non Oui (Zone de liaison de données) Oui Non Non Oui Oui Oui Zone des cartes d'E/S spéciales C200H Zone d'E/S intégrées Oui Oui Oui Oui Oui (Zone de liaison de données) Oui (Zone CIO) Non Non Non Non Non Non Non Non Non Non Oui Oui (les adresses contenant le numéro de banque peuvent être choisies) Oui Oui (les adresses peuvent être choisies pour -Z, mais pas les banques) Oui Oui (pas de banque) Oui Oui Oui Oui Oui (l'adresse contenant la banque ne peut pas être choisie ; la banque doivent être modifiée. Carte EM obligatoire.) Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Non Non Oui Non Oui Oui Oui Oui Non Non Non Non Aucune Oui Non Non Non Non Oui (Drapeau) Non Non Non Oui (Drapeau) Oui Non Oui Oui (Drapeau) Non Non Non Oui (Drapeau) Oui Non Non Oui (Drapeau) Non Non Oui (spécifié par @) Non Non Oui (spécifié par @) Non Non Oui (spécifié par @) Non Non Oui (spécifié par @) Oui (spécifié par %) Oui (spécifié par %) Oui (spécifié par !) Oui (spécifié par !) Non (remplacé par l'instruction DIFD) Non (remplacé par l'instruction IORF) Oui (0 à 9999) Non Non Oui (spécifié par ↑) Oui (spécifié par ↓) Oui (spécifié par !) Non (obtenu avec IORF) Oui (0 à 9999) Oui (0000 à 9999) Utilisation de l'astérisque. Non Zone temporisation/ compteur Registres d'index Registres de données Zone CIO Zones de con- Zone WR figuraZone de maintion/ tien réinitialiZone auxiliaire sation forcée Zone SR Zone de liaison Temporisation/ compteurs Zone DM Zone EM Adresses indi- Différenciation vers le haut (exécutée une rectes/variations seule fois) d'instructions Différenciation vers le bas (exécutée une seule fois) Mise à jour immédiate Adres- Mode BCD sage indirect de DM/ EM Mode binaire 366 C200HX/HG/HE Série CVM1/CV Oui Oui Oui Oui (UC CJ1M avec E/S intégrées uniquement.) Zone de liaison API série Oui (UC CJ1M uniquement) Zone DM Oui Zone mémoire de donOui (les adresses nées étendue (EM) contenant le numéro de banque peuvent être choisies) (pas de prise en charge pour l'UC CJ1M) Méthodes d'affectation Série CS Zone CIO Zone WR Zone de relais temporaires Zone auxiliaire Zone SR Zone de liaison Oui (0000 à 9999) Oui (0000 à 9999) Utilisation de l'astéris- Utilisation de l'astérisque. que. Oui (0000 à 32 767) Utilisation de @. 0000 à 7FFF hex. : de 0000 à 31767 8000 à FFFF hex. : 00000 à 32 767 dans la banque suivante Configuration du premier Oui (pour toutes les mot d'un rack UC) Configuration du premier UC pré-ver. 2.0 : mot d'un emplacement voir remarque. UC ver. 2.0 ou supérieure : Oui Oui (0000 à 32 767) Non Utilisation de @. 0000 à 7FFF hex. : de 0000 à 31 767 8000 à FFFF hex. : 00000 à 32 767 dans la banque suivante Oui (pour toutes les Non UC) UC pré-ver. 2.0 : Non voir remarque. UC ver. 2.0 ou supérieure : Oui Oui, mais uniquement pour l'adressage indirect à l'aide des adresses mémoire de l'API. Non (obtenu avec DIFD) Non Non Non Non Annexe A Tableaux de comparaison des API Elément Série CJ Connexions en ligne par les réseaux sans Avec affectation autocréation de tables d'E/S matique d'E/S au démarrage : Oui (pour toutes les UC) Pour le fonctionnement manuel UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Utilisation de différents niveaux de UC pré-ver. 2.0 : réseaux 3 niveaux UC ver. 2.0 ou supérieure : 8 niveaux Connexions en ligne aux API via les IHM UC pré-ver. 2.0 : Non série NS UC ver. 2.0 ou supérieure : Oui Protection des UC contre l'écriture avec UC pré-ver. 2.0 : Non des commandes FINS envoyées par UC ver. 2.0 ou réseau supérieure : Oui Téléchargement de tâches individuelles UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Protection en Tout le programme UC pré-ver. 2.0 : Non lecture grâce utilisateur UC ver. 2.0 ou aux mots de supérieure : Oui passe Tâches spécifiques UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non Activation/désactivation de la création de fichiers UC ver. 2.0 ou programmes de la supérieure : Oui mémoire de fichiers Protection du proUC pré-ver. 2.0 : Non gramme en écriture UC ver. 2.0 ou supérieure : Oui Transfert automatique à la mise sous ten- UC pré-ver. 2.0 : Non sion sans fichier de paramètres (.STD) UC ver. 2.0 ou supérieure : Oui Série CS C200HX/HG/HE Série CVM1/CV CQM1H UC pré-ver. 2.0 : Non Non UC ver. 2.0 ou supérieure : Oui Non Oui, mais pour Controller Link uniquement UC pré-ver. 2.0 : 3 niveaux UC ver. 2.0 ou supérieure : 8 niveaux UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Non Oui, pour 3 niveaux Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non Non UC pré-ver. 2.0 : Non Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non Non UC ver. 2.0 ou supérieure : Oui Non Non Non Non Remarque Pour les UC fabriquées après le 1 juin 2002 (numéros de lot 020601@@@@ ou postérieur), il est possible de définir jusqu'à huit adresses d'emplacement. 367 Annexe A Tableaux de comparaison des API Comparaison des instructions Elément Instructions d'entrée de séquence Instructions de sortie de séquence Instructions de contrôle de séquence 368 Mnémonique Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H LOAD/AND/OR LD/AND/ OR Oui Oui Oui Oui Oui AND LOAD/OR LOAD AND LD/ OR LD Oui Oui Oui Oui Oui NOT NOT Oui Oui Oui Oui Non CONDITION ON UP Oui Oui Non Oui (*1) Non CONDITION OFF DOWN Oui Oui Non Oui (*1) BIT TEST TST/ TSTN Oui (emplacement du bit donné en binaire : 0000 à 000F hex..) Oui (emplaceOui (emplaceOui (emplacement du bit donné ment du bit donné ment du bit donné en binaire : en BCD.) (*2) en BCD.) (*1) 0000 à 000F hex..) OUTPUT OUT Oui Oui Oui Oui Oui TR TR Oui Oui Oui Oui Oui Non Non KEEP KEEP Oui Oui Oui Oui Oui DIFFERENTIATE UP/DOWN DIFU/ DIFD Oui (LD↑, AND↑, OR↑) (LD↓, AND↓, OR↓) Oui (LD↑, AND↑, OR↑) (LD↓, AND↓, OR↓) Oui (DIFU/DIFD) Oui (LD↑, AND↑, OR↑)/ (LD↓, AND↓, OR↓) Oui (DIFU/DIFD) SET et RESET SET/ RSET Oui Oui Oui Oui Oui MULTIPLE BIT SET/ SETA/ RESET RSTA Oui (bit de début et nombre de bits spécifiés en binaire.) Oui (bit de début et nombre de bits spécifiés en binaire.) Non (*1) (Bit de début et nombre de bits spécifiés en données BCD.) Non SINGLE BIT SET/ RESET SET/ RSTB CJ1 : Non CJ1-H : Oui CJ1M : Oui CS1 : Non CS1-H : Oui Non Non Non SINGLE BIT OUTPUT OUTB CJ1 : Non CJ1-H : Oui CJ1M : Oui CS1 : Non CS1-H : Oui Non Non Non END/NO OPERATION END/NOP Oui Oui Oui Oui Oui INTERLOCK/ INTERLOCK CLEAR IL/ILC Oui Oui Oui Oui Oui Plusieurs instructions de verrouillage MILH/ MILR/ MILC UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Non Non Non JUMP/JUMP END JMP/JME Oui (numéro du saut donné en BCD : 0 à 1023) Oui (numéro du saut donné en BCD : 0 à 1023) Oui (numéro du saut donné en BCD : 0 à 99.) Oui (numéro du saut donné en BCD : 0 à 999.) Oui (numéro du saut donné en BCD : 0 à 99.) CONDITIONAL JUMP CJP/ CJPN Oui (numéro du saut donné en BCD : 0 à 1023.) Oui (numéro du saut donné en BCD : 0 à 1023.) Non Oui (numéro du saut donné en BCD : 0 à 999.) (*1) Non MULTIPLE JUMP/ JUMP END JMP0/ JME0 Oui Oui Non Non (mais il est possible, dans la configuration de l'API, d'autoriser plusieurs sauts avec le numéro de saut 0) Non FOR/NEXT LOOPS FOR/ NEXT Oui Oui Non Non Non BREAK LOOP BREAK Oui Oui Non Non Non Annexe A Tableaux de comparaison des API Elément InstrucTIMER tions de temporisation et de compteur HIGH-SPEED TIMER ONE-MS TIMER ACCUMULATIVE TIMER LONG TIMER MULTI-OUTPUT TIMER COUNTER REVERSIBLE COUNTER RESET TIMER/ COUNTER Mnémonique Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H TIM (BCD) Oui Oui Oui Oui Oui TIMX (binaire) Oui (*4) Oui (*4) Non Non Non TIMH (BCD) Oui Oui Oui Oui Oui TIMHX (binaire) Oui (*4) Oui (*4) Non Non Non TMHH (BCD) Oui Oui Non Non Non TMHHX (binaire) Oui (*4) Oui (*4) Non Non Non TTIM (BCD) Oui Oui Oui Oui Oui TTIMX (binaire) Oui (*4) Oui (*4) Non Non Non TIML (BCD) Oui Oui Non Oui Non TIMLX (binaire) Oui (*4) Oui (*4) Non Non Non MTIM (BCD) Oui Oui Non Oui Non MTIMX (binaire) Oui (*4) Oui (*4) Non Non Non CNT (BCD) Oui Oui Oui Oui Oui CNTX (binaire) Oui (*4) Oui (*4) Non Non Non CNTR (BCD) Oui Oui Oui Oui Oui CNTRX (binaire) Oui (*4) Oui (*4) Non Non Non CNR (BCD) Oui (seulement réinitialisation de la temporisation ou du compteur.) Oui (seulement réinitialisation de la temporisation ou du compteur.) Non Oui (remet égale- Non ment à zéro la plage spécifiée dans la zone CIO.) CNRX (binaire) Oui (*4) Oui (*4) Non Non Non 369 Annexe A Tableaux de comparaison des API Elément Instructions de comparaison Comparaison des symboles Mnémonique =, <, etc. Série CS C200HX/HG/HE Série CVM1/CV CQM1H Oui (tous pris en charge pour les instructions LD, OR et AND) Oui (tous pris en charge pour les instructions LD, OR et AND) Oui (*2) (pris en charge pour AND uniquement) Oui (*1) (pris en charge pour AND uniquement) Non Instructions de com- =DT, <DT, paraison des etc. données UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Non Non Non COMPARE/ DOUBLE COMPARE CMP/ CMPL Oui Oui Oui Oui (*3) Oui SIGNED BINARY COMPARE/ DOUBLE SIGNED BINARY COMPARE CPS/ CPSL Oui Oui Oui Oui (*1) Oui BLOCK COMPARE BCMP Oui Oui Oui Oui Oui Oui (UC CJ1M et UC CJ1-H ver. 2.0 uniquement) Oui (UC CJ1-H/ CS1D ver. 2.0 uniquement) Non Non Non EXTENDED BLOCK BCMP2 COMPARE 370 Série CJ TABLE COMPARE TCMP Oui Oui Oui Oui Oui MULTIPLE COMPARE MCMP Oui Oui Oui Oui Oui EQUALS EQU Non Non Non Oui Non AREA RANGE COMPARE ZCP/ ZCPL CJ1 : Non (obtenu grâce aux instructions de comparaison) CJ1-H : Oui CJ1M : Oui CS1 : Non (obtenu grâce aux instructions de comparaison) CS1-H : Oui Oui Non Non (obtenu grâce aux instructions de comparaison) Annexe A Tableaux de comparaison des API Elément Instructions de déplacement de données Mnémonique Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H MOVE MOV Oui Oui Oui Oui Oui DOUBLE MOVE (déplacement double) MOVL Oui Oui Non Oui Non MOVE NOT MVN Oui Oui Oui Oui Oui DOUBLE MOVE (déplacement double) MVNL Oui Oui Non Oui Non DATA EXCHANGE XCHG Oui Oui Oui Oui Oui DOUBLE DATA EXCHANGE (échange de données doubles) XCGL Oui Oui Non Oui Non MOVE QUICK MOVQ Non Non Non Oui Non Oui (nombre de mots à transférer exprimé en binaire : 0 à 65 535.) Oui (nombre de mots à transférer exprimé en binaire : 0 à 65 535.) Oui (nombre de mots à transférer exprimé en BCD : 0 à 6144.) Oui (nombre de mots à transférer exprimé en BCD : 0 à 9999.) Oui (nombre de mots à transférer exprimé en BCD : 0 à 9999.) BLOCK TRANSFER XFER BLOCK SET BSET Oui Oui Oui Oui Oui MOVE BIT MOVB Oui (emplacements du bit source et du bit de destination exprimés en binaire) Oui (emplacements du bit source et du bit de destination exprimés en binaire) Oui (emplacements du bit source et du bit de destination exprimés en BCD) Oui (emplacements du bit source et du bit de destination exprimés en BCD) Oui (emplacements du bit source et du bit de destination exprimés en BCD) MULTIPLE BIT TRANSFER XFRB Oui Oui Oui Oui (*1) Oui MOVE DIGIT MOVD Oui Oui Oui Oui Oui SINGLE WORD DISTRIBUTE DIST Oui (la fonction d'empilement est possible avec une autre instruction. Valeur de décalage exprimée en binaire : 0 à 65 535.) Oui (la fonction d'empilement est possible avec une autre instruction. Valeur de décalage exprimée en binaire : 0 à 65 535.) Oui (la fonction d'empilement est possible. Valeur de décalage exprimée en BCD : 0 à 8999.) Oui (la fonction d'empilement est possible avec une autre instruction. Valeur de décalage exprimée en BCD : 0 à 9999.) Oui (la fonction d'empilement est possible. Valeur de décalage exprimée en BCD : 0 à 8999.) DATA COLLECT COLL Oui (la fonction d'empilement est possible avec une autre instruction. Valeur de décalage exprimée en binaire : 0 à 65535.) Oui (la fonction d'empilement est possible avec une autre instruction. Valeur de décalage exprimée en binaire : 0 à 65535.) Oui (la fonction d'empilement est possible. Valeur de décalage exprimée en BCD : 0 à 7999.) Oui (la fonction d'empilement est possible avec une autre instruction. Valeur de décalage exprimée en BCD : 0 à 9999.) Oui (la fonction d'empilement est possible. Valeur de décalage exprimée en BCD : 0 à 7999.) EM BLOCK TRANS- BXFR FER BETWEEN BANKS Non (Possible jusqu'à 65 535 mots en effectuant directement l'adressage de la zone EM avec XFER) Non (Possible Non jusqu'à 65 535 mots en effectuant directement l'adressage de la zone EM avec XFER) Oui (*1) Non EM BLOCK TRANSFER XFR2 Non Non Oui Non Non EM BANK TRANSFER BXF2 Non Non Oui Non Non MOVE TO REGISTER (déplacer pour enregistrer) MOVR Oui (aucune adresse spécifiée pour DM/EM indirectes) Oui (aucune adresse spécifiée pour DM/EM indirectes) Non Oui (adresse spé- Non cifiée pour EM/ DM indirectes) Oui Oui Non Non (possible Non pour les drapeaux de fin uniquement avec MOVR) MOVE TIMER/ MOVRW COUNTER PV TO REGISTER (déplacer la valeur actuelle de temporisation/ compteur pour enregistrer) 371 Annexe A Tableaux de comparaison des API Elément Instructions de décalage de données Instructions d'incrémentation et de décrémentation Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H SHIFT REGISTER SFT Oui Oui Oui Oui Oui REVERSIBLE SHIFT REGISTER SFTR Oui Oui Oui Oui Oui ASYNCHRONOUS SHIFT REGISTER ASFT Oui Oui Oui Oui Oui WORD SHIFT WSFT Oui (idem que CV : 3 opérandes Oui (idem que CV : 3 opérandes Oui Oui Oui ARITHMETIC SHIFT LEFT/ ARITHMETIC SHIFT RIGHT ASL/ASR Oui Oui Oui Oui Oui ROTATE LEFT/ ROTATE RIGHT ROL/ROR Oui Oui Oui Oui Oui ONE DIGIT SHIFT LEFT/ONE DIGIT SHIFT RIGHT SLD/SRD Oui Oui Oui Oui Oui SHIFT N-BIT DATA LEFT/SHIFT N-BIT DATA RIGHT NSFR/ NSFL Oui (données de décalage et bit de début spécifiés en binaire.) Oui (données de décalage et bit de début spécifiés en binaire.) Non Oui (données de décalage et bit de début spécifiés en BCD.) (*1) Non SHIFT N-BITS LEFT/SHIFT N-BITS RIGHT/DOUBLE SHIFT N-BITS LEFT/DOUBLE SHIFT NITS RIGHT NASL/ NASR, NSLL/ NSRL Oui (nombre de bits à décaler exprimé en binaire.) Oui (nombre de bits à décaler exprimé en binaire.) Non Oui (nombre de bits à décaler exprimé en BCD.) (*1) Non DOUBLE SHIFT LEFT/DOUBLE SHIFT RIGHT ASLL/ ASRL Oui Oui Non Oui Non DOUBLE ROTATE LEFT/DOUBLE ROTATE RIGHT ROLL/ RORL Oui Oui Non Oui Non ROTATE LEFT WITHOUT CARRY/ ROTATE RIGHT WITHOUT CARRY/ DOUBLE ROTATE LEFT WITHOUT CARRY/DOUBLE ROTATE RIGHT WITHOUT CARRY RLNC/ RRNC, RLNL/ RRNL Oui Oui Non Oui (*1) Non INCREMENT BCD/ DECREMENT BCD ++B/– –B (INC/ DEC) Oui (++B/– –B) Oui (++B/– –B) Oui (INC/DEC) Oui (INC/DEC) Oui (INC/DEC) DOUBLE INCREMENT BCD/DOUBLE DECREMENT BCD ++BL/– – BL (INCL/ DECL) Oui (++BL/– –BL) Oui (++BL/– –BL) Non Oui (INCL/DECL) Non INCREMENT BINARY/ DECREMENT BINARY ++/– – (INCB/ DECB) Oui (CY passe à ON pour les retenues et les emprunts) (++/– –) Oui (CY passe à ON pour les retenues et les emprunts) (++/– –) Non Oui Non DOUBLE INCREMENT BINARY/ DOUBLE DECREMENT BINARY ++L/– –L INBL/ DCBL) Oui (CY passe à ON pour les retenues et les emprunts) (++L/– –L) Oui (CY passe à ON pour les retenues et les emprunts) (++L/– –L) Non Oui Non Oui Oui Oui Oui Oui Instructions mathématiques 372 Mnémonique Annexe A Tableaux de comparaison des API Elément Instructions de conversion Instructions logiques Instructions mathématiques spéciales Mnémonique Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H BCD-TO-BINARY/ DOUBLE BCD-TODOUBLE BINARY BIN/BINL Oui Oui Oui Oui Oui BINARY-TO-BCD/ DOUBLE BINARYTO-DOUBLE BCD BCD/ BCDL Oui Oui Oui Oui Oui 2'S COMPLENEG/ MENT/ DOUBLE 2'S NEGL COMPLEMENT Oui (idem que CV mais UP ne passe pas à ON pour 8000 hex. à la source) Oui (idem que CV mais UP ne passe pas à ON pour 8000 hex. à la source) Oui Oui Oui 16-BIT TO 32-BIT SIGNED BINARY SIGN Oui Oui Non Oui Non DATA DECODER MLPX Oui Oui Oui Oui Oui DATA ENCODER DMPX Oui (idem que CVM1-V2 : Peut spécifier le bit le plus à droite sur ON.) Oui (idem que CVM1-V2 : Peut spécifier le bit le plus à droite sur ON.) Oui (bit le plus à gauche sur ON uniquement.) Oui (CVM1-V2 : Peut spécifier le bit le plus à droite sur ON.) Oui (bit le plus à gauche sur ON uniquement.) ASCII CONVERT ASC Oui Oui Oui Oui Oui ASCII TO HEX HEX Oui Oui Oui Oui (*1) COLUMN TO LINE/ LINE TO COLUMN LINE/ COLM Oui (emplaceOui (emplaceOui (emplaceOui (emplacement du bit spéci- ment du bit spéci- ment du bit donné ment du bit donné fié en binaire.) fié en binaire.) en BCD) en BCD) Oui (emplacement du bit donné en BCD) SIGNED BCD-TOBINARY/DOUBLE SIGNED BCD-TOBINARY BINS/ BISL Oui Oui Non Oui (*1) Non SIGNED BINARYTO-BCD/DOUBLE SIGNED BINARYTO-BCD BCDS/ BDSL Oui Oui Non Oui (*1) Non GRAY CODE CONVERSION GRY UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui (Egalement pris en charge pour le numéro de lot 030201 ou suivants) UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui (Egalement pris en charge pour le numéro de lot 030201 ou suivants) Non Non Non LOGICAL AND/ LOGICAL OR/ EXCLUSIVE OR/ EXCLUSIVE NOR ANDW, ORW, XORW, XNRW Oui Oui Oui Oui Oui DOUBLE LOGICAL AND/DOUBLE LOGICAL OR/DOUBLE EXCLUSIVE OR/DOUBLE EXCLUSIVE NOR ANDL, ORWL, XORL, XNRL Oui Oui Non Oui Non COMPLEMENT/ DOUBLE COMPLEMENT COM/ COML Oui Oui Oui (COM uniquement) Oui Oui (COM uniquement) BCD SQUARE ROOT ROOT Oui Oui Oui Oui Oui BINARY ROOT ROTB Oui Oui Non Oui (*1) Non ARITHMETIC PROCESS APR Oui Oui Oui Oui Oui FLOATING POINT DIVIDE FDIV Oui Oui Oui Oui Non BIT COUNTER BCNT Oui (nombre de mots à compter et résultats du comptage exprimés en binaire : 0 à FFFF hex.) Oui (nombre de mots à compter et résultats du comptage exprimés en binaire : 0 à FFFF hex.) Oui (nombre de mots à compter et résultats du comptage exprimés en BCD : 1 à 6656) Oui (nombre de mots à compter et résultats du comptage exprimés en BCD : 0 à 9999, mais erreur pour 0) Oui (nombre de mots à compter et résultats du comptage exprimés en BCD : 1 à 6656) Oui 373 Annexe A Tableaux de comparaison des API Elément Instructions mathématiques à virgule flottante Instructions de calcul et de conversion à virgule flottante à double précision 374 Mnémonique Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H FLOATING TO 16BIT/32-BIT BIN, 16BIT/32-BIT BIN TO FLOATING FIX/FIXL, FLT/FLTL Oui Oui Non Oui (*1) Oui FLOATING-POINT ADD/FLOATINGPOINT SUBTRACT/ FLOATING-POINT MULTIPLY/FLOATING-POINT DIVIDE +F, –F, *F, /F Oui Oui Non Oui (*1) Oui DEGREES TO RAD, DEG Oui RADIANS/RADIANS TO DEGREES Oui Non Oui (*1) Oui SINE/COSINE/TANGENT/ARC SINE/ ARC TANGENT SIN, COS, Oui TAN, ASIN, ACOS, ATAN Oui Non Oui (*1) Oui SQUARE ROOT SQRT Oui Oui Non Oui (*1) Oui EXPONENT EXP Oui Oui Non Oui (*1) Oui LOGARITHM LOG Oui Oui Non Oui (*1) Oui EXPONENTIAL POWER PWR Oui Oui Non Non Non Comparaison à virgule décimale flottante Exemples : CJ1 : Non =F, <>F CJ1-H : Oui CJ1M : Oui CS1 : Non CS1-H : Oui Non Non Non A virgule décimale flottante en chaîne de texte FSTR, FVAL CJ1 : Non CJ1-H : Oui CJ1M : Oui CS1 : Non CS1-H : Oui Non Non Non Idem que les instructions de calcul et de conversion à virgule flottante à simple précision, ci-dessus Exemple : FIXD CJ1 : Non CJ1-H : Oui CJ1M : Oui CS1 : Non CS1-H : Oui Non Non Non Annexe A Tableaux de comparaison des API Elément Instructions de traitement de données de tableaux Mnémonique Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H SET STACK SSET Oui (quatre mots des informations sur le contrôle des piles. Nombre de mots spécifié en binaire : 5 à 65535) Oui (quatre mots des informations sur le contrôle des piles. Nombre de mots spécifié en binaire : 5 à 65535) Non Oui (quatre mots des informations sur le contrôle des piles. Nombre de mots spécifié en BCD : 3 à 9999) Non PUSH ONTO STACK: PUSH Oui Oui Non Oui Non FIRST IN FIRST OUT FIFO Oui Oui Non Oui Non LAST IN FIRST OUT LIFO Oui Oui Non Oui Non FIND MAXIMUM/ FIND MINIMUM MAX, MIN Oui (deux mots dans le champ des données de contrôle. Longueur de la table exprimée en binaire : 1 à FFFF) Oui (deux mots dans le champ des données de contrôle. Longueur de la table exprimée en binaire : 1 à FFFF) Oui (un mot dans le champ des données de contrôle. Longueur de la table exprimée en BCD : 1 à 999) Oui (un mot dans le champ des données de contrôle. Longueur de la table exprimée en BCD : 1 à 999) Oui (un mot dans le champ des données de contrôle. Longueur de la table exprimée en BCD : 1 à 999) DATA SEARCH SRCH Oui (longueur de la table exprimée en binaire : 1 à FFFF. Adresse mémoire de l'API envoyée vers IR0. Le nombre de correspondances peut être envoyé vers DR0) Oui (longueur de la table exprimée en binaire : 1 à FFFF. Adresse mémoire de l'API envoyée vers IR0. Le nombre de correspondances peut être envoyé vers DR0) Oui (longueur de la table exprimée en BCD : 1 à 6556. Adresse mémoire de l'API envoyée vers C+1. Le nombre de correspondances ne peut être envoyé vers DR0) Oui (longueur de la table exprimée en BCD : 1 à 9999. Adresse mémoire de l'API envoyée vers IR0. Le nombre de correspondances ne peut être envoyé vers DR0) Oui (longueur de la table exprimée en BCD : 1 à 6556. Adresse mémoire de l'API envoyée vers C+1. Le nombre de correspondances ne peut être envoyé vers DR0) FRAME CHECKSUM FCS Oui Oui Oui Non Oui SUM SUM Oui (idem que C200HX/HG/HE : Somme possible pour les octets et les mots.) Oui (idem que C200HX/HG/HE : Somme possible pour les octets et les mots.) Oui (somme possible pour les octets et les mots.) Oui (somme possible pour les mots uniquement.) Oui (somme possible pour les octets et les mots.) SWAP BYTES SWAP Oui (peut être utilisé pour les communications de données et les autres applications.) Oui (peut être uti- Non lisé pour les communications de données et les autres applications.) Non Non DIMENSION RECORD TABLE: DIM Oui Oui Non Non Non SET RECORD LOCATION SETR Oui Oui Non Non Non GET RECORD LOCATION GETR Oui Oui Non Non Non 375 Annexe A Tableaux de comparaison des API Elément Instructions de contrôle de données Instructions de sous-programme Instructions de contrôle de l'interruption 376 Mnémonique Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H SCALING SCL Oui Oui Oui Non Oui SCALING 2 SCL2 Oui Oui Non Non Oui SCALING 3 SCL3 Oui Oui Non Non Oui PID CONTROL PID Oui (La sortie peut passer de 0% à 50% lorsque PV = SV. PID et période d'échantillonnage spécifiés en binaire.) Oui (La sortie peut passer de 0% à 50% lorsque PV = SV. PID et période d'échantillonnage spécifiés en binaire.) Oui (PID et période d'échantillonnage spécifiés en BCD.) Oui (PID et période d'échantillonnage spécifiés en BCD) (*1) Oui (PID et période d'échantillonnage spécifiés en BCD.) PID CONTROL WITH AUTOTUNIG PIDAT CJ1 : Non CJ1-H : Oui CJ1M : Oui CS1 : Non CS1-H : Oui Non Non Non LIMIT CONTROL LMT Oui Oui Non Oui (*1) Non DEAD BAND CONTROL BAND Oui Oui Non Oui (*1) Non DEAD ZONE CONTROL ZONE Oui Oui Non Oui (*1) Non TIME-PROPORTIO- TPO NAL OUTPUT UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Non Non Non AVERAGE AVG Oui (nombre d'analyses spécifié en binaire) Oui (nombre d'analyses spécifié en binaire) Oui (nombre d'analyses spécifié en BCD) Non Oui (nombre d'analyses spécifié en BCD) SUBROUTINE CALL/SUBROUTINE ENTRY/ SUBROUTINE RETURN SBS, Oui (numéro du SBN, RET sous-programme donné en BCD : 0 à 1023) Oui (numéro du sous-programme donné en BCD : 0 à 1023) Oui (numéro du sous-programme donné en BCD : 0 à 255) Oui (numéro du sous-programme donné en BCD : 0 à 999) Oui (numéro du sous-programme donné en BCD : 0 à 255) MACRO MCRO Oui (numéro du sous-programme donné en BCD : 0 à 1023) Oui (numéro du sous-programme donné en BCD : 0 à 1023) Oui (numéro du sous-programme donné en BCD : 0 à 255) Oui (numéro du sous-programme donné en BCD : 0 à 999) (*1) Oui (numéro du sous-programme donné en BCD : 0 à 255) Instructions de sous- GSBS, programmes GSBN, globaux RET CJ1 : Non CJ1-H : Oui CJ1M : Oui CS1 : Non CS1-H : Oui Non Non Non SET INTERRUPT MASK MSKS Oui Oui Non (traitement de toutes les interruptions réalisé avec INT) Oui Non (traitement de toutes les interruptions réalisé avec INT) CLEAR INTERRUPT CLI Oui Oui Non Oui Non READ INTERRUPT MASK: MSKR Oui Oui Non Oui Non DISABLE INTERRUPTS DI Oui Oui Non Non Non ENABLE INTERRUPTS EI Oui Oui Non Non Non ENABLE TIMER STIM Non Non Non Non Oui Annexe A Tableaux de comparaison des API Elément Instructions du compteur à grande vitesse et de la sortie d'impulsions Mnémonique Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H MODE CONTROL INI Oui (*5) Non Non Non Oui PRESENT VALUE READ PRV Oui (*5) Non Non Non Oui COUNTER FREQUENCY CONVERT PRV2 UC CJ1M ver. 2.0 ou supérieure : Oui (*5) CJ1-H (toutes les UC) : Non Non Non Non Non SET COMPARISON TABLE CTBL Oui (*5) Non Non Non Oui SET PULSES PULS Oui (*5) Non Non Non Oui SET FREQUENCY SPED Oui (*5) Non Non Non Oui ACCELERATION CONTROL ACC Oui (*5) Non Non Non Oui POSITION CONTROL PLS2 Oui (*5) Non Non Non Oui ORIGIN SEARCH ORG Oui (*5) Non Non Non Non PWM OUTPUT PWM Oui (*5) Non Non Non Oui Instructions de pas STEP DEFINE et STEP START STEP/ SNXT Oui Oui Oui Oui Oui Instructions des cartes d'E/S I/O REFRESH IORF Oui Oui (utilisé pour les cartes d'E/S haute densité groupe 2 ainsi que pour les cartes d'E/S spéciales. Comprend les fonctionnalités de GROUP-2 HIGH-DENSITY I/O REFRESH (MPRF)) Oui (utilisé pour les cartes d'E/S haute densité groupe 2 C200H ainsi que pour les cartes d'E/S spéciales. Oui Oui 7-SEGMENT DECODER SDEC Oui Oui Oui Oui Oui DIGITAL SWITCH INPUT DSW UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Oui Non Oui TEN KEY INPUT TKY UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Oui Non Oui HEXADECIMAL KEY INPUT HKY UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Oui Non Oui MATRIX INPUT MTR UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Oui Non Non 7-SEGMENT DISPLAY OUTPUT 7SEG UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Oui Non Oui GROUP-2 HIGHDENSITY I/O REFRESH MPRF Non Non Oui Non Non TEN KEY INPUT TKY Non Non Oui Non Oui HEXADECIMAL KEY INPUT HKY Non Non Oui Non Oui DIGITAL SWITCH INPUT DSW Non Non Oui Non Oui MATRIX INPUT MTR Non Non Oui Non Non 7-SEGMENT DISPLAY OUTPUT 7SEG Non Non Oui Non Oui 377 Annexe A Tableaux de comparaison des API Elément Instructions des cartes d'E/S spéciales Instructions de traitement des chaînes de caractères 378 Mnémonique Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H SPECIAL I/O UNIT READ et SPECIAL I/0 UNIT WRITE (I/O READ et I/O WRITE) IORD/ IOWR (READ/ WRIT) IORD/IOWR (jusqu'à 96 cartes. Ne sera plus utilisé pour envoyer des commandes FINS. IORD/IOWR (jusqu'à 96 cartes. Ne sera plus utilisé pour envoyer des commandes FINS. IORD/IOWR READ/WRIT Non I/O READ 2 et I/O WRITE 2 RD2/WR2 Non Non Non Oui (*1) Non MOV STRING MOV$ Oui Oui Non Non Non CONCATENATE STRING +$ Oui Oui Non Non Non GET STRING LEFT LEFT$ Oui Oui Non Non Non GET STRING RIGHT RGHT$ Oui Oui Non Non Non GET STRING MIDDLE MID$ Oui Oui Non Non Non FIND IN STRING FIND$ Oui Oui Non Non Non STRING LENGTH LEN$ Oui Oui Non Non Non REPLACE IN STRING RPLC$ Oui Oui Non Non Non DELETE STRING DEL$ Oui Oui Non Non Non EXCHANGE STRING XCHG$ Oui Oui Non Non Non CLEAR STRING : CLR$ Oui Oui Non Non Non INSERT INTO STRING INS$ Oui Oui Non Non Non Annexe A Tableaux de comparaison des API Elément Instructions de communications série Série CJ Série CS C200HX/HG/HE Série CVM1/CV Oui (nombre d'octets stockés spécifié en binaire) (Utilisé uniquement pour le port RS-232C de l'UC. Ne peut être utilisé pour la carte de communications série, ni pour le port périphérique de l'UC) Oui (nombre d'octets stockés spécifié en binaire) (Utilisé uniquement pour le port RS-232C de l'UC. Ne peut être utilisé pour la carte interne, la carte de communications série, ni pour le port périphérique de l'UC) Oui (nombre d'octets stockés spécifié en BCD) (Utilisé pour le port périphérique, le port RS232C ou la carte de communications de l'UC.) Non Oui (nombre d'octets stockés spécifié en BCD) (Utilisé pour le port périphérique, le port RS232C ou la carte de communications de l'UC.) RECEIVE VIA RXDU SERIAL COMMUNICATIONS UNIT Oui (nombre d'octets stockés spécifié en binaire) (Utilisé uniquement pour la carte de communications série avec la version de carte 1.2 ou supérieure.) Oui (nombre d'octets stockés spécifié en binaire) (Utilisé uniquement pour la carte de communications série avec la version de carte 1.2 ou supérieure.) Non Non Non TRANSMIT Oui (nombre d'octets stockés spécifié en binaire) (Utilisé uniquement pour le port RS-232C de l'UC. Ne peut être utilisé pour la carte de communications série, ni pour le port périphérique de l'UC) (Les communications non demandées ne sont pas possibles grâce à la commande Host Link EX) Oui (nombre d'octets stockés spécifié en binaire) (Utilisé uniquement pour le port RS-232C de l'UC. Ne peut être utilisé pour la carte interne, la carte de communications série, ni pour le port périphérique de l'UC) (Les communications non demandées ne sont pas possibles grâce à la commande Host Link EX) Oui (nombre d'octets stockés spécifié en BCD) (Utilisé pour le port périphérique, le port RS232C ou la carte de communications de l'UC.) (Communications non demandées impossibles grâce à la commande Host Link EX) Non Oui (nombre d'octets stockés spécifié en BCD) (Utilisé pour le port périphérique, le port RS232C ou la carte de communications de l'UC.) (Communications non demandées impossibles grâce à la commande Host Link EX) TRANSMIT VIA TXDU SERIAL COMMUNICATIONS UNIT Oui (nombre d'octets stockés spécifié en binaire) (Utilisé uniquement pour la carte de communications série avec la version de carte 1.2 ou supérieure.) Oui (nombre d'octets stockés spécifié en binaire) (Utilisé uniquement pour la carte de communications série avec la version de carte 1.2 ou supérieure.) Non Non Non CHANGE SERIAL PORT SETUP STUP Oui (10 mots définis) Peut servir pour la carte de communications série. Oui (10 mots défi- Oui (5 mots définis) nis) Peut servir pour la carte de communications série. Non Oui (5 mots définis) PROTOCOL MACRO PMCR Oui (numéro de séquence spécifié en binaire. Quatre opérandes. Peut spécifier l'adresse de la carte de destination et le numéro du port série.) Oui (numéro de séquence spécifié en binaire. Quatre opérandes. Peut spécifier l'adresse de la carte de destination et le numéro du port série.) Oui (numéro de séquence spécifié en BCD. Trois opérandes.) Non Oui (numéro de séquence spécifié en BCD. Trois opérandes.) PCMCIA CARD MACRO CMCR Non Non Oui Non Non RECEIVE Mnémonique RXD TXD CQM1H 379 Annexe A Tableaux de comparaison des API Elément Instructions réseaux Mnémonique Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H Oui (peut être utilisé pour l'ordinateur hôte via les connexions Host Link.) Oui (peut être utilisé pour l'ordinateur hôte via les connexions Host Link.) Oui (peut être utilisé pour l'ordinateur hôte via les connexions Host Link.) NETWORK SEND/ NETWORK RECEIVE SEND/ RECV Oui (peut être utilisé pour l'ordinateur hôte via les connexions Host Link. Ne peut être utilisé pour la carte de communications série, ni pour le port RS232C de l'UC) Oui (peut être utilisé pour l'ordinateur hôte via les connexions Host Link. Ne peut être utilisé pour la carte de communications série, ni pour le port RS232C de l'UC, ni pour la carte interne.) DELIVER COMMAND CMND Oui (peut être utilisé pour l'ordinateur hôte via les connexions Host Link. Ne peut être utilisé pour la carte de communications série, ni pour le port RS232C de l'UC) Oui (peut être uti- Non lisé pour l'ordinateur hôte via les connexions Host Link. Ne peut être utilisé pour la carte de communications série, ni pour le port RS232C de l'UC, ni pour la carte interne.) Oui (peut être utilisé pour l'ordinateur hôte via les connexions Host Link.) Oui (peut être utilisé pour l'ordinateur hôte via les connexions Host Link.) EXPLICIT MESSAGE SEND EXPLT UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Non Non Non EXPLICIT GET ATTRIBUTE EGATR UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Non Non Non EXPLICIT SET ATTRIBUTE ESATR UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Non Non Non EXPLICIT WORD READ ECHRD UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Non Non Non EXPLICIT WORD WRITE ECHWR UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui UC pré-ver. 2.0 : Non UC ver. 2.0 ou supérieure : Oui Non Non Non READ DATA FILE/ WRITE DATA FILE FREAD/ FWRIT Oui Oui Non Oui (FILR/FILW) Non READ PROGRAM FILE FILP Non Non Non Oui Non CHANGE STEP PROGRAM FLSP Non Non Non Oui Non InstrucDISPLAY MEStions d'affi- SAGE chage MSG Oui (messages se terminant par NUL) Oui (messages se terminant par NUL) Oui (messages se terminant par CR) Oui (messages se terminant par CR) Oui (messages se terminant par CR) DISPLAY LONG MESSAGE LMSG Non Non Oui (messages se terminant par CR) Non Non I/O DISPLAY IODP Non Non Non Oui Non TERMINAL MODE TERM Non Non Oui Non Non Instructions de mémoire de fichiers InstrucCALENDAR ADD tions de temporisa- CALENDAR SUBTRACT tion HOURS TO SECONDS Instructions de débogage 380 CADD Oui Oui Non Oui Non CSUB Oui Oui Non Oui Non SEC Oui Oui Oui Oui Oui SECONDS TO HOURS HMS Oui Oui Oui Oui Oui CLOCK ADJUSTMENT DATE Oui Oui Non Oui (*1) Non TRACE MEMORY SAMPLING TRSM Oui Oui Oui Oui Oui MARK TRACE MARK Non Non Non Oui (numéro du marqueur donné en BCD) Non Annexe A Tableaux de comparaison des API Elément Mnémonique Série CJ Série CS C200HX/HG/HE Série CVM1/CV CQM1H FAILURE ALARM/ SEVERE FAILURE ALARM FAL/FALS Oui (messages se terminant par NUL, chaînes de texte sauvegardées dans l'ordre suivant : de l'octet le plus à gauche à l'octet le plus à droite, puis du mot le plus à droite au mot le plus à gauche. Numéro FAL spécifié en binaire.) Oui (messages se terminant par NUL, chaînes de texte sauvegardées dans l'ordre suivant : de l'octet le plus à gauche à l'octet le plus à droite, puis du mot le plus à droite au mot le plus à gauche. Numéro FAL spécifié en binaire.) Oui (messages se terminant par CR, chaînes de texte sauvegardées dans l'ordre suivant : de l'octet le plus à gauche à l'octet le plus à droite, puis du mot le plus à droite au mot le plus à gauche. Numéro FAL spécifié en BCD.) Oui (messages se terminant par CR, chaînes de texte sauvegardées dans l'ordre suivant : de l'octet le plus à gauche à l'octet le plus à droite, puis du mot le plus à droite au mot le plus à gauche. Numéro FAL spécifié en BCD.) Oui (messages se terminant par CR, chaînes de texte sauvegardées dans l'ordre suivant : de l'octet le plus à gauche à l'octet le plus à droite, puis du mot le plus à droite au mot le plus à gauche. Numéro FAL spécifié en BCD.) FAILURE POINT DETECTION FPD Oui (messages se terminant par NUL, chaînes de texte sauvegardées dans l'ordre suivant : de l'octet le plus à gauche à l'octet le plus à droite, puis du mot le plus à droite au mot le plus à gauche. Numéro FAL spécifié en binaire.) Oui (messages se terminant par NUL, chaînes de texte sauvegardées dans l'ordre suivant : de l'octet le plus à gauche à l'octet le plus à droite, puis du mot le plus à droite au mot le plus à gauche. Numéro FAL spécifié en binaire.) Oui (messages se terminant par CR, chaînes de texte sauvegardées dans l'ordre suivant : de l'octet le plus à gauche à l'octet le plus à droite, puis du mot le plus à droite au mot le plus à gauche. Numéro FAL spécifié en BCD.) Oui (messages se terminant par CR, chaînes de texte sauvegardées dans l'ordre suivant : de l'octet le plus à gauche à l'octet le plus à droite, puis du mot le plus à droite au mot le plus à gauche. Numéro FAL spécifié en BCD.) (*1) Oui (messages se terminant par CR, chaînes de texte sauvegardées dans l'ordre suivant : de l'octet le plus à gauche à l'octet le plus à droite, puis du mot le plus à droite au mot le plus à gauche. Numéro FAL spécifié en BCD.) STC/CLC Oui Oui Oui Oui Oui LOAD FLAGS/SAVE CCL, CCS CJ1 : Non FLAGS CJ1-H : Oui CJ1M : Oui CS1 : Non CS1-H : Oui Non Oui Non EXTEND MAXIMUM CYCLE TIME WDT Oui Oui Oui Oui (*1) Oui CYCLE TIME SCAN Non Non Oui Non Non LOAD REGISTER/ SAVE REGISTER REGL, REGS Non Non Non Oui Non SELECT EM BANK : EMBC Oui Oui Oui Oui Non EXPANSION DM READ XDMR Non Non Oui Non Non INDIRECT EM ADDRESSING IEMS Non Non Oui Non Non ENABLE ACCESS/ DISABLE ACCESS IOSP, IORS Non CS1 : Non CS1-H : Oui Non Oui Non Instructions de conversion des adresses CV-CS FRMCV TOCV CJ1 : Non CJ1-H : Oui CJ1M : Oui CS1 : Non CS1-H : Oui Non Non Non Instructions de programmation de bloc BPRG/ BEND, IF/ ELSE/ IEND, WAIT, EXIT, LOOP/ LEND, BPPS/ BPRS, TIMW, CNTW, TMHW Oui Oui Non Oui (*1) Non Instructions de contrôle des tâches TKON/ TKOF Oui Oui Non Non Non Instructions de diagnostic d'erreur Autres ins- SET CARRY/ tructions CLEAR CARRY TASK ON/TASK OFF Remarque *1 : *2 : *3 : *4 : *5 : Pris en charge par CVM1 (V2) uniquement. Pris en charge par les modèles d'UC @@-Z uniquement. Poursuite sur la même exploitation de programme prise en charge par CV1M version 2, Excepté pour les UC CSA et CJ1. UC CJ1M avec E/S intégrées uniquement. Certaines opérandes sont différentes de celles utilisées par CQM1H. 381 Tableaux de comparaison des API 382 Annexe A Annexe B Modifications par rapport aux systèmes Host Link précédents Les systèmes Host Link créés à l'aide des cartes de communications série, série CS/CJ (série CS uniquement) ne sont pas identiques aux systèmes Host Link créés à l'aide des cartes Host Link et des UC des autres séries d'API. Ce chapitre décrit ces différences. Ports RS-232C N'oubliez pas de tenir compte des différences suivantes lorsque vous passez d'un système Host Link existant à un système utilisant un port RS-232C sur une UC série CS/CJ ou des cartes de communications série (série CS uniquement) (CS1H/G-CPU@@ port RS-232C, ports CS1W-SCU21, ports CS1W-SCB21, CS1W-SCB41 port 1 ou CJ1W-SCU41 port 2). Anciens produits Cartes Host Link série C Numéro de modèle 3G2A5-LK201-E C500-LK203 3G2A6-LK201-E C200H-LK201 UC série C SRM1 CPM1 CPM1A CQM1-CPU@@-E C200HS-CPU@@-E C200HX/HG/HECPU@@-E C200HW-COM@@-E Modifications nécessaires pour le produit de la série CS/CJ Câblage Autres Le connecteur est passé d'un Il est nécessaire d'apporter les modifications suivantes pour les systèmes synchronisés avec connecteur à 25 broches à ST1, ST2 et RT. un connecteur à 9 broches. Les transferts synchronisés ne sont plus possibles. Les produits de la série CS/CJ ne prennent pas en Les transmissions bidirectionnelles simultanées charge les signaux ST1, seront possibles avec le produit de la série ST2 et RT ; il n'est donc pas CS/CJ mais il faudra changer soit le programme de nécessaire de les câbler. communication de l'ordinateur hôte, soit le matériel, soit les deux. Il est nécessaire d'apporter les modifications suivantes pour les systèmes qui ne sont pas synchronisés avec ST1, ST2 et RT. Il est possible de continuer à utiliser les programmes de l'ordinateur hôte sans les modifier tant que les paramètres de communication (par exemple, la vitesse de transmission) ne sont pas modifiés. Cependant, il se peut qu'il faille modifier les programmes afin qu'ils acceptent d'autres longueurs de texte dans les trames ou d'autres caractéristiques de commandes CS/CJ. (voir remarque) Le connecteur est passé d'un Il est possible de continuer à utiliser les programmes connecteur à 25 broches à de l'ordinateur hôte sans les modifier tant que les un connecteur à 9 broches. paramètres de communication (par exemple, la vitesse de transmission) ne sont pas modifiés. Cependant, il se peut qu'il faille modifier les programmes afin qu'ils acceptent d'autres longueurs de texte dans les trames ou d'autres caractéristiques de commandes CS/CJ. (voir remarque) Aucun changement au Il est possible de continuer à utiliser les programmes niveau du câblage. de l'ordinateur hôte sans les modifier tant que les paramètres de communication (par exemple, la vitesse de transmission) ne sont pas modifiés. Cependant, il se peut qu'il faille modifier les programmes afin qu'ils acceptent d'autres caractéristiques de commandes CS/CJ. 383 Modifications par rapport aux systèmes Host Link Anciens produits Numéro de modèle UC série CVM1 ou CV CVM1/CV-CPU@@-E Carte Host Link série CVM1 ou CV CV500-LK201 Annexe B Modifications nécessaires pour le produit de la série CS/CJ Câblage Autres Aucun changement au niveau du câblage. Il est possible de continuer à utiliser les programmes de l'ordinateur hôte sans les modifier tant que les paramètres de communication (par exemple, la vitesse de transmission) ne sont pas modifiés. Cependant, il se peut qu'il faille modifier les programmes afin qu'ils acceptent d'autres caractéristiques de commandes CS/CJ. Port 1 : Les modifications suivantes doivent être apporLe connecteur est passé d'un tées pour les transmissions bidirectionnelles à connecteur à 25 broches à l'alternat qui utilisent CD. un connecteur à 9 broches. Vérifiez l'absence de problèmes de temporisation Port 2 défini pour RS-232C : dans le système lors de l'utilisation de SEND, RECV Le signal SG est passé de 7 ou CMND pour lancer des communications à partir à 9 broches. de l'API ou lors de l'envoi de commandes à partir de l'ordinateur hôte. Si nécessaire, passez aux transmissions bidirectionnelles simultanées. Les modifications suivantes doivent être apportées pour les transmissions bidirectionnelles simultanées qui n'utilisent pas CD. Bidirectionnel à l'alternat : il est possible de continuer à utiliser les programmes de l'ordinateur hôte sans les modifier tant que les paramètres de communication (par exemple, la vitesse de transmission) ne sont pas modifiés. Cependant, il se peut qu'il faille modifier les programmes afin qu'ils acceptent d'autres caractéristiques de commandes CS/CJ. Remarque Le nombre de mots pouvant être lus et écrits par trame (c-à-d, les longueurs de texte) avec les commandes en mode C est différent pour les cartes Host Link série C et les cartes de communications série de la série CS/CJ. Il se peut qu'un programme installé sur l'ordinateur hôte précédemment utilisé pour les cartes Host Link série C ne fonctionnent pas correctement si vous les utilisez sur des API série CS/CJ. Vérifiez le programme de l'ordinateur hôte avant de l'utiliser et apportez les corrections nécessaires pour pouvoir gérer différentes longueurs de texte du cadre. Consultez le Manuel de référence des commandes de communications, série CS/CJ (W342) pour plus de détails. Ports RS-422A/485 N'oubliez pas de tenir compte des différences suivantes lorsque vous passez d'un système Host Link existant à un système utilisant un port RS-422A/485 sur une carte de communications série de la série CS (CS1WSCB41 port 2) ou série CJ (CJ1W-SCU41 port 1). Anciens produits Numéro de modèle Cartes Host Link série C 3G2A5-LK201-E C200H-LK202 3G2A6-LK202-E Carte de communications C200HX/HG/ HE C200HW-COM@@-E 384 Modifications nécessaires pour le produit de la série CS/CJ Câblage Autres Les broches des câbles ont Il est possible de continuer à utiliser les été changées de la manière programmes de l'ordinateur hôte sans les suivante : modifier tant que les paramètres de communication (par exemple, la vitesse de SDA : 9 broches à 1 broche SDB : 5 broches à 2 broches transmission) ne sont pas modifiés. Cependant, RDA : 6 broches à 6 broches il se peut qu'il faille modifier les programmes afin qu'ils acceptent d'autres longueurs de texte RDB : 1 broche à 8 broches dans les trames ou d'autres caractéristiques de SG : 3 broches à commandes CS/CJ. (voir remarque) Non connecté FG : 7 broches à la broche Boîtier du connecteur Aucun changement au niveau Il est possible de continuer à utiliser les du câblage. programmes de l'ordinateur hôte sans les modifier tant que les paramètres de communication (par exemple, la vitesse de transmission) ne sont pas modifiés. Cependant, il se peut qu'il faille modifier les programmes afin qu'ils acceptent d'autres caractéristiques de commandes CS/CJ. Modifications par rapport aux systèmes Host Link Anciens produits Annexe B Numéro de modèle Modifications nécessaires pour le produit de la série CS/CJ Câblage Autres UC série CVM1 CVM1/CV-CPU@@-E Aucun changement au niveau Il est possible de continuer à utiliser les ou CV du câblage. programmes de l'ordinateur hôte sans les modifier tant que les paramètres de Carte Host Link CV500-LK201 communication (par exemple, la vitesse de série CVM1 ou transmission) ne sont pas modifiés. Cependant, CV il se peut qu'il faille modifier les programmes afin qu'ils acceptent d'autres caractéristiques de commandes CS/CJ. Remarque Le nombre de mots pouvant être lus et écrits par trame (c-à-d, les longueurs de texte) avec les commandes en mode C est différent pour les cartes Host Link série C et les cartes de communications série des séries CS/CJ. Il se peut qu'un programme installé sur l'ordinateur hôte précédemment utilisé pour les cartes Host Link série C ne fonctionnent pas correctement si vous les utilisez sur des API série CS/CJ. Vérifiez le programme de l'ordinateur hôte avant de l'utiliser et apportez les corrections nécessaires pour pouvoir gérer différentes longueurs de texte du cadre. Consultez le Manuel de référence des commandes de communication, série CS/CJ (W342) pour plus de détails. 385 Index A adressage adresses indirectes, 26–27 adresses mémoire, 24 opérandes, 25 registres d'index, 274 Voir aussi registres d'index affectation d'E/S configuration du premier mot, 345 alarmes alarmes programmées par l'utilisateur, 327 alarmes d'erreur, 327 anciens produits comparaison, 384 API comparaison, 357 API C200HX/HG/HE comparaison, 357 API série CV comparaison, 357 applications mémoire de fichiers, 209 précautions, xxii arrêt à chaud, 315 B batterie compartiment, 2 installation, 2 Bit de maintien IOM, 316 bit de sortie OFF, 352 boucle FOR-NEXT, 60 boucles boucles FOR/NEXT, 60 C capacité du programme, 42 caractères ASCII, 29 carte d'analyse paramètres, 303 carte de communications C200HX/HG/HE modifications des caractéristiques de communication, 384 cartes d'E/S standard instructions des cartes d'E/S standard, 132 temps de réponse d'entrée, 344 cartes de communications C200H, 384 cartes Host Link modifications des caractéristiques de communication, 384 cartes Host Link série C modifications des caractéristiques de communications, 383 cartes interrogées paramètres, 303 Cartes mémoire, 7, 193 précautions, 193 cartes mémoire initialisation, 247 cartes série C modifications des caractéristiques de communication, 384 chaînes de texte instructions de traitement des chaînes de texte, 150 opérandes, 28 commandes FINS liste, 289 mémoire de fichiers, 215 Commandes Host Link, 287 communication messages, 290 communications instructions de communications série, 135 sans protocole, 291 Voir aussi Communications en série communications en série fonctions, 284 communications Host Link, 286 communications sans protocole, 291 comparaison anciens produits, 384 compteurs mode de mise à jour, 305 conditions d'exécution tâches, 164 variations, 34 conditions d'instruction description, 22 configuration Voir aussi installation Configuration de l'API, 7 configuration forcée des bits débogage, 348 Consoles de programmation mémoire de fichiers, 213 constantes opérandes, 28 CX-Programmer, 20 mémoire de fichiers, 213 cyclique, mise à jour, 260 D date réglage de l'horloge, 5 date des paramètres, 321 date du programme utilisateur, 321 387 Index dates programme et paramètres, 320 débogage, 326, 348 instructions de débogage, 141 instructions de diagnostics d'erreurs, 142 démarrage démarrage/arrêt à chaud, 315 transfert de fichiers automatique, 198, 228 démarrage à chaud, 315 détection du point d'erreur, 328 DeviceNet précautions, 327 diagnostic, 326 directives communautaires, xxvi données à virgule flottante instructions à virgule flottante double précision, 115 instructions mathématiques à virgule flottante, 111 données BCD, 30 données binaires non signées, 30 données binaires signées, 30 données de tables traitement, 281 Drapeau d'égalité, 59 drapeau d'erreur de tâche, 173 drapeau d'exécution de la tâche initiale, 172 drapeau de retenue, 59 drapeau inférieur à, 59 drapeau négatif, 59 drapeau supérieur à, 59 drapeaux, 22 drapeaux de condition, 55 drapeaux de condition, 55 utilisation dans les tâches, 170 drapeaux de tâches, 171 E édition en ligne, 350 effacement de la mémoire, 4 entrées à grande vitesse, 259 environnement d'utilisation précautions, xxii erreurs détection du point d'erreur, 328 entrée de programmes, 64 erreur d'accès, 66 erreur d'instruction illégale, 66 erreur de dépassement de la MU, 66 erreur de traitement de l'instruction, 66 erreurs de programmation, 68 erreurs générées par l'utilisateur, 327 fatales, 68 journal d'erreurs, 326 erreurs de programme, 68 388 essais de fonctionnement, 348 état en attente description, 16 état exécutable description, 16 F fichiers de données, 209 fichiers de programmes, 210 flux d'alimentation description, 21 fonction sortie OFF, 327 fonctionnement débogage, 348 essais de fonctionnement, 348 fonctionnement de base, 160 UC, 1 formats de données, 30 H heure réglage de l'horloge, 5 horloge, 318 instructions de temporisation, 140 réglage de l'horloge, 5 I immédiate, mise à jour, 260 initialisation cartes mémoire, 247 mémoire de fichiers EM, 247 mémoire E/S, 10 installation configuration initiale, 2, 5 précautions, xxii instructions boucles, 60 conditions d'exécution, 34 conditions d'instruction, 22 contrôle des tâches, 167 différenciation à l'entrée, 35 emplacements des programmes, 23 en boucle, 22 instructions d'affichage, 140 instructions d'entrée des séquences, 72 instructions d'entrée et de sortie, 21, 23 instructions d'incrémentation, 96 instructions de base, 21 instructions de commande des séquences, 77 instructions de communications série, 135 instructions de comparaison, 85 instructions de compteur, 81 instructions de contrôle des données, 123 Index instructions de contrôle des tâches, 153 instructions de conversion, 102 instructions de débogage, 141 instructions de décalage de données, 92 instructions de décrémentation, 96 instructions de déplacement de données, 89, 154–155 instructions de diagnostics d'erreurs, 142 instructions de mémoire de fichiers, 139 instructions de pas, 132 instructions de programmation de bloc, 144 instructions de sortie des séquences, 74 instructions de sous-programme, 127 instructions de temporisation, 81, 140 instructions de traitement d'interruption, 128 instructions de traitement de données de tableaux, 115, 119 instructions de traitement des chaînes de texte, 150 instructions des cartes d'E/S standard, 132 instructions différenciées, 37 instructions logiques, 108 instructions mathématiques à symboles, 97 instructions mathématiques à virgule flottante, 111 instructions mathématiques spéciales, 110 instructions réseaux, 136 mémoire de fichiers, 217 opérandes, 22 programmes de bloc, 63 registres d'index, 278 restrictions dans les tâches, 170 temporisation, 37 variations, 34 instructions de plage, 281 instructions de table d'enregistrements, 281 instructions différenciées, 37 instructions différenciées par le bas, 35 instructions différenciées par le haut, 35 interruptions, 259 désactivation, 188 priorité des tâches d'interruption, 184 Voir aussiinterruptions externes interruptions d'alimentation désactivation, 317 interruptions d'E/S tâches, 163, 177–180 interruptions de mise hors tension tâches, 162, 177–183 interruptions externes tâches, 163, 178–180, 183 interruptions programmées tâches, 162, 177, 180–181 utilisation comme temporisation, 313 IORF(097), mise à jour, 261 J journal d'erreurs, 326 L Liaisons API série, 299 liaisons API série, 300 configuration de l'API, 303 drapeaux associés, 304 mots affectés, 302 M mathématiques instructions mathématiques à symboles, 97 instructions mathématiques à virgule flottante, 111 instructions mathématiques spéciales, 110 mémoire diagramme des blocs de la mémoire de l'UC, 7 effacement, 4 Voir aussi mémoire de fichiers Voir aussi mémoire E/S Voir aussi mémoire utilisateur mémoire de fichiers, 191 accès aux répertoires, 202 applications, 209, 247 fichiers de paramètres, 210 fichiers de programmes, 210 fonctions, 191 instructions de mémoire de fichiers, 139, 217 noms et types de fichiers, 197 traitement des fichiers, 211 Mémoire de fichiers EM, 193 Voir aussi mémoire de fichiers mémoire de fichiers EM initialisation, 247 opérations, 253 Mémoire E/S, 7 mémoire E/S adressage, 24 initialisation, 10 tâches, 169 mémoire flash, 323 messages, 290 méthode de liaison complète, 300 méthode de liaison de la carte d'analyse, 300 mise à jour IORF(097), 41, 187, 261 mise à jour cyclique, 39, 260 mise à jour d'E/S, 39, 260 mise à jour immédiate, 34, 39, 260 mise à jour cyclique, 39 mise à jour d'E/S, 39 mise à jour de données, 300 389 Index mise à jour immédiate, 34, 39 mise à jour IORF(097), 41 tâches d'interruption, 187 mnémonique, 43 insertion, 47 mode de démarrage, 316 mode de mise à jour, 305 temporisations et compteurs, 305 mode MONITOR description, 9 mode prioritaire du traitement des périphériques, 336 Mode PROGRAM description, 9 mode PROGRAM description, 9 mode RUN description, 9 modes de fonctionnement description, 8 mode de démarrage, 11 N noms de fichiers, 197 O opérandes chaînes de texte, 28 constantes, 28 description, 22 spécification, 25 P paramètres paramètres du démarrage, 315 Voir aussi paramètres des interrupteurs périphériques de programmation fonctionnement pour les tâches, 189 mémoire de fichiers, 211 ports RS-232C modifications par rapport aux produits précédents, 383 ports RS-422A/485 modifications par rapport aux produits précédents, 384 précautions, xix applications, xxii environnement d'utilisation, xxii générales, xx mise à jour E/S, 9 programmation, 55 sécurité, xx tâches d'interruption, 186 précautions en matière de sécurité, xx programmation, 19 390 capacité du programme, 42 conception de tâches, 175 concepts de base, 42 emplacements des instructions, 23 erreurs, 64 exemples, 50 flux d'alimentation, 21 mnémonique, 43 précautions, 55 programmation à distance, 322 programmation pas à pas, 60 restrictions, 62 programmes de bloc, 22, 60 restrictions, 63 programmes et tâches, 12, 20 protection du programme, 319 restrictions, 45 structure du programme, 12, 15, 43 tâches et programmes, 159 transfert du programme, 348 vérification des programmes, 64 Voir aussi programmes de bloc programmation pas à pas, 60 programme Voir aussi programmation programme utilisateur, 6–7 Voir aussi programmation programmes de bloc, 22, 60, 63 instructions de programmation de bloc, 144 rapport avec les tâches, 176 protection en écriture, 319 protection en lecture/écriture, 320 R registres d'index, 27, 274 réinitialisation forcée des bits débogage, 348 répertoires, 202 réseaux instructions réseaux, 136 retard de la détection de mise hors tension, 317 S sauts, 38, 60 sauvegarde de données, 323 sortie RUN, 317 sorties désactivation, 327, 352 sous-programmes, 60 structure du programme, 43 surveillance surveillance à distance, 322 surveillance différenciée, 349 Index T tâches, 12, 157 avantages, 158 caractéristiques, 158 conception, 175 conditions d'exécution, 164 création de tâches, 189 description, 14 drapeaux, 171 état, 16 exécution, 168 exemples, 173 instructions de contrôle des tâches, 153 introduction, 162 limites, 170 numéros de tâche, 169 rapport avec les programmes de bloc, 176 tâches cycliques, 159, 162 Tâches d'interruption, 178 tâches d'interruption, 159, 162 temporisations, 170 temps d'exécution, 18 utilisation des drapeaux de condition, 170 Voir aussitâches cycliques Voir aussitâches d'interruption tâches cycliques, 159, 162 état, 165 état Désactivé (INI), 165 état READY, 165 état RUN, 165 état WAIT, 165 Tâches d'interruption, 177 tâches d'interruption, 159, 162–188 drapeaux et mots associés, 185 précautions, 186 priorité, 184 temporisations, 305 création à l'aide d'interruptions programmées, 313 temps de cycle paramètre, 258 surveillance, 258 temps d'exécution des tâches, 18 temps de cycle minimum, 257 temps de cycle (fixe) minimum, 257 temps de cycle maximum, 258 temps de réponse d'E/S cartes d'E/S standard série CS/CJ, 344 traçage de données, 353 traitement de pile, 279 traitement des périphériques traitement prioritaire, 336 transfert automatique au démarrage, 198, 228 transfert du programme, 348 types de fichiers, 197 U UC capacités, 42 fonctionnement, 1 fonctionnement de base, 160 structure interne, 6 UC CVM1 modifications des caractéristiques de communication, 384–385 UC série CV modifications des caractéristiques de communication, 384–385 unités profils, 322 V verrouillage, 22, 38, 60 virgule décimale flottante, 31 Z Zone de paramètres, 7 zone de paramètres fichiers, 210 zones de données adressage, 24 391 Index 392 Historique des révisions Un code de révision du manuel apparaît sous la forme d'un suffixe à côté du numéro de catalogue, sur la couverture du manuel. Cat. No. W394-FR1-07 Code de révision Le tableau suivant présente les modifications apportées au manuel au cours des différentes révisions. Les numéros de page se rapportent à la version précédente. Code de révision Date 01 02 Avril 2001 Octobre 2001 03 04 05 Contenu de la révision Produit d'origine Ajout d'informations sur les UC série CS et CJ à grande vitesse (CS1G/H-CPU@@H et CJ1G/ H-CPU@@H) dans tout le manuel. Juillet 2002 Informations sur les UC CJ1M ajoutées dans tout le manuel. Un automate programmable est maintenant uniquement désigné par le terme d'API. Les autres changements sont : Pages xvi et xviii : Ajout de Attention. Page xix : Modification de l'élément 2 dans le bas de la page. Page 28 : Modification de la description de la chaîne de texte. Page 167 : Modification de l'exemple de programmation. Pages 168, 169, 265 et 266 : Ajout d'informations sur l'alimentation c.c. Page 179 : Ajout des précautions relatives aux cartes mémoire. Page 229 : Modification de l'illustration. Page 262 : Ajout d'informations sur la méthode de mise à jour des temporisations/compteurs. Page 273 : Ajout des précautions relatives à DeviceNet. Page 301 : Correction de la vitesse de traitement des cartes. Page 304 : Correction du temps de réponse d'interruption. Page 320 : Modification de la prise en charge par CJ1 de IOSP/IORS. Septembre 2002 Informations sur les UC CJ1D ajoutées dans tout le manuel. Les autres changements sont : Page xv : Ajout du paragraphe Attention relatif à la fonction de sauvegarde. Page xvi : Modification du premier Attention et correction de l'Attention relatif aux types d'UC en mode de fonctionnement au démarrage. Page xviii : Ajout d'un Attention relatif au port RS-232C, vers le milieu de la page. Page 6 : Ajout d'informations sur les versions de CX-Programmer. Page 184 : Correction dans le tableau des informations relatives à la carte mémoire. Page 274 : Modification de la plage acceptable pour le nombre de carte maximale, vers le haut de la page. Page 294 : Modification du mot Remarque en Attention et réécriture du paragraphe. Page 303 : Réécriture de la remarque 3. Page 304 : Ajout dans le tableau du milieu. Avril 2003 Page 44 : Réécriture du premier concept de base du schéma contact. Page 45 : Modification des informations de la seconde restriction. Page 46 : Modification des informations de la seconde restriction. Suppression de la sixième restriction. Page 54 : Modification des informations relatives aux équations logiques auxquelles il faut faire attention ou qu'il faut réécrire. Pages 157 et 158 : Modifications dans le tableau des différences entre les tâches cycliques normales et extra. Page 220 : Ajout de la Remarque 5. Page 226 : Modifications des informations concernant les cartes prises en charge. Page 233 : Modifications des informations concernant les interruptions d'alimentation lors de l'accès à la mémoire de fichiers. Page 264 : Ajout d'une remarque. Page 273 : Ajout d'une remarque. Page 276 : Modifications des informations dans les tableaux. Ajout d'une remarque en-dessous du premier tableau et modification de la remarque sous le deuxième tableau. Page 310 : Modification des informations sous le premier tableau concernant CX-Programmer. Page 314 : Ajout d'informations dans le deuxième remarque. Page 326 : Ajout d'informations dans l'étape 1 de la procédure d'enregistrement des données. 393 Historique des révisions 394 Code de révision Date Contenu de la révision 06 Décembre 2003 07 Juillet 2004 Ajout d'informations sur les nouvelles fonctions prises en charge par les nouvelles versions des UC (trop nombreuses à énumérer). Pages xi à xx : Mise à jour des informations PLP Page 72 : Ajout de remarques au-dessus du tableau et ajout des instructions AND NOT et OR NOT. Pages 160, 201, 202, 228, 293 et 320 : Ajout de remarques. Page 189 : Suppression d'informations sur CX-Programmer version 1.0 ou supérieure. Page 191 : Ajout d'informations au-dessus et dans le tableau et ajout d'un nouveau tableau. Pages 197, 199, 216 à 218, 230 et 231 : Ajout d'informations sur le remplacement sans fichier de zone de paramètres. Page 226 : Agrandissement du tableau. Page 294 : Ajout de la section 6-6-8. Pages 337 à 339, 342, 344, 345 et 347 : Ajout de lignes dans le tableau. Page 339 : Ajout d'informations sur BCMP2. Des modifications ont été apportées dans le manuel aux informations sur les nouvelles fonctions prises en charge par la mise à niveau de la version de carte 2.0 vers la version 3.0 des UC série CS/CJ, notamment les modifications suivantes : Page 8 : Graphique modifié. Page 32 : Valeurs modifiées dans les colonnes décimal et hexadécimal pour les binaires signés. Page 137 : Informations ajoutées à l’explication des instructions TXD(236) et RXD(235). Informations sur les nouvelles instructions ajoutées dans les nouvelles sections 3-23 et 3-24. Page 190 : Informations modifiées et ajoutées dans la présentation et le graphique. Modification des informations dans le tableau et ajout de nouvelles informations. Pages 192 et 193 : Informations réorganisées et modifiées dans 5-1-2. Page 194 : Tableaux développés. Page 198 : Tableau développé, suppression et ajout de remarques, ajout d’informations sur les fichiers système du CX-Programmer. Page 202 : « numériques ou caractères » remplacé par « caractères » pour le format des cellules. Page 204 : Tableau modifié et ajout d’une remarque. Page 207 : Ajout d’informations sur les fichiers de tables de symboles et les fichiers de commentaires. Page 228 : Ajout d’informations, y compris des tableaux, sur l’état et la vérification des affectations d’E/S. Ajout d’informations sur la fonction de sauvegarde simple. Page 229 : Ajout d’informations sur les comparaisons de données. Pages 232 et 233 : Mémoire E/S corrigée pour l’UC dans les titres du tableau. Page 233 : Ajout d’un nouveau tableau Page 240 : Ajout d’informations sur l’état et la vérification des affectations d’E/S. Page 277 : Ajout d’informations sur la Passerelle série au tableau. Page 285 : Ajout d’une nouvelle section, 6-3-4, sur la Passerelle série. Pages 345 et 364 : Ajout d’informations au tableau.