▼
Scroll to page 2
of
629
Série SYSMAC CQM1H CQM1H-CPU Manuel de programmation CQM1H- Cartes internes spéciales Manuel de programmation Produit en septembre 1999 iv Avis : Les produits OMRON sont conçus pour être utilisés par un opérateur qualifié, en respectant des procédures appropriées et uniquement dans le cadre de ce qui est précisé dans ce document. Dans ce manuel, les conventions suivantes permettent de spécifier et de classer les précautions. Toujours faire très attention aux informations qui sont données. Le non–respect des précautions stipulées peut entraîner des blessures corporelles ou endommager des biens. ! DANGER Indique une situation dangereuse imminente qui, si elle n’est pas évitée, peut entraîner des blessures graves ou mortelles. ! AVERTISSEMENT Indique une situation potentiellement dangereuse qui, si elle n’est pas évitée, peut provoquer des blessures graves ou mortelles ! Attention Indique une situation potentiellement dangereuse qui, si elle n’est pas évitée, peut provoquer des blessures moins sérieuses ou endommager des biens. Références des produits OMRON Dans ce manuel, tous les noms de produits OMRON sont écrits en majuscules. Le mot “ unité” désigne une produit OMRON, que la désignation de ce produit apparaisse ou non dans le texte. L’abréviation “Ch”, qui figure sur certains affichages et sur certains produits OMRON signifie souvent “ word” (“ mot”) et, dans la documentation, il est souvent remplacé par l’abréviation “Wd”. L’abréviation “API” signifie Automate Programmable Industriel et n’est jamais utilisée comme abréviation d’un autre système, composant ou élément. Aides visuelles Les intitulés suivants apparaissent dans la colonne de gauche du manuel, pour vous aider à trouver différents types d’informations. Rem. Désigne des informations particulièrement intéressantes pour utiliser le produit de façon pratique et efficace. 1, 2, 3... Indique une liste, quelqu’en soit le type, comme des procédures, des checklists, etc. OMRON, 1999 Tous droits réservés. Aucune partie de cette publication ne peut être, stockée dans un système à mémoire ou transmise, sous aucune forme et par aucun moyen mécanique, électronique, photocopie, enregistrement sans l’accord écrit préalable d’OMRON. L’utilisation des informations contenues ci–après ne peut engendrer aucune responsabilité. De plus, dans la mesure où OMRON travaille constamment à l’amélioration de ses produits de haute qualité, les informations contenues dans ce manuel sont soumises à changement sans avis préalable. Toutes les précautions ont été prises dans l’élaboration de ce manuel. Toutefois, OMRON ne peut être tenu responsable des erreurs ou omissions. Les dommages résultant de l’utilisation des informations contenues dans cette publication ne peuvent engendrer aucune responsabilité. v vi TABLE DES MATIERES CONSEILS D’UTILISATION . . . . . . . . . . . . . . . . . . . . . 1 Public visé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Conseils d’utilisation généraux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Conseils d’utilisation de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Conseils d’utilisation relatifs à l’environnement d’exploitation . . . . . . . . . . . . . . . . . . . . . . . 5 Conseils d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Conformité aux directives communautaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 Directives applicables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Conformité aux directives communautaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Méthodes de réduction des parasites des sorties à relais . . . . . . . . . . . . . . . . . . . CHAPITRE 1 Setup de l’API et autres caractéristiques . . . . . . . . . . . . . 1-1 1-2 1-3 1-4 1-5 1-6 1-7 Setup de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1-1 Modification du Setup de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1-2 Paramétrage de la carte de communication série . . . . . . . . . . . . . . . . . . . . . . . . 1-1-3 Paramétrage du Setup de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paramétrage de la carte interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2-1 Paramétrage de la carte de communication série . . . . . . . . . . . . . . . . . . . . . . . . 1-2-2 Paramétrage de la carte du compteur à grande vitesse . . . . . . . . . . . . . . . . . . . . 1-2-3 Paramétrage de la carte de gestion d’axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2-4 Paramétrage de la carte codeur absolu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2-5 Paramétrage de la carte E/S analogiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctionnement de l’API de base et traitements des E/S . . . . . . . . . . . . . . . . . . . . . . . . . 1-3-1 Mode démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3-2 Etat du bit de maintien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3-3 Temps de service du port RS-232C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3-4 Temps de service du port périphérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3-5 Temps de cycle minimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3-6 Constantes du temps d’entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3-7 Temporisations à grande vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3-8 digits d’entrée DSW(87) et méthode de rafraîchissement de sortie . . . . . . . . . . 1-3-9 Paramétrage du port périphérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3-10 Paramétrage du journal d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions d’interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4-1 Types d’interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4-2 Interruptions d’entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4-3 Masquage de toutes les interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4-4 Interruptions de la temporisation cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4-5 Interruptions du compteur à grande vitesse 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4-6 Dépassements positif/négatif du compteur à grande vitesse 0 . . . . . . . . . . . . . . Fonctionnement de la sortie d’impulsions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6-1 Paramétrage de la liaison à l’ordinateur et des communications sans protocole 1-6-2 Procédures et paramétrage des communications de la liaison à l’ordinateur . . . 1-6-3 Procédures et paramétrage de communication sans protocole . . . . . . . . . . . . . . 1-6-4 Liaisons de données inter API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6-5 Communication en mode 1:1 liaison NT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6-6 Câblage des ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calcul avec les données binaires signées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7-1 Définition des données binaires signées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii xiv xiv xiv xvi xvi xx xx xx xx xxi 1 2 2 4 5 10 10 11 12 13 13 14 14 15 15 16 16 16 17 18 19 19 21 21 23 31 32 35 44 46 49 50 52 55 58 60 60 61 61 vii TABLE DES MATIERES 1-7-2 1-7-3 1-7-4 1-7-5 Drapeaux arithmétiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Réception des données binaires signées utilisant des valeurs décimales . . . . . . Utilisation des instructions d’extensions binaires signées . . . . . . . . . . . . . . . . . . Exemple d’application utilisant les données binaires signées . . . . . . . . . . . . . . CHAPITRE 2 Cartes internes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 2-2 2-3 2-4 2-5 2-6 viii Carte du compteur à grande vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1-1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1-2 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1-3 Exemple de configuration du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1-4 Emplacements des cartes internes concernées . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1-5 Noms et fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1-6 Caractéristiques techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1-7 Compteurs à grande vitesse 1 à 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Carte de gestion d’axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2-1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2-2 Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2-3 Configuration du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2-4 Emplacement carte interne concerné . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2-5 Noms et fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2-6 Caractéristiques techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2-7 Compteurs à grande vitesse 1 et 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2-8 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2-9 Sortie d’impulsions à rapport cyclique fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2-10 Sorties d’impulsions à rapport cyclique variable . . . . . . . . . . . . . . . . . . . . . . . . 2-2-11 Détermination de l’état des ports 1 et 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2-12 Précautions d’utilisation des fonctions de la sortie d’impulsions . . . . . . . . . . . . Carte codeur absolu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3-1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3-2 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3-3 Configuration du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3-4 Emplacements concernés de la carte interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3-5 Dénominations et fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3-6 Caractéristiques techniques de l’entrée du codeur absolu . . . . . . . . . . . . . . . . . . 2-3-7 Interruptions du compteur à grande vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Carte de réglage analogique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4-1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4-2 Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4-3 Emplacements concernés de la carte interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4-4 Dénominations et fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4-5 Caractéristiques techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Carte des E/S analogiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5-1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5-2 Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5-3 Configuration du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5-4 Emplacement de la carte interne concerné . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5-5 Dénominations et fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5-6 Caractéristiques techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5-7 Procédure de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cartes de communications série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6-1 Numéro du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6-2 Cartes de communications série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 63 63 64 65 67 67 67 67 68 68 69 72 90 90 90 92 92 92 93 100 111 111 124 127 128 129 129 129 130 130 130 131 133 143 143 143 144 144 144 145 145 145 145 146 146 147 149 149 149 149 TABLE DES MATIERES 2-6-3 2-6-4 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHAPITRE 3 Zones mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 3-2 Structure de la zone mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zone IR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2-1 Zones d’entrée et de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2-2 Zones de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2-3 Attribution des E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2-4 Drapeaux/bits pour une carte interne dans l’emplacement 1 (IR 200 à IR 215) 3-2-5 Drapeaux/bits pour une carte interne dans l’emplacement 2 (IR 232 à IR 243) 3-2-6 Drapeaux/bits pour les unités de communication . . . . . . . . . . . . . . . . . . . . . . . . 3-3 Zone SR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 Zone AR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 Zone HR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 Zone AR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6-1 Drapeaux/bits partagés (AR 00 à AR 04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6-2 Drapeaux/bits pour les cartes internes (AR 05 et AR 06) . . . . . . . . . . . . . . . . . . 3-6-3 Drapeaux/bits partagés (AR 07 à AR 27) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6-4 Utilisation de l’horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Zone LR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Zone temporisation/compteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 Zone DM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 Zone EM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 Utilisation de cassettes mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11-1 Cassettes mémoire et contenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11-2 Capacité de la cassette mémoire et taille du programme . . . . . . . . . . . . . . . . . . 3-11-3 Ecriture dans la cassette mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11-4 Lecture à partir de la cassette mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11-5 Comparaison du contenu de la cassette mémoire . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de cassettes mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHAPITRE 4 Programmation en schéma à contacts . . . . . . . . . . . . . . . 4-1 4-2 4-3 4-4 149 151 153 154 157 157 157 157 163 166 168 169 172 172 173 173 174 175 179 180 181 182 183 183 184 185 186 187 188 155 189 Procédure fondamentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Terminologie de l’instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Bases du schéma à contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 4-3-1 Terminologie fondamentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 4-3-2 Code mnémonique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 4-3-3 Instructions à contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 4-3-4 SORTIE et NON SORTIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 4-3-5 L’instruction FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 4-3-6 Instructions de bloc logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 4-3-7 Codage d’instructions multiples de droite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 4-3-8 Lignes secondaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 4-3-9 Sauts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Commande de l’état des bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 4-4-1 PARAMETRAGE ON et PARAMETRAGE OFF . . . . . . . . . . . . . . . . . . . . . . . . 214 4-4-2 CHANGEMENT D’ETAT FRONT MONTANT et CHANGEMENT D’ETAT FRONT DESCENDANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 4-4-3 CONSERVER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 4-4-4 Bits à auto-maintien (scellement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 ix TABLE DES MATIERES 4-5 4-6 4-7 Bits de travail (relais internes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conseils d’utilisation à la programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exécution du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHAPITRE 5 Ensemble d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 5-2 5-3 5-4 5-5 5-6 5-7 5-8 5-9 5-10 5-11 5-12 5-13 5-14 5-15 5-16 5-17 x 216 219 221 223 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Format d’instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Zones de données, valeurs des données d’opérande et drapeaux . . . . . . . . . . . . . . . . . . . 227 Variantes d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Instructions d’extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Codage des Instructions Right-hand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Tableaux d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 5-7-1 Instructions classées par codes de fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 5-7-2 Instructions d’extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 5-7-3 Liste alphabétique des mnémoniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Instructions de schéma à contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 5-8-1 CHARGER, NON CHARGER, ET, NON ET, OU et NON OU . . . . . . . . . . . . . 239 5-8-2 ET CHARGER et OU CHARGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Instructions de contrôle de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 5-9-1 SORTIE et NON SORTIE – OUT et OUT NOT . . . . . . . . . . . . . . . . . . . . . . . . . 241 5-9-2 PARAMETRAGE ON et PARAMETRAGE OFF – SET et RSET . . . . . . . . . . . 241 5-9-3 CONSERVER – KEEP(11) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 5-9-4 CHANGEMENT D’ETAT FRONT MONTANT et DESCENDANT – DIFU(13) et DIFD(14) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 AUCUNE OPERATION – NOP(00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 FIN – END(01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 VERROUILLAGE et DEVERROUILLAGE – IL(02) et ILC(03) . . . . . . . . . . . . . . . . . . 245 SAUT et FIN DE SAUT – JMP(04) et JME(05) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Instructions d’erreurs utilisateur : ALARME DE PANNE MINEURS ET DE REINITIALISATION – FAL(06) et ALARME DE PANNE GRAVE – FALS(07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Instructions de pas : DEFINITION ET DEMARRAGE D’UN PAS – STEP(08)/SNXT(09) . . . . . . . . . . . . . . 249 Instructions de comptage et de temporisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 5-16-1 TEMPORISATION – TIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 5-16-2 COMPTEUR – CNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 5-16-3 COMPTEUR REVERSIBLE – CNTR(12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 5-16-4 TEMPORISATION GRANDE VITESSE – TIMH(15) . . . . . . . . . . . . . . . . . . . . 256 5-16-5 TEMPORISATION ADDITION – TTIM(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 5-16-6 TEMPORISATION DE TRAME – STIM(69) . . . . . . . . . . . . . . . . . . . . . . . . . . 258 5-16-7 CHARGE TABLEAU DE COMPARAISON – CTBL(63) . . . . . . . . . . . . . . . . . 260 5-16-8 CONTROLE DE MODE – INI(61) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 5-16-9 LECTURE PV DU COMPTEUR GRANDE VITESSE – PRV(62) . . . . . . . . . . 275 Instructions de décalage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 5-17-1 REGISTRE A DECALAGE – SFT(10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 5-17-2 DECALAGE DE MOT – WSFT(16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 5-17-3 DECALAGE ARITHMETIQUE A GAUCHE – ASL(25) . . . . . . . . . . . . . . . . . 281 5-17-4 DECALAGE ARITHMETIQUE A DROITE – ASR(26) . . . . . . . . . . . . . . . . . . 281 5-17-5 ROTATION A GAUCHE – ROL(27) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 5-17-6 ROTATION A DROITE – ROR(28) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 5-17-7 DECALAGE A GAUCHE D’UN DIGIT – SLD(74) . . . . . . . . . . . . . . . . . . . . . 283 5-17-8 DECALAGE A DROITE D’UN DIGIT – SRD(75) . . . . . . . . . . . . . . . . . . . . . . 284 TABLE DES MATIERES 5-18 5-19 5-20 5-21 5-17-9 REGISTRE A DECALAGE REVERSIBLE – SFTR(84) . . . . . . . . . . . . . . . . . . 5-17-10 REGISTRE A DECALAGE ASYNCHRONE – ASFT(17) . . . . . . . . . . . . . . . . Instructions de transfert de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-1 TRANSFERT – MOV(21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-2 NON TRANSFERT – MVN(22) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-3 TRANSFERT PAR BLOCS – XFER(70) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-4 PARAMETRAGE DE BLOCS – BSET(71) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-5 ECHANGE DE DONNEES – XCHG(73) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-6 DISTRIBUTION D’UN SEUL MOT – DIST(80) . . . . . . . . . . . . . . . . . . . . . . . 5-18-7 COLLECTE DE DONNEES – COLL(81) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-8 TRANSFERT DE BIT – MOVB(82) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-9 TRANSFERT DE DIGIT – MOVD(83) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-10 BITS DE TRANSFERT – XFRB(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19-1 COMPARAISON – CMP(20) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19-2 TABLEAU DE COMPARAISON – TCMP(85) . . . . . . . . . . . . . . . . . . . . . . . . . 5-19-3 COMPARAISON DE BLOC – BCMP(68) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19-4 DOUBLE COMPARAISON – CMPL(60) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19-5 COMPARAISON MULTI-MOTS – MCMP(19) . . . . . . . . . . . . . . . . . . . . . . . . . 5-19-6 COMPARAISON BINAIRE SIGNEE – CPS(––) . . . . . . . . . . . . . . . . . . . . . . . . 5-19-7 COMPARAISON BINAIRE SIGNEE DOUBLE – CPSL(––) . . . . . . . . . . . . . . 5-19-8 COMPARAISON DE PLAGES DE ZONES – ZCP(––) . . . . . . . . . . . . . . . . . . 5-19-9 COMPARAISON DE PLAGES DE ZONES DOUBLES – ZCPL(––) . . . . . . . . Instructions de conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-1 BCD EN BINAIRE – BIN(23) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-2 BINAIRE EN BCD – BCD(24) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-3 BCD DOUBLE EN BINAIRE DOUBLE – BINL(58) . . . . . . . . . . . . . . . . . . . 5-20-4 BINAIRE DOUBLE EN BCD DOUBLE – BCDL(59) . . . . . . . . . . . . . . . . . . . 5-20-5 DECODEUR 4 A 16 – MLPX(76) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-6 CODEUR 16 A 4 – DMPX(77) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-7 DECODEUR A 7 SEGMENTS – SDEC78) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-8 CONVERSION ASCII – ASC(86) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-9 ASCII EN HEXADECIMAL – HEX(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-10 MISE A L’ECHELLE – SCL(66) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-11 MISE A L’ECHELLE DE VALEUR BINAIRE SIGNEE VERS BCD – SCL2(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-12 MISE A L’ECHELLE DE VALEUR BCD VERS VALEUR BINAIRE SIGNEE – SCL3(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-13 HEURES EN SECONDES – SEC(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-14 SECONDES EN HEURES – HMS(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-15 COLONNE EN LIGNE – LINE(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-16 LIGNE EN COLONNE – COLM(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-17 COMPLEMENT A 2 – NEG(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-18 COMPLEMENT A 2 DOUBLE – NEGL(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de calcul BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21-1 REPORT DE DEFINITION – STC(40) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21-2 ANNULATION REPORT – CLC(41) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21-3 ADDITION VALEUR BCD – ADD(30) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21-4 SOUSTRACTION VALEUR BCD – SUB(31) . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21-5 MULTIPLICATION VALEUR BCD – MUL(32) . . . . . . . . . . . . . . . . . . . . . . . . 5-21-6 DIVISION VALEUR BCD – DIV(33) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21-7 ADDITION VALEUR BCD DOUBLE – ADDL(54) . . . . . . . . . . . . . . . . . . . . . 5-21-8 SOUSTRACTION VALEUR BCD DOUBLE – SUBL(55) . . . . . . . . . . . . . . . . 284 286 287 287 288 289 290 291 291 293 295 296 297 299 299 300 301 303 304 305 306 308 309 310 310 311 311 312 313 315 317 320 321 324 326 328 330 331 332 333 334 335 337 337 337 337 338 340 341 342 344 xi TABLE DES MATIERES 5-22 5-23 5-24 5-25 5-26 5-27 xii 5-21-9 MULTIPLICATION VALEUR BCD DOUBLE – MULL(56) . . . . . . . . . . . . . . 345 5-21-10 DIVISION VALEUR BCD DOUBLE – DIVL(57) . . . . . . . . . . . . . . . . . . . . . . . 346 5-21-11 RACINE CARREE – ROOT(72) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Instructions de calcul binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5-22-1 ADDITION VALEUR BINAIRE – ADB(50) . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5-22-2 SOUSTRACTION VALEUR BINAIRE – SBB(51) . . . . . . . . . . . . . . . . . . . . . . 349 5-22-3 MULTIPLICATION BINAIRE – MLB(52) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 5-22-4 DIVISION BINAIRE – DVB(53) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 5-22-5 ADDITION VALEUR BINAIRE DOUBLE – ADBL(––) . . . . . . . . . . . . . . . . . 352 5-22-6 SOUSTRACTION VALEUR BINAIRE DOUBLE – SBBL(––) . . . . . . . . . . . . 353 5-22-7 MULTIPLICATION BINAIRE SIGNEE – MBS(––) . . . . . . . . . . . . . . . . . . . . . 355 5-22-8 MULTIPLICATION VALEUR BINAIRE SIGNEE DOUBLE – MBSL(––) . . . 356 5-22-9 DIVISION BINAIRE SIGNEE – DBS(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 5-22-10 DIVISION VALEUR BINAIRE SIGNEE DOUBLE – DBSL(––) . . . . . . . . . . . 358 Instructions mathématiques spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 5-23-1 TROUVER MAXIMUM – MAX(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 5-23-2 TROUVER MINIMUM – MIN(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 5-23-3 VALEUR MOYENNE – AVG(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 5-23-4 SOMME – SUM(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 5-23-5 PROCESSUS ARITHMETIQUE – APR(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 Instructions mathématiques à virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 5-24-1 VIRGULE FLOTTANTE VERS 16 BITS : FIX(––) . . . . . . . . . . . . . . . . . . . . . 373 5-24-2 VIRGULE FLOTTANTE VERS 32 BITS : FIXL(––) . . . . . . . . . . . . . . . . . . . . 374 5-24-3 16 BITS VERS VIRGULE FLOTTANTE : FLT(––) . . . . . . . . . . . . . . . . . . . . . 375 5-24-4 32 BITS VERS VIRGULE FLOTTANTE : FLTL(––) . . . . . . . . . . . . . . . . . . . . 376 5-24-5 ADDITION DE VIRGULE FLOTTANTE : +F(––) . . . . . . . . . . . . . . . . . . . . . . 377 5-24-6 SOUSTRACTION DE VIRGULE FLOTTANTE : –F(––) . . . . . . . . . . . . . . . . . 378 5-24-7 MULTIPLICATION DE VIRGULE FLOTTANTE : *F(––) . . . . . . . . . . . . . . . 379 5-24-8 DIVISION DE VIRGULE FLOTTANTE : /F(––) . . . . . . . . . . . . . . . . . . . . . . . 381 5-24-9 DEGRES EN RADIANS : RAD(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 5-24-10 RADIANS EN DEGRES : DEG(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 5-24-11 SINUS : SIN(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 5-24-12 COSINUS : COS(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 5-24-13 TANGENTE : TAN(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 5-24-14 ARC SINUS : ASIN(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 5-24-15 ARC COSINUS : ACOS(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 5-24-16 ARC TANGENTE : ATAN(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 5-24-17 RACINE CARREE : SQRT(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 5-24-18 EXPONENTIELLE : EXP(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 5-24-19 LOGARITHME : LOG(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Instructions Logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 5-25-1 COMPLEMENT – COM(29) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 5-25-2 ET LOGIQUE – ANDW(34) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 5-25-3 OU LOGIQUE – ORW(35) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 5-25-4 OU EXCLUSIF – XORW(36) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 5-25-5 NON OU EXCLUSIF – XNRW(37) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 Instructions d’incrémentation/décrémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 5-26-1 INCREMENT BCD – INC(38) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 5-26-2 DECREMENT BCD – DEC(39) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 Instructions de sous–programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 5-27-1 SAISIE DU SOUS–PROGRAMME – SBS(91) . . . . . . . . . . . . . . . . . . . . . . . . . 400 5-27-2 DEBUT DE SOUS–PROGRAMME et RETOUR AU PROGRAMME PRINCIPAL – SBN(92)/RET(93) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 TABLE DES MATIERES 5-28 Instructions spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28-1 ECHANTILLONNAGE DE MEMOIRE DE TRACAGE – TRSM(45) . . . . . . 5-28-2 MESSAGE – MSG(46) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28-3 RAFRAICHISSEMENT E/S – IORF(97) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28-4 MACRO – MCRO(99) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28-5 COMPTEUR DE BITS – BCNT(67) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28-6 CONTROL DE TRAME – FCS(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28-7 DETECTION DE POINT DE PANNE – FPD(––) . . . . . . . . . . . . . . . . . . . . . . . 5-28-8 COMMANDE D’INTERRUPTION – INT(89) . . . . . . . . . . . . . . . . . . . . . . . . . 5-28-9 PARAMETRAGE DES IMPULSIONS – PULS(65) . . . . . . . . . . . . . . . . . . . . . 5-28-10 SORTIE DE VITESSE– SPED(64) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28-11 SORTIE D’IMPULSION – PLS2(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28-12 COMMANDE D’ACCELERATION – ACC(––) . . . . . . . . . . . . . . . . . . . . . . . . 5-28-13 IMPULSION A RAPPORT CYCLIQUE VARIABLE – PWM(––) . . . . . . . . . . 5-28-14 RECHERCHE DE DONNEE – SRCH(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28-15 COMMANDE PID – PID(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29 Instructions de réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29-1 TRANSMISSION RESEAU – SEND(90) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29-2 RECEPTION RESEAU – RECV(98) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29-3 COMMANDE LIVREE : CMND(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30 Instructions de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30-1 RECEIVE (RECEPTION) – RXD(47) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30-2 TRANSMIT – TXD(48) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30-3 CHANGEMENT DU PARAMETRAGE DU PORT SERIE – STUP(––) . . . . . 5-30-4 MACRO–PROTOCOLE – PMCR(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31 Instructions avancées d’E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31-1 SORTIE D’AFFICHAGE 7 SEGMENTS – 7SEG(88) . . . . . . . . . . . . . . . . . . . . 5-31-2 ENTREE COMMUTATEUR NUMERIQUE – DSW(87) . . . . . . . . . . . . . . . . . 5-31-3 ENTREE D’UNE TOUCHE HEXADECIMALE – HKY(––) . . . . . . . . . . . . . . 5-31-4 ENTREE TOUCHE DECIMALE – TKY(18) . . . . . . . . . . . . . . . . . . . . . . . . . . . CHAPITRE 6 Commandes de liaison à l’ordinateur . . . . . . . . . . . . . . . 6-1 6-2 6-3 6-4 6-5 Résumé des commandes de liaison à l’ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Codes de fin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2-1 Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2-2 Codes et commandes applicables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procédure de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formats de commande et de réponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4-1 Commandes de l’ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4-2 Commandes de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commandes de liaison à l’ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5-1 LECTURE DES ZONES IR/SR - RR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5-2 LECTURE DE LA ZONE LR - RL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5-3 LECTURE DE LA ZONE HR - RH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5-4 LECTURE DE LA PV - RC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5-5 LECTURE DE L’ETAT DE TC - RG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5-6 LECTURE DE LA ZONE DM - RD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5-7 LECTURE DE LA ZONE EM - RE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5-8 LECTURE DE LA ZONE AR - RJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5-9 ECRITURE DES ZONES IR/SR - WR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5-10 ECRITURE DE LA ZONE LR - WL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5-11 ECRITURE DE LA ZONE HR - WH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 402 404 405 406 408 409 411 415 417 419 422 424 427 428 429 431 431 435 438 441 441 443 446 448 451 451 455 459 462 465 466 467 467 469 469 471 471 474 475 475 475 476 476 476 477 477 478 478 479 479 xiii TABLE DES MATIERES 6-5-12 6-5-13 6-5-14 6-5-15 6-5-16 6-5-17 6-5-18 6-5-19 6-5-20 6-5-21 6-5-22 6-5-23 6-5-24 6-5-25 6-5-26 6-5-27 6-5-28 6-5-29 6-5-30 6-5-31 6-5-32 6-5-33 6-5-34 6-5-35 6-5-36 6-5-37 6-5-38 ECRITURE DE LA PV - WC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ECRITURE DE L’ETAT DE TC - WG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ECRITURE DE LA ZONE DM - WD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ECRITURE DE LA ZONE EM - WE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ECRITURE DE LA ZONE AR - WJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LECTURE 1 DE SV - R# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LECTURE 2 DE SV - R$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LECTURE 3 DE SV - R% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHANGEMENT 1 DE SV - W# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHANGEMENT 2 DE SV - W$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHANGEMENT 3 DE SV - W% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LECTURE D’ETAT - MS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ECRITURE D’ETAT - SC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LECTURE D’ERREUR - MF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PARAMETRAGE FORCE - KS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REINITIALISATION FORCEE - KR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PARAMETRAGE/REINITIALISATION FORCES MULTIPLES - FK . . . . . . . ANNULATION DE PARAMETRAGE/REINITIALISATION FORCES - KC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LECTURE DU MODELE DE L’API - MM . . . . . . . . . . . . . . . . . . . . . . . . . . . . TEST- TS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LECTURE DE PROGRAMME - RP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ECRITURE DU PROGRAMME - WP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COMMANDE COMPOSEE - QQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ARRÊTER - XZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INITIALISER - :: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REPONSE TXD - EX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COMMANDE NON DEFINIE - IC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHAPITRE 7 Fonctionnement de l’UC et durée du traitement . . . . . . . 7-1 7-2 7-3 Fonctionnement de l’Unité centrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interruptions d’alimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2-1 Fonctionnement en cas d’interruption d’alimentation . . . . . . . . . . . . . . . . . . . . 7-2-2 Opération de démarrage après une interruption d’alimentation . . . . . . . . . . . . . Temps de cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3-1 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3-2 Temps d’exécution de l’instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3-3 Temps de réponse d’E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3-4 Temps de réponse d’E/S de liaison inter-API . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3-5 Temps de traitement d’interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHAPITRE 8 Dépannage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 8-2 8-3 8-4 8-5 8-6 8-7 xiv Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erreurs de fonctionnement de la console de programmation . . . . . . . . . . . . . . . . . . . . . . Erreurs de programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erreurs définissables par l’utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erreurs de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5-1 Erreurs non fatales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5-2 Erreurs fatales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Journal d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagrammes de dépannage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 480 481 482 482 483 484 485 486 486 487 488 489 490 491 492 493 494 495 495 496 496 497 499 499 500 500 501 502 503 503 505 507 507 509 522 523 525 529 530 530 531 532 533 534 535 536 538 TABLE DES MATIERES Annexes A B C D E F G H Instructions de programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opération de drapeau d’erreur et d’arithmétique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zones mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de l’horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Feuille d’affectation des Entrées/Sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Feuille de codage de programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Liste des numéros FAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASCII étendu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Historique des révisions . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 555 559 581 583 585 589 591 593 613 xv A propos de ce manuel : Ce manuel décrit la programmation de l’automate programmable CQM1H, l’organisation et le contenu de la mémoire, les instructions de programmation des schémas à contact, etc., ainsi que les chapitres décrits ci–dessous. Se reporter au Manuel de fonctionnement du CQM1H pour des informations sur la partie matériel et les procédures de fonctionnement de la console de programmation. Lire ce manuel avec attention et s’assurer de bien en comprendre les informations avant de commencer la programmation ou de faire fonctionner le CQM1H. Le Chapitre 1 explique le Setup de l’API et ses fonctions associées, y compris le traitement des interruptions et des communications. Le Setup de l’API peut être utilisé pour contrôler les paramètres de fonctionnement de l’API. Le Chapitre 2 décrit les cartes internes pouvant être installées dans l’Unité centrale pour étendre ses fonctionnalités. Se reporter au Manuel de fonctionnement des cartes de communication série (W365) pour plus d’informations sur la carte de communications séries. Une présentation succinte de la carte est donnée dans ce Chapitre 2. Le Chapitre 3 décrit l’organisation des zones mémoires de l’API et explique comment les utiliser. Il décrit également le fonctionnement des cassettes mémoire utilisées pour transférer des données entre l’Unité centrale et la cassette mémoire. Le Chapitre 4 explique les étapes nécessaires et les concepts utilisés pour l’écriture de schémas à contact de base. Il introduit les instructions utilisées pour construire la structure de base du schéma à contact et en contrôler son exécution. Le Chapitre 5 décrit une à une les instructions de programmation des schémas à contact pouvant être utilisées pour programmer le CQM1H. Le Chapitre 6 explique les méthodes et les procédures pour l’utilisation des commandes de liaison hôte, lequelles peuvent être utilisées pour les communications de liaison hôte par les ports de l’API. Le Chapitre 7 explique le traitement interne de l’API et le temps nécessaire pour le traitement et l’exécution. Se reporter à ce Chapitre pour obtenir une compréhension des timing de fonctionnement de l’API. Le Chapitre 8 décrit comment diagnostiquer et corriger les erreurs matérielles et logicielles pouvant survenir pendant le fonctionnement de l’API. Les annexes suivantes comprennent : A Instructions de Programmation , B Fonctionnement des drapeaux arithmétiques et d’erreur, C Zones mémoire, D Utilisation de l’horloge, E Fiches d’attribution des E/S, F Fiche de codage du programme, G Liste des numéros FAL et H ASCII Etendu. ! AVERTISSEMENT : Omettre de lire et comprendre les informations contrenues dans ce manuel peut entraîner la mort, des blessures corporelles, risque d’endommager le produit ou de le provoquer des pannes. Lire chaque chapitre, ainsi que les chapitres auxquels il est fait référence dans leur totalité et s’assurer d’une bonne compréhension des informations qui s’y sont contenues avant la mise en oeuvre des procédures ou fonctionnalités décrites. xvii CONSEILS D’UTILISATION Cette section expose les précautions générales à prendre pour utiliser l’automate programmable série CQM1H (API) et les dispositifs associés. Les informations données dans cette partie sont importantes pour assurer une utilisation fiable et sans danger de l’automate programmable. Vous devez lire cette section et comprendre les informations qui y sont exposées avant de tenter de paramétrer et d’utiliser un système API. 1 Public visé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Conseils d’utilisation généraux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Conseils d’utilisation de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Conseils d’utilisation relatifs à l’environnement d’exploitation . . . . . . . . . . . . . . . . . . . . . . . . . 5 Conseils d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Conformité aux directives communautaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 Directives applicables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Conformités aux directives communautaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Méthodes de réduction du bruit des sorties à relais . . . . . . . . . . . . . . . . . . . . . . . . xiv xiv xiv xvi xvi xix xix xix xix xix xiii Conseils d’utilisation de sécurité 1 3 Public visé Ce manuel est destiné aux personnels suivants qui doivent aussi avoir des connaissances portant sur les systèmes électriques (ingénieur ou technicien en électricité 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 Conseils d’utilisation généraux L’utilisateur doit se servir du produit en conformité avec les spécifications de performances exposées dans les manuels d’exploitation. Avant d’utiliser le produit dans des conditions non décrites dans le manuel ou de l’utiliser avec des systèmes de pilotage d’installations nucléaires, des chemins de fer, des véhicules, systèmes à combustion, équipements médicaux, machines et appareils pour le divertissement, équipements de sécurité ainsi qu’avec d’autres systèmes, machines et équipements qui peuvent exercer une forte influence sur la vie humaine et les biens s’ils sont utilisés incorrectement, veuillez consulter votre représentant OMRON. Vérifier que les caractéristiques nominales et performances du produit sont suffisantes pour les systèmes, machines et équipements. Et ne pas oublier de munir les systèmes, machines et équipements de double mécanismes de sécurité. Ce manuel donne des informations sur la programmation et l’utilisation de l’Unité. Vous devez absolument lire ce manuel avant d’essayer d’utiliser l’unité, et conserver ce manuel à portée de la main pour, si nécessaire, vous y reporter pendant l’exploitation du système. ! AVERTISSEMENT Il est extrêmement important qu’un API et toutes les unités API soient utilisées pour la mise en œuvre prévue 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 API dans le cadre des applications mentionnées ci–dessus, vous devez absolument consulter votre représentant OMRON. 3 Conseils d’utilisation de sécurité ! AVERTISSEMENT L’unité centrale régénère les E/S même lorsque le programme est arrêté (c.-à-d., même en mode PROGRAMME). Confirmer préalablement la sûreté avant de changer le statut de toute partie de mémoire dédiée unités d’E/S, unités d’E/S spécifiques ou cartes internes. Tout changement des données assignées à n’importe quelle unité peut provoquer un fonctionnement inattendu des charges connectées à l’unité. Chacune des opérations suivantes peut provoquer un changement du statut de la mémoire. • Transférer des données de mémoire d’E/S à l’unité centrale depuis un dispositif de programmation. • Changer les valeurs actuelles dans la mémoire depuis un dispositif de programmation. • Forcer l’initialisation/ la réinitialisation de bits depuis un dispositif de programmation. • Transférer la mémoire d’E/S à partir d’un micro-ordinateur ou d’un autre API sur un réseau. xiv Conseils d’utilisation de sécurité ! 3 AVERTISSEMENT Ne jamais tenter de démonter une Unité ou de toucher l’intérieur pendant qu’elle est sous tension. Cela pourrait provoquer une décharge électrique. ! AVERTISSEMENT Ne jamais toucher des bornes ou borniers pendant que le système est sous tension. Cela pourrait provoquer une décharge électrique. ! AVERTISSEMENT Ne jamais tenter de démonter, de réparer ou de modifier une Unité quelconque. Toute tentative de ce type d’opération peut provoquer un dysfonctionnement, un incendie ou être à l’origine d’une décharge électrique. ! AVERTISSEMENT Prévoir des mesures de sécurité pour les circuits extérieurs (c’est–à–dire non dans l’automate programmable), y compris dans les articles suivants, afin d’assurer 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’automate. Le non–respect de cet avertissement peut se traduire par des accidents graves. • Des circuits d’arrêt d’urgence, des circuits à verrouillage réciproque, des limiteurs et des mesures de sécurité similaires doivent être mis en place sur tous les circuits de pilotage externes. • L’API met toutes ses sorties à l’état OFF lorsque sa fonction de diagnostic intégrée détecte une erreur ou bien à l’exécution d’une instruction d’alarme de défaillance grave (FALS). Pour se protéger contre ces erreurs, des mesures de sécurité externes doivent être prises pour assurer la sécurité du système. • Les sorties de l’automate peuvent rester ON ou OFF du fait de l’encrassement ou de la dégradation 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 24 V continue (alimentation électrique de service de l’automate) est surchargée ou court–circuitée, il peut y avoir une baisse de tension et, par suite, les sorties passent à l’état OFF. 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. ! AVERTISSEMENT Ne pas toucher l’unité d’alimentation pendant que la tension est appliquée ou juste après que la tension ait été mise sur OFF. Cela pourrait provoquer des brûlures. ! Attention Pour exécuter une édition en ligne, il faut d’abord s’assurer que cette opération n’aura pas d’effets néfastes suite à l’allongement de la durée des cycles. Autrement, il se peut que les signaux d’entrée soient illisibles. ! Attention Confirmer la sûreté à la station de destination avant de transférer un programme à une autre station ou avant de changer le contenu de la zone de mémoire d’E/S. Dans l’un de ces deux cas, cela pourrait provoquer des dommages. ! Attention Serrer les vis du bornier de l’unité d’alimentation en courant alternatif en respectant le couple spécifié dans le manuel d’exploitation. Des vis mal serrées peuvent provoquer une surchauffe ou un dysfonctionnement. xv 5 Conseils d’utilisation 4 Conseils d’utilisation relatifs à l’environnement d’exploitation ! Attention Ne pas utiliser l’automate dans les endroits suivants : • Endroits recevant directement la lumière du soleil. • Endroits présentant des températures ou une humidité à l’extérieur de la plage figurant dans les caractéristiques techniques. • Endroits présentant de la condensation provoquée par de fortes variations de température. • Endroits soumis à des gaz corrosifs ou inflammables. • Endroits poussiéreux (en particulier limaille de fer) ou contenant des sels. • Endroits exposés à l’eau, à l’huile ou à des produits chimiques. • Endroits soumis à des chocs ou à des vibrations. ! Attention Prendre des mesures de protection ad hoc et suffisantes lors de l’installation des systèmes dans les endroits suivants : • Endroits présentant de l’électricité statique ou d’autres formes de parasites. • Endroits soumis à des champs électromagnétiques puissants. • Endroits susceptibles d’être soumis à de la radioactivité. • Endroits proches d’alimentations électriques. ! Attention L’environnement opératoire d’un système API peut affecter fortement sa longévité et sa fiabilité. Un environnement opératoire hostile peut provoquer des dysfonctionnements, des défaillances et d’autres problèmes imprévisibles affectant le système API. Bien vérifier qu’à l’installation, l’environnement opératoire est conforme aux conditions spécifiées et qu’il présente toujours les mêmes conditions pendant la vie du système. 5 Conseils d’utilisation Lors de l’utilisation du système API, toujours suivre les conseils d’utilisation suivants. ! AVERTISSEMENT Toujours observer ces conseils. Le non–respect des précautions énumérées ci–dessous peut être à l’origine de blessures sérieuses ou même mortelles. • Lors de l’installation du système, le relier systématiquement à une terre présentant une résistance inférieure ou égale à 100 Ω de manière à prévenir les chocs électriques. • Une terre présentant une résistance inférieure ou égale à 100 Ω doit être installée en court–circuitant les bornes de GR et LG sur l’unité d’alimentation. • Toujours mettre l’alimentation électrique de l’API à l’état OFF avant de tenter de faire n’importe laquelle des opérations suivantes. Si l’alimentation n’est pas à OFF, cela pourrait provoquer un dysfonctionnement ou une décharge électrique. • Montage ou démontage d’Unités d’E/S, Unité Centrale, Cartes internes, ou toute autre unité. • Assemblage des unités. • Réglages de micro-interrupteurs ou de commutateurs rotatifs. • Branchement ou débranchement de tous câblages ou faisceaux électriques. xvi 5 Conseils d’utilisation • Connexion ou déconnexion des connecteurs. ! Attention Le non–respect des précautions suivantes peut entraîner un fonctionnement défectueux de l’API ou du système, ou bien endommager l’API ou les unités du ou des API. Il faut toujours respecter les précautions indiquées. • Toujours mettre l’API sous tension avant de mettre le système de commande sous tension. Si l’alimentation de l’API est établie après celle de la commande, des erreurs temporaires peuvent provoquer des signaux du système de commande parce que les bornes de sortie sur des unités de sortie c.c. et d’autres unités seront momentanément à ON lorsque l’alimentation sera établie sur l’API. • Des mesures doivent être prises par le client pour assurer la sécurité au cas où les sorties des unités de sorties demeureraient à l’état ON en raison des échecs internes de circuit, pouvant se produire dans des relais, des transistors et d’autres éléments. • Des mesures doivent être prises par le client pour assurer la sécurité en présence de signaux manquants, incorrects ou anormaux provoqués par une rupture de lignes de transmission de signaux, par des micro–coupures du courant ou d’autres causes. • Ne pas mettre l’alimentation de l’API à OFF pendant le transfert de données. En particulier, ne pas arrêter l’alimentation pendant la lecture ou l’écriture d’une carte mémoire. Aussi, ne pas enlever la carte mémoire lorsque l’indicateur BUSY est allumé. Pour enlever une carte mémoire, appuyer d’abord sur le commutateur d’alimentation de carte mémoire et attendre ensuite que l’indicateur BUSY s’éteigne avant d’enlever la carte mémoire. • Si le bit de maintien des E/S (SR 25212) est mis à ON, les sorties de l’API ne seront pas mises à OFF et conserveront leur statut précédent lorsque l’API sera commuté du mode RUN ou MONITOR au mode PROGRAMME. S’assurer que les charges externes ne produisent pas de conditions dangereuses lorsque ceci se produit (lorsque l’opération s’arrête pour une erreur fatale, y compris celles produites avec l’instruction FALS(07), toutes les sorties de l’unité de sortie seront à l’état OFF et seul le statut interne de sortie sera maintenu). • En assurant une alimentation de 200–240 Vc.c. à partir d’une unité d’alimentation CQM1–PA216, toujours enlever le cavalier en métal des bornes du sélecteur de tension. Le produit sera détruit si cette alimentation de 200–240 Vc.c. est assurée tandis que le cavalier en métal est présent. • Toujours utiliser les tensions d’alimentation indiquées dans les guides d’installation. Une tension incorrecte peut provoquer un dysfonctionnement ou une surchauffe. • Prendre les mesures appropriées pour s’assurer que la puissance indiquée est assurée avec la tension et la fréquence assignées. Faire particulièrement attention aux endroits où l’alimentation est instable. Une alimentation incorrecte peut provoquer un dysfonctionnement. • Installer des disjoncteurs externes et prendre d’autres mesures de sécurité contre les courts-circuits dans le câblage externe. Des mesures de sécurité insuffisantes contre les courts-circuits peuvent provoquer une surchauffe. • Ne pas appliquer des tensions aux unités d’entrée supérieures à la tension d’entrée assignée. Des tensions excessives peuvent provoquer une surchauffe. • Ne pas appliquer des tensions ou ne pas relier des charges aux unités de sortie supérieures à la capacité maximum de commutation. La tension ou les charges excessives peuvent provoquer une surchauffe. xvii 5 Conseils d’utilisation • Débrancher la prise de terre fonctionnelle lors de l’exécution de tests de tenue en tension. Ne pas débrancher la prise de terre fonctionnelle peut provoquer une surchauffe. • Installer les unités correctement comme indiqué dans les guides d’installation. L’installation incorrecte des unités peut provoquer un dysfonctionnement. • Vérifier que toutes les vis support, les vis du bornier et les vis des connecteurs de câble sont serrées au couple indiqué dans les manuels appropriés. Un couple de serrage incorrect peut provoquer un dysfonctionnement. • Laisser l’étiquette attachée à l’unité pendant le câblage. La suppression de l’étiquette peut provoquer un dysfonctionnement si les corps étrangers pénètrent dans l’unité. • Lorsque le câblage est terminé, enlever l’étiquette pour assurer une bonne dissipation thermique. Ne pas enlever l’étiquette peut provoquer un dysfonctionnement. • Utiliser des cosses à fourche pour le câblage. Ne pas relier les fils dénudés directement aux bornes. Le raccordement des fils dénudés peut provoquer une surchauffe. • Câbler correctement toutes les connexions. • Faire un double contrôle de tout le câblage et de toutes les configurations des commutateurs avant de mettre sous tension. Un câblage incorrect ou une mauvaise configuration des commutateurs peut provoquer une dégradation du produit. • Monter les unités seulement après avoir vérifié complètement les borniers et les connecteurs. • Avant de toucher une unité, vérifier d’abord de toucher un objet métallique relié à la masse afin de décharger toute électricité statique, qui risquerait de provoquer un dysfonctionnement ou des dommages. • Être sûr que les borniers, unités de mémoire, câbles d’expansion et autres articles avec dispositifs de verrouillage sont correctement verrouillés à leur place. Un verrouillage incorrect peut provoquer un dysfonctionnement. • Vérifier les positions des commutateurs, le contenu de la zone DM et d’autres préparatifs avant de lancer le fonctionnement. Lancer le fonctionnement sans les réglages ou les données appropriés peut provoquer un fonctionnement inattendu. • Vérifier le programme utilisateur pour une exécution correcte avant de l’exécuter réellement sur l’unité. La non vérification du programme peut provoquer un fonctionnement inattendu. • Confirmer qu’aucun effet nuisible ne se produira dans le système avant d’essayer une des opérations suivantes. Sinon cela peut provoquer un fonctionnement inattendu. • Changement du mode de fonctionnement de l’API. • Initialisation / réinitialisation forcée de tout bit de la mémoire. • Changement de la valeur actuelle de tout mot ou de toute valeur de consigne dans la mémoire. • Reprendre le fonctionnement seulement après avoir transféré à la nouvelle unité centrale le contenu de la zone DM, de la zone HR et des autres données nécessaires pour reprendre l’opération. Ne pas faire ainsi peut provoquer un fonctionnement inattendu. • Ne pas tirer sur les câbles ou plier les câbles au delà de leur limite naturelle au risque de les casser. • Ne pas placer des objets sur les câbles ou d’autres câblage au risque de les casser. xviii Conseils d’utilisation 5 • Lors du remplacement de pièces, confirmer que les conditions nominales de fonctionnement de la nouvelle pièce sont correctes. Ne pas s’en assurer peut provoquer un dysfonctionnement ou une surchauffe. • Lors du transport ou du stockage des cartes, les couvrir de matériau antistatique pour les protéger contre l’électricité statique et maintenir la température appropriée pour le stockage. • Ne pas toucher les cartes ou les composants à mains nues. Des brins pointus et d’autres parties sur les cartes peuvent causer des blessures s’ils sont manipulés incorrectement. • Ne pas court-circuiter les bornes de la batterie ou charger, démonter, chauffer ou brûler la batterie. Ne pas soumettre la batterie à des chocs forts. Ne pas respecter ces consignes peut provoquer une fuite, une rupture, une génération de chaleur ou l’inflammation de la batterie. Se débarrasser de toute batterie ayant chuté brusquement sur le sol ou ayant été soumise à un choc excessif. Les batteries ayant été soumises à un choc peuvent fuir lors de leur utilisation. • Les normes UL exigent que les batteries soient remplacées seulement par des techniciens expérimentés. Ne pas permettre aux personnes non qualifiées de remplacer des batteries. xix Conformité aux directives communautaires 6 Conformité aux directives communautaires 6-1 Directives applicables 6 • Directives sur la CEM (Compatibilité électromagnétique) • Directive sur les basses tensions 6-2 Concepts Directives sur la CEM Les appareils OMRON qui sont en conformité avec les directives communautaires sont aussi conformes aux normes de la CEM connexes pour faciliter 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é aux 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 vis–à–vis des CEM des dispositifs OMRON qui sont en conformité avec les directives communautaires varient selon la configuration, le câblage et d’autres particularités de l’équipement, du tableau de commande sur lequel sont installés les dispositifs OMRON. Le client doit donc faire un contrôle final pour s’assurer que les dispositifs et l’ensemble de la machine sont en conformité avec les normes applicables à la CEM. Rem. Les normes CEM applicables sont, comme suit : EMS (Susceptibilité électromagnétique) : EN61131-2 EMI (Interférences électromagnétiques) : EN50081-2 (Emission rayonnée : réglementation 10 m) Directive sur les basses tensions S’assurer toujours que les dispositifs fonctionnant à des tensions comprises entre 50 et 1.000 V c.a. en alternatif et 75 à 1.500 V c.c. sont en conformité avec les normes de sécurité requises pour l’automate. (EN61131-2). 6-3 Conformité aux directives communautaires Les API séries CQM1H sont conformes aux dispositifs des directives communautaires. Pour s’assurer que la machine ou le dispositif dans lequel est utilisé l’API séries CQM1H est en conformité avec les directives communautaires, l’installation de l’automate doit être faite en respectant les indications suivantes : 1, 2, 3... 1. L’API doit être installé avec un tableau de commande et de contrôle. 2. Pour les alimentations en courant continu utilisées pour les alimentations des communications et des E/S, il faut utiliser un isolement renforcé ou un double isolement. 3. Les API conformes aux directives communautaires doivent aussi être en conformité avec la Norme EN50081-2. Lorsqu’un API est intégré dans une machine, cependant, des parasites peuvent être produit en commutant des dispositifs utilisant des sorties relais et faire que la machine globale n’atteigne pas les normes. Si ceci se produit, des écrêteurs de pointe de tension doivent être reliés ou d’autres mesures externes à l’API doivent être prises. Les méthodes suivantes représentent des méthodes typiques pour réduire les parasites et peuvent ne pas être suffisantes dans tous les cas. Les contre-mesures exigées changeront selon les dispositifs reliés au pupitre de commande, le câblage, la configuration du système et d’autres conditions. xx Conformité aux directives communautaires 6-4 6 Méthodes de réduction des parasites des sorties à relais Les API série CQM1H sont en conformité avec la norme EN50081–2 des directives de la CEM. Toutefois, les parasites générés par le basculement de l’API à l’état ON ou OFF à l’aide de la sortie à relais n’est peut être pas en conformité avec ces normes. Dans ce cas, un filtre anti-parasitage doit être relié au côté charge ou bien d’autres mesures externes spécifiques doivent être mises en œuvre. Les contre-mesures prises pour être en conformité avec les normes varient en fonction des dispositifs qui sont du côté charge, du câblage de la configuration des machines, etc. Les exemples suivants décrivent des contre-mesures permettant de réduire les parasites générés. Contre-mesures Pour plus de détails, consulter EN50081-2. Les contre-mesures sont inutiles si la fréquence de commutation de la charge 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 du système (API inclus) est 5 fois par minute ou plus. xxi 6 Conformité aux directives communautaires Exemples de contre–mesures Lors de la commutation d’une charge inductive, connecter un limiteur de tension, des diodes, etc. en parallèle avec la charge ou le contact, comme indiqué ci-dessous. Circuit Courant Alt. Alimen– tation Oui Oui Charge inductive Méthode CR Caractéristiques Eléments requis Cont. Si la charge est un relais ou un solénoïde, il y a un retard entre le moment de l’ouverture du circuit et le moment de la remise à zéro de la charge. Si la tension d’alimentation est comprise entre 24 et 48 V, mettre le limiteur de tension en parallèle avec la charge. Si la tension d’alimentation est entre 100 et 200 V, mettre 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 composant résistif doit être de 0,5 à 1 Ω pour une tension de contact de 1 V. Toutefois, ces valeurs peuvent varier selon la charge et avec les 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 résistance disruptive du condensateur doit être comprise entre 200 et 300 V. S’il s’agit d’un circuit en courant alternatif, il faut utiliser un condensateur sans polarité. Alimen– tation Non Oui Charge inductive Méthode avec diode La diode connectée en parallèle avec la charge transforme l’énergie accumulée par la bobine en un courant, qui circule dans l’enroulement, afin d’être converti en chaleur par la résistance de la charge inductive. Le retard entre l’ouverture du circuit et la remise à zéro de la charge, qui est provoqué par cette méthode est plus long que celui obtenu par la méthode CR. Alimen– tation Charge inductive Méthode avec varistor Oui Oui La méthode de la résistance variable empêche l’imposition d’une haute tension entre les contacts grâce à la caractéristique de tension constante de la résistance variable. Il y a un retard entre l’ouverture du circuit et la remise à zéro de la charge. Si la tension d’alimentation est entre 24 et 48 V, mettre la résistance variable en parallèle avec la charge. Si la tension d’alimentation est entre 100 et 200 V, mettre la résistance variable entre les contacts. xxii La valeur de la résistance disruptive 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 résistance disruptive inverse de la diode peut être deux ou trois fois plus grande que la tension d’alimentation si le limiteur de tension travaille sur des circuits électroniques présentant de faibles tensions de circuits. --- 6 Conformité aux directives communautaires En commutant une charge avec un courant élevé induit tel qu’une lampe à incandescence, supprimer le courant induit comme montré ci–dessous. Contre mesure 1 Contre mesure 2 R OUT OUT R COM Fournissant un courant d’obscurité approximativement d’un tiers de la valeur évaluée par une lampe à incandescence COM Fournissant une résistance limitée xxiii CHAPITRE 1 Setup de l’API et autres caractéristiques Ce chapitre décrit le Setup de l’API et les autres caractéristiques du CQM1H, y compris le processus d’interruption et de communication. Le Setup de l’API est utilisé pour contrôler les paramètres de fonctionnement du CQM1H. Pour modifier le Setup de l’API, se reporter au Manuel d’utilisation du CQM1H pour les procédures propres à la console de programmation. Se reporter au Manuel d’utilisation du logiciel CX–Programmer, ou SYSWIN pour les procédures propres au logiciel CX–Programmer, ou SYSWIN. Pour posséder une bonne maîtrise des API d’OMRON ou de la programmation à contacts avant de s’attaquer à ce chapitre, lire le paragraphe 1-4 Setup de l’API afin d’avoir un aperçu général des paramètres de fonctionnement disponibles pour le CQM1H et également le Chapitre 3 Zones de mémoires, le Chapitre 4 Programmation de schéma à contacts ainsi que les instructions concernant le Chapitre 5 Ensemble d’instructions. 1-1 Setup de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1-1-1 Modification du Setup de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1-1-2 Paramétrage de la carte de communication série . . . . . . . . . . . . . . . . . . . . . . . . 4 1-1-3 Paramétrage du Setup de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1-2 Paramétrage de la carte interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1-2-1 Paramétrage de la carte de communication série . . . . . . . . . . . . . . . . . . . . . . . . 10 1-2-2 Paramétrage de la carte du compteur à grande vitesse . . . . . . . . . . . . . . . . . . . . 11 1-2-3 Paramétrage de la carte de gestion d’axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1-2-4 Paramétrage de la carte codeur absolu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1-2-5 Paramétrage de la carte E/S analogiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1-3 Fonctionnement de l’API de base et traitements des E/S . . . . . . . . . . . . . . . . . . . . . . . . . 14 1-3-1 Mode démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1-3-2 Etat du bit de maintien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1-3-3 Temps de service du port RS-232C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1-3-4 Temps de service du port périphérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1-3-5 Temps de cycle minimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1-3-6 Constantes du temps d’entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1-3-7 Temporisations à grande vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1-3-8 digits d’entrée DSW(87) et méthode de rafraîchissement de sortie . . . . . . . . . . 18 1-3-9 Paramétrage du port périphérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1-3-10 Paramétrage du journal d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1-4 Fonctions d’interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1-4-1 Types d’interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1-4-2 Interruptions d’entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1-4-3 Masquage de toutes les interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1-4-4 Interruptions de la temporisation cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1-4-5 Interruptions du compteur à grande vitesse 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1-4-6 Dépassements positif/négatif du compteur à grande vitesse 0 . . . . . . . . . . . . . . 44 1-5 Fonctionnement de la sortie d’impulsions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 1-6 Fonctions de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 1-6-1 Paramétrage de la liaison à l’ordinateur et des communications sans protocole 50 1-6-2 Procédures et paramétrage des communications de la liaison à l’ordinateur . . . 52 1-6-3 Procédures et paramétrage de communication sans protocole . . . . . . . . . . . . . . 55 1-6-4 Liaisons de données inter API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 1-6-5 Communication en mode 1:1 liaison NT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 1-6-6 Câblage des ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 1-7 Calcul avec les données binaires signées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 1-7-1 Définition des données binaires signées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 1-7-2 Drapeaux arithmétiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 1-7-3 Réception des données binaires signées utilisant des valeurs décimales . . . . . . 63 1-7-4 Utilisation des instructions d’extensions binaires signées . . . . . . . . . . . . . . . . . . 63 1-7-5 Exemple d’application utilisant les données binaires signées . . . . . . . . . . . . . . 64 1 Chapitre Setup de l’API 1-1 1-1 Setup de l’API Le Setup de l’API contient les paramètres de fonctionnement contrôlant le fonctionnement du CQM1H. Pour utiliser au maximum les fonctionnalités du CQM1H lors d’utilisation du traitement d’interruption et des fonctions de communication, le Setup de l’API peut être personnalisé en fonction des conditions de fonctionnement. Les réglages du Setup général de l’API sont contenus dans les zones DM 6600 au DM 6655 et les réglages de la carte de communication série sont contenus dans les zones DM 6550 au DM 6559. A proprement parler, les réglages de la carte de communication série font parties de la zone DM en lecture seule et non du Setup de l’API, mais elles sont inclues ici parce qu’elles sont semblables aux réglages du Setup de l’API. Le Setup de l’API est réglé par défaut pour des conditions de fonctionnement générales, afin d’utiliser le CQM1H sans devoir modifier les réglages. Il est fortement conseillé de vérifier les valeurs par défaut avant de tenter de le faire fonctionner. Valeurs par défaut Les valeurs par défaut du Setup de l’API sont 0000 pour tous les mots. Les valeurs par défaut pour les zones DM 6600 au DM 6655 peuvent être réinitialisées à tout moment en activant le SR 25210. ! Attention Lorsque la mémoire de données (DM) est effacée du périphérique de programmation, les réglages du Setup de l’API sont également remis à zéro. 1-1-1 Modification du Setup de l’API Les réglages du Setup de l’API sont lus à des moment différents selon le réglage, comme indiqué ci–dessous : • DM 6550 au DM 6559 : Lu régulièrement lorsque l’alimentation est à ON. • DM 6600 au DM 6614 : Lu seulement lorsque l’alimentation de l’API est sur ON. • DM 6615 au DM 6644 : Lu seulement lorsque l’exécution du programme commence. • DM 6645 au DM 6655 : Lu régulièrement lorsque l’alimentation est à ON. Les modifications du Setup de l’API ne deviennent effectives qu’aux moments indiqués ci–dessus. Le CQM1H aura ainsi à redémarrer pour effectuer les modifications dans les zones effectives du DM 6600 au DM 6614 et l’exécution de programme devra redémarrer pour effectuer les modifications dans les zones effectives du DM 6615 au DM 6644. Effectuer les modifications à partir d’un périphérique de programmation Le Setup de l’API est lisible mais pas modifiable à partir du programme de l’utilisateur. L’écriture s’effectue seulement en utilisant une console de programmation ou autre périphérique de programmation. Les DM 6600 à DM 6644 sont paramétrés ou modifiés uniquement lors du mode PROGRAM. Les DM 6550 à DM 6559 et les DM 6645 à DM 6655 sont paramétrés ou modifiés lors du mode PROGRAM ou du mode MONITOR. Protection d’écriture du Setup de l’API 2 Dès que les réglages du Setup de l’API sont effectués, le sélecteur 1 du micro– interrupteur à l’avant de l’unité centrale est activé pour éviter aux périphériques de programmation d’écraser le Setup de l’API. Lorsque le sélecteur 1 est à ON, le programme de l’utilisateur, la zone DM lecture seule (DM 6144 au DM 6568) et le Setup de l’API (DM 6600 au DM 6655) ne sont pas écrasés par le périphérique de programmation. Chapitre Setup de l’API Erreurs dans le Setup de l’API Drapeau(x) 1-1 Si un réglage du Setup de l’API incorrect est effectué, une erreur non fatale (code erreur 9B) sera générée, le drapeau d’erreur correspondant sera activé et le réglage par défaut sera utilisé.. Fonction AR 2400 Activé lorsqu’une erreur survient du DM 6600 au DM 6614 (lu lorsque l’alimentation est à ON). AR 2401 Activé lorsqu’une erreur survient du DM 6615 au DM 6644 (lu au début du fonctionnement). AR 2402 Activé lorsqu’une erreur survient du DM 6645 au DM 6655 (lu régulièrement lorsque l’alimentation est à ON). Un code erreur 10 est écrit dans cet octet lorsqu’une erreur survient du DM 6550 au DM 6559 (lu régulièrement lorsque l’alimentation est à ON). AR 0400 à AR 0407 3 Chapitre Setup de l’API 1-1 1-1-2 Paramétrage de la carte de communication série Le tableau suivant présente le paramétrage de la carte de communication série dans la zone DM. Pour plus d’informations, se reporter au Manuel de programmation de la carte de communication série. Mot(s) Bit(s) Fonction Paramétrage de la carte de communication série Les sélections suivantes sont effectives après le transfert à l’API. (Les sélections du port 2 sont contenues dans les mots du DM 6550 au DM 6554 et les sélections du port 1 sont contenues dans les mots du DM 6555 au DM 6559). DM 6550 (port 2) 00 à 03 Sélections de port 0 : Standard (1 bit de démarrage, données à 7 bits, parité pair, 2 bits d’arrêt, 9 600 bps) 1 : Sélections du DM 6551 (DM 6556 pour port 1) 04 à 07 Sélections de commande CTS 0 : Désactivé ; 1 : Réglé Mots de liaisons pour liaison de données 1 :1 (lorsque les bits 12 à 15 sont à 3) 0 : LR 00 à LR 63 ; 1 : LR 00 à LR 31 ; 2 : LR 00 à LR 15 DM 6555 (port 1) 08 à 11 12 à 15 DM 6551 (port 2) 00 à 07 DM 6556 (port 1) 08 à 15 DM 6552 (port 2) 00 à 15 DM 6557 (port 1) DM 6553 (port 2) 00 à 07 08 à 11 DM 6558 (port 1) 12 à 15 DM 6554 (port 2) 00 à 07 DM 6559 (port 1) 08 à 15 Nombre d’unités maximal de stations programmables (lorsque les bits 12 à 15 sont à 5) 1à7 Mode de communication 0 : Liaison à l’ordinateur ; 1 : Sans protocole ; 2 : Liaison Esclave 1:1 de données ; 3 : Liaison Maître 1:1 de données ; 4 : Liaison NT en mode 1:1 ; 5 : Liaison NT en mode 1:N ; 6 : Protocole–Macro Vitesse 00 : 1,2K, 01 : 2,4K, 02 : 4,8K, 03 : 9,6K, 04 : 19,2K Format d’unité d’information Début Longueur Arrêt Parité 00 : 1 bit 7 bits 1 bit Pair 01 : 1 bit 7 bits 1 bit Impair 02 : 1 bit 7 bits 1 bit Aucun 03 : 1 bit 7 bits 2 bits Pair 04 : 1 bit 7 bits 2 bits Impair 05 : 1 bit 7 bits 2 bits Aucun 06 : 1 bit 8 bits 1 bit Pair 07 : 1 bit 8 bits 1 bit Impair 08 : 1 bit 8 bits 1 bit Aucun 09 : 1 bit 8 bits 2 bits Pair 10 : 1 bit 8 bits 2 bits Impair 11 : 1 bit 8 bits 2 bits Aucun Délais de transmission (Liaison à l’ordinateur ou Sans protocole) 0000 à 9999 (BCD) : Régler dans les unités de 10 ms, e.x., un réglage du 0001 égal à 10 ms Numéro de station (Liaison à l’ordinateur) 00 à 31 (BCD) Active code de début (Sans-protocole) 0 : Désactivé; 1 : Réglé Active code fin (Sans protocole) 0 : Désactivé (nombre d’octets reçus) 1 : Réglé (code fin spécifié) 2 : CR, LF Code de début (Sans protocole) 00 à FF (hexadécimal) Lorsque les bits 12 à 15 de DM 6553 ou DM 6558 sont à 0 : Nombre d’octets reçus 00 : Réglage par défaut (256 octets) 01 à FF : 1 à 255 octets Lorsque les bits 12 à 15 de DM 6553 ou DM 6558 sont à 1 : Code de fin (Sans protocole) 00 à FF (hexadécimal) 4 Chapitre Setup de l’API 1-1 1-1-3 Paramétrage du Setup de l’API Le tableau suivant présente le paramétrage du Setup de l’API en fonction de la zone DM. Pour plus d’informations, se reporter aux numéros de pages indiqués ci–après. Mot(s) Bit(s) Fonction Page Traitement du démarrage (DM 6600 au DM 6614) Les sélections suivantes sont effectives après le transfert à l’API dès que l’API redémarre. DM 6600 00 à 07 Mode démarrage (effectif lorsque les bits 08 à 15 sont à 02). 00 : PROGRAM ; 01 : MONITOR 02 : RUN 08 à 15 Désignation du Mode démarrage 00 : En fonction du sélecteur 7 du micro–interrupteur de l’UC et du paramétrage du commutateur de la console de programmation 01 : Mode fonctionnement continu utilisé juste avant la désactivation de l’alimentation 02 : Paramétage des bits 00 à 07 de DM 6600 DM 6601 00 à 07 Non utilisé. 14 Etat du bit de maintien des E/S (SR 25212) 0 : Réinitialisé ; 1 : Maintenu Etat forcé de l’état du bit de maintien (SR 25211) 0 : Réinitialisé ; 1 : Maintenu Paramétrage de l’emplacement 1 de la carte interne (Voir le paragraphe 1-2 Paramétrage de la carte interne pour de plus d’informations). Non utilisé. 15 Paramétrage de l’emplacement 2 de la carte interne (Voir le paragraphe 1-2 Paramétrage de la carte interne pour de plus d’informations). 00 à 15 Gestion du paramétrage du temps de service pour la carte de communication série port 2 DM 6614 00 à 15 Gestion du paramétrage du temps de service pour la carte de communication série port 1 Paramétrage de la sortie d’impulsions et du temps de cycle (DM 6615 au DM 6619) 10 08 à 11 12 à 15 DM 6602 au DM 6603 DM 6604 au DM 6610 DM 6611 au DM 6612 DM 6613 00 à 15 00 à 15 00 à 15 Les sélections suivantes sont effectives après le transfert à l’API lors du prochain démarrage. DM 6615 00 à 07 Mot pour sortie d’impulsions 00 : IR 100 ; 01 : IR101 ; 02 : IR 102... 15 : IR 115 DM 6616 08 à 15 00 à 07 08 à 15 DM 6617 00 à 07 08 à 15 10 10 48 Règle le mot utilisé pour la sortie d’impulsions à partir de la sortie sur l’Unité de sortie transistor. Les impulsions sont émises uniquement d’une sortie à la fois. Non utilisé. Réglé à 00. 15 Temps de service pour le port RS-232C (lorsque les bits de 08 à 15 sont à 01) 00 à 99 (BCD) : Pourcentage du temps de cycle utilisé pour gérer le port RS-232C. Le temps de service doit s’effectuer entre 0,256 ms et 65,536 ms. Active le paramétrage du temps de service du port RS-232C 00 : 5% du temps de cycle 01 : Utilise le temps de service de 00 à 07. (Lorsque l’API est interrompu, le temps de service est toujours de 10 ms). 16 Le temps de service pour un port périphérique (lorsque les bits 08 à 15 sont à 01) 00 à 99 (BCD) : Pourcentage du temps de cycle utilisé pour gérer un port périphérique. Le temps de service doit s’effectuer entre 0,256 ms et 65,536 ms. Active le paramétrage du temps de service du port périphérique 00 : 5% du temps de cycle 01 : Utilise le réglage du temps aux bits 00 à 07. (Lorsque l’API est interrompu, le temps de service est toujours de 10 ms). 5 Chapitre Setup de l’API Mot(s) DM 6618 Bit(s) 00 à 07 08 à 15 DM 6619 00 à 15 Fonction Temps de surveillance de cycle (lorsque les bits 08 à 15 sont à 01, 02 ou 03) 00 à 99 (BCD) × paramètre des unités (Voir bits 08 à 15). Active la surveillance de cycle 00 : 120 ms (réglage des unités 00 à 07 désactivés) 01 : Réglage des unités : 10 ms 02 : Réglage des unités : 100 ms 03 : Réglage des unités : 1 s Temps de cycle 0000 : Variable (sans minimum) 0001 à 9999 (BCD) : Temps de cycle minimum en ms 1-1 Page 19 16 Traitement d’interruption (DM 6620 au DM 6639) Les sélections suivantes sont effectives après le transfert à l’API lors du démarrage suivant. DM 6620 00 à 03 04 à 07 08 à 11 12 à 15 DM 6621 DM 6622 DM 6623 DM 6624 DM 6625 DM 6626 DM 6627 DM 6628 00 à 07 08 à 15 00 à 07 08 à 15 00 à 07 08 à 15 00 à 07 08 à 15 00 à 07 08 à 15 00 à 07 08 à 15 00 à 07 08 à 15 00 à 03 04 à 07 08 à 11 12 à 15 DM 6629 00 à 07 08 à 15 6 Constante du temps d’entrée pour les IR 00000 à IR 00007 0 : 8 ms ; 1 : 1 ms ; 2 : 2 ms ; 3 : 4 ms ; 4 : 8 ms ; 5 : 16 ms ; 6 : 32 ms ; 7 : 64 ms ; 8 : 128 ms Constante du temps d’entrée pour les IR 00008 à IR 00015 (Même paramétrage que pour les bits de 00 à 03) Constante du temps d’entrée pour l’IR 001 (Même paramétrage que pour bits de 00 à 03) Non utilisé. Réglé à 0. 16 Constante d’entrée pour l’IR 002 00 : 8 ms ; 01 : 1 ms ; 02 : 2 ms ; 03 : 4 ms ; 04 : 8 ms ; 05 : 16 ms ; 06 : 32 ms ; 07 : 64 ms ; 08 : 128 ms Constante d’entrée pour l’IR 003 (Même paramétrage que pour l’IR 002). Constante d’entrée pour l’IR 004 (Même paramétrage que pour l’IR 002). Constante d’entrée pour l’IR 005 (Même paramétrage que pour l’IR 002). Constante d’entrée pour l’IR 006 (Même paramétrage que pour l’IR 002). Constante d’entrée pour l’IR 007 (Même paramétrage que pour l’IR 002). Constante d’entrée pour l’IR 008 (Même paramétrage que pour l’IR 002). Constante d’entrée pour l’IR 009 (Même paramétrage que pour l’IR 002). Constante d’entrée pour l’IR 010 (Même paramétrage que pour l’IR 002). Constante d’entrée pour l’IR 011 (Même paramétrage que pour l’IR 002). Constante d’entrée pour l’IR 012 (Même paramétrage que pour l’IR 002). Constante d’entrée pour l’IR 013 (Même paramétrage que pour l’IR 002). Constante d’entrée pour l’IR 014 (Même paramétrage que pour l’IR 002). Constante d’entrée pour l’IR 015 (Même paramétrage que pour l’IR 002). 16 Active l’interruption pour l’IR 00000 0 : Entrée normale ; 1 : Entrée d’interruption en Mode entrée d’interruption ou en Mode Compteur Active l’interruption pour l’IR 00001 0 : Entrée normale ; 1 : Entrée d’interruption en Mode entrée d’interruption ou en Mode Compteur Active l’interruption pour l’IR 00002 0 : Entrée normale ; 1 : Entrée d’interruption en Mode entrée d’interruption ou en Mode Compteur Active l’interruption pour l’IR 00003 0 : Entrée normale ; 1 : Entrée d’interruption en Mode entrée d’interruption ou en Mode Compteur 27 Nombre de temporisations à grande vitesse TIMH(15) à actualiser en réactualisant les interruptions 00 à 15 (BCD ; ex., réglé à 3 pour les temporisations de 00 à 02) Active l’actualisation d’interruption de la temporisation à grande vitesse 00 : 16 temporisations (paramétrage des bits de 00 à 07 désactivé) 01 : Utilise le paramétrage de 00 à 07 17 Chapitre Setup de l’API Mot(s) DM 6630 Bit(s) 00 à 07 08 à 15 DM 6631 00 à 07 08 à 15 DM 6632 00 à 07 08 à 15 DM 6633 00 à 07 08 à 15 DM 6634 00 à 07 08 à 15 DM 6635 00 à 07 08 à 15 DM 6636 00 à 07 08 à 15 DM 6637 00 à 07 08 à 15 DM 6638 00 à 07 08 à 15 DM 6639 00 à 07 08 à 15 Fonction Premier mot de rafraîchissement d’entrée pour l’interruption 0 d’E/S : 00 à 11 (BCD) Nombre de mots de rafraîchissement d’entrée pour l’interruption 0 d’E/S : 00 à 12 (BCD) Premier mot de rafraîchissement d’entrée pour l’interruption 1 d’E/S : 00 à 11 (BCD) Nombre de mots de rafraîchissement d’entrée pour l’interruption 1 d’E/S : 00 à 12 (BCD) Premier mot de rafraîchissement d’entrée pour l’interruption 2 d’E/S : 00 à 11 (BCD) Nombre de mots de rafraîchissement d’entrée pour l’interruption 2 d’E/S : 00 à 12 (BCD) Premier mot de rafraîchissement d’entrée pour l’interruption 3 d’E/S : 00 à 11 (BCD) Nombre de mots de rafraîchissement d’entrée pour l’interruption 3 d’E/S : 00 à 12 (BCD) 1-1 Page 27 Premier mot de rafraîchissement d’entrée pour le compteur à grande vitesse 1 : 00 à 11 (BCD) Nombre de mots de rafraîchissement d’entrée pour le compteur à grande vitesse 1: 00 à 12 (BCD) 27 Premier mot de rafraîchissement d’entrée pour le compteur à grande vitesse 2 : 00 à 11 (BCD) Nombre de mots de rafraîchissement d’entrée pour le compteur à grande vitesse 2: 00 à 12 (BCD) 27 Premier mot de rafraîchissement d’entrée pour la temporisation cyclique 0 : 00 à 15 (BCD) Nombre de mots de rafraîchissement d’entrée pour la temporisation cyclique 0 : 00 à 16 (BCD) Premier mot de rafraîchissement d’entrée pour la temporisation cyclique 1 : 00 à 15 (BCD) Nombre de mots de rafraîchissement d’entrée pour la temporisation cyclique 1 : 00 à 16 (BCD) Premier mot de rafraîchissement d’entrée pour la temporisation cyclique 2 ou pour le compteur à grande vitesse 0 : 00 à 15 (BCD) Nombre de mots de rafraîchissement d’entrée pour la temporisation cyclique 2 ou pour le compteur à grande vitesse 0 : 00 à 16 (BCD) 32, 38 Méthode de rafraîchissement de sortie 00 : Cyclique ; 01 : Direct Nombre de digits pour l’instruction digit AL SWITCH (commutateur analogique) (DSW(87)) 00 : 4 digits ; 01 : 8 digits 18, 503 18, 455 Paramétrage du compteur à grande vitesse (DM 6640 au DM 6644) Les sélections suivantes sont effectives après le transfert à l’API lors du prochain démarrage. DM 6640 au 00 à 15 DM 6641 Paramétrage de l’emplacement 1 de la carte interne (Voir le paragraphe 1-2 Paramétrage de la carte interne pour plus d’informations). 10 DM 6642 Mode d’entrée du compteur à grande vitesse 0 0 : Mode phase bidirectionnelle ; 4 : Mode incrémentation Mode de rafraîchissement du compteur à grande vitesse 0 0 : Phase Z et réinitialisation par programme ; 1 : Seulement réinitialisation par programme Active le compteur à grande vitesse 0 00 : Ne pas utiliser le compteur à grande vitesse 0 ; 01 : Utiliser le compteur à grande vitesse 0. 38 00 à 03 04 à 07 08 à 15 7 Chapitre Setup de l’API Mot(s) Bit(s) Fonction DM 6643 au 00 à 15 Paramétrage de l’emplacement 2 de la carte interne DM 6644 (Voir le paragraphe 1-2 Paramétrage de la carte interne pour plus d’informations). Paramétrage du port RS-232C Les sélections suivantes sont effectives après le transfert à l’API. DM 6645 00 à 03 Paramétrage du port (Liaison à l’ordinateur ou mode sans protocole) 0 : Standard (1 bit de démarrage, données à 7 bits, parité pair, 2 bits d’arrêt, 9 600 bps) 1 : paramétrage du DM 6646 04 à 07 Paramétrage de commande CTS (liaison à l’ordinateur ou mode sans protocole) 0 : Désactivé; 1 : Réglé 08 à 11 Mots de liaisons pour 1 :1 liaison de données ( mode liaison maître de données1:1) 12 à 15 DM 6646 00 à 07 08 à 15 DM 6647 00 à 15 DM 6648 00 à 07 08 à 11 12 à 15 DM 6649 00 à 07 08 à 15 0 : LR 00 à LR 63 ; 1 : LR 00 à LR 31 ; 2 : LR 00 à LR 15 Mode de communication 0 : Liaison à l’ordinateur ; 1 : Sans protocole ; 2 : Liaison esclave de données 1:1 ; 3 : Liaison Maître 1 :1 de données ; 4 : Liaison NT en Mode 1 :1 Vitesse 00 : 1,2 kbps, 01 : 2,4 kbps, 02 : 4,8 kbps, 03 : 9,6 kbps, 04 : 19,2 kbps Format de trame Démarrage Longueur Arrêt Parité 00 : 1 bit 7 bits 1 bit Pair 01 : 1 bit 7 bits 1 bit Impair 02 : 1 bit 7 bits 1 bit Aucun 03 : 1 bit 7 bits 2 bits Pair 04 : 1 bit 7 bits 2 bits Impair 05 : 1 bit 7 bits 2 bits Aucun 06 : 1 bit 8 bits 1 bit Pair 07 : 1 bit 8 bits 1 bit Impair 08 : 1 bit 8 bits 1 bit Aucun 09 : 1 bit 8 bits 2 bits Pair 10 : 1 bit 8 bits 2 bits Impair 11 : 1 bit 8 bits 2 bits Aucun Délais de transmission (Liaison à l’ordinateur ou sans protocole) 0000 à 9999 (BCD) : Régle l’unité à 10 ms, ex., un paramétrage à 0001 est égal à 10 ms Numéro de station (Liaison à l’ordinateur) : 00 à 31 (BCD) Start Code Enable (Sans protocole) 0 : Désactivé; 1 : Réglé Active code de fin (Sans protocole) 0 : Désactivé (nombre d’octets reçus) 1 : Réglé (code de fin spéficié) 2 : CR, LF Code de début (Sans protocole) 00 à FF (hexadécimal) Lorsque les bits 12 à 15 du DM 6648 sont à 0 : Nombre d’octets reçus 00 : paramétrage par défaut (256 octets) 01 à FF : 1 à 255 octets Lorsque les bits 12 à 15 du DM 6648 sont à 1 : Code de fin (Sans protocole) 00 à FF (hexadécimal) 8 1-1 Page 10 49 49 Chapitre Setup de l’API Mot(s) Bit(s) Fonction 1-1 Page Paramétrage du port périphérique Les sélections suivantes sont effectives après le transfert à l’API. DM 6650 00 à 03 04 à 07 08 à 11 12 à 15 Paramétrage du port (Liaison à l’ordinateur ou mode sans protocole) 0 : Standard (1 bit de démarrage, données à 7 bits, parité pair, 2 bits d’arrêt, 9 600 bps) 1 : Paramétrage du DM 6651 Paramétrage de la commande CTS (Liaison à l’ordinateur ou mode sans protocole) 0 : Désactivé ; 1 : Réglé Non utilisé. Mode de communication (lorsque les bits 00 à 03 sont à 1) 0 : Liaison à l’ordinateur ; 1 : Sans protocole 19, 49 Lorsqu’une console de programmation est reliée au port périphérique, désactiver le sélecteur 7 du micro–interrupteur de l’unité centrale. Le sélecteur 5 et le Setup de l’API sont alors désactivés. Lors de la connexion à l’ordinateur au port périphérique pour l’utiliser comme périphérique de programmation, mettre le sélecteur 7 sur ON et régler le mode de communication à la “liaison à l’ordinateur“. Lorsque ce paramétrage est effectué et dès le réglage de l’ordinateur pour fonctionner en bus périphérique, le mode de communication du port périphérique de l’unité centrale commute automatiquement en mode bus périphérique. DM 6651 00 à 07 08 à 15 DM 6652 00 à 15 DM 6653 00 à 07 08 à 11 12 à 15 DM 6654 00 à 07 08 à 15 Vitesse (Liaison à l’ordinateur, bus périphérique ou mode sans protocole) 00 : 1,2 kbps, 01 : 2,4 kbps, 02 : 4,8 kbps, 03 : 9,6 kbps, 04 : 19,2 kbps Format de trame (Liaison à l’ordinateur ou mode sans protocole) Démarrage Longueur Arrêt Parité 00 : 1 bit 7 bits 1 bit Pair 01 : 1 bit 7 bits 1 bit Impair 02 : 1 bit 7 bits 1 bit Aucun 03 : 1 bit 7 bits 2 bits Pair 04 : 1 bit 7 bits 2 bits Impair 05 : 1 bit 7 bits 2 bits Aucun 06 : 1 bit 8 bits 1 bit Pair 07 : 1 bit 8 bits 1 bit Impair 08 : 1 bit 8 bits 1 bit Aucun 09 : 1 bit 8 bits 2 bits Pair 10 : 1 bit 8 bits 2 bits Impair 11 : 1 bit 8 bits 2 bits Aucun Délai de transmission (Sans protocole ou seulement communication par liaison à l’ordinateur initié par la station esclave) 0000 à 9999 (BCD) : Régler dans les unités de 10 ms, ex., un paramétrage de 0001 est égal à 10 ms 49 Numéro de station (Liaison à l’ordinateur) : 00 à 31 (BCD) Active code de début (Sans protocole) 0 : Désactivé ; 1 : Réglé Active code de fin (Sans protocole) 0 : Désactivé (nombre d’octets reçus) 1 : Règle (code de fin spécifié) 2 : CR, LF Code de début (Sans protocole) 00 à FF (hexadécimal) Lorsque les bits 12 à 15 du DM 6653 sont à 0 : Nombre d’octets reçus 00 : Paramétrage par défaut (256 octets) 01 à FF : 1 à 255 octets 49 Lorsque les bits 12 à 15 du DM 6653 sont à 1 : Code de fin (Sans protocole) 00 à FF (hexadécimal) 9 Chapitre Paramétrage de la carte interne Mot(s) Bit(s) Fonction 1-2 Page Paramétrage du journal d’erreur (DM 6655) Les sélections suivantes sont effectives après le transfert à l’API. DM 6655 00 à 03 04 à 07 08 à 11 12 à 15 1-2 Style 0 : Bascule dès que les 10 enregistrements sont sauvegardés 1 : Sauvegarde uniquement les 10 premiers enregistrements (sans basculement) 2 à F : Ne sauvegarde pas les enregistrements Non utilisé. Réglé à 0. Active la surveillance de temps de cycle 0 : Détecte les cycles longs en tant qu’erreurs fatales 1 : Ne détecte pas les cycles longs Active l’erreur de batterie faible 0 : Détecte la tension de la batterie faible comme une erreur non fatale 1 : Ne détecte pas la tension de la batterie faible 19 Paramétrage de la carte interne Ce chapitre décrit le paramétrage du Setup de l’API concernant les cartes internes montées dans les emplacements 1 et 2 de la carte interne. 1-2-1 Paramétrage de la carte de communication série Utilise les paramétrages des DM 6613 et DM 6614 pour régler la gestion des temporisations pour une carte de communication série montée dans l’emplacement 1 de la carte interne. Une carte de communication série ne peut pas être montée dans l’emplacement 2. Mot DM 6613 DM 6614 Bits 00 à 07 Temps de service du port 2 de la carte communication série (activé par les bits 08 à 15) 00 à 99 (BCD) : Régle le pourcentage du temps de cycle utilisé pour gérer le port 2. Le temps de service doit être comprise entre 0,256 ms et 65,536 ms. 08 à 15 Paramétrage du temps de service du port 2 de la carte communication série 00 : fixe à 5% du temps de cycle. 01 : Utilise le réglage du temps en bits 00 à 07. (Lorsque l’API est interrompu, Le temps de service est toujours de 10 ms). 00 à 07 Temps de service pour port 1 de la carte de communication série (activé par les bits 08 à 15) 00 à 99 (BCD) : Règle le pourcentage du temps de cycle utilisé pour gérer le port 1. Le temps de service doit être comprise entre 0,256 ms et 65,536 ms. Paramétrage du temps de service du port 1 de la carte communication série 00 : fixe à 5% du temps de cycle. 01 : Utilise le paramétrage du temps en bits 00 à 07. (Lorsque l’API est interrompu, le temps de service est toujours de 10 ms). 08 à 15 10 Fonction Chapitre Paramétrage de la carte interne 1-2 1-2-2 Paramétrage de la carte du compteur à grande vitesse Le paramétrage des DM 6602, DM 6640 et DM 6641 détermine le fonctionnement de la carte du compteur à grande vitesse montée dans l’emplacement 1 de la carte interne. Le paramétrage des DM 6611, DM 6643 et DM 6644 détermine le fonctionnement de la carte du compteur à grande vitesse montée dans l’emplacement 2 de la carte interne. Mot Bits DM 6602 00 à 03 (Empla– cement 1) 04 à 07 DM 6611 08 à 11 (Emplacement 12 à 15 2) DM 6640 00 à 03 (Emplacement 04 à 07 1) DM 6643 (Empla08 à 11 cement 2) 12 à 15 DM 6641 00 à 03 (Emplacement 04 à 07 1) DM 6644 (Empla08 à 11 cement 2) 12 à 15 Rem. Fonction Paramétrage Format des données de la PV des compteurs à grande vitesse 1 à 4 0 : hexadécimal à 8 digits 1 : BCD à 8 digits Non utilisé Réglé à 0. Sélecteur transistor de sorties externes 1 à 4 0 : Emetteur 1 : Récepteur Non utilisé. Réglé à 0. Mode entrée du compteur à grande vitesse 1 Fréquence de comptage du compteur à grande vitesse 1, plage numérique et mode réinitialisation du compteur Mode entrée du compteur à grande vitesse 2 Fréquence de comptage du compteur à grande vitesse 2, plage numérique et mode réinitialisation du compteur Mode entrée du compteur à grande vitesse 3 Fréquence de comptage du compteur à grande vitesse 3, plage numérique et mode réinitialisation du compteur Mode entrée du compteur à grande vitesse 4 Fréquence de comptage du compteur à grande vitesse 4, plage numérique et mode réinitialisation du compteur Voir Rem. 1. Voir Rem. 2. Voir Rem. 1. Voir Rem. 2. Voir Rem. 1. Voir Rem. 2. Voir Rem. 1. Voir Rem. 2. 1. Le paramétrage du mode entrée du compteur à grande vitesse est le suivant : Para– mètre Mode entrée 0 Entrées de phase bidirectionnelle, 1x 1 Entrées de phase bidirectionnelle, 2x 2 Entrées de phase bidirectionnelle, 4x 3 Entrée avance/retour 4 Entrée impulsion/direction 11 Chapitre Paramétrage de la carte interne 1-2 2. Les paramétrages de la fréquence de comptage du compteur à grande vitesse, de la plage numérique et du mode réinitialisation du compteur sont les suivants : Para– mètre 0 Fréquence de comptage 50 kHz Plage numérique Mode réinitialisation Comptage linéaire Phase Z + réinitialisation par programme Uniquement réinitialisation par programme Phase Z + réinitialisation par programme Uniquement réinitialisation par programme Phase Z + réinitialisation par programme Uniquement réinitialisation par programme Phase Z + réinitialisation par programme Uniquement réinitialisation par programme 1 Comptage circulaire 2 3 4 500 kHz Comptage linéaire 5 Comptage circulaire 6 7 1-2-3 Paramétrage de la carte de gestion d’axes Le paramétrage des DM 6611, DM 6643 et DM 6644 détermine le fonctionnement de la carte de gestion d’axes montée dans l’emplacement 2 de la carte interne. Une carte de gestion d’axes ne peut pas être montée dans l’emplacement 1. Mot Bits 00 à 15 Mode paramétrage des ports 1 et 2 0000 : Mode comptage à grande vitesse 0001 : Mode positionnement simple DM 6643 00 à 03 Mode entrée du port 1 0 : Mode phase bidirectionnelle 1 : Mode impulsion/direction 2 : Mode avance/retour Méthode de réinitialisation du compteur du port 1 0 : Phase Z et réinitialisation par programme ; 1 : Réinitialisation par programme Plage numérique du port 1 0 : Comptage linéaire ; 1 : Comptage circulaire Coefficient cyclique de sortie d’impulsions du port 1 0 : Coefficient cyclique fixe ; 1 : Coefficient cyclique variable Mode entrée du port 2 0 : Mode phase bidirectionnelle 1 : Mode impulsion/direction 2 : Mode avance/retour Méthode réinitialisation du compteur du port 2 0 : Phase Z et réinitialisation par programme ; 1 : Réinitialisation par programme Plage numérique du port 2 0 : Comptage linéaire ; 1 : Comptage circulaire Coefficient cyclique de sortie d’impulsions du port 2 0 : Coefficient cyclique fixe ; 1 : Coefficient cyclique variable 04 à 07 08 à 11 12 à 15 DM 6644 00 à 03 04 à 07 08 à 11 12 à 15 12 Fonction DM 6611 Chapitre Paramétrage de la carte interne 1-2 1-2-4 Paramétrage de la carte codeur absolu Le paramétrage des DM 6611, DM 6612, DM 6643 et DM 6644 détermine le fonctionnement de la carte codeur absolu monté dans l’emplacement 2 de la carte interne. Une carte codeur absolu ne peut pas être montée dans l’emplacement 1. Mot DM 6611 Bits 00 à 15 Fonction Compensation d’origine pour le port 1 (BCD à 4 digits ) L’origine est compensée lorsque le bit de compensation d’origine du port 1 (SR 25201) est à ON. La valeur de compensation est enregistrée en BCD entre 0000 et 4095 lorsque le compteur est réglé en mode BCD ou mode 360°. DM 6612 00 à 15 Compensation d’origine pour le port 2 (BCD à 4 digits ) L’origine est compensée lorsque le bit de compensation d’origine du port 2 (SR 25202) est à ON. La valeur de compensation est enregistrée en BCD entre 0000 et 4095 lorsque le compteur est réglé en mode BCD ou mode 360°. DM 6643 00 à 07 08 à 15 DM 6644 00 à 07 08 à 15 Résolution d’entrée du port 1 00 : 8 bits ; 01 : 10 bits ; 02 : 12 bits Mode fonctionnement du port 1 00 : mode BCD ; 01 : mode 360° Résolution d’entrée du port 2 00 : 8 bits ; 01 : 10 bits ; 02 : 12 bits Mode fonctionnement du port 2 00 : mode BCD ; 01 : mode 360° 1-2-5 Paramétrage de la carte E/S analogiques Le paramétrage du DM 6611 détermine le fonctionnement de la carte E/S analogiques montée dans l’emplacement 2 de la carte interne. La carte E/S analogiques ne peut pas être montée dans l’emplacement 1. Mot Bits DM 6611 00 à 01 02 à 03 04 à 05 06 à 07 08 09 10 11 12 à 15 Fonction Plage du signal d’entrée, entrée analogique 1 Plage du signal d’entrée, entrée analogique 2 Plage du signal d’entrée, entrée analogique 3 Plage du signal d’entrée, entrée analogique 4 Sélection d’usage, entrée analogique 1 Sélection d’usage, entrée analogique 2 Sélection d’usage, entrée analogique 3 Sélection d’usage, entrée analogique 4 Non utilisé. Paramétrage Régle l’état des deux bits comme suit : 00 : –10 à +10 V 01 : 0 à 10 V 10 : 0 à 5 V ou 0à 20 mA 0 : Prise en charge d’entrée (utilisé). 1 : Pas de prise en charge d’entrée. Réglé à 0. 13 Chapitre Fonctionnement de l’API de base et traitements des E/S 1-3 1-3 Fonctionnement de l’API de base et traitements des E/S Ce chapitre décrit le paramétrage du Setup de l’API concernant le fonctionnement de base et les traitements des E/S. 1-3-1 Mode démarrage Le mode de fonctionnement de l’API démarre lorsque l’alimentation activée est paramétrée de la manière suivante : Bit 15 0 DM 6600 Désignation du mode démarrage 00 : Dépend du périphérique de programmation et du paramétrage des micro–interrupteurs (Voir tableau ci–dessous). 01 : Mode de fonctionnement utilisé avant de désactiver l’alimentation 02 : Mode réglé pour les bits de 00 à 07 Mode démarrage (Bits de 08 à 15 : Valable lorsque les bits de 00 à 07 sont réglés à 02) 00 : Mode PROGRAM 01 : Mode MONITOR 02 : ModeRUN Par défaut : Mode fonctionnement déterminé par le périphérique de programmation et le paramétrage des micro–interrupteurs comme indiqué dans le tableau ci–dessous. Périphérique de proSélecteur 7 du Mode démarrage grammation connecté micro-interrupteur au démarrage de l’UC Aucune connexion. OFF Mode PROGRAM ON Mode RUN Console de OFF Mode fonctionnement réglé à partir programmation du mode commutation de la console connectée. de programmation ON Mode PROGRAM (Voir Rem.1). Autre périphérique de OFF Mode PROGRAM (Voir Rem.1). programmation ON Dépend du câble de connexion connecté. utilisé (Voir Rem.2). Rem. Dans ce cas, le CQM1H n’est pas capable de communiquer avec le périphérique de programmation connecté. ! Attention Le mode démarrage est en mode PROGRAM ou en mode RUN, selon le câblage de connexion utilisé. Câble de connexion 14 Mode démarrage CS1W-CN114 + CQM1-CIF01/02 Mode PROGRAM CS1W-CN118 + XW2Z-200/500S(-V) Mode PROGRAM CS1W-CN226/626 Mode RUN CS1W-CN118 + XW2Z-200/500S-CV Mode RUN Chapitre Fonctionnement de l’API de base et traitements des E/S 1-3 1-3-2 Etat du bit de maintien Effectuer le paramétrage présenté ci–dessous pour déterminer si, lors de l’activation de l’alimentation, le bit de maintien de l’état forcé (SR 25211) et/ou le bit de maintien d’E/S (SR 25212) conserve l’état prenant effet lorsque l’alimentation est désactivée ou lors de la suppression de l’état précédent. Bit 15 DM 6601 Paramètre SR 25211 0 : Supprime l’état 1 : Conserve l’état 0 0 0 Toujours 00 Paramètre SR 25212 0 : Supprime l’état 1 : Conserve l’état Par défaut : Supprimer les deux. Le bit de maintien de l’état forcé (SR 25211) détermine si l’état réglé/réinitialisé forcé est ou non conservé lors de la modification du mode PROGRAM en mode MONITOR. Le bit de maintien d’E/S (SR 25212) détermine si l’état des bits IR et des bits LR est ou non conservé lorsque le fonctionnement de l’API démarre ou s’arrête. 1-3-3 Temps de service du port RS-232C La configuration suivante est utilisée pour déterminer le pourcentage du temps de cycle dédié au temps de service du port RS-232C. Bit 15 0 DM 6616 Active le paramétrage du temps de service 00 : Désactivé (5% du temps de cycle) 01 : Activé (paramétrage des bits 00 à 07 utilisés) Temps de service (%, valable lorsque les bits 08 à 15 sont à 01) 00 à 99 (BCD, deux digits) Par défaut : 5% du temps de cycle Exemple : Si le DM 6616 est réglé à 0110, le port RS-232C gère 10% du temps de cycle. Le temps de service minimal est de 0,256 ms. Le temps de service total n’est pas utilisable à moins que les requêtes de traitement existent. 15 Chapitre Fonctionnement de l’API de base et traitements des E/S 1-3 1-3-4 Temps de service du port périphérique La configuration suivante est utilisée pour déterminer le pourcentage du temps de cycle dédié au temps de service du port périphérique. Bit 15 0 DM 6617 Active le paramétrage du temps de service 00 : Désactivé (5% du temps de cycle) 01 : Activé (paramétrage des bits de 00 à 07 utilisés) Temps de service (%, valable lorsque les bits de 08 à 15 sont à 01) 00 à 99 (BCD, deux digits) Par défaut : 5% du temps de cycle Exemple : Si DM 6617 est réglé à 0115, le port périphérique gère 15% du temps de cycle. Le temps de service minimal est de 0,256 ms. Le temps de service total n’est pas utilisable à moins que les requêtes de traitement existent. 1-3-5 Temps de cycle minimal Effectuer le paramétrage décrit ci–dessous pour homogénéiser le temps de cycle et pour supprimer l’apparition de variations dans le temps des réponses des E/S en paramétrant un temps de cycle minimal. Bit 15 0 DM 6619 Temps de cycle (BCD à 4 digits) 0000 : Variable du temps de cycle 0001 à 9999 : Temps de cycle minimal (Unité : 1 ms) Par défaut : Variable du temps de cycle Si le temps de cycle réel est plus court que le temps de cycle minimal, l’exécution attend que le temps minimal ait expiré. Si le temps de cycle réel est plus long que le temps de cycle minimal, alors le fonctionnement poursuit selon le temps de cycle réel. L’AR 2405 est activé si le temps de cycle minimal est dépassé. 1-3-6 Constantes du temps d’entrée Effectuer le paramétrage présenté ci-dessous pour régler le temps pour lequel entrées réelles de l’unité d’entrée C.C. sont activées ou désactivées jusqu’à ce que l’entrée correspondante soit mise à jour (c.–à–d., jusqu’à ce que leur état “ON/OFF” soit modifié). Effectuer ces paramétrages lorsque le temps est à ajuster pour que les entrées se stabilisent. L’augmentation de la constante de temps d’entrée peut réduire les effets de vibration et de parasite externe. Entrée à partir d’un périphérique d’entrée tel qu’un commutateur de fin de course Etat du bit d’entrée 16 t t Constante de temps d’entrée Chapitre Fonctionnement de l’API de base et traitements des E/S 1-3 Constantes de temps d’entrée pour les IR 000 et IR 001 Bit 15 DM 6620 0 0 Constante de temps pour les IR 00100 à IR 00115 (BCD à 1digit ; voir ci–dessous). Constante de temps pour les IR 00008 à IR 00015 (BCD à 1digit ; voir ci–dessous). Constante de temps pour les IR 00000 à IR 00007 (BCD à 1digit ; voir ci–dessous). Par défaut : 0000 (8 ms chacun) Constantes de temps d’entrée pour les IR 002 à IR 015 DM 6621 : IR 002 et IR 003 DM 6622 : IR 004 et IR 005 DM 6623 : IR 006 et IR 007 DM 6624 : IR 008 et IR 009 DM 6625 : IR 010 et IR 011 DM 6626 : IR 012 et IR 013 DM 6627 : IR 014 et IR 015 Bit 15 0 DM 6621 au DM 6627 Constante de temps pour les IR 003, IR 005, IR 007, IR 009, IR 011, IR 013 et IR 015 Constante de temps pour les IR 002, IR 004, IR 006, IR 008, IR 010, IR 012 et IR 014 Par défaut : 0000 (8 ms chacun) Les neuf paramétrages possibles pour la constante de temps d’entrée sont présentés ci–dessous. Régler seulement le digit à l’extrême droite pour l’IR 000. 0 : 8 ms 5 : 16 ms 1 : 1 ms 6 : 32 ms 2 : 2 ms 7 : 64 ms 3 : 4 ms 8 : 128 ms 4 : 8 ms 1-3-7 Temporisations à grande vitesse Effectuer les paramétrages présentés ci-dessous pour régler le nombre de temporisations à grande vitesse créé avec TIMH(15) qui utilisent le traitement d’interruption. Bit 15 DM 6629 0 Active le paramétrage d’interruption de la temporisation à grande vitesse 00 : Paramétrage désactivé (Traitement d’interruption pour toutes les temporisations à grande vitesse, TIM 000 à TIM 015) 01 : Activé (Utilise le pramétrage des bits de 00 à 07). Nombre de temporisation à grande vitesse par interruptions (valable lorsque les bits de 08 à 15 sont à 01) 00 à 15 (BCD à 2digits) Par défaut : Traitement d’interruption pour toutes les temporisations à grande vitesse, TIM 000 à TIM 015. Le paramétrage indique le nombre de temporisations utilisant le traitement d’interruption commençant par TIM 000. Par exemple, si “0108 ” est sélectionné, les huit temporisations, TIM 007 à TIM 000 utilisent le traitement d’interruption. 17 Chapitre Fonctionnement de l’API de base et traitements des E/S Rem. 1-3 1. Les temporisations à grande vitesse ne sont pas précises sans traitement d’interruption à moins que le temps de cycle soit d’au plus 10 ms. 2. Si l’instruction SPED(64) est utilisée et si les impulsions sont émises à une fréquence d’au moins 500 Hz, régler alors le nombre de temporisations à grande vitesse avec au plus quatre traitements d’interruption. Pour plus d’informations, se reporter à l’instruction SPED(64). 3. Le temps de réponse d’interruption pour d’autres interruptions est amélioré si le traitement d’interruption est réglé à 00 lorsque le traitement de la temporisation à grande vitesse n’est pas exigé. Ceci comprend le durée où le temps de cycle est inférieur à 10 ms. 1-3-8 digits d’entrée DSW(87) et méthode de rafraîchissement de sortie Effectuer les paramétrages présentés ci–dessous pour régler le nombre de digits d’entrée de l’instruction DSW(87) et pour régler la méthode de rafraîchissement de sortie. Bit 15 DM 6639 0 Nombre de digits d’entrée pour la DSW(87) 00 : 4 digits 01 : 8 digits Méthode de rafraîchissement de sortie 00 : Cyclique 01 : Directe Par défaut : Le nombre de digits d’entrée de l’instruction DSW(87) est réglé à “4” et la méthode de rafraîchissement de sortie est cyclique. Se reporter à la page 455 pour plus d’informations sur l’instruction DSW(87) et au Chapitre 7 - Fonctionnement de l’API et temporisation du traitement pour plus d’informations sur les méthodes de rafraîchissement d’E/S. 18 Chapitre Fonctionnement de l’API de base et traitements des E/S 1-3 1-3-9 Paramétrage du port périphérique Le paramétrage des communications séries du port périphérique est déterminé par les sélecteurs 5 et 7 du micro-interrupteur de l’unité centrale, le paramétrage hexadécimal du DM 6650 et le périphérique connecté au port périphérique. Paramétrage du micro-interrupteur Paramétrage du DM 6650 Sél.5 Sél.7 OFF OFF Ignoré OFF ON 0000 Périphérique connecté Console de programmation Périphérique de programmation autre qu’une console de programmation (tel qu’un ordinateur) 0001 ON OFF 10 Ignoré ON ON Ignoré Mode de communication série Bus de console de program– mation Liaison à l’ordinateur, paramétrage Mode standard si les logiciels CX–Programmer, ou SYSWIN sont effectués pour le bus périphérique. Liaison à l’ordinateur, paramétrages clients les logiciels CX–Programmer, ou SYSWIN sont effectués pour le bus périphérique. Console de programmation Périphérique de programmation autre qu’une console de programmation (tel qu’un ordinateur) Sans protocole Bus de console de program– mation Liaison à l’ordinateur, paramétrage Mode standard si les logiciels CX–Programmer, ou SYSWIN sont effectués pour le bus périphérique. 1-3-10 Paramétrage du journal d’erreurs Effectuer le paramétrage indiqué ci-dessous pour détecter les erreurs et sauvegarder le journal d’erreurs. Temps de surveillance de cycle (DM 6618) Le temps de surveillance de cycle est utilisé pour vérifier les temps de cycles très longs, cela peut survenir lorsque le programme entre dans une boucle infinie. Si le temps de cycle excède le paramétrage de surveillance du cycle, une erreur fatale (FALS 9F) se produit. Bit 15 DM 6618 0 Active la durée de surveillance de cycle et précise l’unité 00 : Paramétrage désactivé (durée fixee à 120 ms) 01 : Paramétrage de 00 à 07 activé ; unité :10 ms 02 : Paramétrage de 00 à 07 activé ; unité :100 ms 03 : Paramétrage de 00 à 07 activé ; unité :1 s Paramétrage de la durée de surveillance de cycle (lorsque les bits 08 à 15 ne sont pas à 00) 00 à 99 (BCD à 2 digits ; unité réglée pour les bits 08 à 15). Par défaut : 120 ms. Rem. 1. Les unités utilisées pour le temps de cycle actuel et maximal enregistré dans les AR 26 et AR 27 (BCD à 4 digits) dépendent du paramétrage du temps de surveillance de cycle de l’unité du DM 6618, comme indiqué ci– dessous. Bits 08 à 15 réglés à 01 : 0,1 ms Bits 08 à 15 réglés à 02 : 1 ms Bits 08 à 15 réglés à 03 : 10 ms 19 Chapitre Fonctionnement de l’API de base et traitements des E/S 1-3 2. Si le temps de cycle est d’1 s ou plus, le temps de cycle lu par le périphérique de programmation est de 999,9 ms. Le bon maximum et le temps de cycle actuel s’enregistrent dans la zone AR. Exemple Si 0230 est réglé dans le DM 6618, une erreur FALS 9F ne se produit pas tant que le temps de cycle n’excède 3 s. Si le temps réel de cycle est 2,59 s, le temps actuel du cycle sauvegardé dans la zone AR est de 2590 (ms), mais le temps de cycle lu par un périphérique de programmation est de 999,9 ms. Une erreur de ”Temps de cycle terminé” (non fatale) se produit lorsque le temps de cycle excède 100 ms à moins que la détection d’un temps de cycle long soit désactivée en utilisant le paramétrage du DM 6655. Détection d’erreur et fonctionnement du journal d’erreurs (DM 6655) Effectuer les paramétrages présentés ci-dessous pour déterminer si une erreur non fatale a été générée lorsque le temps de cycle excède 100 ms ou lorsque la tension de batterie intégrée chute, pour paramétrer la méthode de sauvegarde des enregistrements dans le journal d’erreurs dès que les erreurs se produisent. Bit 15 DM 6655 Détection de la tension de batterie faible 0 : Détecté 1 : Non détecté 0 0 Toujours 0 Détection de dépassement du temps de cycle 0 : Détecté 1 : Non détecté Méthode de stokage du journal d’erreur 0 : Enregistrement des erreurs, les 10 erreurs les plus récentes sont toujours sauvegardées (les erreurs les plus anciennes sont supprimées). 1 : Seuls les 10 premiers enregistrements sont sauvegardés (aucune erreur n’est sauvegardée au-delà de ce point). 2 à F : Erreurs enregistrées non sauvegardées. Par défaut : Tension de batterie faible et erreurs de dépassement du temps de cycle détectées, et enregistre les erreurs sauvegardées pour les 10 erreurs les plus récentes. Les erreurs de la batterie et les erreurs de dépassement du temps de cycle sont des erreurs non fatales. Pour plus d’informations sur le journal d’erreurs, se reporter au Chapitre 8 Dépannage. 20 Chapitre Fonctions d’interruption 1-4 1-4 Fonctions d’interruption Ce chapitre explique les paramétrages et les méthodes d’utilisation des fonctions d’interruption CQM1H. 1-4-1 Types d’interruptions Le CQM1H possède quatre types d’interruptions présentées ci-après : • Interruptions d’entrée : Traitement d’interruption exécuté lorsqu’une entrée provenant d’une source externe vers un des bits IR 00000 à IR 00003 de l’UC est activée. • Interruptions de temporisation cyclique : Traitement d’interruption exécuté par une temporisation cyclique avec une précision de 0,1 ms. • Interruptions du compteur à grande vitesse : Traitement d’interruption exécuté selon la valeur en cours (PV) du compteur à grande vitesse intégré. Les unités centrales du CQM1H sont équipées des 3 types d’interruptions du compteur à grande vitesse suivants. Tous peuvent fonctionner en tant qu’interruptions de valeur spécifiée ou interruptions de comparaison de plage. L’interruption de valeur spécifiée se produit lorsque la PV correspond à la SV, et l’interruption de comparaison de plage se produit lorsque la PV se trouve dans une plage de SV prédéfinie. 1, 2, 3... 1. Compteur à grande vitesse 0 (intégré à l’UC) Le compteur à grande vitesse 0 compte les entrées d’impulsions 4 à 6 de l’UC. Les impulsions biphasées atteignant 2,5 kHz sont comptées. 2. Compteurs à grande vitesse 1 et 2 (carte de gestion d’axes) Les compteurs à grande vitesses 1 et 2 comptent les entrées d’impulsions à grande vitesse des ports 1 et 2 de la carte de gestion d’axes. Les impulsions biphasées atteignant 2,5 kHz sont comptées. 3. Compteurs à grande vitesse absolus 1 et 2 (carte codeur absolu) Les compteurs à grande vitesses 1 et 2 comptent l’entrée des codes du codeur rotatif absolu des ports 1 et 2 de la carte codeur absolu. Rem. Le traitement d’interruption n’est pas effectué pour les compteurs à grande vitesse 1, 2, 3 et 4 de la carte du compteur à grande vitesse. La carte du compteur à grande vitesse compte les impulsions pouvant atteindre 50 kHz ou 500 kHz. Les PV du compteur à grande vitesse sont vérifiées par rapport à la valeur spécifiée ou à la plage des SV et un ensemble de bits est produit en interne ou en externe au lieu de produire une interruption. • Interruptions de la carte de communication série : Le traitement d’interruption est demandé par l’unité centrale lorsque la carte de communication série reçoit le message voulu. Traitement d’interruption Lorsqu’une interruption est produite, le sous-programme d’interruption spécifié est exécuté. Définition des sous-programmes Tout comme des sous–programmes ordinaires, les sous–programmes d’interruption sont définis en utilisant SBN(92) et RET(93) à la fin du programme principal. Lorsque les sous–programmes d’interruption sont exécutés, une plage spécifiée de bits d’entrée est rafraîchie. Lorsqu’un sous–programme d’interruption est défini, une erreur du “no SBS error” (sans erreur SBS) est produite pendant le contrôle du programme mais l’exécution se poursuit normalement. Si cette erreur se produit, vérifier tous les sous–programmes pour s’assurer que le SBS(91) a été programmé avant de poursuivre. 21 Chapitre Fonctions d’interruption 1-4 Priorité des interruptions Les interruptions ont l’ordre de priorité suivant. Les interruptions d’entrée et les interruptions des compteurs à grande vitesse 1 et 2 ont la priorité la plus élevée et l’avis d’interruption d’une carte de communication série a la priorité la plus basse. Interruptions d’entrée = Interruptions du compteur à grande vitesse 1 ou 2 (à partir de la carte de gestion d’axes ou de la carte codeur absolu) > Interruptions de la temporisation cyclique = interruption du compteur à grande vitesse 0 > Avis d’interruption de la carte des communications série Lorsqu’une interruption avec une priorité supérieure est reçue pendant le traitement de l’interruption, les processus actuels sont arrêtés et l’interruption nouvellement reçue est traitée à la place. Dès que le programme a été entièrement exécuté, alors le traitement de l’interruption précédente est repris. Lorsqu’une interruption avec une priorité inférieure ou égale est reçue pendant le traitement de l’interruption, l’interruption nouvellement reçue est alors traitée dès que le programme actuellement traité est entièrement exécuté. Si deux interruptions ayant le même niveau de priorité se produisent simultanément, les interruptions sont exécutées dans l’ordre suivant : 1, 2, 3... 1. Interruption d’entrée 0 > Interruption d’entrée 1 > Interruption d’entrée 2 > Interruption d’entrée 3 > Interruption du compteur à grande vitesse 1 > Interruption du compteur à grande vitesse 2 2. Interruption de la temporisation cyclique 0 > Interruption de la temporisation cyclique 1 > Interruption de la temporisation cyclique 2 (l’interruption de la temporisation cyclique 2 est une interruption du compteur à grande vitesse 0). Instructions de sortie d’impulsions et interruptions 22 Les instructions suivantes ne peuvent pas être exécutées dans un sous–programme d’interruption lorsqu’une instruction commandant les E/S d’impulsions ou les compteurs à grande vitesse est exécutée dans le programme principal : (la SR 25503 est activée) INI(89), PRV(62), CTBL(63), SPED(64), PULS(65), PWM(––), PLS2(––) et ACC(––) Les méthodes suivantes sont utilisées pour circonvenir cette limitation : Chapitre Fonctions d’interruption 1-4 Méthode 1 Tout traitement d’interruptions peut être masqué tandis que l’instruction est exécutée. @INT(89) 100 000 000 @PLS2(––) 001 000 DM 0010 @INT(89) 200 000 000 Méthode 2 Exécuter de nouveau l’instruction dans le programme principal. Voici la section de programme provenant du programme principal : @PRV(62) 001 002 DM 0000 @CTBL(63) 001 000 DM 0000 RSET LR 0000 Voici la section de programme provenant du sous-programme d’interruptions : SBN(92) 000 25313 @CTBL(63) 001 000 DM 0000 25313 LR 0000 1-4-2 Interruptions d’entrée Les entrées de l’unité centrale attribuées aux IR 00000 à IR 00003 sont utilisées pour des interruptions provenant de sources externes. Les interruptions d’entrée 0 jusqu’à 3 correspondent respectivement à ces bits et sont toujours utilisées pour appeler respectivement les sous–programmes de 000 à 003. Lorsque les interruptions d’entrée sont non utilisé, les sous–programmes de 000 à 003 sont utilisés en tant que sous–programmes ordinaires. 23 Chapitre Fonctions d’interruption Traitement 1-4 Il existe deux modes pour le traitement des interruptions d’entrée. Le premier est le mode interruption d’entrée, au sein duquel l’interruption est effectuée en réponse à une entrée externe. Le second est le mode compteur, au sein duquel les signaux provenant d’une source externe sont comptés à grande vitesse, et une interruption est effectuée une fois pour un certain nombre de signaux. L’instruction INT(89) détermine le mode utilisé. En mode interruption d’entrée, les signaux avec une durée d’au moins 100 ms sont détectés. En mode compteur, des signaux jusqu’à 1 kHz sont comptés. Procédure (Mode interruption d’entrée) 1, 2, 3... Suivre les étapes décrites ci–dessous en utilisant des interruptions d’entrée dans le mode interruption d’entrée. 1. Déterminer le numéro de l’interruption d’entrée. Bornier B0 IN0 Adresse des bits correspondants IR 00000 Numéro de sous-programme A0 IN1 IR 00001 001 B1 IN2 IR 00002 002 A1 IN3 IR 00003 003 000 2. Câbler l’entrée. (Voir page 26 pour plus d’informations). 3. Effectuer le paramétrage du Setup de l’API (Voir page 26 pour plus d’informations). a) Ecrire 1 dans le digit correspondant du DM 6628 pour indiquer que l’entrée est utillisée en tant qu’interruption d’entrée (Interruption d’entrée ou mode compteur). b) les bits des DM 6630 à DM 6633 sont activés pour provoquer la réactualisation de l’entrée avant l’exécution du sous-programme d’interruption. 4. Programmer les sections de programme associées. a) Utiliser INT(89) pour démasquer l’interruption d’entrée (Voir page 27 pour plus d’informations). b) Ecrire un sous-programme d’interruption dans SBN(92) et RET(93). Interruption d’entrée 0 Interruption générée. Exécute sous-programme spécifié. Interruption 0 1 Programme à contacts 2 COMMANDE D’INTERRUPTION 3 Active les interruptions. Interruption 1 Interruption 2 Interruption 3 Setup de l’API DM 6628 24 Sous-programme d’interruption Chapitre Fonctions d’interruption Procédure (Mode compteur) 1-4 Suivre les étapes décrites ci–dessous en utilisant des interruptions d’entrée en mode compteur. 1, 2, 3... 1. Déterminer le numéro de l’interruption d’entrée. Bornier B0 IN0 Adresse des bits correspondants IR 00000 Numéro de sous-programme A0 IN1 IR 00001 001 B1 IN2 IR 00002 002 A1 IN3 IR 00003 003 000 2. Déterminer la SV du comptage initial. 3. Câbler l’entrée (Voir page 26 pour plus d’informations). 4. Effectuer le paramétrage de l’API (Voir page AUCUN LIEN pour plus d’informations). a) Ecrire 1 dans le digit correspondant au DM 6628 pour indiquer que l’entrée est utilisée comme interruption d’entrée (interruption d’entrée ou mode compteur). b) Les bits des DM 6630 à DM 6633 sont à ON pour provoquer l’actualisation de l’entrée avant l’exécution du sous-programme d’interruption. 5. Programmer les sections de programme associées. a) Utiliser INT(89) pour actualiser la SV du compteur en mode compteur. (Voir page 28 pour plus d’informations). b) Ecrire un sous-programme d’interruption avec SBN(92) et RET(93) (seulement lors de l’utilisation d’interruptions de comptage). Interruption d’entrée 0 Compteur 0 Interruption d’entrée (mode compteur) Interruption générale Exécuter le sousprogramme spécifié. 1 2 Programme à contacts 3 Sous-programme COMMANDE D’INTERRUPTION Actualiser SV compteur (mode décrémentation). Compteur1 SV du compteur Compteur 2 Compteur 0 Compteur 1 Compteur 2 Compteur 3 Compteur 3 Setup de l’API SR SR SR SR 244 245 246 247 Seulement lors de l’utilisation des interruptions. Chaque cycle DM 6628 PV du compteur – 1 Compteur 0 Compteur 1 Compteur 2 Compteur 3 SR SR SR SR 248 249 250 251 25 Chapitre Fonctions d’interruption Entrées de câblage 1-4 Avant d’utiliser des interruptions d’entrée, câbler le signal d’interruption d’entrée ou le signal d’entrée de comptage du bornier d’entrée de l’unité centrale comme indiqué ci–dessous. Exemple de câblage du signal interruption d’entrée (Mode interruption d’entrée) Bornier B0 (IN0) Adresse des bits correspondants IR 00000 A0 (IN1) IR 00001 B1 (IN2) IR 00002 A1 (IN3) IR 00003 Unité centrale Signal interruption d’entrée Exemple de câblage du signal d’entrée de compteur (Mode compteur) Bornier B0 (IN0) A0 (IN1) B1 (IN2) A1 (IN3) Adresse des bits correspondants IR 00000 IR 00001 IR 00002 IR 00003 Signal d’entrée de compteur Mode décrémentation Entrées d’impulsions (4 entrées max). Unité centrale Paramètres du Setup de l’API Avant d’exécuter le programme, effectuer le paramétrage suivant dans le Setup de l’API en mode PROGRAM. Paramétrage d’entrée d’interruption (DM 6628) Si ce paramétrage n’est pas effectué, les interruptions ne sont pas utilisées dans le programme. Bit 15 DM 6628 Paramétrage d’interruption d’entrée 3 Paramétrage d’interruption d’entrée 2 Paramétrage d’interruption d’entrée 1 Paramétrage d’nterruption d’entrée 0 0 : Entrée normale 1 : Entrée d’interruption Par défaut : Toutes les entrées normales. 26 0 Chapitre Fonctions d’interruption 1-4 Paramétrage de mot de rafraîchissement d’entrée (DM 6630 au DM 6633) Effectuer ce paramétrage lorsque l’actualisation des entrées est nécessaire pour l’interruption d’entrée ou le mode compteur. Bit 15 DM 6630 DM 6631 DM 6632 DM 6633 : : : : 0 DM 6630 au DM 6633 Interruption 0 Interruption 1 Interruption 2 Interruption 3 Nombre de mots (BCD à 2 digits) 00 à 16 Mot de début (BCD à 2 digits) 00 à 15 (IR 000 à IR 015) Par défaut : Sans actualisation d’entrée Exemple Si le DM 6630 est réglé à 0100, l’IR 000 est rafraîchi lorsqu’un signal est reçu pour l’interruption 0. Rem. Si l’actualisation d’entrée n’est pas utilisée, l’état du signal d’entrée dans le programme d’interruption n’est pas fiable. Ceci inclut même l’état du bit d’interruption d’entrée activant l’interruption. Par exemple, l’IR 00000 n’est pas activé dans le programme d’interruption pour l’interruption d’entrée 0 à moins d’être rafraîchi (dans ce cas–ci, le drapeau toujours ON, SR 25313 peut être utilisé au lieu de l’IR 00000). Mode interruption d’entrée Utiliser les instructions pour programmer l’interruption d’entrée en utilisant le mode interruption d’entrée. Masquage des interruptions A partir de l’instruction INT(89), régler ou supprimer les masques d’interruption d’entrée voulus. (@)INT(89) 000 000 D Effectuer le paramétrage dans les bits de D0 à 3, qui correspond aux interruptions d’entrée 0 à 3. 0 : Masquage actif (interruption d’entrée autorisée). 1 : Masquage inactif (interruption d’entrée non autorisée). Au début du fonctionnement, toutes les interruptions d’entrée sont masquées. Utiliser INT(89) pour démasquer les interruptions d’entrée avant d’utiliser le mode interruption d’entrée. Suppression des interruptions masquées Si le bit correspondant à une interruption d’entrée est à ON alors qu’il est masqué, cette interruption d’entrée est sauvegardée dans la mémoire et exécutée dès que le masquage est supprimé. Afin que cette interruption d’entrée ne soit exécutée lorsque le masquage est supprimé, l’interruption doit être effacée de la mémoire. Seulement un signal d’interruption est sauvegardé dans la mémoire pour chaque nombre d’interruption. Avec l’instruction INT(89), supprimer l’interruption d’entrée de la mémoire. (@)INT(89) 000 001 D Si les bits D 0 à 3, correspondant aux interruptions d’entrée 0 à 3, sont à “1,” l’interruption d’entrée est supprimée de la mémoire. 0 : Interruption d’entrée active. 1 : Interruption d’entrée inactive. 27 Chapitre Fonctions d’interruption 1-4 Lecture de l’état de masquage Avec l’instruction INT(89), lire l’état de masquage d’interruption d’entrée. (@)INT(89) 000 Mode compteur L’état des digits à l’extrême droite des données sauvegardées dans le mot D (bits 0 à 3) présente l’état du masquage. 0 : Masquage inactif (interruption d’entrée autorisée). 1 : Masquage actif (interruption d’entrée non autorisée). 002 D Utiliser les étapes suivantes pour programmer l’utilisation des interruptions d’entrée en mode interruption d’entrée. Rem. Les mots de SR utilisés dans le mode compteur (SR 244 à SR 251) contiennent toutes les données (hexadécimales) binaires (sans BCD). 1, 2, 3... 1. Ecrire les valeurs de consigne du fonctionnement du compteur dans les mots SR correspondant aux interruptions 0 à 3. Les valeurs de consigne sont écrites entre 0000 et FFFF (0 à 65 535). La valeur 0000 neutralise l’opération de comptage jusqu’à ce qu’une nouvelle valeur soit réglée et l’étape 2, ci–dessous, est répétée. Rem. Ces bits SR sont supprimés au début de l’opération et doivent être écrits à partir du programme. Le calcul maximal du signal d’entrée est de 1 kHz. Interruption Mot contenant la SV du compteur Interruption d’entrée 0 SR 244 Interruption d’entrée 1 SR 245 Interruption d’entrée 2 SR 246 Interruption d’entrée 3 SR 247 Si le mode compteur n’est pas utilisé, ces bits SR sont utilisés comme bits de travail. 2. Avec l’instruction INT(89), actualiser la valeur de consigne du mode compteur et activer les interruptions. (@)INT(89) 000 003 D Si les bits D 0 à 3, correspondant aux interruptions d’entrée 0 à 3, sont à “0”, alors la valeur de consigne est rafraîchie et les interruptions sont autorisées. 0 : Valeur de consigne du mode compteur rafraîchie et masque inactif. 1 : Rien ne survient. Régler les bits à 1 pour toutes les interruptions non modifiées. L’interruption d’entrée pour laquelle la valeur de consigne est rafraîchie est activée en mode compteur. Lorsque le compteur atteint la valeur de consigne, une interruption se produit, le compteur est remis à zéro et le comptage/interruptions continuent jusqu’à ce que le compteur soit arrêté. Rem. 28 1. Si l’instruction INT(89) est utilisé lors du comptage, la valeur en cours (PV) est renvoyée à la valeur de consigne (SV). Utiliser donc la forme d’instruction simple ou une interruption risque de ne jamais se produire. 2. La valeur de consigne est placée lorsque l’instruction INT(89) est exécutée. Si les interruptions sont déjà en fonction, alors la valeur de consigne n’est pas modifiée juste en modifiant le contenu des SR 244 à SR 247, c.-à-d. si le contenu est modifié, la valeur de consigne doit être rafraîchie en exécutant de nouveau l’instruction INT(89). Des interruptions peuvent être masquées en utilisant le même processus que pour le mode interruption d’entrée, mais si le masquage est supprimé en utilisant le même processus, le mode compteur n’est pas maintenu et le mode interruption d’entrée est utilisé à la place. Les signaux d’interruption reçus pour des interruptions masquées peuvent également être supprimés en utilisant le même processus que pour le mode interruption d’entrée . Chapitre Fonctions d’interruption PV du compteur en mode compteur 1-4 Lorsque des interruptions d’entrée sont utilisées en mode compteur, la PV du compteur est sauvegardée dans le SR du mot correspondant aux interruptions d’entrée 0 à 3. Les valeurs sont comprisent entre 0000 et FFFE (0 à 65 534) et sont égales à la PV du compteur moins un. Interruption Mot contenant la PV – 1 du compteur Interruption d’entrée 0 SR 248 Interruption d’entrée 1 SR 249 Interruption d’entrée 2 SR 250 Interruption d’entrée 3 SR 251 Exemple : La valeur en cours pour une interruption dont la valeur de consigne est 000A est enregistrée en tant que 0009 juste après qu’INT(89) soit exécutée. Rem. Même si les interruptions d’entrées ne sont pas utilisées en mode compteur, ces bits SR ne sont pas utilisés comme bits de travail. 29 Chapitre Fonctions d’interruption Exemple d’application 1-4 Dans cet exemple, l’interruption d’entrée 0 est utilisée dans le mode interruption d’entrée et l’interruption d’entrée 1 est utilisée en mode compteur. Avant d’exécuter le programme, vérifier le Setup de l’API. Setup de l’API : DM 6628 : 0011 (les IR 00000 et IR 00001 sont utilisés pour des interruptions d’entrée) le paramétrage par défaut est utilisé pour tous les autres paramètres du Setup de l’API. Les entrées ne sont pas rafraîchies lors du traitement de l’interruption. 25315 (ON pour 1 balayage) MOV(21) #000A 245 Règle 10 comme la SV du mode compteur pour l’interruption d’entrée 1. 00100 (@)INT(89) 000 (@)INT(89) 000 (@)INT(89) 000 BCD (24) 001 #0003 000 #000E 003 #000D Les interruptions sont permises en mode interruption d’entrée pour l’interruption 0. Les interruptions sont activées en mode compteur pour l’interruption 1 (SV : 10). 249 D0000 INC(38) Lorsque l’IR 00100 est activé : Les interruptions masquées pour les interruptions d’entrée 0 et 1 sont supprimées. Le contenu du SR 249 (PV – 1) est converti en BCD et sauvegardé dans le DM 0000. D0000 Le contenu de DM 0000 est incrémenté pour l’API. 00100 (@)INT(89) 000 SBN(92) 000 #000F Si l’IR 00100 est désactivé, les interruptions d’entrée 0 et 1 sont masquées et les interruptions sont interdites. 000 25313 (toujours ON) ADB(50) 245 #000A 245 INT(89) 000 003 #000D Lorsque l’interruption d’entrée est exécutéé pour l’interruption 0, le sous–programme 000 est appelé et le mode compteur est rafraîchi avec la SV pour l’interruption d’entrée 1 avec 10 en plus (SV = 20) RET(93) SBN(92) RET(93) 30 001 Lorsque le compte est atteint pour le compteur d’interruption d’entrée 1, le sous–programme 001 est appelé et le sous–programme d’interruption est exécuté. Chapitre Fonctions d’interruption 1-4 Lorsque le programme est exécuté, le fonctionnement sera comme indiqué dans le schéma suivant. 00000 Sous-programme 000 10 comptages 10 comptages 20 comptages 00001 Sous-programme 001 (Voir Rem.1) (Voir Rem.1) 00100 (Voir Rem. 2) Rem. 1. Le compteur continue de fonctionner même lorsque le programme d’interruption est exécutée. 2. L’interruption d’entrée demeure masquée. 1-4-3 Masquage de toutes les interruptions L’instruction INT(89) est utilisée pour masquer et démasquer toutes les interruptions par groupe, y compris les interruptions d’entrée, les interruptions de temporisation cyclique et les interruptions de compteur à grande vitesse. Le masque s’ajoute à tous les masques des différents types d’interruptions. En outre, supprimer les masques de toutes les interruptions ne supprime pas les masques des différents types d’interruptions, mais les restaurent aux précédentes conditions de masquage, avant qu’INT(89) soit exécuté pour les masquer par groupe. Interruptions masquées/démasquées par INT(89) Interruptions d’entrées Interruptions de la temporisation cyclique Interruptions du compteur à grande vitesse 0 Interruptions des compteurs à grande vitesse 1 et 2 Interruptions des compteurs à grande vitesse 1 et 2 Unité source ou carte Unité centrale Carte de gestion d’axes Carte codeur absolu Ne pas utiliser INT(89) pour masquer les interruptions à moins qu’il soit nécessaire de masquer temporairement toutes les interruptions et toujours utiliser les même instructions INT(89), en utilisant la première instruction INT(89) pour le masquage et la deuxième interruption pour démasquer les interruptions. INT(89) ne peut pas être utilisé pour masquer et démasquer toutes les interruptions à partir des programmes d’interruption. Masquage des interruptions Utiliser l’instruction INT(89) pour désactiver toutes les interruptions. (@)INT(89) 100 000 000 Si une interruption se produit tandis que des interruptions sont masquées, le traitement d’interruption n’est pas exécuté mais l’interruption est enregistrée pour l’entrée, la temporisation cyclique et les interruptions du compteur à grande vitesse. Les interruptions sont gèrées alors dès que les interruptions sont démasquées. 31 Chapitre Fonctions d’interruption Interruptions démasquées 1-4 Utiliser l’instruction INT(89) pour démasquer les interruptions de la manière suivante : (@)INT(89) 200 000 000 1-4-4 Interruptions de la temporisation cyclique Le traitement d’interruption de la temporisation à grande vitesse et à haute précision peut être exécuté en utilisant des temporisations de trame. Le CQM1H fournit trois temporisations de trame numérotées de 0 à 2. Rem. 1. La temporisation cyclique 0 n’est pas utilisée lorsque les impulsions sont émises vers une Unité de sortie transistor au moyen de l’instruction SPED(64) . 2. La temporisation cyclique 2 n’est pas utilisée en même temps que le compteur à grande vitesse 0. Traitement Il existe deux modes de fonctionnement de la temporisation cyclique, le mode non répétitif pour lequel seulement une interruption est exécutée à la fin du temps et le mode “interruption programmée” pour lequel l’interruption est répétée à intervalle fixe. Procédure Suivre les étapes décrites ci–dessous lors de l’utilisation d’interruptions de la temporisation cyclique. 1, 2, 3... 1. Déterminer si la temporisation fonctionne en mode non répétitif ou en mode d’interruption programmée. 2. Programmer les sections de programme associées. a) Utiliser STIM(69) pour régler la SV de la temporisation et démarrer la temporisation en mode non répétitif ou en mode interruption programmée. b) Ecrire un sous–programme d’interruption dans SBN(92) et RET(93). Temporisations de trame 0 à 3 (Voir Rem. 1 et 2). Programme à contacts Interruption générée Exécute le sous–programme spécifié. TEMPORISATION D’INTERVALLE Démarrer la temporisation. mode non répétitif Mode interruption programmée Lecture du temps écoulé. Rem. 1. La temporisation cyclique 2 et le compteur à grande vitesse 0 ne peuvent pas être utilisés en même temps. 2. La temporisation cyclique 0 ne peut pas être utilisée en même temps que les sorties d’impulsions provenant du SPED(64) des Unités de sortie transistor. Setup de l’API 32 Lors de l’utilisation des interruptions de la temporisation cyclique, effectuer le paramétrage suivant dans le Setup de l’API en mode PROGRAM avant d’exécuter le programme. Chapitre Fonctions d’interruption 1-4 Paramétrage du mot de rafraîchissement d’entrée (DM 6636 au DM 6638) Effectuer le paramétrage lorsqu’il est nécessaire d’actualiser des entrées. Bit 15 0 DM 6636 au DM 6638 DM 6636 : Temporisation 0 DM 6637 : Temporisation 1 DM 6638 : Temporisation 2 Nombre de mots (BCD à 2 digits) 00 à 16 Début du mot (BCD à 2 digits) 00 à 15 (IR 000 à IR 015) Par défaut : Sans actualisation d’entrée Paramétrage du compteur à grande vitesse (DM 6642) lors de l’utilisation de la temporisation cyclique 2, s’assurer avant de commencer le fonctionnement de régler le compteur à grande vitesse (Setup de l’API : DM 6642) sur le paramètre par défaut (0000 : Compteur à grande de vitesse non utilisé). Opération Utiliser l’instruction suivante pour activer et commander la temporisation cyclique. Démarrage en mode non répétitif Utiliser l’instruction STIM(69) pour démarrer la temporisation cyclique en mode non répétitif. (@)STIM(69) C1 C2 C3 C1 : Nº de la temporisation cyclique temporisation cyclique 0 : temporisation cyclique 1 : temporisation cyclique 2 : 000 001 002 C2 : Valeur de consigne de la temporisation (première adresse de mot ou constante) C3 : Nº du sous–programme (BCD à 4 digits) : 0000 à 0255 Mot Fonction C2 Valeur de consigne du décompteur (BCD à 4 digits) : 0000 à 9999 C2 + 1 Intervalle de temps décrémentant (BCD à 4 digits ; unité : 0,1 ms) : 0005 à 0320 (0,5 ms à 32 ms) Rem. Si une constante est utilisée pour C2, l’intervalle de temps de décrémentation est fixe à 0010 ou 1 ms, afin d’obtenir une valeur de consigne en C2 exprimée en ms. Chaque fois que l’intervalle indiqué dans le mot C2 + 1 s’écoule, le décompteur décrémente de un la valeur en cours. Lorsque la PV atteint 0, le sous–programme désigné est appelé une seule fois et la temporisation s’arrête. Lorsqu’une adresse de mot est utilisée pour le C2, calculer le temps d’exécution de l’instruction STIM(69) : (contenu du mot C2) x (contenu du mot C2 + 1) x 0,1 ms = (0,5 à 319 968 ms ) 33 Chapitre Fonctions d’interruption 1-4 Démarrage en mode d’interruption programmée Utiliser l’instruction STIM(69) pour démarrer la temporisation cyclique en mode interruption programmée. (@)STIM(69) C1 C2 C3 C1 : Nº de la temporisation cyclique + 3 temporisation cyclique 0 : temporisation cyclique 1 : temporisation cyclique 2 : 003 004 005 C2 : Valeur de consigne de la temporisation (première adresse de mot ou constante) C3 : Nº du sous–programme (BCD à 4 digits) : 0000 à 0255 Mot Fonction C2 Valeur de consigne du décompteur (BCD à 4 digits) : 0000 à 9999 C2 + 1 Intervalle de temps décrémentant (BCD à 4 digits ; unité : 0,1 ms) : 0005 à 0320 (0,5 ms à 32 ms) Rem. Si une constante est utilisée pour le C2, l’intervalle de temps décrémentant est fixe à 0010 ou 1 ms, ainsi la valeur de consigne du C2 s’exprime en ms. La signification des paramètres est la même que pour le mode non répétitif, mais en mode interruption programmé la PV de la temporisation est réinitialisée par rapport à la valeur de consigne et la décrémentation recommence après que le sous–programme soit appelé. En mode interruption planifiée, les interruptions continuent à se répéter à intervalles fixes jusqu’à ce que le fonctionnement s’arrête. Lecture du temps écoulé de la temporisation Utiliser l’instruction STIM(69) pour lire le temps de la temporisation qui s’est écoulé. (@)STIM(69) C1 C2 C3 C1 : Nº de la temporisation cyclique + 6 temporisation cyclique 0 : temporisation cyclique 1 : temporisation cyclique 2 : 006 004 008 C2 : Première adresse de mot du paramètre 1 C3 : Paramètre 2 Mot Fonction C2 Nombre de fois où le compteur a été décrémenté (BCD à 4 digits) C2 + 1 Intervalle de temps du décompteur (BCD à 4 digits ; unité : 0,1 ms) C3 Temps écoulé depuis la dernière décrémentation (BCD à 4 digits ; unité : 0,1 ms) Rem. Cette valeur est inférieure à l’intervalle de temps du décompteur. Le laps de temps durant lequel la temporisation cyclique démarre jusqu’à l’exécution de cette instruction est calculé comme suit : {(contenu de mot C2) x (contenu de mot C2 + 1) + (contenu de mot C3)} x 0,1 ms Si la temporisation cyclique indiquée est arrêté, alors la valeur “0000” est sauvegardé. Interruption des temporisation Utiliser l’instruction STIM(69) pour arrêter la temporisation cyclique. (@)STIM(69) C1 000 000 C1 : Nº de la temporisation cyclique + 10 temporisation cyclique 0 : 010 temporisation cyclique 1 : 011 temporisation cyclique 2 : 012 La temporisation cyclique spécifiée s’arrête. 34 Chapitre Fonctions d’interruption Exemple d’application 1-4 Dans cet exemple, une interruption est exécutée toutes les 2,4 ms (0,6 ms x 4) au moyen de la temporisation cyclique 1. En supposant le paramétrage par défaut pour toute le Setup de l’API (les entrées ne sont pas rafraîchies pour le traitement de l’interruption). 25315 Premier drapeau de cycle à ON pour 1 cycle MOV(21) #0004 DM 0010 MOV(21) #0006 DM 0011 Valeurs de consigne de la temporisation cyclique : Règle 4 pour la valeur de consigne du décompteur. Règle 0,6 ms pour l’intervalle de temps décrémentant. 00100 @STIM(69) DM 0010 004 #0023 La temporisation cyclique 1 démarre lorsque l’IR 00100 est à ON. 00100 @STIM(69) 011 000 000 SBN(92) 023 RET(93) La temporisation cyclique 1 s’arrête lorsque l’IR 00100 est sur OFF. Chaque 2,4 ms le comptage est atteint pour la temporisation cyclique 1, le sous–programme 023 est appelé, et le traitement d’interruption est exécuté. Lorsque le programme est exécuté, le sous–programme 023 est lancé chaque 2,4 ms tandis que l’IR 00100 est à ON. IR 00100 2,4 ms 2,4 ms 2,4 ms Sous programme 023 1-4-5 Interruptions du compteur à grande vitesse 0 Les signaux d’impulsions du codeur d’impulsions des bits de l’unité centrale (00004 à 00006) peuvent être comptés à grande vitesse en utilisant le compteur à grande vitesse 0 (compteur à grande vitesse intégré) et le traitement d’interruption peut être exécuté en fonction du comptage. Types de signal d’entrée et modes d’entrée Deux types de signaux peuvent être entrés à partir d’un codeur d’impulsions. Le mode d’entrée utilisé pour le compteur à grande vitesse 0 dépend du type de signal. Mode Fonctionnement Mode phase bidirectionnelle Un signal biphasé de la différence de phase 4X (phase A et phase B) et le signal phase Z sont utilisés pour les entrées. Le comptage est incrémenté ou décrémenté en fonction des différences entre les signaux biphasés. Un signal d’impulsions monophasé et un signal réinitialisé de comptage sont utilisés pour les entrées. Le comptage est incrémenté en fonction du signal monophasé. Mode incrémentation 35 Chapitre Fonctions d’interruption Mode phase bidirectionnelle 1-4 Mode incrémentation Entrée d’impulsions Phase A Phase B Comptage 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 0 –1 –2 Incrémenté Décrémenté Comptage 1 2 3 4 Incrémente seulement Rem. Une des méthodes du chapitre suivant doit toujours être utilisée pour remettre à zéro le compteur lors du redémarrage. Le compteur est automatiquement remis à zéro lorsque l’exécution du programme est commencée ou arrêtée. Les transitions des signaux suivants sont manipulées en tant qu’impulsions avant (incrémentation) : front avant phase A au front avant phase B au front arrière phase A au front arrière phase B. Les transitions de signaux suivants sont manipulées en tant qu’impulsions arrières (décrémentation) : front avant phase B au front avant phase A au front arrière phase B au front arrière phase A. La plage du compteur va de –32 767 à 32 767 pour le mode phase bidirectionnelle et de 0 à 65 535 pour le mode incrémentation. Les signaux d’impulsions sont comptés jusqu’à 2,5 kHz en mode phase bidirectionnelle et jusqu’à 5,0 kHz en mode incrémentation. Le mode phase bidirectionnelle utilise toujours une entrée de différence de phase 4x. Le nombre de comptages pour chaque révolution du codeur est 4 fois la résolution du compteur. Sélectionner le codeur basé sur les plages comptables. 36 Chapitre Fonctions d’interruption 1-4 Méthodes de réinitialisation L’une ou l’autre des deux méthodes décrites ci–dessous peut être sélectionnée pour réinitialiser la PV du comptage (c.–à–d. paramétrage à 0). Méthode Fonctionnement Signal phase Z + réinitialisation par programme La PV est réinitialisée lorsque le signal de la phase Z (entrée réinitialisée) est activé après l’activation du compteur à grande vitesse 0 (SR 25200). Réinitialisation par programme La PV est réinitialisée lorsque le bit de réinitialisation du compteur à grande vitesse 0 (SR 25200) est activé. Signal phase Z + réinitialisation par programme Réinitialisation par programme au moins un cycle Phase Z (entrée réinitialisée) au moins un cycle SR25200 au moins un cycle Réinitialisation d’interruption. Au sein d’un cycle SR25200 Au sein d’un cycle Réinitialiser lors de cycle. Non réinitialisé. Réinitialiser lors de cycle. Rem. Le bit de réinitialisation du compteur à grande vitesse 0 (SR 25200) est rafraîchi une fois par cycle ; afin de rendre la lecture fiable, il doit être à ON pour au moins un cycle. Le “Z ” de la “Phase Z ” est une abréviation pour “Zéro”. Ce signal présente le codeur ayant accompli un cycle. Comptage d’interruption du compteur à grande vitesse 0 Pour les interruptions du compteur à grande vitesse 0, un tableau de comparaison est utilisé au lieu d’une incrémentation. La vérification du comptage est effectuée par l’une ou l’autre des deux méthodes décrites ci–dessous. Dans le tableau de comparaison, les conditions de comparaison (pour comparaison par rapport à la PV) et les combinaisons de sous-programme d’interruptions sont sauvegardées. Méthode Fonctionnement Valeur spécifiée Un maximum de 16 conditions de comparaison (des valeurs cibles et des directions de comptage) et des combinaisons de sous–programme d’interruption sont sauvegardés dans le tableau de comparaison. Lorsque la PV du compteur et la direction de comptage correspondent aux conditions de comparaison, le programme d’interruption spécifié est alors exécuté. Comparaison de plage 8 conditions de comparaison (limites supérieures et inférieures) et des combinaisons de programme d’interruption sont sauvegardées dans le tableau de comparaison. Lorsque la PV est inférieure à la limite inférieure et est supérieur à la limite supérieure, le sous-programme d’interruption spécifié n’est pas exécuté. Comparaisons de valeurs cibles Le comptage courant est comparé aux valeurs cibles afin que les valeurs cibles soient paramétrées dans le tableau de comparaison et des interruptions sont produites dès que le comptage correspond à chaque valeur spécifiée. Dès que le comptage est égal à toutes les valeurs cibles du tableau, la valeur spécifiée est réglée à la première valeur spécifiée du tableau, de nouveau comparé au comptage courant jusqu’à ce que les deux valeurs soient égales. 37 Chapitre Fonctions d’interruption Comptage Interruptions 1-4 Tableau de comparaison Valeur spécifiée 1 Valeur spécifiée 2 Valeur spécifiée 3 Valeur spécifiée 4 Valeur spécifiée 5 Valeur initiale Valeur spécifiée 1 2 3 4 5 Comparaisons de plage Le comptage courant est comparé dans le mode cyclique à toutes les plages au même moment et les interruptions produites sont basées sur les résultats des comparaisons. Tableau de comparaison 0 Comptage 1 3 2 Valeur spécifiée 1 Valeur spécifiée 2 Valeur spécifiée 3 Valeur spécifiée 4 4 Rem. En effectuant des comparaisons de valeur spécifiée, ne pas utiliser de façon répétitive l’instruction INI(61) pour modifier la valeur courante du comptage et démarrer l’opération de comparaison. La fonction d’interruption peut ne pas fonctionner correctement si l’opération de comparaison est commencée juste après la modification de la valeur en cours à partir du programme. L’opération de comparaison renvoie automatiquement à la première valeur spécifiée une fois que l’interruption a été produite pour la dernière valeur spécifiée. Le fonctionnement à répétition est ainsi possible simplement en modifiant la valeur en cours. Procédure Suivre les étapes décrites ci–dessous lors de l’utilisation du compteur à grande vitesse 0 (compteur à grande vitesse intégré de l’unité centrale). 1, 2, 3... 1. Déterminer le mode d’entrée (mode phase bidirectionnelle ou mode d’incrémentation) et la méthode de réinitialisation (signal de phase Z + réinitialisation du programme ou réinitialisation du programme) à utiliser. 2. Déterminer les caractéristiques d’interruption. a) Aucune interruption (lecture de la PV du compteur à grande vitesse ou résultats de comparaison de plage). b) Utiliser les interruptions de valeur spécifiée ou les interruptions de comparaison de plage. 3. Câbler les entrées (se reporter au Manuel de programmation CQM1H pour plus d’informations). Bornier B2 IN4 Adresse des bits correspondant IR 00004 A2 IN5 IR 00005 B3 IN6 IR 00006 4. Effectuer la configuration du Setup de l’API dans le DM 6642 (voir la page 41 pour plus d’informations). a) Régler 01 à l’extrême gauche de l’octet pour indiquer l’utilisation du compteur à grande vitesse 0. b) Régler le mode d’entrée (mode phase bidirectionnelle ou mode d’incrémentation). 38 Chapitre Fonctions d’interruption 1-4 c) Régler la méthode de réinitialisation (signal de phase Z + réinitialisation du programme ou réinitialisation du programme). Rem. Le compteur à grande vitesse 0 ne peut pas être utilisé tant que la temporisation cyclique 2 est utilisé. Le paramétrage à l’extrême gauche de l’octet du DM 6642 détermine si le compteur à grande vitesse 0 ou la temporisation cyclique 2 peut être utilisé. 5. Programmer les sections de programme associées. a) Utiliser CTBL(63) pour enregistrer le tableau de comparaison et commencer la comparaison. b) Utiliser INI(61) pour modifier la PV du compteur à grande vitesse ou commencer la comparaison. c) Utiliser PRV(62) pour lire la PV du compteur à grande vitesse, l’état de la comparaison ou les résultats de la comparaison. d) Ecrire un sous–programme d’interruption dans SBN(92) et RET(93) (seulement en utilisant l’interruption du compteur à grande vitesse 0). Compt. à gde. vitesse 0 Setup de l’API DM 6642 bits 08 à 15 Entrées du codeur Mode entrée Incrémentation Phase bidirectionnelle Méthode de réinitialisation Générer interruption Comptage Phase Z + programme Programme Programme à contacts ENREG. TABLEAU COMP. Execute sous-programme spécifié Sous-prog. d’interruption Enreg. tableau. Début de comparison. Setup de l’API Setup de l’API DM 6642 bits 00 à 03 DM 6642 bits 04 à 07 COMMANDE DE MODE Modif. PV du compteur. Début/fin comp. Lors de l’utilisation des interruptions. Chaque cycle PV du compteur SR 231 et SR 230 Chaque exécution Résultats de comparison de plage AR 1100 à AR 1107 LECTURE PV COMPTEUR GRANDE VITESSE Lecture PV du compteur. Lecture d’état de comp. Lecture résultats de comp. Les instructions suivantes sont utilisées pour commander le fonctionnement du compteur à grande vitesse. Instruction CTBL(63) INI(61) PRV(62) Fonction de commande Enregistrer un tableau de comparaison de valeur spécifiée et commencer la comparaison. Enregistrer un tableau de comparaison de plage et commencer la comparaison. Enregistrer un tableau de comparaison de valeur spécifiée. (démarrer la comparaison avec INI(61)). Enregistrer un tableau de comparaison de plage. (démarrer la comparaison avec INI(61)). Commencer la comparaison avec le tableau de comparaison enregistré. Arrêter la comparaison. Modifier la PV du compteur à grande vitesse. Lire la PV du compteur à grande vitesse. Lire les résultats de comparaison de plage. 39 Chapitre Fonctions d’interruption 1-4 Les drapeaux et les bits de commande suivants sont utilisés pour surveiller et commander le fonctionnement du compteur à grande vitesse. Mot Câblage Bits SR 230 00 à 15 SR 231 00 à 15 SR 252 00 AR 11 00 à 07 Dénomination PV du compteur à grande vitesse 0 (4 digits à l’extrême droite) PV du compteur à grande vitesse 0 (4 digits à l’extrême gauche) Bit de réinitialisation du compteur à grande vitesse 0 Drapeaux de comparaison de plage du compteur à grande vitesse 0 Fonction Contient la valeur en cours du compteur à grande vitesse 0 (compteur à grande vitesse intégré de l’unité centrale). Réinitialise la PV du compteur à grande vitesse 0. Indique les résultats de comparaison de plage pour le compteur à grande vitesse 0. 0 : Condition de plage non satisfaite. 1 : Condition de plage satisfaite. Selon le mode d’entrée, les signaux d’entrée du codeur d’impulsions vers le bornier d’entrée de l’unité centrale sont comme indiqué ci–dessous. Bornier B2 (IN4) Adresse de bits attribuée 00004 Mode de phase bidirectionnelle Phase A du codeur Mode incrémentation A2 (IN5) 00005 Phase B du codeur Entrée du compteur d’impulsions --- B3 (IN6) 00006 Phase Z du codeur Entrée réinitialisée Si la réinitialisation par programme doit être effectuée, l’IR 00006 peut être utilisé comme entrée ordinaire. Rem. 1. Lorsque le mode d’entrée est réglé en mode incrémentation, l’IR 00005 est utilisé comme entrée ordinaire. 2. Lorsque la méthode de réinitialisation est réglée pour la réinitialisation par programme, l’IR 00006 est utilisé comme entrée ordinaire. Le schéma suivant indique un exemple de câblage avec une sortie du collecteur ouvert NPN du E6B2–CWZ6C. Unité centrale Codeur (Tension : 12 V) Noir (Mode phase bidirectionnelle) Phase A Blanc Phase B Orange Phase Z Marron +Vc.c. IN4 (Phase A du codeur) IN5 (Phase B du codeur) IN6 (Phase C du codeur) COM Bleu 0 V (COM) Alimentation 12Vc.c. Setup de l’API 40 lors de l’utilisation des interruptions du compteur à grande vitesse 0, effectuer le paramétrage en mode PROGRAM présenté ci–dessous avant d’exécuter le programme. Chapitre Fonctions d’interruption 1-4 Paramétrage du mot de rafraîchissement d’entrée (DM 6638) Effectuer le paramétrage lorsque les entrées doivent être rafraîchies. Le paramétrage est identique à celui de la temporisation cyclique 2. Bit 15 0 DM 6638 Nombre de mots (BCD à 2 digits) 00 à 16 Début de mot (BCD à 2 digits) 00 à 15 (IR 000 à IR 015) Par défaut : Sans actualisation d’entrée Paramétrage du compteur à grande vitesse 0 (DM 6642) Si ce paramétrage n’est pas effectué, le compteur à grande vitesse 0 ne peut pas être utilisé dans le programme. Bit 15 DM 6642 0 0 1 Utiliser le compteur à grande vitesse 0. Méthode de réinitialisation 0 : Phase Z et réinitialisation par programme 1 : Réinitialisation par programme Mode d’entrée 0 : Mode phase bidirectionnelle 4 : Mode incrémentation Par défaut : Compteur à grande vitesse 0 non utilisé. La modification du paramétrage du DM 6642 ne devient effective que lorsque l’alimentation est désactivée ou l’exécution du programme de l’API est démarrée. Programmation Suivre les étapes suivantes pour programmer le compteur à grande vitesse 0. Le compteur à grande vitesse 0 commence l’opération de comptage lorsque la configuration correcte du Setup de l’API est effectuée, mais les comparaisons ne sont pas effectuées avec le tableau de comparaison et les interruptions ne sont pas produites à moins que l’instruction CTBL(63) soit exécutée. Le compteur à grande vitesse 0 est à “0” lorsque l’alimentation est activée et lorsque l’opération commence. La valeur en cours du compteur à grande vitesse 0 est maintenue en SR 230 et SR 231. Contrôle des interruptions du compteur à grande vitesse 0 1, 2, 3... 1. Utiliser l’instruction CTBL(63) pour sauvegarder le tableau de comparaison dans le CQM1H et commencer les comparaisons. (@)CTBL(63) 000 C TB C : (BCD à 3 digits) 000 : Régler le tableau cible et commencer la comparison 001 : Régler le tableau cible et commencer la comparison 002 : Régler le tableau cible seulement 003 : Régler le tableau cible seulement TB : Début de mot du tableau de comparison Si C est à 000, les comparaisons sont alors effectuées à l’aide de la méthode de comparaison de cibles ; si C est à 001, alors elles sont effectuées à l’aide de la méthode de comparaison de plage. Le tableau de com- 41 Chapitre Fonctions d’interruption 1-4 paraison est sauvegardé et, lorsque l’opération de sauvegarde est terminée, alors les comparaisons commencent. Tandis que des comparaisons sont exécutées, des interruptions à grande vitesse sont lancées en fonction du tableau de comparaison. Pour plus d’informations sur les contenus des tableaux de comparaison sauvegardés, se reporter à la présentation de l’instruction CTBL(63) du Chapitre 5 Ensemble d’instruction. Rem. Les résultats de comparaison sont normalement sauvegardés de l’AR 1100 à l’AR 1107 tandis que la comparaison de plage est exécutée. Si C est à 002, les comparaisons sont alors effectuées à l’aide de la méthode de comparaison de cible ; si C à 003, elles sont alors effectuées par la méthode de comparaison de plage. Pour l’un ou l’autre de ces paramétrages, le tableau de comparaison est sauvegardé, mais les comparaisons ne commencent pas, et l’instruction INI(61) doit être utilisée pour commencer des comparaisons. 2. Pour arrêter les comparaisons, exécuter l’instruction INI(61) comme indiqué ci–dessous : (@)INI(61) 000 001 000 Pour recommencer les comparaisons, régler le deuxième opérande à “000” (exécuter la comparaison) et exécuter l’instruction INI(61). Une fois qu’un tableau a été sauvegardé, il est enregistré dans le CQM1H lors du fonctionnement (c.–à–d. pendant l’exécution du programme) aussi longtemps qu’aucun autre tableau n’est sauvegardé. Lecture de la PV Il existe deux manières de lire la PV. La première est de la lire dans les SR 230 et SR 231, et la deuxième est d’utiliser l’instruction PRV(62). 1, 2, 3... 1. Lecture de la PV. La première est de la lire dans les SR 230 et SR 231, et la deuxième est d’utiliser l’instruction PRV(62). 4 digits à l’extrême gauche SR 231 4 digits à l’extrême droite SR 230 Mode phase bidirectionnelle F0032768 (–32 768) à Mode incrémentation 00032767 00000000 à 00065535 Rem. Ces mots sont rafraîchis seulement une fois par cycle, pour ne pas différer de la PV réelle. Lorsque le compteur à grande vitesse 0 n’est pas utilisé, les bits dans ces mots sont utilisés comme bits de travail. 2. Utilisation de l’instruction PRV(62) Lire la PV du compteur à grande vitesse 0 en utilisant l’instruction PRV(62). (@)PRV(62) 000 42 000 P1 P1 : Première adresse de mot de la PV Chapitre Fonctions d’interruption 1-4 La PV du compteur à grande vitesse 0 est sauvegardée comme indiqué ci– dessous. Le digit à l’extrême gauche est F pour les valeurs négatives. 4 digits à l’extrême gauche P1+1 4 digits à l’extrême droite Mode phase bidirectionnelle F0032768 (–32 768) P1 à Mode incrémentation 00032767 00000000 à 00065535 La PV est lue lorsque l’instruction PRV(62) est réellement exécutée. Modification de la PV Il existe deux manières de modifier la PV du compteur à grande vitesse 0. La première est de la réinitialiser en utilisant les méthodes de réinitialisation. Dans ce cas la PV est remise à 0. La deuxième est d’utiliser l’instruction INI(61). La méthode utilisant l’instruction INI(61) est expliquée ici. Pour l’explication de la méthode de réinitialisation, se reporter au début de la description du compteur à grande vitesse 0. Modifier la PV de la temporisation en utilisant l’instruction INI(61) comme indiqué ci–dessous : (@)INI(61) 002 4 digits à l’extrême gauche D+1 000 D D : Première adresse du mot pour sauvegarder la PV des données modifiées 4 digits à l’extrême droite D Mode phase bidirectionnelle F0032768 à 00032767 Mode incrémentation 00000000 à 00065535 Pour indiquer un nombre négatif, régler F dans le digit à l’extrême gauche. Exemple de fonctionnement Cet exemple présente un programme pour utiliser le compteur à grande vitesse 0 en mode incrémentation, effectuer les comparaisons en appliquant la méthode de comparaison de cibles et modifier la fréquence des sorties d’impulsions en fonction de la PV du compteur. Avant d’exécuter le programme, régler le Setup de l’API comme suit : DM 6642 : 0114 (compteur à grande vitesse 0 utilisé en réinitialisant le programme et en mode incrémentation). Pour tous les autres Setup de l’API, utiliser le paramétrage par défaut. Les entrées ne sont pas rafraîchies au moment du traitement de l’interruption et des sorties d’impulsions sont exécutées pour l’IR 100. 43 Chapitre Fonctions d’interruption 1-4 En outre, les données suivantes sont sauvegardées pour le tableau de comparaison : DM 0000 : 0002 — Nombre de conditions de comparaison : 2 DM 0001 : 1000 — Valeur spécifiée 1 : 1000 DM 0002 : 0000 DM 0003 : 0101 — Sous–programme d’interruption de la comparaison 1 : 101 DM 0004 : 2000 — Valeur spécifiée 1 : 2000 DM 0005 : 0000 DM 0006 : 0102 — Sous–programme d’interruption de la comparaison 2 : 102 25315 (ON pour 1 scan) CTBL(63) 000 SPED(64) 001 SBN(92) 000 Sauvegarde le tableau de comparaison dans le format correspondant aux cibles et commence à comparer. DM 0000 020 #0050 Commence la sortie d’impulsions continue de l’IR10002 à 500 Hz. 101 25313 (toujours ON) SPED(64) 001 020 Lorsque la valeur du compteur à grande vitesse atteint 1000, le sous–programme 101 est appelé et la fréquence de sortie d’impulsions est modifié en 200 Hz. #0020 RET(93) SBN(92) 102 25313 (toujours ON) SPED(64) 001 020 Lorsque la valeur du compteur à grande vitesse atteint 2000, le sous–programme 102 est appelé et la sortie d’impulsions est interrompue en paramétrant la fréquence à 0. #0000 RET(93) Lorsque le programme est exécuté, l’opération est comme suit : Fréquence d’impulsions (Hz) 500 200 Temps écoulés (s) 0 1-4-6 Dépassements positif/négatif du compteur à grande vitesse 0 Si la plage de comptage autorisée pour le compteur à grande vitesse 0 est dépassée et les états de dépassements positif ou négatif se produisent et la PV du compteur reste sur 0FFF FFFF pour des dépassements positifs et FFFF FFFF pour des dépassements négatifs jusqu’à ce que les deux types d’états soient supprimés en réinitialisant le compteur. Les plages de comptage autorisées sont les suivantes : Mode de phase bidirectionnelle : F003 2768 à 0003 2767 Mode incrémentation : 0000 0000 à 0006 5535 44 Chapitre Fonctions d’interruption Rem. Récupération 1-4 1. Les valeurs indiquées ci–dessus sont théoriques et supposent un temps de cycle raisonnablement court. Les valeurs sont réellement celles existant dans un cycle avant l’existence de dépassements positif/négatif. 2. Les 6ème et 7ème digits de la PV du compteur à grande vitesse 0 sont normalement 00, mais peuvent être utilisés comme ”Drapeaux de dépassement positif/négatif” en détectant les valeurs au–delà des plages de comptage autorisées. Le compteur à grande vitesse 0 est réinitialisé comme décrit dans le chapitre précédent ou est automatiquement réinitialisé en redémarrant le programme. Le compteur à grande vitesse 0 et les fonctions s’y rapportant ne fonctionnent pas normalement tant que l’état de dépassement positif/négatif n’est pas supprimé. Les fonctions en cours lors de l’état de dépassement positif/négatif sont les suivantes : • Le fonctionnement du tableau de comparaison s’arrête. • Le tableau de comparaison n’est pas supprimé. • Les programmes d’interruption du compteur à grande vitesse ne sont pas exécutés. • CTBL(63) est seulement utilisé pour enregistrer le tableau de comparaison. Si une tentative est effectuée pour lancer la fonction du tableau de comparaison, le tableau de comparaison n’est pas enregistré. • INI(61) ne peut pas être utilisée pour démarrer ou interrompre la fonction du tableau de comparaison ou pour modifier la valeur en cours. • PRV(62) lit seulement 0FFF FFFF ou FFFF FFFF comme valeur en cours. Utiliser les procédures suivantes pour récupérer l’état de dépassement positif/ négatif. A partir du tableau de comparaison enregistré 1, 2, 3... 1, 2, 3... 1. Réinitialiser le compteur. 2. Régler la PV avec au besoin PRV(62). 3. Régler le tableau de comparaison avec au besoin CTBL(63). 4. Démarrer le fonctionnement du tableau de comparaison avec INI(61). Sans le tableau de comparaison enregistré 1. Réinitialiser le compteur. 2. Régler la PV avec au besoin PRV(62). 3. Régler le tableau de comparaison et l’opération de démarrage avec au besoin CTBL(63) et INI(61). Rem. Les résultats de comparaison de plage de l’AR 11 demeurent après récupération. Le programme d’interruption pour une condition d’interruption rencontrée juste après la récupération n’est pas exécuté si la condition d’interruption a déjà été rencontrée avant l’apparition de l’état de dépassement positif/négatif. Si l’exécution du programme d’interruption est nécessaire, supprimer l’AR 11 avant de poursuivre. Opération de réinitialisation Lorsque le compteur à grande vitesse 0 est réinitialisé, la PV est à 0, le comptage commence de 0, et le tableau de comparaison, l’état d’exécution et les résultats d’exécution sont maintenus. Etat du compteur au démarrage Lorsque le compteur à grande vitesse 0 est démarré, le mode compteur dans le Setup de l’API est lu et utilisé, la PV est à 0, l’état du dépassement positif/négatif est supprimé, l’enregistrement du tableau de comparaison et l’état d’exécution sont supprimés, les résultats d’exécution de plage sont également supprimés. Les résultats d’exécution de plage sont toujours supprimés lorsque l’opération est démarrée ou lorsque le tableau de comparaison est enregistré. 45 Chapitre Fonctionnement de la sortie d’impulsions Etat du compteur à l’arrêt 1-5 1-5 Lorsque le compteur à grande vitesse 0 est interrompu, la PV est maintenue, l’enregistrement du tableau de comparaison et l’état d’exécution sont supprimés, et les résultats d’exécution de plage sont maintenus. Fonctionnement de la sortie d’impulsions Ce chapitre décrit le paramétrage et les méthodes d’utilisation des fonctions de la sortie d’impulsions de CQM1H. Se reporter au Manuel de programmation du CQM1H pour plus d’informations sur les connexions du matériel aux points de sortie et aux ports. Des impulsions standard sont émises par la sortie d’une Unité de sortie transistor en utilisant SPED(64). Des impulsions sont émises bit à bit. Le coefficient cyclique de la sortie d’impulsions est de 50% et la fréquence est réglée de 20 Hz à 1 kHz. Unité de sortie transistor ton + T 50% (0, 5) Caractéristiques Unité concernée Unité de sortie transistor Sortie d’impulsions Sortie d’impulsions de bit spécifié Tout mot de sortie des IR 100 à IR 115 est spécifié, mais les impulsions sont émises bit à bit. Aspect Fréquence : Coefficient cyclique : Caractéristique du mot : Caractéristique de bit : 20 Hz à 1 kHz 50% Setup de l’API(DM 6615) Dans l’instruction à contacts Instructions concernées Paramétrage du nunéro des impulsions : Démarrage de la sortie d’impulsions : Modification de la fréquence : Interruption de la sortie d’impulsions : Unité de sortie transistor Pilote du moteur 24 V c.c. 46 PULS(65) SPED(64) SPED(64) SPED(64) ou INI(61) Chapitre Fonctionnement de la sortie d’impulsions Fonctionnement de sortie d’impulsions 1-5 Le tableau suivant indique les opérations de sortie d’impulsions s’effectuant avec les combinaisons de PULS(65), de SPED(64) et d’INI(61). Modification de fréquence Commencer la sortie d’impulsions à la fréquence indiquée. Instruction Paramétrage d’opérande PULS(65) Nombre d’impulsions (mode indépendant seulement) SPED(64) Port Mode Fréquence SPED(64) Port Mode Fréquence Arrêter la sortie d’impulsions avec une instruction. SPED(64) Port Fréquence = 0 (Exécuter SPED(64) ou INI(61)). INI(61) Mot de commande=003 Des sorties sans interruption (mode continu) ou jusqu’ au nombre indiqué d’impulsions sont émises (mode indépendant). (Exécuter PULS(65) et puis SPED(64) en utilisant le mode indépendant). Modifier la fréquence (dans les pas) des impulsions émises. Rem. Une Unité de sortie transistor doit être utilisée pour cette application. Fréquence Lors de l’émission des impulsions à partir d’un point de sortie, la fréquence est modifiée par pas en exécutant SPED(64) de nouveau avec différentes fréquences, comme indiqué dans le schéma suivant : Temps Les impulsions sont émises d’une sortie en mode continu ou en mode indépendant. Mode continu Les impulsions sont émises sans interruption jusqu’à ce qu’elles soient arrêtées avec SPED(64) ou INI(61). Mode indépendant La sortie d’impulsions s’interrompt automatiquement une fois que le nombre d’impulsions indiquées en SPED(64) a été émis. La sortie d’impulsions peut également être arrêtée prématurément avec SPED(64) ou INI(61)). Suivre les étapes décrites ci–dessous lors de l’émission des impulsions à partir d’une Unité de sortie transistor. Les impulsions sont émises à partir d’un seul bornier à la fois de l’Unité de sortie transistor. Procédure 1, 2, 3... 1. Déterminer le mot IR (IR 100 à IR 115) à utiliser pour la sortie d’impulsions. 2. Câbler l’Unité de sortie transistor. Câbler le bornier correspondant au bit utilisé réellement dans le mot sélectionné. 3. Régler l’adresse IR du mot voulu dans le DM 6615 du Setup de l’API. Le paramétrage BCD de 0000 à 0015 correspond aux IR : IR 100 à IR 115 (voir la page 48 pour plus d’informations). 4. Programmer les sections de programme associées. a) PULS(65) est utilisée pour régler le nombre de sortie d’impulsions. b) SPED(64) est utilisée pour commander la sortie d’impulsions (une impulsion émise sans accélération ni décélération). 47 Chapitre Fonctionnement de la sortie d’impulsions 1-5 c) INI(61) est utilisée pour interrompre la sortie d’impulsions. Nombre d’impulsions Programme à contacts Fréquence Programme à contacts IMPULSIONS PARAMETREES VITESSE D’EMISSION Règle le nombre d’impulsions émises (BCD à 8 digits). Règle le mode sortie (continu ou indépendent). Règle la fréquence d’impulsions (20 Hz à 1 kHz). Démarre la sortie d’impulsions. COMMANDE DE MODE Interromp la sortie d’impulsions. Paramétrage du Setup de l’API Sortie d’impulsions transistor (à partir d’une unité de sortie affectée à un mot entre les IR 100 et IR 115) Sortie d’impulsions Setup de l’API DM 6615 bits 00 à 07 Chaque cycle Etat de sortie d’impulsions Avant d’exécuter SPED(64) pour émettre des impulsions à partir d’une Unité de sortie, régler l’API en mode PROGRAM et effectuer le paramétrage suivant dans le Setup de l’API : Dans le DM 6615, indiquer le mot de sortie utilisé pour l’émission d’impulsions SPED(64) vers les unités de sortie. Le bit est indiqué dans le premier opérande de SPED(64). Le contenu de DM 6615 (0000 à 0015) indique les mots de sortie de l’IR 100 à l’IR 115. Par exemple, si le DM 6615 est à 0002, les impulsions sont émises sur l’IR 102. Bit 15 DM 6615 0 0 0 Toujours 00 Mot de sortie (BCD à l’extrême droite à 2 digits) : 00 à 15 Par défaut : Sortie d’impulsions sur l’IR 100. Sortie d’impulsions continue Les impulsions commencent à être émises au bit de sortie indiqué lorsque SPED(64) est exécutée. Régler le bit de sortie de 00 à 15 (D=000 à 150) et la fréquence de 20 Hz à 1000 Hz (F=0002 à 0100). Régler le mode en mode continu (M=001). Condition d’exécution @SPED(64) D M F La sortie d’impulsions est arrêtée en exécutant INI(61) avec C=003 ou en exécutant SPED(64) de nouveau avec la fréquence à 0. La fréquence est modifiée en exécutant SPED(64) de nouveau avec un paramétrage de fréquence différent. 48 Chapitre Fonctions de communication Paramétrage du nombre d’impulsions 1-6 Le nombre total d’impulsions émis est réglable par PULS(65) avant d’exécuter SPED(64) en mode indépendant. La sortie d’impulsions s’arrête automatiquement lorsque le nombre d’impulsions réglé par PULS(65) a été émis. Condition d’exécution @PULS(65) 000 000 P1 PULS(65) règle le nombre d’impulsions à 8 digits P1+1, P1. Ces impulsions sont réglées de 00000001 à 16777215. Le nombre d’impulsions réglé par PULS(65) est atteint lorsque SPED(64) est exécutée en mode indépendant. Le nombre d’impulsions ne peut pas être modifié pour les impulsions en cours d’émission. Condition d’exécution @SPED(64) D M F Lorsque SPED(64) est exécutée, les impulsions commencent à être émises au bit de sortie spécifié (D=000 à 150 : bit 00 à 15) à la fréquence indiquée (F=0002 à 0100 : 20 Hz à 1000 Hz). Régler le mode en mode indépendant (M=000) pour émettre le nombre d’impulsions réglé par PULS(65). La fréquence peut être modifiée en exécutant SPED(64) de nouveau avec un paramétrage de fréquence différent. Modification de fréquence 1-6 La fréquence de sortie d’impulsions peut être modifiée en exécutant SPED(64) de nouveau avec un paramétrage de fréquence différent. Utiliser les mêmes bits de sortie (P) et le paramétrage du mode (M) utilisés pour démarrer la sortie d’impulsions. La nouvelle fréquence peut être une fréquence de 20 Hz à 1000 Hz (F=0002 à 0100). Fonctions de communication Le tableau suivant présente les modes de communication pris en charge par les ports de communication de l’unité centrale CQM1H. L’unité centrale CQM1H–CPU11 n’est pas équipée d’un port RS–232C. Le paramétrage du Setup de l’API et les procédures de communication pour ces modes de communication sont décrits plus loin dans ce chapitre. 49 Chapitre Fonctions de communication Communication Non OUI Non OUI OUI Transfert de données avec les périphériques externes standard en utilisant un protocole arbitraire. Communication sans protocole avec périphériques externes standard. Non Non OUI OUI Liaison de donnée 1:1 Établissement d’une liaison de données 1:1 avec une autre unité centrale. Non OUI Liaison NT en mode 1:1 Établissement une liaison de données 1:1 avec un terminal programmable. Non OUI (Voir Rem.). Liaison NT en mode 1:N Établissement une liaison de données 1:1 avec une console de programmation ou une connexion 1:N avec deux terminaux programmables ou plus. Non Non Liaison à l’ordinateur Protocole–Macro Sans protocole Rem. Port Usage Périphérique OUI Bus de console de programmation Bus de périphérique Connexion à une console de programmation. Connexion à un ordinateur avec le logiciel SYSWIN. Liaison à l’ordinateur ou connexion à la console de programmation. 1-6 RS-232C 1. Les fonctions du terminal programmable peuvent être utilisées, mais le sélecteur 7 du micro–interrupteur doit être à ON. 2. Passer à ON le sélecteur 7 du micro–interrupteur de l’unité centrale lors de l’utilisation du port périphérique de n’importe quel périphérique autre qu’une console de programmation. 1-6-1 Paramétrage de la liaison à l’ordinateur et des communications sans protocole Ce paragraphe présente le paramétrage du Setup de l’API partagé par la liaison à l’ordinateur et les modes de communication sans protocole. Effectuer le paramétage voulu du Setup de l’API avant d’essayer de réaliser la liaison à l’ordinateur et aux communication sans protocole. Rem. Si le sélecteur 5 du micro–interrupteur du CQM1H est passé à ON, les paramètres des communications du Setup de l’API sont ignorés et le paramétrage suivant est utilisé : Paramètre Modes de communication Numéro de station Paramétrage lorsque le sélecteur 5 du micro–interrupteur est sur ON Liaison à l’ordinateur 00 Bits de démarrage 1 bit Longueur des données 7 bits Bits d’arrêt 2 bits Parité Pair Vitesse 9 600 bps Durée de transmission Aucune Les paramètres du Setup de l’API du DM 6645 au DM 6654 sont utilisés pour paramétrer les ports de communication. 50 Chapitre Fonctions de communication Paramétrage des communications (DM 6645 et DM 6650) 1-6 Le paramétrage des DM 6645 et DM 6650 détermine les paramètres principaux de communication, comme indiqué dans le schéma suivant : Bit 15 0 DM 6645 : port RS-232C DM 6650 : port périphérique Modes de communication 0 : Liaison à l’ordinateur 1 : Sans protocole 2 : Liaison de données Esclave inter API* 3 : Liaison de données Maître inter API* 4 : Liaison NT en mode 1:1* Mots de liaison pour liaison de données 1:1* 0 : LR 00 à LR 63 1 : LR 00 à LR 31 2 : LR 00 à LR 15 Paramétrage de commande CTS 0 : Désactivé 1 : Activé Paramétrage de port 0 : Conditions de communication standard 1 : Selon le paramétrage : DM 6646 ou DM 6651 Par défaut (0000) : Liaison à l’ordinateur utilisant les paramètres standard, sans commande CTS Rem. *Ce paramétrage est effectué pour le port RS-232C (DM 6645), mais pas pour le port périphérique (DM 6650). Paramétrage des communications (DM 6646 et DM 6651) Lorsque le sélecteur 5 du micro–interrupteur de l’unité centrale est à OFF et le paramétrage du DM 6646 (ou du DM 6651) est permis das le DM 6645 (ou le DM 6650), le paramétrage détermine le format de la trame de transmission et la vitesse, comme indiqué dans le schéma suivant : Bit 15 DM 6646 : Port RS-232C DM 6651 : Port périphérique 0 Format de trame de transmission (voir tableau ci–dessous). Vitesse (voir tableau ci–dessous). Par défaut : conditions de communication standard. Format de trame de transmission Configuration Bits d’arrêt 00 1 Longueur des Bits d’arrêt données 7 1 Parité 01 1 7 1 Impair 02 1 7 1 Aucun 03 1 7 2 Pair 04 1 7 2 Impair 05 1 7 2 Aucun 06 1 8 1 Pair 07 1 8 1 Impair 08 1 8 1 Aucun 09 1 8 2 Pair 10 1 8 2 Impair 11 1 8 2 Aucun Pair 51 Chapitre Fonctions de communication 1-6 Vitesse Paramétrage Retard de transmission (DM 6647 et DM 6652) Vitesse 00 1 200 bps 01 2 400 bps 02 4 800 bps 03 9 600 bps 04 19 200 bps Selon les périphériques connectés au port de communication, il peut s’avérer nécessaire d’accorder un certain temps pour la transmission. Lorsque le cas se présente, régler le retard de transmission pour adopter le délai nécessaire. Bit 15 DM 6647 : Port RS-232C DM 6652 : Port périphérique 0 Retard de tansmission (BCD à 4 digits ; unité : 10 ms) Par défaut : Sans retard Le retard de transmission est réglé dans le Setup de l’API pour créer un intervalle minimal entre les envois de données depuis l’API. Le retard de transmission est utilisé pour les modes de communication série suivants : Mode de communication série Réponses de la liaison à l’ordinateur Communication initiée par l’API de liaison à l’ordinateur Communication sans protocole Application Dès que l’API a envoyé une réponse à l’ordinateur, il n’envoie pas de nouvelle réponse tant que le délai défini pour le retard de transmission n’a pas pris fin. Dès que l’API a envoyé des données en utilisant TXD(48), il n’envoie pas de nouvelles données tant que le délai défini pour le retard de transmission n’a pas pris fin. Le retard n’est pas utilisé lorsque les données sont envoyées pour la première fois de l’API. Le retard affecte les autres envois seulement si la durée normale pour l’envoi survient avant l’expiration du délai défini pour le retard de transmission. Si le temps de retard est déjà expiré lorsque les prochains envois sont prêts, les données sont immédiatement envoyées. Si le temps de retard n’est pas expiré, l’envoi est retardé jusqu’à l’expiration du délai défini pour le retard de transmission. L’opération du retard de transmission pour l’envoi des données de l’API est illustrée ci–dessous : Retard de transmission Retard de transmission Envoi de réponse/ données 1er envoi de l’API Envoi de réponse/ données 2ème envoi de l’API Retard de transmission Envoi de réponse/ données 3ème envoi de l’API Envoi de réponse/ données 4ème envoi de l’API Temps 1-6-2 Procédures et paramétrage des communications de la liaison à l’ordinateur Ce paragraphe présente le paramétrage du Setup de l’API et la procédure exigée pour des communications de la liaison à l’ordinateur. Paramétrage du Setup de l’API 52 S’assurer d’écrire 00 dans les digits à l’extrême gauche du DM 6645 (port RS–232C) ou du DM 6650 (port périphérique) pour indiquer les communications Chapitre Fonctions de communication 1-6 de la liaison à l’ordinateur. D’autres paramètres de communications de liaison à l’ordinateur sont réglés dans les deux digits à l’extrême droite des DM 6645/DM 6650 et des DM 6646/DM 6651. Un nombre de station doit être défini pour des communications de liaison à l’ordinateur afin de différencier les stations lorsque plusieurs stations participent aux communications. Ce paramétrage est exigé seulement pour des communications de liaison à l’ordinateur . Bit 15 DM 6648 : Port RS-232C DM 6653 : Port périphérique 0 0 0 Nombre de stations (BCD à 2 digits) : 00 à 31 Par défaut : 00 Le nombre de station est normalement à 00. Un autre paramétrage n’est pas exigé à moins que plusieurs stations soient reliées en réseau. Aspect général des communications de la liaison à l’ordinateur Les communications de liaison à l’ordinateur sont développées par OMRON afin de relier des API et un ou plusieurs ordinateurs par un câble RS–232C, et pouvoir commander les communications de l’API à partir de l’ordinateur. Normalement, l’ordinateur transmet un ordre à l’API, et l’API renvoie automatiquement une réponse. Ainsi les communications sont effectuées sans implication active des API. Les API ont également la capacité d’initialiser les transmissions de données lorsqu’ une implication directe est nécessaire. En général, il existe deux moyens de mettre en application des communications de liaison à l’ordinateur. L’un des moyens est basé sur des commandes de mode C, et l’autre sur les commandes FINS (mode CV). Le CQM1H prend en charge uniquement les commandes de mode C. Pour plus d’informations sur des communications de liaison à l’ordinateur, se reporter au Chapitre 6 Commandes de liaison à l’ordinateur. Ce paragraphe explique comment utiliser la liaison à l’ordinateur pour effectuer des transmissions de données à partir de CQM1H. Utiliser cette méthode permet la transmission de données automatique à partir du CQM1H lorsque les données sont modifiées, et simplifie ainsi les procédure de communication en éliminant la surveillance constante de l’ordinateur. Procédures de communication 1, 2, 3... 1. Vérifier que l’AR 0805 (drapeau activé de transmission par port RS–232C) est à ON. 2. Utiliser l’instruction TXD(48) pour transmettre les données. (@)TXD(48) S S : Première adresse du mot de données de transmission C N C : Données de commande 0000 : Port RS-232C 1000 : Port périphérique N : Nombre d’octets des données à envoyer (BCD à 4 digits) 0000 à 0061 A partir du moment où l’instruction est exécutée jusqu’à ce que la transmission de données soit terminée, l’AR 0805 (ou l’AR 0813 pour le port périphérique) reste à OFF. Elle bascule à ON de nouveau dès l’accomplissement de la transmission de données. L’instruction TXD(48) ne fournit pas de réponse, ainsi pour recevoir la confirmation que l’ordinateur a reçu les données, le programme de l’ordinateur doit être écrit afin d’aviser lorsque des données sont écrites en provenance du CQM1H. 53 Chapitre Fonctions de communication 1-6 La trame de données de transmission concerne les données transmises dans le mode liaison à l’ordinateur au moyen de l’instruction TXD(48), comme indiqué ci–dessous : @ x 101 x 100 Nº de station E X Code d’en-tête (doit être “EX”) Données (jusqu’à 122 caractères) FCS ↵ Terminaison Pour réinitialiser le port RS–232C (c.-à-d. rétablir l’état initial), passer le SR 25209 à ON. Pour réinitialiser le port périphérique, passer le SR 25208 à ON. Ces bits passent automatiquement à OFF après la réinitialisation. Si l’instruction TXD(48) est exécutée tandis que le CQM1H est au milieu d’une réponse à une commande de l’ordinateur, la transmission de réponse est d’abord terminée avant d’exécuter la transmission selon l’instruction TXD(48). Dans tous les autres cas, la transmission de données basée sur l’instruction TXD(48) passe en priorité. Exemple d’application Cet exemple présente le programme nécessaire pour utiliser le port RS–232C dans le mode liaison à l’ordinateur afin de transmettre 10 octets de données (DM 0000 au DM 0004). Les valeurs par défaut concernent l’ensemble du Setup de l’API (c.-à.-d. le port RS–232C est utilisé en mode liaison à l’ordinateur, le numéro de station est 00 et les conditions de communication standard sont utilisées). Du DM 0000 au DM 0004, ”1234” est sauvegardé dans chaque mot. A partir de l’ordinateur, lancer un programme pour recevoir les données de CQM1H aux conditions de communication standard. 00100 AR0805 @TXD(48) DM 000 0 #0010 54 #0000 Si l’AR 0805 (le drapeau transmission activée) est à ON lorsque l’IR 00100 passe à ON, les dix octets de données (DM 0000 au DM 0004) sont transmis. Fonctions de communication Chapitre 1-6 Le type de programme présenté ci–après doit être préparé dans l’ordinateur pour la réception des données. Ce programme permet à l’ordinateur de lire et d’afficher les données reçues de l’API tandis qu’une commande de lecture de la liaison à l’ordinateur est lancée pour lire les données provenant de l’API. 10 ’CQM1H SAMPLE PROGRAM FOR EXCEPTION 20 CLOSE 1 30 CLS 40 OPEN ”COM :E73” AS #1 50 KEYIN 60 INPUT ”DATA ––––––––”,S$ 70 IF S$=” ” THEN GOTO 190 80 PRINT ”SEND DATA = ” ;S$ 90 ST$=S$ 100 INPUT ”SEND OK? Y or N?=”,B$ 110 IF B$=”Y” THEN GOTO 130 ELSE GOTO KEYIN 120 S$=ST$ 130 PRINT #1,S$ ’Emet la commande à l’API 140 INPUT #1,R$ ’Reçoit la réponse de l’API 150 PRINT ”RECV DATA = ” ;R$ 160 IF MID$(R$,4,2)=”EX” THEN GOTO 210 ’Identifie la commande de l’API 170 IF RIGHT$(R$,1)<>” ” THEN S$=” ” :GOTO 130 180 GOTO KEYIN 190 CLOSE 1 200 END 210 PRINT ”EXCEPTION!! DATA” 220 GOTO 140 Les données reçues par l’ordinateur sont comme indiquées ci–dessous (la FCS est “59”). “@00EX1234123412341234123459 CR” 1-6-3 Procédures et paramétrage de communication sans protocole Ce paragraphe explique le paramétrage du Setup de l’API et la procédure exigée pour des communications sans protocole. Les communications sans protocole permettent aux données d’être échangées avec les périphériques standard. Par exemple, les données peuvent être émises vers l’imprimante ou reçues d’un lecteur de code barres. Paramétrage du Setup de l’API S’assurer d’écrire 10 dans les digits à l’extrême gauche du DM 6645 (port RS–232C) ou du DM 6650 (port périphérique) pour préciser les communications sans protocole. D’autres paramètres de communication sont réglés sur les deux digits à l’extrême droite des DM 6645/DM 6650 et des DM 6646/DM 6651. Les codes de début et de fin ou la quantité des données reçues peuvent être réglés comme indiqué dans les diagrammes suivants, si nécessaire, pour des communications sans protocole. Ce paramétrage est nécessaire seulement pour des communications sans protocole. Ce paramétrage est valable seulement lorsque le sélecteur 5 du micro–interrupteur est à OFF. 55 Chapitre Fonctions de communication 1-6 Activation des codes de début et de fin DM 6648 : Port RS-232C DM 6653 : Port périphérique Bit 15 0 0 0 Code de fin 0 : Non réglé (quantité de données reçue spécifiée). 1 : Réglé (code de fin spécifié). 2 : CR/LF Code de début 0 : Non réglé 1 : Réglé (code de début spécifié). Par défaut : Sans code de début ou de fin (Spécifer le nombre d’octets reçus). Indiquer si un code de début est ou non à régler au début des données, et si un code de fin est ou non à régler à la fin des données. Au lieu de régler le code de fin, indiquer le nombre d’octets à recevoir avant que l’opération de réception se termine. Les codes et le nombre d’octets de données à recevoir sont réglés dans le DM 6649 ou le DM 6654. Paramétrage du code de début, du code de fin et de la quantité de données reçues Bit 15 0 DM 6649 : Port RS-232C DM 6654 : Port périphérique Code de fin ou nombre d’octets à recevoir Pour le code de fin : (00 à FF) Pour le quantité de données reçues : hexadécimal à 2 digits, 00 à FF (00 : 256 octets) Code de début 00 à FF Par défaut : Sans code de début ; réception de données terminée à 256 octets. Procédures de communication Transmissions 1, 2, 3... 1. Vérifier que l’AR 0805 (le drapeau activé de la transmission du port RS–232C) passe à ON. 2. Utiliser l’instruction TXD(48) pour transmettre les données. (@)TXD(48) S S : Mot d’en-tête de données à transmettre C N C : Données de commande N : Nombre d’octets à transmettre (BCD à 4 digits), 0000 à 0256 Entre le moment où l’instruction est exécutée jusqu’à ce que la transmission de données soit terminée, l’AR 0805 (ou l’AR0813 pour le port périphérique) reste à OFF. Cette zone s’allume de nouveau lorsque la transmission de données est terminée. 56 Chapitre Fonctions de communication 1-6 Les codes de début et de fin ne sont pas inclus lorsque le nombre d’octets à transmettre est défini. La plus grande transmission pouvant être effectuée avec ou sans code de début et de fin dans 256 octets, est N comprid entre 254 et 256 octets selon les désignations des codes de début et de fin. Si le nombre d’octets à transmettre est à 0000, seuls les codes de début et de fin sont transmis. 256 octets max. Code de début Données Code de fin Pour réinitialiser le port de RS–232C (c.-à-d. rétablir le statut initial), passer le SR 25209 à ON. Pour réinitialiser le port périphérique, passer le SR 25208 à ON. Ces bits basculent automatiquement à OFF après la réinitialisation. Réceptions 1, 2, 3... 1. Confirmer le passage à ON de l’AR 0806 (drapeau terminé de la réception de RS–232C) ou de l’AR 0814 (drapeau terminé de la réception périphérique). 2. Utiliser l’instruction RXD(47) pour recevoir les données. (@)RXD(47) D D : Mot d’en–tête pour sauvegarder les données reçues C N C : Données de commande Bits 00 à 03 0 : Premiers octets à l’extrême gauche 1 : Premiers octets à l’extrême doite Bits 12 à 15 0 : Port RS-232C 1 : Port périphérique N : Nombre d’octets sauvegardés (BCD à 4 digits), 0000 à 0256 3. Les résultats de lecture des données reçues sont sauvegardés dans la zone AR. Vérifier que l’opération s’est terminée avec succès. Le contenu des bits est réinitialisé chaque fois que RXD(47) est exécutée. Port RS-232C AR 0800 à AR 0803 Port périphérique AR 0808 à AR 0811 Erreur AR 0804 AR0812 Erreur de communication AR 0807 AR0815 Drapeau de dépassement à la réception. (Une fois la réception terminée, les données concernées sont reçues avant la lecture des données par l’instruction RXD(47)). AR 09 AR10 Nombre d’octets reçu (BCD à 4 digits) Code d’erreur du port RS-232C (BCD à 1 digit) 0 : Normalement terminé ; 1 : Erreur de parité ; 2 : Erreur de trame ; 3 : erreur de dépassement Pour réinitialiser le port RS–232C (c.-à-d. rétablir le statut initial), passer le SR 25209 à ON. Pour réinitialiser le port périphérique, passer le SR 25208 à ON. Ces bits basculent automatiquement à OFF après la réinitialisation. Le code de début et le code de fin ne sont pas inclus dans l’AR 09 ou l’AR 10 (nombre d’octets reçus). Exemple d’application Cet exemple présente un programme d’utilisation du port RS–232C en mode sans protocole transmettant 10 octets de données (DM 0104 au DM 0100) à l’ordinateur, et sauvegardant les données reçues de l’ordinateur dans la zone DM commençant par le DM 0200. Avant d’exécuter le programme, le paramétrage du Setup de l’API à effectuer est le suivant : 57 Chapitre Fonctions de communication 1-6 DM 6645 : 1000 (port RS-232C en mode sans protocole ; conditions standard de communication) DM 6648 : 2000 (Sans code de début ; CR/LF en code de fin) Les valeurs par défaut sont définies pour tous les autres paramètres du Setup de l’API. Du DM 0104 au DM 0100, 3132 est sauvegardé dans chaque mot. A partir de l’ordinateur, lancer le programme pour recevoir les données du CQM1H avec les conditions standard de communication. 00100 DIFU(13) 00101 00101 AR0805 @TXD(48) DM 010 0 #0000 #0010 Si l’AR 0805 (drapeau activé de transmission) est à ON lorsque l’IR 00100 passe à ON, les dix octets de données (DM 0100 au DM 0104) sont transmis, premier octets à l’extrême gauche. AR0806 @RXD(47) DM 020 0 #0000 AR09 Lorsque l’AR 0806 (drapeau terminé de réception) passe à ON, le nombre d’octets de données spécifiées dans l’AR 09 est lu à partir du buffer de réception CQM1H et sauvegardé dans la mémoire de démarrage du DM 0200, premier octets à l’extrême gauche. Les données sont les suivantes : “31323132313231323132CR LF” 1-6-4 Liaisons de données inter API Si un CQM1H est relié à une autre unité centrale par son port RS–232C, ils peuvent partager des zones LR communes. Un des API sert de maître et l’autre d’esclave. Un CQM1H peut être relié à n’importe lequel des API suivants : CQM1H, CQM1, C200HX/HG/HE, C200HS, CPM1, CPM1A, CPM2A, CPM2C ou SRM1(–V2). Rem. Le port périphérique n’est pas utilisé pour des liaisons de données 1:1. Utiliser le port intégré RS–232C de l’unité centrale ou l’un des ports RS–232C ou RS–422A/485 de la carte de communication série. Une liaison de données 1:1 permet aux deux CQM1H de partager les données communes dans leurs zones LR. Comme illustré dans le schéma ci-dessous, lorsque des données sont écrites dans un mot de la zone LR d’une des Unités reliées, il est automatiquement écrit à l’identique dans le même mot de l’autre Unité. Chaque API a des mots spécifiques dans lesquels il peut écrire et des mots spécifiques écrits par l’autre API. Chacun peut lire, mais ne peut pas écrire dans les mots écrits par l’autre API. Liaisons de données inter API Maître Zone maître Esclave 1 Ecrire “1” Zone esclave Ecrit automatiquement. Zone esclave 1 1 Ecrire Zone maître Le mot utilisé par chaque API dépend, comme indiqué dans le tableau suivant, du paramétrage du maître, de l’esclave et des mots de liaison. Régler la zone de liaison du LR 15 au LR 00, si le CQM1H est relié avec un API CPM1, CPM1A, CPM2A ou SRM1(–V2). 58 Paramétrage du DM 6645 LR 00 à LR 15 Zone maître Zone esclave LR 00 à LR 07 LR 08 à LR 15 LR 00 à LR 31 LR 00 à LR 15 LR 16 à LR 31 LR 00 à LR 63 LR 00 à LR 31 LR 32 à LR 63 Chapitre Fonctions de communication Paramétrage du Setup de l’API 1-6 Pour utiliser une liaison de données 1:1, le seul paramétrage nécessaire concerne le mode de communication et les mots de liaison. Régler le mode de communication pour un des API, en tant que liaison de données 1:1 maître et pour l’autre en tant que liaison de données 1:1 esclave, puis régler les mots de liaison dans l’API désigné comme maître. Bit 15 DM 6645 0 0 0 Mode de communication 2 : Liaison de données inter API esclave 3 : Liaison de données inter API maître Mots de liaison 0 : LR 00 à LR 63 1 : LR 00 à LR 31 2 : LR 00 à LR 15 Par défaut : Mode de communication = 0 (Liaison à l’ordinateur) Rem. Ce paramétrage est valable seulement lorsque le sélecteur 5 du micro–interrupteur de l’unité centrale est à OFF. Les bits 08 à 11 sont valables seulement pour la liaison de données 1:1 maître. Procédure de communication Si le paramétrage pour le maître et l’esclave sont effectués correctement, la liaison de données inter API démarre automatiquement en alimentant les deux unités centrales et le fonctionnement est indépendant des modes de fonctionnement des unités centrales. Erreurs de liaison Si un esclave ne reçoit pas de réponse du maître dans un délai d’une seconde, le drapeau erreur de liaison de données 1:1 (AR 0802) et le drapeau erreur de communication (AR 0804) passent à ON. Exemple d’application Cet exemple présente un programme de vérification des conditions d’exécution d’une liaison de données inter API utilisant les ports RS–232C. Avant de lancer le programme, régler les paramètres suivants du Setup de l’API : Maître : DM 6645 : 3200 (liaison de données maître 1:1 ; zone utilisée : LR 15 à LR 00) Esclave : DM 6645 : 2000 (liaison de données esclave 1:1) Tous les autres paramètres du Setup de l’API sont définis par défaut. Les mots utilisés pour la liaison de données inter API sont comme indiqué ci–dessous : LR 00 Maître Zone d’écriture LR 07 LR 08 LR 15 Zone de lecture Esclave LR 00 Zone de lecture Zone d’écriture LR 07 LR 08 LR 15 Lorsque le programme est lancé à la fois pour le maître et l’esclave, l’état de l’IR 001 de chaque Unité est repris dans l’IR 100 de l’autre Unité. De même, l’état de l’autre IR 001 de l’Unité est repris dans l’IR 100 de chaque Unité. L’IR 001 est un mot d’entrée et l’IR 100 est un mot de sortie. 59 Chapitre Fonctions de communication 1-6 Dans le maître 25313 (toujours ON) MOV(21) 001 LR00 MOV(21) LR08 100 Dans l’esclave 25313 (toujours ON) MOV(21) 001 LR08 MOV(21) LR00 100 1-6-5 Communication en mode 1:1 liaison NT Ce paragraphe présente les communications avec un terminal programmable à partir du mode de communication réglé en mode 1:1 liaison NT. Le port périphérique ne peut pas être utilisé pour des communications de liaison NT. Paramétrage Régler le mode de communication en mode 1:1 liaison NT en paramétrant les DM 6645 au DM 4000. S’assurer que le sélecteur 5 du micro–interrupteur est à OFF. Pour plus d’informations sur le paramétrage du terminal programmable, se reporter au Manuel de programmation du teminal programmable. Aspect général des communications en mode liaison 1:1 NT Des communications en liaison NT ont été développées par OMRON pour fournir des communications à grande vitesse entre l’API et un terminal programmable. Il existe deux types de communication en liaison NT : en mode 1:1 où un terminal programmable est connecté à l’API et en mode 1:N où plusieurs terminaux programmables sont connectés à l’API. Les ports intégrés RS–232C du CQM1H prennent en charge seulement les communications en mode 1:1, mais les modes 1:1 et 1:N peuvent tous deux être utilisés si une carte de communication série est installée dans l’API. Quelques terminaux programmables sont équipés des fonctions de la console de programmation permettant au terminal programmable de programmer et de surveiller le CQM1H. Les fonctions console de programmation du terminal programmable ne peuvent pas être utilisées si une console de programmation est connectée au port périphérique du CQM1H. Se reporter au Manuel de programmation du terminal programmable pour plus d’information sur son fonctionnement. Procédure de communication Avec des communications de liaison NT, l’API répond automatiquement aux commandes provenant du terminal programmable et ainsi la programmation des communications n’est pas nécessaire dans le CQM1H et il n’y a aucune procédure de communication de liaison NT à effectuer. 1-6-6 Câblage des ports Se reporter au Manuel de programmation du CQM1H pour plus d’informations sur le câblage des ports de communication. 60 Calcul avec les données binaires signées 1-7 Chapitre 1-7 Calcul avec les données binaires signées Les API CQM1H permettent des calculs sur des données binaires signées. Les instructions suivantes manipulent des données binaires signées en utilisant des compléments à 2. Les instructions binaires signées suivantes sont disponibles dans les API CQM1H : Instructions de mots simples • COMPLEMENT A 2 (2’S COMPLEMENT) – NEG(––) • ADDITION BINAIRE (BINARY ADD) – ADB(50) • SOUSTRACTION BINAIRE (BINARY SUBTRACT) – SBB(51) • MULTIPLICATION BINAIRE SIGNEE (SIGNED BINARY MULTIPLY) – MBS(––) • DIVISION BINAIRE SIGNEE (SIGNED BINARY DIVIDE) – DBS(––) Instructions de mots doubles (long) • DOUBLE COMPLEMENT A 2 (DOUBLE 2’S COMPLEMENT) – NEGL(––) • DOUBLE ADDITION BINAIRE (DOUBLE BINARY ADD) – ADBL(––) • DOUBLE SOUSTRACTION BINAIRE (DOUBLE BINARY SUBTRACT) – SBBL(––) • DOUBLE MULTIPLICATION BINAIRE SIGNEE (DOUBLE SIGNED BINARY MULTIPLY) – MBSL(––) • DOUBLE DIVISION BINAIRE SIGNEE (DOUBLE SIGNED BINARY DIVIDE) – DBSL(––) 1-7-1 Définition des données binaires signées Le CQM1H fournit les instructions fonctionnant dans un ou deux mots de données. Des données binaires signées sont manipulées en utilisant les compléments à 2 et le MSB de un ou deux mots est utilisé comme bit de signe. La plage des données pouvant être exprimée à l’aide d’un ou deux mots correspond donc à ce qui suit : • Données à un mot : –32 768 à 32 767 (hexadécimal 8000 à 7FFF ) • Données à deux mots : –2 147 483 648 à 2 147 483 647 (hexadécimal 8000 0000 à 7FFF FFFF ) 61 Chapitre Calcul avec les données binaires signées 1-7 Le tableau suivant indique les équivalences entre les données décimales et hexadécimales : Décimale 16 bit Hex 2 147 483 647 2 147 483 646 . . . 32 768 32 767 32 766 . . . 2 1 0 –1 –2 . . . –32 767 –32 768 –32 769 . . . –2 147 483 647 –2 144 483 648 ––– ––– . . . ––– 7FFF 7FFE . . . 0002 0001 0000 FFFF FFFE . . . 8001 8000 ––– . . . ––– ––– 32 bit Hex 7FFF FFFF 7FFF FFFE . . . 0000 8000 0000 7FFF 0000 7FFE . . . 0000 0002 0000 0001 0000 0000 FFFF FFFF FFFF FFFE . . . FFFF 8001 FFFF 8000 FFFF 7FFF . . . 8000 0001 8000 0000 1-7-2 Drapeaux arithmétiques Les résultats des instructions binaires signées exécutées se retrouvent dans les drapeaux arithmétiques. Les drapeaux et les conditions dans lesquels ils passent à ON sont donnés dans le tableau suivant. Les drapeaux sont à OFF lorsque ces conditions ne sont pas réunies. Drapeaux Drapeau poursuite (SR 25504) Conditions à ON Poursuivre une addition. Résultats négatifs pour la soustraction. Drapeau égalité (SR 25506) Les résultats de l’addition, de la soustraction, de la multiplication ou de la division sont 0. Les résultats de conversion en complément à 2 sont 0. Dapeau de dépassement positif (SR 25404) 32 767 (7FFF) a été dépassé dans les résultats de l’addition ou de la soustraction de 16 bits. 2 147 483 647 (7FFF FFFF) a été dépassé dans les résultats de l’addition ou de la soustraction de 32 bits. Drapeau de dépassement négatif (SR 25405) –32 768 (8000) a été dépassé dans les résultats de l’addition ou de la soustraction de 16 bits ou lors de la conversion du complément à 2. –2 147 483 648 (8000 0000) a été dépassé dans les résultats de l’addition ou de la soustraction de 32 bits ou lors de la conversion du complément à 2. 62 Calcul avec les données binaires signées Chapitre 1-7 1-7-3 Réception des données binaires signées utilisant des valeurs décimales Bien que les calculs pour des données binaires signées utilisent des expressions hexadécimales, les entrées de la console de programmation ou par programme CX–Programmer, ou SYSWIN sont effectuées en utilisant pour les instructions, les entrées et la mnémonique décimales. La procédure d’utilisation du terminal programmable pour recevoir à l’aide des valeurs décimales est présentée dans le Manuel de programmation du CQM1H. Se reporter au Manuel de programmation du logiciel CX–Programmer, ou SYSWIN : API série C pour plus d’informations sur l’utilisation du logiciel CX–Programmer, ou SYSWIN. Instructions d’entrée Seuls les opérandes à 16 bits sont reçus pour les instructions suivantes : NEG(– –), ADB(50), SBB(51), MBS(– –) et DBS(– –). Se reporter au Manuel de programmation du CQM1H pour plus d’informations sur la réception des instructions provenant de la console de programmation. 1-7-4 Utilisation des instructions d’extensions binaires signées Les instructions CQM1H suivantes doivent être des codes de fonction attribués dans le tableau des instructions avant qu’elles puissent être utilisées. • COMPLEMENT A 2 (2’S COMPLEMENT) – NEG(––) • DOUBLE COMPLEMENT A 2 (DOUBLE 2’S COMPLEMENT) – NEGL(––) • DOUBLE ADDITION BINAIRE (DOUBLE BINARY ADD) – ADBL(––) • DOUBLE SOUSTRACTION BINAIRE (BINARY SUBTRACT) – SBBL(––) • MULTIPLICATION BINAIRE SIGNEE (SIGNED BINARY MULTIPLY) – MBS(––) • DOUBLE MULTIPLICATION BINAIRE SIGNEE (DOUBLE SIGNED BINARY MULTIPLY) – MBSL(––) • DIVISION BINAIRE SIGNEE (SIGNED BINARY DIVIDE) – DBS(––) • DOUBLE DIVISION BINAIRE SIGNEE (DOUBLE SIGNED BINARY DIVIDE) – DBSL(––) Affectation des codes de fonction La procédure pour utiliser la console de programmation afin d’attribuer les codes de fonction est présentée dans le Manuel de programmation du CQM1H. S’assurer que le sélecteur 4 du micro-interrupteur du CQM1H est à ON pour activer l’utilisation du tableau d’instructions réglé par l’utilisateur avant d’effectuer cette opération. 63 Chapitre Calcul avec les données binaires signées 1-7-5 1-7 Exemple d’application utilisant les données binaires signées La programmation suivante est utilisée pour effectuer dans le CQM1H des calculs comme ceux qui suivent : ((1234 + (–123)) x 1212 – 12345) (–1234) = –1081, Reste 232 000 = 04D2 ← 1234 001 = FF85 ← –123 LR00 = 04BC ← 1212 HR50 = 3039 ← 12345 HR51 = 0000 ← DM1000 = FB2E ← –1234 DM1001 = FFFF ← 10000 CLC(41) ADB(50) 000 001 010 MBS(––) 010 LR00 020 04D2 FF85 X 0 0457 0457 X 04BC 00148BE4 CLC(41) SBBL(––) 020 HR50 030 00148BE4 00003039 – 0 00145BAB 64 DBSL(––) 030 DM1000 040 00145BAB FFFFFB2E FFFFFBC7 000000E8 Résultat Reste CHAPITRE 2 Cartes internes Ce chapitre fournit les informations sur les applications du matériel pour les cartes internes suivantes : carte du compteur à grande vitesse, carte de gestion d’axes, carte codeur absolu, carte de réglage analogique, carte des E/S analogiques et carte de communications série. Se reporter au Manuel d’utilisation du CQM1H pour de plus amples informations sur le matériel. 2-1 Carte du compteur à grande vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2-1-1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2-1-2 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2-1-3 Exemple de configuration du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2-1-4 Emplacements des cartes internes concernées . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2-1-5 Noms et fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2-1-6 Caractéristiques techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2-1-7 Compteurs à grande vitesse 1 à 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 2-2 Carte de gestion d’axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 2-2-1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 2-2-2 Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 2-2-3 Configuration du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 2-2-4 Emplacement carte interne concerné . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 2-2-5 Noms et fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 2-2-6 Caractéristiques techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 2-2-7 Compteurs à grande vitesse 1 et 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 2-2-8 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 2-2-9 Sortie d’impulsions à rapport cyclique fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 2-2-10 Sorties d’impulsions à rapport cyclique variable . . . . . . . . . . . . . . . . . . . . . . . . 123 2-2-11 Détermination de l’état des ports 1 et 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 2-2-12 Précautions d’utilisation des fonctions de la sortie d’impulsions . . . . . . . . . . . . 127 2-3 Carte codeur absolu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 2-3-1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 2-3-2 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 2-3-3 Configuration du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 2-3-4 Emplacements concernés de la carte interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 2-3-5 Dénominations et fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 2-3-6 Caractéristiques techniques de l’entrée du codeur absolu . . . . . . . . . . . . . . . . . . 130 2-3-7 Interruptions du compteur à grande vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 2-4 Carte de réglage analogique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 2-4-1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 2-4-2 Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 2-4-3 Emplacements concernés de la carte interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 2-4-4 Dénominations et fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 2-4-5 Caractéristiques techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 2-5 Carte des E/S analogiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 2-5-1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 2-5-2 Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 2-5-3 Configuration du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 2-5-4 Emplacement de la carte interne concerné . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 2-5-5 Dénominations et fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 2-5-6 Caractéristiques techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 2-5-7 Procédure de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 2-6 Cartes de communications série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 2-6-1 Numéro du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 2-6-2 Cartes de communications série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 2-6-3 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 65 Chapitre 2-6-4 66 Configuration du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Chapitre Carte du compteur à grande vitesse 2-1 2-1 Carte du compteur à grande vitesse 2-1-1 Modèle Dénomination Modèle Caractéristiques techniques Carte du compteur à grande CQM1H-CTB41 Quatre entrées d’impulsions vitesse Quatre sorties externes de résultat de comparaison 2-1-2 Fonctions La carte du compteur à grande vitesse est une carte interne qui traite quatre entrées d’impulsions. Entrées d’impulsions 1 à 4 du compteur à grande vitesse La carte du compteur à grande vitesse compte des impulsions à grande vitesse de 50 à 500 kHz entrant par les ports 1 à 4 et accomplit des tâches selon le nombre d’impulsions comptées. Modes d’entrée Les trois modes d’entrée suivants sont disponibles : • Mode bidirectionnel (1x/2x/4x) • Mode incrémental/décrémental • Mode impulsion/direction Opération de comparaison Lorsque la PV (valeur en cours) du compteur à grande vitesse atteint une valeur spécifiée ou se trouve en dessous d’une plage indiquée, l’ensemble de bits indiqué dans le tableau de comparaison est sauvegardé dans les bits internes de sortie et les bits externes de sortie. Un ensemble de bits est réglé pour chaque résultat de comparaison et le bit externe de sortie est produit par un bornier de sortie externe comme décrit ci-dessous. Sorties externes Jusqu’à quatre sorties externes sont produites lorsque la valeur spécifiée est atteinte ou lorsqu’une condition de comparaison de plage est satisfaite. Rem. La carte du compteur à grande vitesse ne fournit pas d’interruptions du compteur à grande vitesse. Elle compare simplement la PV aux valeurs spécifiées ou aux plages de comparaison et produit des sorties de bits internes et externes. 2-1-3 Exemple de configuration du système Carte du compteur à grande vitesse Carte du compteur à grande vitesse Codeurs incrémentaux (8 maximum) 67 Chapitre Carte du compteur à grande vitesse 2-1 2-1-4 Emplacements des cartes internes concernées La carte du compteur à grande vitesse est montée dans l’emplacement 1 (emplacement gauche) ou l’emplacement 2 (emplacement droit) de l’unité centrale du CQM1H–CPU51/61. Les deux emplacements sont utilisés en même temps. Emplacement 1 Emplacement 2 Carte du compteur à grande vitesse 2-1-5 Noms et fonctions Une carte de compteur à grande vitesse fournit deux connecteurs qui acceptent les entrées d’impulsions à grande vitesse. CN1 est utilisé pour les entrées 1 et 2 et CN2 est utilisé pour les entrées 3 et 4. Carte du compteur à grande vitesse du CQM1H-CTB41 CN1 Entrée d’impulsions 1 Entrée d’impulsions 2 Connecteur compatible Fiche : XM2D-1501 (OMRON) Capot : XM2S-1511 (OMRON) CN2 Entrée d’impulsions 3 Deux ensembles de fiche+capot sont fournis en tant qu’accessoires standard. Entrée d’impulsions 4 Voyants LED RDY : Opérationnel (Vert) Allumé lorsque des entrées d’impulsions sont reçues. Entrées d’impulsions (Orange) A1, A2, A3, A4 : Allumé lorsque l’entrée de phase A est à ON dans les ports 1, 2, 3 ou 4. B1, B2, B3, B4 : Allumé lorsque l’entrée de phase B est à ON dans les ports 1, 2, 3 ou 4. Z1, Z2, Z3, Z4 : Allumé lorsque l’entrée de phase Z est à ON dans les ports 1, 2, 3 ou 4. Sorties externes (Orange) OUT1, OUT2, OUT3, OUT4 : Allumé lorsque la sortie correspondante (1, 2, 3 ou 4) est à ON. ERR : Erreur (Rouge) Allumé lorsqu’une erreur est détectée dans les réglages du Setup de l’API pour la fonction d’impulsion d’entrée ou lorsqu’un dépassement positif ou négatif se produit dans la valeur en cours du compteur à grande vitesse. 68 Chapitre Carte du compteur à grande vitesse 2-1 2-1-6 Caractéristiques techniques Instructions Instruction Signification CTBL(63) Utilisée pour enregister des tableaux de comparaison de cible ou de plage ou utilisé pour commencer les comparaisons des tableaux de comparaison précédemment enregistrés. Un tableau est enregistré et la comparaison commence avec les instructions séparées ou la même instruction. INI(61) Utilisée pour commencer ou arrêter la comparaison en utilisant le tableau de comparaison enregistré ou utilisé pour modifier la PV d’un compteur à grande vitesse. PRV(62) Utilisée pour lire la PV ou l’état d’un compteur à grande vitesse. Bits de contrôle relatif, drapeaux et information d’état Mots Empl. 1 Bits Dénominations Fonction Empl. 2 Compteur 1 IR 200 IR 232 00 à 15 IR 201 IR 233 00 à 15 IR 202 IR 234 00 à 15 IR 203 IR 235 00 à 15 IR 204 IR 236 00 à 15 IR 205 IR 237 00 à 15 IR 206 IR 238 00 à 15 IR 207 IR 239 00 à 15 IR 208 : IR 240 : 00 à 07 Compteur 1 Compteur 1 Résultats de comparaison : Bits 00 à 07 de sortie interne IR 209 : IR 241 : Compteur 2 Compteur 2 08 à 11 IR 210 : IR 242 : Résultats de comparaison : Bits pour les sorties externes 1 à 4 Compteur 3 Compteur 3 IR 211 : IR 243 : 12 Compteur 4 Compteur 4 Drapeau de fonctionnement du compteur 13 Drapeau de comparaison 14 Drapeau de dépassement positif/négatif de la PV 15 Drapeau d’erreur SV Compteur 2 Compteur 3 Compteur 4 PV (quatre digits à l’extrême droite) PV (quatre digits à l’extrême gauche) PV (quatre digits à l’extrême droite) PV (quatre digits à l’extrême gauche) PV (quatre digits à l’extrême droite) PV (quatre digits à l’extrême gauche) PV (quatre digits à l’extrême droite) PV (quatre digits à l’extrême gauche) La PV du compteur à grande vitesse sur chaque port de la carte du compteur à grande vitesse est sauvegardée après chaque cycle. Rem. La forme dans laquelle les données sont sauvegardées (BCD ou hexadécimales) est indiquée dans le Setup de l’API (DM 6602 et DM 6611). Contient l’ensemble des bits indiqué par l’opérande dans CTBL(63) lorsqu’une condition est satisfaite. Contient l’ensemble des bits indiqué par l’opérande dans CTBL(63) lorsqu’une condition est satisfaite. 0 : Arrêté 1 : En fonction Indique si une comparaison est en marche. 0 : Arrêté 1 : En fonction Indique si un dépassement négatif ou positif s’est produit. 0 : Normal 1 : Un dépassement positif ou négatif s’est produit 0 : Normal 1 : Erreur de réglage 69 Chapitre Carte du compteur à grande vitesse Mots Empl. 1 IR 212 Empl. 2 AR 05 Bits 00 01 02 03 08 09 10 11 12 13 14 15 IR 213 AR 06 00 01 02 03 04 Dénominations Bit de réinitialisation du compteur à grande vitesse 1 Bit de réinitialisation du compteur à grande vitesse 2 Bit de réinitialisation du compteur à grande vitesse 3 Bit de réinitialisation du compteur à grande vitesse 4 Bit de début de comparaison du compteur à grande vitesse 1 Bit de début de comparaison du compteur à grande vitesse 2 Bit de début de comparaison du compteur à grande vitesse 3 Bit de début de comparaison du compteur à grande vitesse 4 Bit d’arrêt du compteur à grande vitesse 1 Bit d’arrêt du compteur à grande vitesse 2 Bit d’arrêt du compteur à grande vitesse 3 Bit d’arrêt du compteur à grande vitesse 4 Bit de paramétrage forcé de la sortie externe 1 Bit de paramétrage forcé de la sortie externe 2 Bit de paramétrage forcé de la sortie externe 3 Bit de paramétrage forcé de la sortie externe 4 Bit d’activation du paramétrage forcé de la sortie externe SR 254 15 Drapeau d’erreur de la carte interne AR 04 00 à 07 Code d’erreur pour la carte interne dans l’emplacement 1 Code d’erreur pour la carte interne dans l’emplacement 2 08 à 15 70 2-1 Fonction Phase Z et réinitialisation duprogramme 0 : Compteur non réinitialisé en phase Z 1 : Compteur réinitialisé en phase Z Réinitialisation du programme seulement 0: Compteur non réinitialisé 0→1 : Compteur réinitialisé 0 → 1 : La comparaison commence 1 → 0 : La comparaison s’arrête 0 : Le fonctionnement continue 1 : Le fonctionnement s’arrête 0 : Pas d’effet sur l’état de la sortie 1 : Force la sortie à ON 0 : Réglage forcé des sorties 1 à 4 interdit 1 : Réglage forcé des sorties 1 à 4 autorisé 0 : Pas d’erreur 1 : Erreur Passe à ON lorsqu’une erreur se produit dans une carte interne montée dans l’emplacement 1 ou 2. Le code d’erreur pour l’emplacement 1 est sauvegardé de l’AR 0400 à l’AR 0407 et le code d’erreur pour l’emplacement 2 est sauvegardé de l’AR 0408 à l’AR 0415. 00 Hex : Normal 01 ou 02 Hex : Erreur matériel 03 Hex : Erreur Setup de l’API Chapitre Carte du compteur à grande vitesse 2-1 Paramétrages relatifs au Setup de l’API Mots Empl. 1 DM 6602 Bits Empl. 2 DM 6611 00 à 03 04 à 07 08 à 11 DM 6640 DM 6643 12 à 15 00 à 03 04 à 07 08 à 11 12 à 15 DM 6641 Fonction DM 6644 00 à 03 04 à 07 08 à 11 12 à 15 Format des données dans lequelles les PV des compteurs à grande vitesse 1 à 4 sont sauvegardées 0 : Hexadécimale à huit digits (BIN) 1 : BCD à huit digits Inutilisé. Paramétrage émetteur/récepteur pour les sorties externes 1 à 4 0 : Emetteur (PNP) 1 : Récepteur (NPN) Inutilisé. Mode d’entrée pour le compteur à grande vitesse 1 0 Hex : Entrée bidirectionnelle 1x 1 Hex : Entrée bidirectionnelle 2x 2 Hex : Entrée bidirectionnelle 4x 3 Hex : Entrée d’impulsions incrémentale/décrémentale 4 Hex : Entrée impulsion/direction Fréquence de comptage, mode de plage numérique et méthode de réinitialisation du compteur à grande vitesse 1. Se reporter au tableau suivant. Mode d’entrée pour le compteur à grande vitesse 2 (Se reporter à l’explication donnée ci–dessus pour le compteur à grande vitesse 1). Fréquence de comptage, mode de plage numérique et méthode de réinitialisation du compteur à grande vitesse 2 (Se reporter à l’explication donnée ci-dessus pour le compteur à grande vitesse 1). Quand le paramétrage est lu ? Lorsque l’alimentation est mise sur ON. Lorsque le fonctionnement commence. Mode d’entrée pour le compteur à grande vitesse 3 (Se reporter à l’explication donnée ci-dessus pour le compteur à grande vitesse 1). Fréquence de comptage, mode de plage numérique et méthode de réinitialisation du compteur à grande vitesse 3 (Se reporter à l’explication donnée ci-dessus pour le compteur à grande vitesse 1). Mode d’entrée pour le compteur à grande vitesse 4 (Se reporter à l’explication donnée ci-dessus pour le compteur à grande vitesse 1). Fréquence de comptage, mode de plage numérique et méthode de réinitialisation du compteur à grande vitesse 4 (Se reporter à l’explication donnée ci-dessus pour le compteur à grande vitesse 1). 71 Chapitre Carte du compteur à grande vitesse 2-1 Fréquence de comptage, mode de plage numérique et méthode de réinitialisation du compteur des compteurs à grande vitesse Valeur 0 Hex Fréquence de comptage 50 KHz Mode de plage numérique Mode linéaire 1 Hex Mode circulaire 2 Hex 3 Hex 4 Hex 500 KHz Mode linéaire 5 Hex Mode circulaire 6 Hex 7 Hex Méthode de réinitialisation du compteur Phase Z + réinitialisation du programme Réinitialisation du programme seulement Phase Z + réinitialisation du programme Réinitialisation du programme seulement Phase Z + réinitialisation du programme Réinitialisation du programme seulement Phase Z + réinitialisation du programme Réinitialisation du programme seulement 2-1-7 Compteurs à grande vitesse 1 à 4 La carte du compteur à grande vitesse compte les signaux d’entrée entrant par les ports 1 à 4 à partir des codeurs rotatifs et produit des ensembles de bits de sortie interne/externe selon le nombre d’impulsions comptées. Les quatre ports sont utilisés indépendamment. Une vue générale du traitement effectué par les compteurs à grande vitesse 1 à 4 est fournie ci–dessous. Vue d’ensemble du processus Signaux d’entrée et modes d’entrée Les compteurs à grande vitesse 1 à 4 sont réglés sur différents modes d’entrée en réponse au type d’entrée de signal. Mode bidirectionnel (Vitesse de comptage : 25 kHz ou 250 kHz) Deux signaux de phases (phase A et phase B) avec des différences de phases multiples de 1, 2 ou 4 sont utilisés ensemble avec un signal de phase Z pour les entrées. Le compte est incrémenté ou décrémenté selon les différences dans les deux signaux de phases. Mode incrémental/décrémental (Vitesse de comptage : 50 kHz ou 500 kHz) La phase A est l’impulsion d’incrémentation et la phase B est l’impulsion de décrémentaton. Le compteur incrémente ou décrémente selon l’impulsion détectée. Mode impulsion/direction (Vitesse de comptage : 50 kHz ou 500 kHz) La phase A est le signal d’impulsions et la phase B est le signal de direction. Le compteur incrémente ou décrémente lorsque le signal de phase B est à ON et décrémente lorsqu’il est à OFF. Mode bidirectionnel Phase A Phase B 1x 2x 4x 72 Chapitre Carte du compteur à grande vitesse Phase A Phase B 1x L Incrémentation Incrémentation Incrémentation H ↑ --- --- Incrémentation ↓ H --- Incrémentation Incrémentation L ↓ --- --- Incrémentation L ↑ --- --- Décrémentation ↑ H --- Décrémentation Décrémentation H ↓ --- --- Décrémentation ↓ L Décrémentation Décrémentation Décrémentation Mode impulsion/direction Entrée du codeur A (entrée HAUT) Entrée du codeur A (entrée d’impulsions) Entrée du codeur B (entrée BAS) Entrée du codeur B (entrée de direction) Plages numériques 4x ↑ Mode incrémental/décrémental Incrémentation 2x 2-1 Décrémentation Incrémentation Décrémentation Les valeurs comptées par les compteurs à grande vitesse 1 à 4 sont comptées en utilisant les deux paramétrages de plage suivants : Mode circulaire En mode circulaire, la valeur maximale d’une plage numérique est réglée en utilisant CTBL(63), et lorsque la plage est incrémentée au-delà de cette valeur maximale, elle revient à zéro. La plage ne devient jamais négative. De même, si la plage est décrémentée au dessous de 0, elle revient à la valeur maximale. Le nombre de points sur le circulaire est déterminé en réglant la valeur maximale (c.–à–d., la valeur circulaire) à une valeur entre 1 et 8388607 BCD ou entre 1 et 7FFFFFFF Hex. Lorsque la valeur maximale est réglée à 8388607, la plage est de 0 à 8388607 BCD. Mode linéaire En mode linéaire, la plage de comptage est toujours de -8388608 à 8388607 BCD ou F8000000 à 07FFFFFF Hex. Lorsque la plage décrémente en-dessous de -8388608 BCD ou F8000000 Hex, un dépassement négatif se produit et si elle incrémente au–dessus de 8388607 BCD ou 07FFFFFF Hex, un dépassement positif se produit. Mode circulaire Mode linéaire Valeur de comptage max. (valeur circulaire) Décrémentation F8000000 Hex -8388608 BCD 07FFFFFF Hex Incrémentation Dépassement négatif Dépassement positif Lorsqu’un dépassement positif se produit, la PV du compte reste à 08388607 BCD ou 07FFFFFF Hex, et lorsqu’un dépassement négatif se produit, elle reste à F8388608 BCD ou F8000000 Hex. Dans l’un ou l’autre cas, le comptage et la comparaison s’arrêtent, mais le tableau de comparaison est maintenu dans la mémoire. Le drapeau de dépassement positif/négatif de la PV montré ci-dessous passe à ON pour indiquer le dépassement négatif ou positif. 73 Chapitre Carte du compteur à grande vitesse 2-1 Drapeau de dépassement positif/négatif de la PV Compteur Compteur à grande vitesse 1 Emplacement 1 IR 20814 Emplacement 2 IR 24014 Compteur à grande vitesse 2 IR 20914 IR 24114 Compteur à grande vitesse 3 IR 21014 IR 24214 Compteur à grande vitesse 4 IR 21114 IR 24314 Lors du redémarrage de l’opération de comptage, utiliser les méthodes de réinitialisation données ci–dessous pour réinitialiser les compteurs à grande vitesse 1 et 2 (les compteurs sont réinitialisés automatiquement lorsque l’exécution du programme commence et finit). Méthodes de réinitialisation Les deux méthodes suivantes sont réglées pour déterminer la temporisation à laquelle la PV du compteur est réinitialisée (c.-à-d. réglée à 0) : • Signal de phase Z + réinitialisation du programme • Réinitialisation du programme Signal de phase Z (entrée de réinitialisation) + réinitialisation du programme La PV du compteur à grande vitesse est réinitialisée lors de la première montée du signal de phase Z après le passage à ON du bit de réinitialisation du compteur à grande vitesse correspondant (voir ci–dessous). Au moins 1 cycle Phase Z (entrée de réinitialisation) Bit de réinitialisation du compteur à grande vitesse Au moins un cycle En moins d’un cycle Réinitialisation Réinitialisation par interruption. par cycle. Non réinitialisé. Réinitialisation du programme La PV est réinitialisée lorsque le bit de réinitialisation du compteur à grande vitesse passe à ON. Il y a des bits de réinitialisation séparés pour chaque compteur à grande vitesse 1 à 4. Au moins un cycle Bit de réinitialisation du compteur à grande vitesse En moins d’un cycle Réinitialisation par cycle. Les bits de réinitialisation des compteurs à grande vitesse 1 à 4 sont donnés dans le tableau suivant : Bit de réinitialisation Compteur Compteur à grande vitesse 1 Emplacement 1 IR 21200 Emplacement 2 AR 0500 Compteur à grande vitesse 2 IR 21201 AR 0501 Compteur à grande vitesse 3 IR 21202 AR 0502 Compteur à grande vitesse 4 IR 21203 AR 0503 Les bits de réinitialisation pour les compteurs à grande vitesse 1 à 4 sont actualisés seulement une fois par cycle. Un bit de réinitialisation doit être à ON pendant au minimum 1 cycle pour être lu de façon fiable. 74 Chapitre Carte du compteur à grande vitesse 2-1 Rem. La condition d’exécution d’enregistrement et de comparaison du tableau de comparaison ne change pas lorsque la PV est réinitialisée. Lorsqu’une comparaison s’exécute avant la réinitialisation, elle continue. Méthodes de vérification pour les interruptions du compteur à grande vitesse Les deux méthodes suivantes sont disponibles pour vérifier la PV des compteurs à grande vitesse 1 à 4 (ce sont les mêmes méthodes que celles utilisées pour le compteur à grande vitesse intégré 0). • Méthode de la valeur spécifiée • Méthode de la plage de comparaison Se reporter à la page 37 pour une description de chaque méthode. Pour la méthode de la valeur spécifiée, un maximum de 48 valeurs spécifiées peut être enregistré dans le tableau de comparaison. Lorsque la PV du compteur atteint une des 48 valeurs spécifiées enregistrées, l’ensemble de bits correspondant (1 à 48) est produit aux bits spécifiques dans la mémoire Si correspondance Comparaison Valeur cible (1) PV du compteur à grande vitesse Ensemble de bits (1) Valeur cible (2) Ensemble de bits (2) Valeur cible (48) Ensemble de bits (48) 208 à 211/240 à 243 Mt Bits de sortie Bits de sortie externe interne (8 bits) Un OR est pris des bits correspondants de l’IR 208 à l’IR 211, ou l’IR 240 à l’IR 243. Sorties externes (quatre sorties) Lors de l’utilisation de valeurs spécifiées, la comparaison est faite à chaque valeur spécifiée dans l’ordre du tableau de comparaison jusqu’à ce que toutes les valeurs aient été rencontrées, et alors la comparaison revient à la première valeur dans le tableau. Avec la carte du compteur à grande vitesse, elle ne différencie pas si la valeur spécifiée est atteinte comme un résultat d’incrémentation ou de décrémentation de la PV. Rem. Avec le compteur à grande vitesse 0 dans l’unité centrale ou le compteur à grande vitesse 1 ou 2 sur la carte de gestion d’axes ou la carte codeur absolu, le bit à l’extrême gauche du mot contenant le nombre de sous–programme dans le tableau de comparaison détermine si les valeurs spécifiées sont valides pour incrémenter ou pour décrémenter la PV. 75 Chapitre Carte du compteur à grande vitesse 2-1 Des exemples d’opération du tableau de comparaison et de sortie de l’ensemble de bits sont montrés dans les schémas suivants. PV du compteur Sortie de l’ensemble de bit à la mémoire Tableau de comparaison Valeur cible 1 Valeur cible 5 Valeur cible 2 Valeur cible 4 Valeur cible 3 Valeur cible 3 Valeur cible 4 Valeur cible 5 Valeur cible 2 Valeur cible 1 Temps Valeur cible pour comparaison 1 2 3 4 5 1 2 PV du compteur Sortie de l’ensemble de bits à la mémoire Valeur cible 5 Valeur cible 4 Valeur cible 3 Valeur cible 2 Valeur cible 1 Temps Valeur cible pour comparaison 1 2 3 4 5 1 Les valeurs de comparaison 1 à 48 et l’ensemble de bits 1 à 48 sont enregistrés dans le tableau de valeur spécifiée. Du bit 00 à 11 de chacun de ces ensembles de bits, les bits 0 à 7 sont sauvegardés en tant que bits de sortie interne et les bits 08 à 11 sont sauvegardés en tant que bits de sortie externe. Comme indiqué dans le schéma ci-dessous, les bits dans l’ensemble de bits externe sont utilisés dans l’opération OR sur le bit correspondant des compteurs à grande vitesse 1 à 4, dont les résultats sont alors produits en tant que sorties externes 1 à 4. Exemple : Emplacement 1 Emplacement 2 Bit Résultat de comparaison du compteur à grande vitesse 1 (IR 208 ou IR 240) Résultat de comparaison du compteur à grande vitesse 2 (IR 209 ou IR 241) Résultat de comparaison du compteur à grande vitesse 3 (IR 210 ou IR 242) Un OR est pris pour les bits dans la même position et le résultat est produit. Résultat de comparaison du compteur à grande vitesse 4 (IR 211 ou IR 243) Sortie externe 1 à ON Sortie externe 2 à ON Sortie externe 3 à ON Sortie externe 4 à OFF Pour la méthode de comparaison de plage, 16 plages de comparaison sont enregistrées dans le tableau de comparaison. Lorsque la PV du compteur se trouve d’abord entre les limites supérieures et inférieures d’une des plages 1 à 16, l’ensemble de bits correspondant (1 à 16) est produit une fois au bits spécifiques dans la mémoire. 76 Chapitre Carte du compteur à grande vitesse 2-1 Sortie de l’ensemble de bits lorsque la PV est à l’intérieur d’une plage. Comparaison PV du compteur à grande vitesse Limite inférieure 1 à la limite supérieure 1 Ensemble de bits 1 Limite inférieure 2 à la limite supérieure 2 Ensemble de bits 2 Limite inférieure 16 à la limite supérieure 16 Ensemble de bits 16 IR 208 à IR 211 ou IR 240 à IR 243 Bits de sortie externe Bits de sortie interne (8 bits) Un OR est pris pour les bits correspondants de l’IR 208 à l’IR 211, ou l’IR 240 à l’IR 243. Sorties externes (quatre sorties) Sortie de l’ensemble de bits à la mémoire PV du compteur Plage de comparaison 4 Tableau de comparaison Plage de comparaison 1 Plage de comparaison 3 Plage de comparaison 2 Plage de comparaison 3 Plage de comparaison 2 Plage de comparaison 4 Plage de comparaison 1 Temps (s) La PV est continuellement comparée à toutes les plages de comparaison. Les limites inférieures et supérieures pour les plages 1 à 16 et les ensembles de bits 1 à 16 sont enregistrés dans le tableau de comparaison de plage. Du bit 0 à 11 de chacun de ces ensembles, les bits 0 à 7 sont sauvegardés en tant que bit de sortie interne et les bits 8 à 11 sont sauvegardés en tant que bits de sortie externe. Comme indiqué dans le shéma ci-dessous, le bit dans l’ensemble des bits externe est utilisé de l’opération OR sur les bits correspondants des compteurs à grande vitesse 1 à 4, dont les résultats sont alors produits en tant que sorties externes 1 à 4. Exemple : Emplacement 1 Emplacement 2 Bit Résultat de comparaison du compteur à grande vitesse 1 (IR 208 ou IR 240) Résultat de comparaison du compteur à grande vitesse 2 (IR 209 ou IR 241) Résultat de comparaison du compteur à grande vitesse 3 (IR 210 ou IR 242) Un OR est pris pour les bits dans la même position et le résultat est produit. Résultat de comparaison du compteur à grande vitesse 4 (IR 211 ou IR 243) Sortie externe 1 à ON Sortie externe 2 à ON Sortie externe 3 à ON Sortie externe 4 à OFF 77 Chapitre Carte du compteur à grande vitesse 2-1 Les sorties externes 1 à 4 sont commandées par l’opération OR exécutée sur les bits correspondants (c.–à–d. bits avec le même numéro de bit) dans le résultat de comparaison des bits 08 à 11 pour les compteurs à grande vitesse 1 à 4. L’utilisateur doit déterminer quelles sorties doivent passer à ON pour chaque résultat de comparaison possible et régler les ensembles de bits de sorte que les opérations OR produisent le résultat désiré. Rem. Les drapeaux de comparaison de plage sont supportés par le compteur à grande vitesse intégré (compteur à grande vitesse 0) et la carte de gestion d’axes pour les plages 1 à 8. Cependant, ces drapeaux ne sont pas soutenus par la carte du compteur à grande vitesse. Les ensembles de bits internes sont utilisés pour produire le même type de résultat de sortie. Lecture de l’état du compteur à grande vitesse Les deux méthodes suivantes sont utilisées pour lire l’état des compteurs à grande vitesse 1 à 4 : • En utilisant les mots de la mémoire de l’unité centrale • En utilisant PRV(62) En utilisant les mots de la mémoire de l’unité centrale Les mots et les bits de la zone mémoire dans l’unité centrale qui indiquent l’état des compteurs à grande vitesse 1 à 4 sont donnés ci–dessous. Codes d’erreur de la carte interne Mot Bits Empl. 1 Empl. 2 AR 04 00 à 07 08 à 15 Fonction Empl. 1 Empl. 2 Les codes d’erreur à deux digits suivants sont sauvegardés : 00 Hex : Normal 01 ou 02 Hex : Erreur matériel 03 Hex : Erreur Setup de l’API Mots de l’état du fonctionnement Compteur à grande vitesse Mot Compteur à grande vitesse 1 Emplacement 1 IR 208 Emplacement 2 IR 240 Compteur à grande vitesse 2 IR 209 IR 241 Compteur à grande vitesse 3 IR 210 IR 242 Compteur à grande vitesse 4 IR 211 IR 243 Les fonctions des bits dans chaque mot d’état du fonctionnement sont comme suit : Bits Fonction 00 à 07 Résultats de comparaison : Bits de sortie interne 08 à 11 Résultats de comparaison : Bits de sortie externe pour les sorties 1 à 4 Le résultat de l’opération OR sur les bits dans les mêmes positions de bit pour tous les compteurs à grande vitesse 1 à 4 sera produit (Voir Rem.). 12 Drapeau de fonctionnement du compteur (0 : Arrêté ; 1 : En marche) 13 Drapeau de comparaison (0 : Arrêté ; 1 : En marche) 14 Drapeau de dépassement négatif/positif de la PV (0 : Non ; 1 : Oui) Drapeau d’erreur SV (0 : Normal ; 1 : Erreur) 15 Rem. Le tableau suivant montre le rapport entre les sorties externes 1 à 4 et les bits de sortie externe des résultats de comparaison. 78 Chapitre Carte du compteur à grande vitesse Compteur à grande vitesse Compteur 1 Sortie externe Sortie externe 1 Compteur 2 Sortie externe 2 Compteur 3 Sortie externe 3 Compteur 4 Sortie externe 4 2-1 Emplacement 1 Emplacement 2 OR des bits 08 de l’IR 208 à l’IR 211 OR des bits 09 de l’IR 208 à l’IR 211 OR des bits 10 de l’IR 208 à l’IR 211 OR des bits 11 de l’IR 208 à l’IR 211 OR des bits 08 de l’IR 240 à l’IR 241 OR des bits 09 de l’IR 240 à l’IR 241 OR des bits 10 de l’IR 240 à l’IR 241 OR des bits 11 de l’IR 240 à l’IR 241 En utilisant PRV(62) L’état des compteurs à grande vitesse 1 à 4 peut être lu en utilisant PRV(62) de la façon indiquée ci–dessous. (@)PRV(62) P P : Spécifique au port C C : 001 D D : Mot de première destination Valeur spécifiée en P Compteur à grande vitesse Emplacement 1 Emplacement 2 Compteur à grande vitesse 1 101 001 Compteur à grande vitesse 2 102 002 Compteur à grande vitesse 3 103 003 Compteur à grande vitesse 4 104 004 La signification du bit individuel de D, dans lequel l’état des compteurs à grande vitesse 1 à 4 est sauvegardé, se trouve dans le tableau suivant : Bits Fonction 00 à 07 Résultats de comparaison : Bits de sortie externe 08 à 11 Résultats de comparaison : Bits de sortie externe pour les sorties 1 à 4 Le résultat de l’opération OR sur les bits dans les mêmes positions de bit pour tous les compteurs à grande vitesse 1 à 4 est produit (Voir Rem.). 12 Drapeau de fonctionnement du compteur (0 : Arrêté ; 1 : En marche) 13 Drapeau de comparaison (0 : Arrêté ; 1 : En marche) 14 Drapeau de dépassement positif/négatif de la PV (0 : Non ; 1 : Oui) Drapeau d’erreur SV (0 : Normal ; 1 : Erreur) 15 79 Chapitre Carte du compteur à grande vitesse 2-1 Procédure d’utilisation des compteurs à grande vitesse Déterminer le taux de comptage, le mode d’entrée, la méthode de réinitialisation, le mode de plage numérique, la forme dans laquelle la PV des données du compteur à grande vitesse est sauvegardée et la méthode de sortie externe. Taux de comptage : 50 kHz/500 kHz Modes d’entrée : Mode bidirectionnel ; Mode impulsion/direction ; Mode incrémental/décrémental Méthodes de réinitialisation : Phase Z + réinitialisation du programme ; réinitialisation du programme Modes de plage numérique : Mode circulaire ou mode linéaire Forme dans laquelle la PV des données du compteur à grande vitesse est sauvegardée : BCD à 8 digits ou hexadécimale à 8 digits Définir les tensions d’entrée (commutateurs de la carte). Méthode de la sortie externe : Commutation émetteur ou récepteur ou sortie transistor Monter la carte et câbler les entrées. Taux de comptage : 50 kHz/500 kHz Setup de l’API (Emplacement 1 : DM 6602, DM 6640, DM 6641 Emplacement 2 : DM 6611, DM 6643, DM 6644) Modes d’entrée : Mode bidirectionnel ; Mode impulsion/direction ; Mode incrémental/décrémental Méthodes de réinitialisation : Phase Z + réinitialisation du programme ; réinitialisation du programme Modes de plage numérique : Mode circulaire ou mode linéaire Forme dans laquelle la PV des données du compteur à grande vitesse est sauvegardée : BCD à 8 digits ou hexadécimale à 8 digits Méthode de la sortie externe : Commutation émetteur ou récepteur ou sortie transistor Déterminer la méthode de vérification de comptage (comparaison) et les ensembles de bits internes et externes. Programme à contact Méthodes de vérification du comptage : valeur spécifiée ou comparaison de plages Ensembles de bits de sortie lorsque les conditions sont rencontrées : bits de sortie interne et externe (REGISTER COMPARISON TABLE)-TABLEAU DE COMPARAISON DES ENREGISTREMENTS (CTBL(63)) : Caractéristique du port ; enregistrement du tableau de comparaison ; début de la comparaison (MODE CONTROL)-COMMANDE DE MODE (INI(61)) : Caractéristique du port ; modification de la PV ; début de la comparaison (HIGH-SPEED COUNTER PV READ)-LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE (PRV(62)) : Lecture de la PV du compteur à grande vitesse et état de la comparaison. 80 Chapitre Carte du compteur à grande vitesse 2-1 Fonction du compteur à grande vitesse Entrée du codeur port 1 (CN1) Tension d’entrée Entrée du codeur port 2 (CN1) Tension d’entrée Entrée du codeur port 1 (CN2) Tension d’entrée Entrée du codeur port 2 (CN2) Tension d’entrée Taux de comptage Setup de l’API Bits 04 à 07 ou bits 12 à 15 des DM 6640/ DM 6641/ DM 6643/DM 6644 Mode d’entrée Méthode de réinitialisation Plage numérique Phase différentielle Impulsion incrémental/ décrémental Impulsion/Direction Phase Z + logiciel Logiciel seulement Mode circulaire Mode linéaire Setup de l’API Bits 00 à 03 et 08 à 11 des DM 6640/DM 6641/ DM 6643/DM 6644 Setup de l’API Setup de l’API Bits 04 à 07 ou bits 12 à 15 des DM 6640/ DM 6641/ DM 6643/DM 6644 Bits 04 à 07 ou bits 12 à 15 des DM 6640/ DM 6641/ DM 6643/DM 6644 Setup de l’API Compte PV du compteur Données sauvegardées en tant qu’hexadécimale à 8 digits ou BCD à 8 digits. Chaque exécution LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE Bits 00 à 03 du DM 6611 Chaque cycle Emplacement 1 Port 1 : IR 201 et IR 200 Port 2 : IR 203 et IR 202 Port 3 : IR 205 et IR 204 Port 4 : IR 207 et IR 206 Emplacement 2 Port 1 : IR 233 et IR 232 Port 2 : IR 235 et IR 234 Port 3 : IR 237 et IR 236 Port 4 : IR 239 et IR 238 PV Etat de la comparaison Vérif. du compte (comparaison) Ensemble de bits sauvegardés Programme à contact TABLEAU DE COMPARAISON DES ENREGISTREMENTS Enregistrement du tableau Début de la comparaison Bits 00 à 11 de l’IR 208 à l’IR 211 ou de l’IR 240 à l’IR 243 Externe Interne COMMANDE DE MODE Modification de la PV Début/fin de la comparaison Drapeaux indiqués de début/fin du compteur (l’IR 21212 à l’IR 21215 ou AR 0512 à AR 0515) et de début/fin de la comparaison du compteur (l’IR 21308 à l’IR 21311 ou AR 0508 à AR 0511). Sorties de transistor Setup de l’API Emetteur/Récepteur Bits 08 à 11 des DM 6602/DM 6611 81 Chapitre Carte du compteur à grande vitesse 2-1 Paramétrages préliminaires du Setup de l’API Pour utiliser les compteurs à grande vitesse 1 à 4, effectuer les réglages suivants en mode PROGRAM : Format des données et réglage émetteur/récepteur des sorties externes Emplacement 1 : DM 6602 Emplacement 2 : DM 6611 Bit 15 DM 6602 0 DM 6611 Sélecteur des transistors des sorties externes 1 à 4 0 Hex : Emetteur (PNP) 1 Hex : Récepteur (NPN) 0 0 Format de données de la PV des compteurs à grande vitesse 1 à 4 0 Hex : hexadécimale à 8 digits (BIN) 1 Hex : BCD à 8 digits Défaut : 0000 (hexadécimale à 8 digits et émetteur (PNP)) Mode d’entrée, fréquence de comptage, mode de plage numérique et méthode de réinitialisation du compteur Compteur à grande vitesse 1 Emplacement 1 : Bits 00 à 07 du DM 6640 Emplacement 2 : Bits 00 à 07 du DM 6643 Compteur à grande vitesse 2 Emplacement 1 : Bits 08 à 15 du DM 6640 Emplacement 2 : Bits 08 à 15 du DM 6643 Compteur à grande vitesse 3 Emplacement 1 : Bits 00 à 07 du DM 6641 Emplacement 2 : Bits 00 à 07 du DM 6644 Compteur à grande vitesse 4 Emplacement 1 : Bits 08 à 15 du DM 6641 Emplacement 2 : Bits 08 à 15 du DM 6644 Bit 15 0 DM 6640, DM 6641, DM 6643, DM 6644 Fréquence de comptage, mode de plage numérique et méthode de réinitialisation du compteur (voir le tableau suivant). Mode d’entrée du compteur à grande vitesse 0 Hex : entrée bidirectionnelle 1x 1 Hex : entrée bidirectionnelle 2x 2 Hex : entrée bidirectionnelle 4x 3 Hex : entrée d’impulsions incrémental/décrémental 4 Hex : entrée impulsion/direction Par défaut : 0000 (entrée bidirectionnelle 1x, 50 kHz, mode linéaire, phase Z + réinitialisation du programme) 82 Chapitre Carte du compteur à grande vitesse Fréquence de comptage, mode de plage numérique et méthode de réinitialisation Valeur 0 Hex Fréquence de comptage 50 KHz Mode de plage numérique Méthode de réinitialisation du compteur Mode linéaire Phase Z + réinitialisation du programme 1 Hex Réinitialisation du programme seulement Mode circulaire 2 Hex Phase Z + réinitialisation du programme 3 Hex 4 Hex 2-1 Réinitialisation du programme seulement 500 KHz Mode linéaire Phase Z + réinitialisation du programme 5 Hex Réinitialisation du programme seulement Mode circulaire 6 Hex Phase Z + réinitialisation du programme 7 Hex Réinitialisation du programme seulement Utilisation Les compteurs à grande vitesse sont programmés comme suit : • L’opération de comptage commence dès que les réglages valides sont faits. • La PV est réinitialisée à 0 lorsque l’alilmentation est mise sur ON et lorsque l’exécution du programme est commencée ou arrêtée. • L’opération de comptage seule ne commence pas l’opération de comparaison avec le tableau de comparaison. • La PV est surveillée en utilisant les mots indiqués dans le tableau suivant : Compteur à grande vitesse Mot Compteur à grande vitesse 1 Emplacement 1 IR 200, IR 201 Emplacement 2 IR 232, IR 233 Compteur à grande vitesse 2 IR 202, IR 203 IR 234, IR 235 Compteur à grande vitesse 3 IR 204, IR 205 IR 236, IR 237 Compteur à grande vitesse 4 IR 206, IR 207 IR 238, IR 239 Démarrage de l’opération de comparaison Le tableau de comparaison est enregistré dans le CQM1H et la comparaison commencée avec CTBL(63). La comparaison est également commencée en utilisant les bits appropriés de commande (l’IR 21208 à l’IR 21211 pour l’emplacement 1, AR 0508 à AR 0511 pour l’emplacement 2). Démarrage de la comparaison avec CTBL(63) P : Port (@)CTBL(63) P C TB C : Mode 000 : Enregistrement du tableau de valeur spécifiée et début de comparaison 001 : Enregistrement du tableau de comparaison de plages et début de comparaison 002 : Enregistrement du tableau de valeur spécifiée seulement 003 : Enregistrement du tableau de comparaison de plages seulement TB : Premier mot du tableau de comparaison Valeur spécifiée en P Compteur à grande vitesse Emplacement 1 Emplacement 2 Compteur à grande vitesse 1 101 001 Compteur à grande vitesse 2 102 002 Compteur à grande vitesse 3 103 003 Compteur à grande vitesse 4 104 004 En réglant à 000 la valeur de C, cela enregistre un tableau de comparaison de valeur spécifiée, et en réglant à 001, cela enregistre un tableau de comparaison 83 Chapitre Carte du compteur à grande vitesse 2-1 de plages. La comparaison commence sur l’accomplissement de cet enregistrement. Tandis que la comparaison est exécutée, un ensemble de bits est sauvegardé comme bits de sortie interne et bits de sortie externe, comme déterminé par le tableau de comparaison. Se reporter à la description de CTBL(63) pour plus d’informations sur l’enregistrement du tableau de comparaison. Rem. Bien que le paramétrage de la valeur de C à 002 enregistre un tableau de comparaison de valeurs spécifiées et que le paramétrage de C à 003 enregistre un tableau de comparaison de plages, la comparaison ne commence pas automatiquement pour ces valeurs. Un bit de commande ou un INI(61) est utilisé pour commencer l’opération de comparaison. Démarrage de la comparaison avec des bits de commande L’opération de comparaison commence lorsque le bit correspondant au compteur à grande vitesse dans les IR 21208 à IR 21211 pour l’emplacement 1 ou dans les AR0508 à AR 0511 pour l’emplacement 2 passe à ON. Il est nécessaire d’avoir enregistré un tableau de comparaison au préalable. Les comparaisons ne peuvent pas être effectuées dans le mode PROGRAM. Rem. La carte du compteur à grande vitesse produit les résultats de la comparaison en tant qu’ensembles de bits aux bits spécifiques dans la mémoire et n’exécute pas les sous–programmes d’interruption. Les ensembles de bits se composent de bits internes et de bits externes et les bits externes sont produits sur les sorties externes 1 à 4. Arrêt de l’opération de comparaison Pour stopper une opération de comparaison, exécuter INI(61) comme indiqué ci–dessous. L’arrêt d’une comparaison peut également être accompli en utilisant un bit de commande. Arrêt de la comparaison avec INI(61) (@)INI(61) P P : Port 001 000 Valeur paramétrée en P Compteur à grande vitesse Emplacement 1 Emplacement 2 Compteur à grande vitesse 1 101 001 Compteur à grande vitesse 2 102 002 Compteur à grande vitesse 3 103 003 Compteur à grande vitesse 4 104 004 Arrêt de la comparaison avec des bits de commande L’opération de comparaison s’arrête lorsque le bit correspondant au compteur à grande vitesse dans les IR 21208 à IR 21211 pour l’emplacement 1 ou dans les AR 0508 à AR 0511 pour l’emplacement 2 passe à OFF Rem. Lecture des PV 84 1. Pour recommencer une comparaison, exécuter INI(61) avec le numéro du port comme premier opérande et 000 (exécuter la comparaison) comme deuxième opérande ou modifier l’état du bit de commande de 0 à 1. 2. Une fois qu’un tableau a été enregistré, il est maintenu dans le CQM1H pendant toute l’opération (c.–à–d. alors qu’un programme fonctionne) jusqu’à ce qu’un nouveau tableau soit enregistré. Les deux méthodes suivantes sont utilisées pour lire les PV des compteurs à grande vitesse 1 à 4 : • Lecture des mots de la PV dans la mémoire • Utilisation de PRV(62) Chapitre Carte du compteur à grande vitesse 2-1 Lecture des mots de la PV dans la mémoire Les PV des compteurs à grande vitesse 1 à 4 sont sauvegardées dans la mémoire de la façon suivante. La forme dans laquelle les données de la PV sont sauvegardées est déterminée par le réglage des bits 00 à 03 du DM 6602 pour l’emplacement 1 et du DM 6611 pour l’emplacement 2. Le réglage par défaut est en hexadécimale à 8 digits. Emplacement 1 : 4 digits à l’extrême gauche 4 digits à l’extrême droite Port 1 IR 201 IR 200 Port 2 IR 203 IR 202 Port 3 IR 205 IR 204 Port 4 IR 207 IR 206 Mode circulaire Mode linéaire Hex à 8 digits : F8000000 à 07FFFFFF Hex 00000000 à 07FFFFFF Hex BCD à 8 digits : F8388608 à 08388607 00000000 à 08388607 (Le chiffre à l’extrême gauche est F lorsque le numéro est négatif) Emplacement 2 : 4 digits à l’extrême gauche Port 1 IR 233 4 digits à l’extrême droite Mode linéaire IR 232 Port 2 IR 235 IR 234 Port 3 IR 237 IR 236 Port 4 IR 239 IR 238 Mode circulaire Hex à 8 digits : F8000000 à 07FFFFFF Hex 00000000 à 07FFFFFF Hex BCD à 8 digits : F8388608 à 08388607 00000000 à 08388607 (Le chiffre à l’extrême gauche est F lorsque le numéro est négatif) Rem. Ces mots sont actualisés seulement une fois par cycle, ainsi la valeur lue peut différer légèrement de la PV réelle. Utilisation de PRV(62) PRV(62) peut aussi être utilisée pour lire les PV des compteurs à grande vitesse 1 à 4. (@)PRV(62) P P : Port C C : 000 D D : Premier mot de destination Valeur spécifiée en P Nº du compteur à grande vitesse Emplacement 1 Emplacement 2 Compteur à grande vitesse 1 101 001 Compteur à grande vitesse 2 102 002 Compteur à grande vitesse 3 103 003 Compteur à grande vitesse 4 104 004 Les PV des compteurs à grande vitesse 1 à 4 sont sauvegardées comme indiqué dans le schéma suivant : 4 digits à l’extrême gauche D+1 4 digits à l’extrême droite D Mode linéaire Mode circulaire Hex à 8 digits : F8000000 à 07FFFFFF Hex 00000000 à 07FFFFFF Hex BCD à 8 digits : F8388608 à 08388607 BCD 00000000 à 08388607 BCD (Le chiffre à l’extrême gauche est F Hex lorsque le numéro est négatif) Rem. PRV(62) lit la PV actuelle lorsqu’elle s’exécute. 85 Chapitre Carte du compteur à grande vitesse Modification des PV 2-1 Les deux méthodes suivantes sont utilisées pour modifier les PV des compteurs à grande vitesse 1 à 4 : • Réinitialisation du compteur (c.–à–d. paramétrage du compteur à 0) en utilisant une des méthodes de réinitialisation • Utilisation de INI(61) Ce qui suit est une explication de l’utilisation d’INI(61). Se reporter aux méthodes de réinitialisation de la page 74 pour une explication sur l’utilisation des méthodes de réinitialisation. Modification de la PV avec INI(61) INI(61) est utilisé pour modifier la PV des compteurs à grande vitesse 1 à 4. (@)INI(61) P P : Spécificateur de port C C : 002 P1 P1 : Premier mot de la PV Valeur spécifiée en P Nº du compteur à grande vitesse Emplacement 1 Emplacement 2 Compteur à grande vitesse 1 101 001 Compteur à grande vitesse 2 102 002 Compteur à grande vitesse 3 103 003 Compteur à grande vitesse 4 104 004 4 digits à l’extrême gauche P1 + 1 4 digits à l’extrême droite P1 Mode circulaire Mode circulaire F8000000 à 07FFFFFF Hex 00000000 à 07FFFFFF Hex F8388608 à 08388607 BCD 00000000 à 08388607 BCD (Le chiffre à l’extrême gauche est F lorsque le numéro est négatif) Rem. Après atteinte de la valeur spécifiée finale dans un tableau de comparaison de valeur spécifiée, le processus de comparaison revient automatiquement à la première valeur spécifiée dans le tableau. Par conséquent, après l’accomplissement d’une séquence de comparaisons, le processus est répété en initialisant la PV. Arrêt et démarrage de l’opération de comptage Il est possible d’arrêter l’opération de comptage d’un des compteurs à grande vitesse 1 à 4 par le passage à ON d’un bit de commande. La PV du compteur est maintenue. L’opération de comptage est arrêtée par le passage à ON des bits 12 à 15 de l’IR 212 pour l’emplacement 1 ou de l’AR 05 pour l’emplacement 2. Ces bits correspondent aux compteurs à grande vitesse 1 à 4. Passer à OFF ces bits pour recommencer l’opération de comptage. Le compteur à grande vitesse repartira de la valeur à laquelle il a été arrêté. Rem. Le drapeau de fonctionnement du compteur est utilisé pour déterminer si l’opération de comptage est en marche ou arrêtée (0 : Arrêté ; 1: En marche). Compteur à grande vitesse 86 Drapeau de fonctionnement du compteur Compteur à grande vitesse 1 Emplacement 1 IR 20812 Emplacement 2 IR 24012 Compteur à grande vitesse 2 IR 20912 IR 24112 Compteur à grande vitesse 3 IR 21012 IR 24212 Compteur à grande vitesse 4 IR 21112 IR 24312 Chapitre Carte du compteur à grande vitesse 2-1 Exemples L’exemple suivant illustre l’utilisation du compteur à grande vitesse 1 sur une carte du compteur à grande vitesse montée dans l’emplacement 2. La comparaison de valeurs spécifiées est effectuée pour passer à ON les bits dans les ensembles de bits internes et externes sauvegardés dans la mémoire selon la PV du compteur. L’état du bit de sortie interne est utilisé pour commander la fréquence d’une sortie d’impulsions à contact. Le bit de réinitialisation est maintenu à ON dans le programme de sorte que la PV du compteur soit réinitialisée sur le signal de phase Z après que la dernière valeur spécifiée ait été atteinte. Avant d’exécuter le programme, le Setup de l’API est paramétré comme indiqué ci–dessous et le CQM1H est remis en marche pour permettre le nouveau paramétrage en DM 6611. DM 6611 : 0001 (sorties d’émetteur pour sorties externes 1 à 4, BCD à 8 digits pour la sauvegarde de la PV des compteurs à grande vitesse 1 à 4). DM 6643 : 0003 (compteur à grande vitesse 1 : fréquence de comptage de 50 kHz ; mode linéaire ; signal de phase Z + réinitialisation du logiciel ; mode incrémental/décrémental). Lorsque la PV atteint 2500, l’IR 05000 passe à ON et la sortie externe 1 passe à ON. Lorsque la PV atteint 7500, l’IR 05001 passe à ON et la sortie externe 2 passe à ON. Lorsque la PV atteint 10000, l’IR 05002 passe à ON et la sortie externe 3 passe à ON. PV du compteur Réinitialisation de la PV sur le signal de phase Z Réinitialisation de la PV sur le signal de phase Z Trois conditions de comparaison Valeur cible 3 : 10000 Valeur cible 1 2500 Ensemble de bits 1 7500 Ensemble de bits 2 Valeur cible 2 : 7500 Valeur cible 2 Valeur cible 3 10000 Ensemble de bits 3 Valeur cible 1 : 2500 Temps IR 240 Contenus de l’IR 240 Ensemble de bits externe Ensemble de bits internes 0100 Hex : Sortie externe 1 à ON IR 05000 à ON 0201 Hex : Sortie externe 2 à ON IR 05001 à ON 0402 Hex : Sortie externe 3 à ON IR 05002 à ON Sortie externe 1 Sortie externe 2 Sortie externe 3 87 Chapitre Carte du compteur à grande vitesse 2-1 Comme indiqué dans l’exemple de programmation suivant, la fréquence de la sortie d’impulsions à contact est différente de la valeur de 500 Hz définie lorsque CTBL(63) s’exécute à 200 Hz, 100 Hz puis à 0 Hz si les IR 05000, IR 05001 et IR 05002 passent à ON. 25313 (toujours ON) AR 0500 00000 @CTBL(63) 001 000 DM 0000 @SPED(64) 020 001 Garde le bit de réinitialisation pour le compteur à grande vitesse à ON. Bit de réinitialisation Indique la comparaison cible pour le compteur à grande vitesse 1 dans l’emplacement 2, enregistre un tableau de comparaison de valeurs spécifiées et commence la comparaison par de DM 0000. Règle la sortie d’impulsions à contacts continu de la position de sortie 02 à 500 Hz et commence la sortie d’impulsions. #0050 25313 (toujours ON) @ANDW(34) #0FFF AND (ET) le contenu de l’ensemble des bits sauvegardé dans l’IR 240 et sauvegarde le résultat en DM 0100. 240 DM 0100 25313 (toujours ON) Compare le DM 0100 à #0100. @CMP(20) DM 0100 #0100 25506 05000 Drapeaux égaux Passe à ON l’IR 05000 lorsque le DM 0100 contient #0100. 25313 (toujours ON) Compare le DM 0100 à #0201. @CMP(20) DM 0100 #0201 25506 05001 Drapeaux égaux Passe à ON l’IR 05001 lorsque le DM 0100 contient #0201. 25313 (toujours ON) Compare le DM 0100 à #0402. @CMP(20) DM 0100 #0402 25506 05002 Drapeaux égaux 88 Passe à ON l’IR 05002 lorsque le DM 0100 contient #0402. DM 0000 : DM 0001 : DM 0002 : DM 0003 : DM 0004 : DM 0005 : DM 0006 : DM 0007 : DM 0008 : DM 0009 : 0003 2500 0000 0100 7500 0000 0201 0000 0001 0402 — Trois conditions de comparaison — Valeur cible : 2 500 — Ensemble de bits (1) — Valeur cible : 7 500 — Ensemble de bits (2) — Valeur cible 2 : 10 000 — Ensemble de bits (3) Chapitre Carte du compteur à grande vitesse 2-1 05000 001 Exécute le sous-programme 001 lorsque l’IR 05000 est à ON. 002 Exécute le sous-programme 002 lorsque l’IR 05001 est à ON. @SBS(91) 05001 @SBS(91) 05002 @SBS(91) 003 Exécute le sous-programme 003 lorsque l’IR 05002 est à ON. SBN(92) 001 25313 (toujours ON) SPED (64) 020 001 #0020 Sous-programme 001 Configure la sortie d’impulsions à contacts continu depuis la position de sortie 02 à 200 Hz et commence la sortie d’impulsions. RET(93) SBN(92) 002 25313 (toujours ON) SPED (64) 020 001 #0010 Sous-programme 002 Configure la sortie d’impulsions à contacts continu depuis la position de sortie 02 à 100 Hz et commence la sortie d’impulsions. RET(93) SBN(92) 003 25313 (toujours ON) SPED (64) 020 001 #0000 Sous-programme 003 Configure la sortie d’impulsions à contacts continu depuis la position de sortie 02 à 0 Hz et commence la sortie d’impulsions. RET(93) END (01) 89 Chapitre Carte de gestion d’axes 2-2 L’opération est comme illustrée ci–dessous lorsque le programme s’exécute. Fréquence d’impulsions (Hz) Temps 2-2 Carte de gestion d’axes 2-2-1 Modèle Nom Carte de gestion d’axes Modèle CQM1H-PLB21 Caractéristiques techniques Entrée d’impulsions deux points et sortie d’impulsions deux points 2-2-2 Fonction La carte de gestion d’axes est une carte interne qui soutient deux entrées d’impulsions et deux sorties d’impulsions. Entrées d’impulsions 1 et 2 Les entrées d’impulsions 1 et 2 sont utilisées en tant que compteurs à grande vitesse pour compter les impulsions d’entrées à 50 kHz (phase de signal) ou à 25 kHz (bidirectionnel). Le traitement d’interruption est effectué sur la base des valeurs actuelles (PV) des compteurs. Mode d’entrée Les trois modes d’entrée suivants sont disponibles : • Mode bidirectionnel (4x) • Mode impulsion/direction • Mode incrémental/décrémental Interruptions La carte est configurée pour exécuter un sous–programme d’interruption lorsque la valeur du compteur à grande vitesse atteint une valeur spécifiée ou un sous–programme d’interruption lorsque la PV fait partie d’une plage spécifiée de comparaison. Sorties d’impulsions 1 et 2 Deux impulsions de 10 Hz à 50 kHz sont produites du port 1 et du port 2. Les coefficients d’exploitation fixes et variables sont utilisés. • Le rapport cyclique fixe augmente ou baisse progressivement la fréquence de sortie de 10 Hz à 50 kHz. • Le rapport cyclique variable permet à la sortie d’impulsions d’être exécutée en utilisant un rapport cyclique s’étendant de 1% à 99%. Rem. Tant que les entrées d’impulsions et les sorties d’impulsions sont exécutées simultanément, il n’est pas possible d’utiliser toute la fonctionnalité du compteur à grande vitesse et de la sortie d’impulsions en même temps. Le paramétrage du mode du port (mode compteur à grande vitesse/mode positionnement simple) dans le Setup de l’API (DM 6611) détermine ce qui a la pleine fonctionnalité activée. 90 Chapitre Carte de gestion d’axes Ports 1 et 2 Mode Deux entrées d’impulsions (compteur à grande vitesse) et deux sorties d’impulsions sont utilisées simultanément par l’intermédiaire des ports 1 et 2. Pour déterminer ce qui a la priorité fonctionnelle, le paramétrage du mode du port approprié doit être écrit dans le Setup de l’API (DM 6611). Contenu Fonctions du compteur à grande vitesse Lecture de la PV avec PRV(62) Mode compteur à grande vitesse 2-2 Priorité du compteur à grande vitesse. Interruptions du compteur à grande vitesse avec CTBL(63) Fonctions de la sortie d’impulsions Acc/décé non trapézoïdale (SPED(64)) Oui Oui Oui Oui Non Oui Taux d’acc/décé identiques (PLS2(--)) Toutes les fonctions du compteur à grande vitesse sont activées. Taux d’accélération/ décélération séparés (ACC(--)) Paramétrage du DM 6611 Mode 0 désactivé (Modes 1 à 3 activés) Voir Rem. 1. 0000 Hex Oui 0001 Hex L’accélération/ décéléra- tion trapézoïdale pour les sorties d’impulsions est limitée. Mode positionnement simple Priorité de la sortie d’impulsions. Oui Toutes les fonctions de la sortie d’impulsions sont activées. Les interruptions pour le compteur à grande vitesse sont désactivées. Rem. 1. Mode 0 : Accélération + Mode Indépendant ; Mode 1 : Accélération + Mode Continu ; Mode 2 : Décélération + Mode Indépendant ; Mode 3 : Décélération + Mode Continu. 2. Les modes du port pour les deux ports 1 et 2 sont toujours paramétrés au même mode, c.–à–d. en mode compteur à grande vitesse et mode positionnement simple. Le mode ne peut pas être paramétré individuellement pour chaque port. 91 Chapitre Carte de gestion d’axes 2-2 2-2-3 Configuration du système Carte de gestion d’axes Entrée d’impulsions 2 Entrée d’impulsions 1 Sortie Sortie d’impulsions 2 d’impulsions 1 Pilote du moteur Codeur incrémental Moteur Pilote du moteur Moteur Codeur incrémental 2-2-4 Emplacement carte interne concerné La carte de gestion d’axes est montée uniquement dans l’emplacement 2 (emplacement droit) de l’unité centrale CQM1H-CPU51/61. Emplacement 1 : NON Emplacement 2 : OK Carte de gestion d’axes 2-2-5 Noms et fonctions La carte de gestion d’axes du CQM1H-PLB21 possède un connecteur CN1 pour l’entrée d’impulsions 1 et la sortie d’impulsions 1 et un connecteur CN2 pour l’entrée d’impulsions 2 et la sortie d’impulsions 2. Carte de gestion d’axes de CQM1H-PLB21 CN1 : Entrée/sortie d’impulsions 1 Connecteur compatible Fiche : XM2D-1501 (OMRON) Capot : XM2S-1511 (OMRON) CN2 : Entrée/sortie d’impulsions 2 92 Deux fiches et deux capots sont fournis en tant que norme avec la carte de gestion d’axes. Chapitre Carte de gestion d’axes 2-2 Voyants LED Prêt (vert) Allumé lorsque les fonctions de gestion d’axes sont prêtes. Sortie d’impulsions (orange) Se reporter au tableau suivant. Entrée d’impulsions (orange) Se reporter au tableau suivant. Erreur (rouge) Allumé lorsqu’il y a une erreur dans le paramétrage du Setup de l’API pour la gestion d’axes ou lorsque l’opération est interrompue pendant la sortie d’impulsion. Voyants de la sortie d’impulsions Voyants d’entrée d’impulsions Voyant CW1 CCW1 CW2 CCW2 Port Port 1 Port 2 Port 1 Fonction Allumé pendant la sortie d’impulsions de CW sur le port 1. Allumé pendant la sortie d’impulsions de CWW sur le port 1. Allumé pendant la sortie d’impulsions de CW sur le 2. Allumé pendant la sortie d’impulsions de CWW sur le port 2. Port 2 A1 A2 B1 B2 Z1 Z2 Function Allumé lorsque l’entrée d’impulsions de phase A est à ON sur le port. Allumé lorsque l’entrée d’impulsions de phase B est à ON sur le port. Allumé lorsque l’entrée d’impulsions de phase Z est à ON sur le port. 2-2-6 Caractéristiques techniques Caractéristiques techniques du compteur à grande vitesse Instructions Instruction (@)CTBL(63) (@)INI(61) (@)PRV(62) (@)INT(89) Commande Enregistrement du tableau de comparaison de plages + début de comparaison Enregistrement du tableau de valeurs spécifiées + début de comparaison Enregistrement du tableau de comparaison de plages Enregistrement du tableau de valeurs spécifiées Début de comparaison Arrêt de comparaison Modification de la PV Lecture de la PV Lecture de l’état Lecture du résultat de comparaison de plages Masque toutes les interruptions Supprime les masques des interruptions Signification Enregistre le tableau de comparaison de plages et commence la comparaison. Enregistre le tableau de valeurs spécifiées et commence la comparaison. Enregistre le tableau de comparaison de plages. Enregistre le tableau de valeurs spécifiées. Commence la comparaison en utilisant un tableau de comparaison enregistré. Arrête la comparaison. Modifie la PV du compteur à grande vitesse. Lit la PV du compteur à grande vitesse. Lit l’état du compteur à grande vitesse. Lit le résultat de comparaison de plages. Masque toutes les interruptions, telles que les interruptions d’entrée, les interruptions de la temporisation de trame et les interruptions du compteur à grande vitesse. Supprime les masques des interruptions. 93 Chapitre Carte de gestion d’axes Drapeaux et bits de commande appropriés pour des entrées d’impulsions Mot Bits pour l’emplacement 2 de la carte interne lors de l’utilisation de la carte de gestion d’axes Bits IR 232 00 à 15 IR 233 00 à 15 IR 234 00 à 15 IR 235 00 à 15 2-2 Nom Port 1 Port 2 Mot de la PV (quatre digits à l’extrême droite) Mot de la PV (quatre digits à l’extrême gauche) Mot de la PV (quatre digits à l’extrême droite) Mot de la PV (quatre digits à l’extrême gauche) Fonction La PV du compteur à grande vitesse pour chaque port de la carte de gestion d’axes est sauvegardée comme valeur BCD à 8 digits après chaque cycle. Bits de la zone SR Mot SR 252 Bit Nom 01 Bit de réinitialisation du compteur à grande vitesse 1 (port 1) 02 Bit de réinitialisation du compteur à grande vitesse 2 (port 2) Fonction Phase Z et réinitialisation du programme 0 : Compteur non réinitialisé sur la phase Z 1 : Compteur réinitialisé sur la phase Z Réinitialisation du programme seulement 0: Compteur non réinitialisé 0→1 : Compteur réinitialisé Drapeaux de la zone AR Mot AR 05 Bit 00 01 Port 1 Nom Drapeaux de comparaison de plage du compteur à grande vitesse 1 02 03 04 05 06 07 08 09 94 Drapeau de comparaison du compteur à grande vitesse 1 Drapeau de dépassement positif/négatif du compteur à grande vitesse 1 Fonction Lorsque le compteur à A ON lorsque la grande vitesse est première condition est utilisé pour des remplie. comparaisons de plage, A ON lorsque la deuxième condition est un drapeau se met à ON lorsque la condition remplie. correspondante est A ON lorsque la remplie. troisième condition est remplie. A ON lorsque la quatrième condition est remplie. A ON lorsque la cinquième condition est remplie. A ON lorsque la sixième condition est remplie. A ON lorsque la septième condition est remplie. A ON lorsque la huitième condition est remplie. Indique l’état de l’opération de comparaison. 0 : Arrêté 1 : En marche Indique l’état de dépassement positif/négatif de la PV. 0 : Normal (Pas de dépassement positif/négatif). 1 : Un dépassement positifi/négatif s’est produit. Chapitre Carte de gestion d’axes Mot AR 06 Bit Nom Drapeaux de comparaison de plage du compteur à grande vitesse 2 Port 2 00 01 02 03 04 05 06 07 08 Drapeau de comparaison du compteur à grande vitesse 2 Drapeau de dépassement positif/négatif du compteur à grande vitesse 2 09 2-2 Fonction Lorsque le compteur à A ON lorsque la grande vitesse est première condition est utilisé dans le format de remplie. comparaison de plage, A ON lorsque la deuxième condition est un drapeau se met à ON lorsque la condition remplie. correspondante est A ON lorsque la remplie. troisième condition est remplie. A ON lorsque la quatrième condition est remplie. A ON lorsque la cinquième condition est remplie. A ON lorsque la sixième condition est remplie. A ON lorsque la septième condition est remplie. A ON lorsque la huitième condition est remplie. Indique l’état de l’opération de comparaison. 0 : Arrêté 1 : En marche Indique l’état de dépassement positif/négatif de la PV. 0 : Normal (Pas de dépassement positif/négatif). 1 : Un dépassement positifi/négatif s’est produit. Drapeaux de la zone SR Mot SR 254 Bit 15 Fonction Drapeau d’erreur de la carte interne Drapeaux de la zone AR Mot AR 04 Bits 08 à 15 Fonction Codes d’erreur pour la carte interne dans l’emplacement 2 00 Hex : 01, 02 Hex : 03 Hex : Normal Erreur matériel Erreur Setup de l’API 95 Chapitre Carte de gestion d’axes 2-2 Paramétrages appropriés du Setup de l’API Mot Bits DM 6611 00 à 15 DM 6643 00 à 03 Fonction Paramétrage du mode du port (pour ports 1 et 2) 0000 Hex : Mode compteur à grande vitesse 0001 Hex : Mode positionnement simple Port 1 Mode d’entrée du compteur à grande vitesse 0 Hex : entrée bidirectionnelle 1 Hex : entrée impulsion/direction 2 Hex : entrée d’impulsions incrémental/décrémental 04 à 07 Méthode de réinitialisation du compteur à grande vitesse 0 Hex : signal phase Z + réinitialisation du programme 1 Hex : réinitialisation du programme 08 à 11 Plage numérique du compteur à grande vitesse 0 Hex : mode linéaire 1 Hex : mode circulaire (Paramétrage pour l’utilisation de la sortie d’impulsions) Mode d’entrée du compteur à grande vitesse 0 Hex : entrée bidirectionnelle 1 Hex : entrée impulsion/direction 2 Hex : entrée d’impulsions incrémental/décrémental 12 à 15 DM 6644 00 à 03 Port 2 04 à 07 Méthode de réinitialisation du compteur à grande vitesse 0 Hex : signal phase Z + réinitialisation du programme 1 Hex : réinitialisation du programme 08 à 11 Plage numérique du compteur à grande vitesse 0 Hex : mode linéaire 1 Hex : mode circulaire (Paramétrage pour les sorties d’impulsions) 12 à 15 Une fois activé Lorsque l’alimentation est mise à ON. Lorsque le fonctionnement commence. Caractéristiques techniques de la sortie d’impulsions Instructions 96 Les sorties d’impulsion sont commandées en utilisant les sept instructions indiquées dans le tableau suivant. Le tableau indique également le rapport entre l’instruction et le type de sortie d’impulsions. Chapitre Carte de gestion d’axes Instruction Résumé des commandes Sortie d’impulsions monophasée sans acc/décé PULS(65) (SET PULSES– IMPULSIONS REGLEES) SPED(64) (SPEED OUTPUT– SORTIE DE VITESSE) PLS2(--) (PULSE OUTPUT– SORTIE D’IMPULSIONS) Règle le nombre d’impulsions de sortie. Oui (Mode indépendant seulement) Commande les sorties d’impulsions sans accélération/décélération. Sortie d’impulsions avec les mêmes taux d’acc/décé 2-2 Sortie d’impulsions avec des taux d’acc/décé séparés Sortie d’imp. du facteur d’exploi. variable --- Oui (Mode indépendant seulement) --- Oui --- --- --- Commande les sorties d’impulsions d’accélération/ décélération trapézoïdales ayant le même taux d’accélération/ décélération. --- Oui --- --- ACC(--) (ACCELERATION CONTROL– COMMANDE D’ACCELERATION) PWM(--) (PULSE WITH VARIABLE DUTY FACTOR– IMPULSIONS AVEC RAPPORT CYCLIQUE VARIABLE) Commandes les sorties d’impulsions d’accélération/ décélération trapézoïdales ayant un taux d’accélération/ décélération séparé. --- --- Oui --- Commande les sorties d’impulsions à rapport cyclique variable. --- --- --- Oui INI(61) (MODE CONTROL– COMMANDE DE MODE) Stoppe la sortie d’impulsions. Oui Oui Oui Oui PRV(62) (HIGH-SPEED COUNTER PV READ- LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE) Lit l’état de la sortie d’impulsions. Oui Oui Oui Oui Instructions concernées pendant la sortie Quelques instructions concernant la sortie d’impulsions ne sont pas modifiées une fois que la sortie a commencé. Le tableau suivant présente ces instructions qui sont et ne sont pas exécutées pour modifier la sortie d’impulsions après qu’une autre instruction ait été exécutée (c.-à-d. alors que la sortie d’impulsions s’exécute en raison d’une ancienne instruction). 97 Chapitre Carte de gestion d’axes L’instruction qui a commencé la sortie d’impulsions 2-2 Instruction utilisée pour modifier la sortie d’impulsions SPED (Indépendant) SPED (Continu) PULS (0 ou 1 : paramétrage d’impul sions) PULS (2 ou 3 : paramétrage d’acc/ décé d’impulsions) PULS (4 ou 5 : pas de paramétrage d’impulsions) PLS2 ACC Mode 0 (Acc. + Indépendant) ACC Mode 1 (Acc. + Continu) ACC Mode 2 (Décé. + Indépendant) ACC Mode 3 (Décé. + Continu) PWM SPED(64) (Mode indépendant) Activé --- --- --- --- --- Activé --- Activé --- --- SPED(64) (Mode continu) Activé Activé Activé Activé --- --- --- Activé --- Activé --- PULS(65) 0,1 Activé (Réglage d’impulsions) Activé Activé Activé Activé Activé --- Activé Activé Activé --- PULS(65) 2,3 (Réglage d’impulsions d’acc/décé) Activé Activé Activé Activé Activé Activé Activé Activé Activé --- PULS(65) 3,4 --(Pas de réglage d’impulsions) Activé Activé Activé Activé Activé --- Activé --- Activé --- PLS2(--) --- --- --- --- --- --- --- --- Activé lorsqu’ arrêté --- --- ACC(--) Mode 0 (Acc + Indépendant) --- --- --- --- --- --- --- --- Activé --- --- ACC(--) Mode 1 (Acc + Continu) --- Activé pour vitesse constante Activé (voir Rem.) Activé (voir Rem.) --- --- --- Activé pour vitesse constante --- Activé --- ACC(--) Mode 2 (Décé + Indépendant) Activé pour vitesse constante --- --- --- --- --- --- --- Activé --- --- ACC(--) Mode 0 (Décé + Continu) --- Activé pour vitesse constante Activé (voir Rem.) Activé (voir Rem.) Activé (voir Rem.) --- --- Activé pour vitesse constante --- Activé --- PWM(--) --- --- --- --- --- --- --- --- --- --- Activé Activé Rem. Le nombre d’impulsions est modifiable mais pas la direction. 98 Chapitre Carte de gestion d’axes 2-2 Drapeaux appropriés et bits de commande (pour la sortie d’impulsions) Bits pour l’emplacement 2 de la carte interne lors de l’utilisation de la carte de gestion d’axes Mot Bits IR 236 00 à 15 IR 237 00 à 15 IR 238 00 à 15 IR 239 00 à 15 Nom Port 1 Port 2 Mot de la PV (quatre digits à l’extrême droite) Mot de la PV (quatre digits à l’extrême gauche) Mot de la PV (quatre digits à l’extrême droite) Mot de la PV (quatre digits à l’extrême gauche) Fonction La PV de la sortie d’impulsions associée à chaque port de la carte de gestion d’axes est sauvegardée comme un BCD à 8 digits après chaque cycle. Lorsque la sortie d’impulsions n’est pas utilisée, ces bits sont utilisés en tant que bits auxiliaires internes. Drapeaux de la zone AR Mot AR 05 Bit 12 13 AR 06 Nom Drapeaux de sortie d’impulsions du port 1 Drapeau spécifié de décélération Drapeau spécifié du nombre d’impulsions 14 Drapeau réalisé de sortie d’impulsions 15 Drapeau en marche de sortie d’impulsions 12 13 Drapeaux de sortie d’impulsions du port 2 Drapeau spécifié de décélération Drapeau spécifié du nombre d’impulsions 14 Drapeau réalisé de sortie d’impulsions 15 Drapeau en marche de sortie d’impulsions Fonction Indique le passage par le point de décélération lorsque la décélération est indiquée. 0 : non spécifié 1 : spécifié Indique si le nombre d’impulsions a été réglé en utilisant PULS(65). 0 : non spécifié 1 : spécifié Indique l’accomplissement de la sortie d’impulsions par SPED(64), PLS2(––) ou ACC(– –). 0 : non réalisé 1 : réalisé Indique l’exécution de l’état de la sortie d’impulsions. 0 : sans sortie d’impulsions 1 : sortie d’impulsions en cours Indique le passage par le point de décélération lorsque la décélération est indiquée. 0 : non spécifié 1 : spécifié Indique si le nombre d’impulsions a été réglé en utilisant PULS(65). 0 : non spécifié 1 : spécifié Indique l’accomplissement de la sortie d’impulsions par SPED(64), PLS2(––) ou ACC(– –). 0 : non réalisé 1 : réalisé Indique l’exécution de l’état de la sortie d’impulsions. 0 : sans sortie d’impulsions 1 : sortie d’impulsions en cours 99 Chapitre Carte de gestion d’axes 2-2 Exemple d’action de temporisation Point de décélération Accélération cible Décélération cible Nombre de drapeaux spécifiés d’impulsions (AR 0513/AR 0613) Drapeau en marche de sortie d’impulsions (AR 0515/AR 0615) Drapeau spécifié de décélération (AR 0512/AR 0612) Drapeau réalisé de sortie d’impulsions (AR 0514/AR 0614) PULS(65) ou PLS2(--) effecutés (lors du paramétrage du nombre d’impulsions). Rem. L’état des drapeaux de la zone AR indiqué ci–dessus peut différer de l’état réel de la sortie d’impulsions en raison de la fréquence de sortie. Paramétrages du Setup de l’API appropriés Mot Bit DM 6611 00 à 15 DM 6643 00 à 11 12 à 15 DM 6644 00 à 11 12 à 15 Fonction Paramétrage du mode du port (ports 1 et 2) 0000 Hex : mode compteur à grande vitesse 0001 Hex : mode positionnement simple Port 1 (Paramétrage pour entrée d’impulsions) Port 2 Paramétrage fixe/variable du rapport cyclique de la sorte d’impulsions 0 Hex : Utilisation de la sortie d’impulsions à rapport cyclique fixe (défaut). 1 Hex : Utilisation de la sortie d’impulsions à rapport cyclique variable. (Paramétrage pour entrée d’impulsions) Paramétrage fixe/variable du rapport cyclique de la sorte d’impulsions 0 Hex : Utilisation de la sortie d’impulsions à rapport cyclique fixe (défaut). 1 Hex : Utilisation de la sortie d’impulsions à rapport cyclique variable. Quand le paramétrage est activé ? Lorsque l’alimentation est mise à ON. Lorsque l’opération commence. 2-2-7 Compteurs à grande vitesse 1 et 2 Les signaux d’impulsions des codeurs rotatifs sur les ports 1 et 2 de la carte de gestion d’axes sont comptés à la grande vitesse et le traitement d’interruption s’exécute selon le nombre d’impulsions comptées. Les deux ports sont utilisés indépendamment et les compteurs utilisés pour les ports 1 et 2 sont le compteur à grande vitesse 1 et le compteur à grande vitesse 2. Ce chapitre décrit comment utiliser les compteurs à grande vitesse 1 et 2. Rem. Les instructions qui peuvent être utilisées sont limitées par le paramétrage du mode du port de la carte qui est réglé dans le DM 6611 du Setup de l’API. 100 Chapitre Carte de gestion d’axes 2-2 Paramétrage du mode du port et instructions concernées En mode positionnement simple, CTBL(63) (REGISTER COMPARISON TABLE-TABLEAU DE COMPARAISON DES ENREGISTREMENTS) n’est pas utilisé et les interruptions du compteur à grande vitesse ne s’exécutent pas. Seules les lectures de la PV s’effectue. Instruction CTBL(63) INI(61) PRV(62) Fonction Enregistrement du tableau de comparaison Début de comparaison Modification de la PV Début/fin de la comparaison Mode compteur à grande vitesse Mode positionnement simple Activé Activé Désactivé Activé (modification de la PV seulement) Lecture de la PV Lecture de l’état de comparaison Lecture du résultat de comparaison de plages Activé Activé Traitement Signaux d’entrée et modes d’entrée Les modes d’entrée qui sont utilisés pour les compteurs à grande vitesse 1 et 2 sont déterminés par les types de signaux. 1, 2, 3... 1. Mode bidirectionnel (Taux de comptage = 25 kHz) : Deux signaux de différence de phase 4x (phase A et phase B) et un signal de phase Z sont utilisés pour les entrées. Le comptage est incrémenté ou décrémenté selon les différences dans les signaux biphasés. 2. Mode impulsion/direction (Taux de comptage = 50 kHz) : La phase A est le signal de direction et la phase B est l’impulsion de comptage. Le comptage est incrémenté lorsque le signal de la phase A est à OFF et est décrémenté lorsqu’il est à ON. 3. Mode incrémental/décrémental (Taux de comptage = 50 kHz) : La phase A est le signal de décrémentation et la phase B est le signal d’incrémentation. Le comptage est décrémenté lorsqu’une impulsion de phase A est détectée et est incrémente lorsqu’une impulsion de phase B est détectée. Mode bidirectionnel Mode impulsion/direction Entrée A du codeur (Phase A) Entrée A du codeur (Direction) Entrée A du codeur (Bas) Entrée B du codeur (Phase B) Entreé B du codeur (Impulsion) Entrée B du codeur (Haut) Compte 1 2 3 4 5 6 7 8 7 6 5 4 3 2 Incrémenté Décrémenté Compte 1 2 3 Incrémenté 2 1 Décrémenté Compte Mode incrémental/déc rémental 1 2 Incrémenté 3 2 1 Décrémenté Plages numériques La plage des valeurs comptées par les compteurs à grande vitesse 1 et 2 est déterminée par les deux modes suivants : 1, 2, 3... 1. Mode circulaire En mode circulaire, la valeur maximale de la plage de comptage est réglée avec CTBL(63). Le compteur ira de la valeur de comptage maximal à 0 lors de l’incrémentation et de 0 à la valeur de comptage maximal lors de la décrémentation ; il n’y a aucune valeur négative. La valeur de comptage maximal + 1 (c.-à-d. la valeur circulaire) est entrée comme paramètre. Le paramétrage s’étend de 1 à 65 000, donc la plage de comptage s’étend de 0 à 64 999. 101 Chapitre Carte de gestion d’axes 2-2 2. Mode linéaire La plage de comptage en mode linéaire est fixé de –8 388 608 à 8 388 607. Lorsque le comptage tombe au–dessous de la limite inférieure un dépassement négatif est produit et s’il dépasse la limite supérieure un dépassement positif est produit. La PV reste à 0838 8607 pour les dépassement positifs et F838 8608 pour les dépassement négatifs, le comptage ou la comparaison sont arrêtés (et le tableau de comparaison est maintenu) et l’AR 0509 (port 1) ou l’AR 0609 (le port 2) passe à ON. Mode linéaire Mode circulaire Valeur de compte max. 0 -8 388 608 Décrémente 0 8 388 607 Incrémente Dépassement négatif Dépassement positif Une des méthodes dans la chapitre suivant doit être utilisée pour réinitialiser le compteur lors du redémarrage de l’action de comptage. Le compteur est réinitialisé automatiquement lorsque l’exécution du programme est commencée ou arrêtée. Rem. Les transitions de signal suivantes sont traitées comme impulsions avant (incrémentation) : phase montante de la phase A → phase montante de la phase B → phase descendante de la phase A → phase descendante de la phase B. Les transitions de signal suivantes sont traitées comme impulsions arrière (décrémentation) : phase montante de la phase B → phase montante de la phase A → phase descendante de la phase B → phase descendante de la phase A. Les deux méthodes suivantes sont utilisées pour déterminer la temporisation par laquelle la PV du compteur est réinitialisée (c.–à–d. paramétré à 0) : • Signal de phase Z + réinitialisation du programme • Réinitialisation du programme Le signal de phase Z + réinitialisation du programme ou réinitialisation du programme seule sont utilisés pour réinitialiser la PV du comptage. Ces réinitialisations fonctionnent de la même façon que pour le compteur à grande vitesse 0 (le compteur à grande vitesse intégré). Se reporter à la page 35 pour de plus amples informations. Les bits de réinitialisation des compteurs à grande vitesse 1 et 2 sont comme suit : Bit de réinitialisation du compteur à grande vitesse 1 : SR 25201 Bit de réinitialisation du compteur à grande vitesse 2 : SR 25202 Méthodes de réinitialisation Rem. Méthodes de vérification du compte pour les interruptions du compteur à grande vitesse 102 1. Puisque les bits de réinitialisation pour les compteurs à grande vitesse 1 et 2 (SR 25201 et SR 25202) sont rafraichis pendant chaque cycle, un drapeau passe à ON pour au moins 1 cycle plein pour être lu de façon fiable. 2. Même après une réinitialisation, l’état d’enregistrement du tableau de comparaison, l’état de l’exécution de comparaison et les résultats de comparaison de plage sont maintenus sans modification (lorsqu’une comparaison s’effectue avant la réinitialisation, elle continue). Comme pour le compteur à grande vitesse 0, les deux méthodes suivantes de vérification de compte sont utilisées pour les compteurs à grande vitesse 1 et 2 : • Méthode de la valeur spécifiée • Méthode de la comparaison de plage Se reporter à la page 37 pour une description de chaque méthode. Chapitre Carte de gestion d’axes 2-2 Pour la méthode de la valeur spécifiée, jusqu’à 48 conditions sont enregistrées dans le tableau de comparaison. Lorsque la PV du compteur atteint l’une des 48 valeurs de comparaison enregistrées, le sous–programme d’interruption correspondant s’exécute. Pour la méthode de comparaison de plages, 8 conditions de comparaison sont toujours enregistrées dans le tableau de comparaison. Lorsque la PV du compteur se trouve en dessous des limites supérieures et inférieures pour l’une des gammes 1 à 8, le sous–programme d’interruption correspondant s’exécute. Procédure d’utilisation Déterminer le mode d’entrée, la méthode de réinitialisation et la plage numérique. Modes d’entrée : Phase différentielle, impulsion/direction ou incrémental/décrémental Méthodes de RAZ : Phase Z + RAZ du programme ou RAZ du programme Plage numérique : mode circulaire ou mode linéaire Déterminer le paramétrage pour les ports 1 et 2 (Déterminer les caractéristiques des interruptions). Méthode de vérification : Mode compteur à grande vitesse : Interruptions de valeur spécifiée, interruptions de comparaison de plage Mode positionnement simple : Pas d’interruption (PV lue ; résultat de comparaison de plage lu) Monter la carte et câbler les E/S. Déterminer le Setup de l’API (DM 6611, 6643, 6644). Mode du port Modes d’entrée : Phase différentielle, impulsion/direction ou incrémental/décrémental Méthodes de RAZ : Phase Z + RAZ du programme ou RAZ du programme Programme à contact Plage numérique : mode circulaire mode linéaire REGISTER COMPARISON TABLEou – TABLEAU DE COMPARAISON DES ENREGISTREMENTS, CTBL(63) : Enregistrement du tableau de comparaison de port spécifique et début de la comparaison MODE CONTROL – COMMANDE DE MODE, INI(61) : Modification de la PV de port spécifique et début de la comparaison HIGH-SPEED COUNTER PV READ – LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE, PRV(62) : PV du compteur à grande vitesse de port spécifique lue, état de comparaison du compteur à grande vitesse lu et résultat de comparaison de plages lu SUBROUTINE DEFINE, SBN(92) AND RETURN, RET(93) – DETERMINATION DU SOUS-PROGRAMME et RETOUR : Création de sous–programmes d’interruption (seulement lors de l’utilisation des interruptions des compteurs à grande vitesse 1 et 2) 103 Chapitre Carte de gestion d’axes 2-2 Cartes de gestions d’axes : Fonction du compteur à grande vitesse Entrée du codeur du port 1 (CN1) Entrée du codeur du port 2 (CN2) Mode d’entrée Méthode RAZ Plage numérique Param. du mode du port Phases différentielles Impulsion/direction Impulsions incrémental /décrémental Signal de phase Z signal + RAZ du programme RAZ du programme Mode circulaire Mode linéaire Mode positionnement simple Setup de l’API Bits 00 à 03 de DM 6643/DM 6644 Setup de l’API Setup de l’API Setup de l’API Bits 04 à 07 de DM 6643/DM 6644 Bits 08 à 11 de DM 6643/DM 6644 Bit 00 à 15 de DM 6611 Compte Chaque exécution Chaque cycle PV du compteur LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE Port 1 : IR 233 à IR 232 Port 2 : IR 235 à IR 234 PV lue Lit l’état de l’opération de comparaison et lit le résultat de comparaison Interruptions générées Programme à contact TABLEAU DE COMPARAISON DES ENREGISTREMENTS Enregistr. du tableau de comparaison et début de comparaison Rem. : N’est pas utilisé en mode positionnement simple. Rem. : Lors de l’utilisation des interruptions de vérification de compte Sous–programmes spécifiés COMMANDE DE MODE Modif. de la PV et début/ fin de comparaison Rem. : N’est pas utilisé en mode posi. simple. Résultat de comparaison de plage Port 1 : AR 0500 à AR 0509 Port 2 : AR 0600 à AR 0609 Setup de l’API préliminaire Avant d’utiliser les compteurs à grande vitesse 1 et/ou 2, entrer les paramètres suivants dans le mode PROGRAM. Paramètre du mode du port (DM 6611) Indiquer le mode compteur à grande vitesse pour les ports 1 et 2. Ce paramètre est lu lorsque l’API passe à ON. Lorsqu’il est modifié, l’API est redémarré. Bit 15 DM 6611 0 0 0 0 0 Paramètre du mode du port 0000 Hex : Mode compteur à grande vitesse (Doit être paramétré sur le mode compteur à grande vitesse lors de l’utilisation des interruptions du compteur à grande vitesse) 0001 Hex : Mode positionnement simple Par défaut : 0000 (Mode compteur à grande vitesse) Rem. 104 1. Lors de l’utilisation des interruptions des compteurs à grande vitesse 1 et 2, le port est paramétré sur le mode compteur à grande vitesse. Bien que la PV du compteur à grande vitesse est lue en mode positionnement simple, les interruptions du compteur à grande vitesse 1 et 2 ne sont pas utilisées. 2. Ce paramètre est seulement identifié lorsque le CQM1H est démarré. Pour modifier le paramètre, mettre l’alimentation à OFF puis à ON avant d’exécuter le programme. Chapitre Carte de gestion d’axes 2-2 3. Lorsque le DM 6611 est utilisé pour paramétrer les ports 1 et 2 sur le mode positionnement simple, il est possible d’utiliser l’instruction BCMP(68) pour vérifier les contenus des mots de la PV des compteurs à grande vitesse 1 et 2 (IR 232 à IR 235) et d’utiliser cette information au lieu des interruptions des compteurs à grande vitesse 1 et 2. Cependant, la PV obtenue en utilisant cette méthode peut varier légèrement de la PV réelle. Paramètres de fonctionnement des ports 1 et 2 Le DM 6643 contient les paramètres pour le port 1 et le DM 6644 contient les paramètres pour le port 2. Ces paramètres déterminent les paramètres de fonctionnement pour ces compteurs à grande vitesse. Utiliser les paramètres qui correspondent à l’environnement de fonctionnement de chaque port. Bit 15 DM6643/DM 6644 0 - Plage numérique 0 : Mode linéaire 1 : Mode circulaire Méthode RAZ 0 : Phase Z et réinitialisation du programme 1 : Réinitialisation du programme Mode d’entrée 0 : Mode bidirectionnel 1 : Mode impulsion/direction 2 : Mode incrémental/décrémental Par défaut : Mode 0000 (Mode linéaire, phase Z et réinitialisation du programme, bidirectionnel) Paramètres du mot de réactualisation de l’entrée Les DM 6634 et DM 6635 contiennent les paramètres du mot de réactualisation de l’entrée pour les compteurs à grande vitesse 1 et 2 respectivement. Effectuer ces paramètres lorsqu’il est nécessaire de rafraichir des entrées avant l’exécution d’interruptions. Bit 15 0 DM 6634/DM 6635 Nombre de mots (BCD à 2 digits) 00 à 16 Mot de démarrage (BCD à 2 digits) 00 à 15 (Correspond de IR 000 à IR 015) Par défaut : 0000 (Pas de réactualisation d’entrée) Programmation Utiliser les étapes suivantes pour programmer les compteurs à grande vitesse 1 et 2. Rem. 1. Les compteurs à grande vitesse 1 et 2 commencent à compter lorsque les paramètres appropriés du Setup de l’API sont réalisés. 2. Les PV des compteurs à grande vitesse 1 et 2 sont réinitialisées à 0 lorsque l’alimentation est passe à ON, lorsque l’action commence et lorsque l’action s’arrête. 3. La comparaison avec le tableau de comparaison et les interruptions n’est pas effectuée en utilisant l’opération de compte seule. 4. La PV du compteur à grande vitesse 1 est sauvegardée dans les IR 232 et IR 233 et la PV du compteur à grande vitesse 2 est sauvegardée dans les IR 234 et IR 235. 105 Chapitre Carte de gestion d’axes 2-2 Début et fin de comparaison 1, 2, 3... 1. Utiliser CTBL(63) pour sauvegarder le tableau de comparaison dans le CQM1H et démarrer les comparisons. (@)CTBL(63) P C TB P : Port 001 : Port 1 002 : Port 2 C : Mode 000 : Tableau de valeur spécifiée enregistreé et comparaison commencée 001 : Tableau de plage enregistré et comparaison commencée 002 : Tableau de cible enregistré seulement 003 : Tableau de plage enregistré seulement TB : Début du mot du tableau de comparaison Si C est paramétré à 000, alors des comparaisons sont faites en utilisant la méthode de valeur spécifiée ; si paramétré à 001, elles sont faites en utilisant la méthode de comparaison de plages. Dans les deux cas, les comparaisons commencent après que le tableau de comparaison soit enregistré. Tandis que les comparaisons sont effectuées, les interruptions des compteurs à grande vitesse 1 et 2 sont exécutées selon le tableau de comparaison. Se reporter à l’explication de CTBL(63) dans le Chapitre 5 Ensemble d’instruction pour de plus amples informations sur les contenus des tableaux de comparaison qui sont sauvegardés. Rem. Bien que le paramétrage de la valeur de C à 002 enregistre un tableau de comparaison de valeurs spécifiées et que le paramétrage de C à 003 enregistre un tableau de comparaison de plages, la comparaison ne commence pas automatiquement. Dans ces cas, INI(61) est utilisé pour commencer l’opération de comparaison. 2. Pour arrêter les comparaisons, exécuter INI(61) comme indiqué ci-dessous. Indiquer les ports 1 ou 2 en P (P=001 ou 002). (@)INI(61) P 001 P : Port 001 : Port 1 002 : Port 2 000 Rem. 1. Pour recommencer les comparaisons, paramétrer le premier opérande sur le numéro du port et le deuxième opérande à “000” (exécuter la comparaison) et exécuter l’instruction INI(61). 2. Un tableau qui a été enregistré est maintenu dans le CQM1H lors du fonctionnement (c.–à–d. pendant l’exécution du programme) jusqu’à ce qu’un nouveau tableau soit enregistré. Lecture de la PV des compteurs à grande vitesse 1 et 2 Les deux méthodes suivantes sont utilisées pour lire les PV des compteurs à grande vitesse 1 et 2 : • Lecture de la PV en mémoire • Utilisation de PRV(62) 106 Chapitre Carte de gestion d’axes 2-2 Lecture de la PV de la mémoire Les PV des compteurs à grande vitesse 1 et 4 sont sauvegardées dans les mots correspondants de zones de données de la façon suivante : 4 digits à l’extrême gauche Port 1 : IR 233 Port 2 : IR 235 4 digits à l’extrême Mode linéaire droite IR 232 F8388608 à 08388607 (-8 388 608 à 8 388 607) IR 234 Mode circulaire 00000000 à 00064999 (Le chiffre à l’extrême gauche devient F lorsque le numéro est négatif) Rem. Ces mots sont rafraichis seulement une fois par cycle, ainsi ils diffèrent de la PV réelle. Utilisation de PRV(62) PRV(62) est utilisé pour lire les PV des compteurs à grande vitesse 1 et 2. Indiquer les compteurs à grande vitesse 1 ou 2 en P (P=001 ou 002). (@)PRV(62) P 000 D P : Port 001 : Port 1 002 : Port 2 D : Premier mot de destination La PV de chaque compteur à grande vitesse est sauvegardée comme indiqué ci–dessous. En mode linéaire, le bit à l’extrême gauche est F pour des valeurs négatives. 4 digits à l’extrême gauche D+1 4 digits à l’extrême Mode linéaire droite D F8388608 à 08388607 (-8 388 608 à 8 388 607) Mode circulaire 00000000 à 0006499 Rem. La PV peut être lue exactement lorsque PRV(62) est exécuté. Modification de la PV Il y a deux manières de modifier la PV des compteurs à grande vitesse 1 et 2. • En réinitialisant à 0 en utilisant les méthodes de réinitialisation • En utilisant INI(61) La méthode utilisant INI(61) est expliquée ici. Se reporter aux Méthodes de réinitialisation de la page 74 pour une explication sur l’utilisation des méthodes de réinitialisation. Modification de la PV avec INI(61) Modifier la PV des compteurs à grande vitesse 1 et 2 en utilisant INI(61) comme indiqué ci-dessous. (@)INI(61) P 002 P1 4 digits à l’extrême gauche P1+1 4 digits à l’extrême droite P1 P : Port 001 : Port 1 002 : Port 2 P1 : Premier mot de la PV Mode linéaire F8388608 à 08388607 Mode circulaire 00000000 à 0006499 Pour indiquer un nombre négatif dans le mode linéaire, paramétrer F Hex dans le chiffre à l’extrême gauche. 107 Chapitre Carte de gestion d’axes 2-2 Etat de la lecture des compteurs à grande vitesse 1 et 2 Il y a 2 manières de lire l’état des compteurs à grande vitesse 1et 2 : • En lisant les drapeaux appropriés dans la zone AR du CQM1H • En utilisant PRV(62) Lecture des drapeaux appropriés de la zone AR Les mots de données du CQM1H concernant les compteurs à grande vitesse 1 et 2 sont indiqués ci-dessous. Il est possible de connaître l’état des compteurs à grande vitesse 1 et 2 en lisant ces mots. • Codes d’erreur de la carte interne Mot AR 04 Bits 08 à 15 Fonction Emplacement 2 Les codes d’erreurs enregistrés sont comme suit : 00 Hex : Normal 01, 02 Hex : Erreur programme 03 Hex : Erreur Setup de l’API • Etat de fonctionnement Mot Bit Compteur 1 Compteur 2 AR 05 AR 06 00 01 Nom Drapeaux de comparaison de plage du compteur à grande vitesse 02 03 04 05 06 07 08 09 108 Drapeau de comparaison du compteur à grande vitesse Drapeau de dépassement positif/ négatif du compteur à grande vitesse Fonction A ON lorsque la première Lorsque le compteur à grande vitesse est utilisé condition est remplie. dans le format de A ON lorsque la comparaison de plage, deuxième condition est un bit passe à ON remplie. lorsque la condition A ON lorsque la correspondante est troisième condition est remplie. remplie. A ON lorsque la quatrième condition est remplie. A ON lorsque la cinquième condition est remplie. A ON lorsque la sixième condition est remplie. A ON lorsque la septième condition est remplie. A ON lorsque la huitième condition est remplie. Indique l’état de l’opération de comparaison. 0 : Arrêté 1 : En marche Indique l’état de dépassement négatif/positif de la PV. 0 : Normal (pas de dépassement positif/négatif) 1 : Un dépassement positif/négatif s’est produit Chapitre Carte de gestion d’axes 2-2 En utilisant PRV(62) L’état des compteurs à grande vitesse 1 et 2 peut également être déterminé en exécutant PRV(62). Indiquer le compteur à grande vitesse 1 ou 2 (P=001 ou 002) et D le mot de destination. L’état de l’information est entré aux bits de 00 et 01. Les bits de 02 à 15 sont paramétrés à 0. (@)PRV(62) P 000 D P : Port 001 : Port 1 002 : Port 2 D : Mot de destination L’état du compteur à grande vitesse indiqué est sauvegardé dans les bits de 00 et 01 de P1, comme indiqué dans le tableau suivant : Bit Fonction 00 Drapeau d’opération de comparaison (0 : Arrêté ; 1 : En marche) 01 Drapeau de dépassement positif/négatif de la PV des compteurs à grande vitesse 1 et 2 (0 : Normal ; 1 : Dépassement de capacité négatif ou positif produit) Les bits de 04 à 07 indiquent l’état de la sortie d’impulsions ; tous les autres bits sont à 0. Exemple Cet exemple présente un programme qui produit des impulsions standard depuis le port 1 tout en comptant ces impulsions avec le compteur à grande vitesse 1. Le compteur à grande vitesse fonctionne en mode incrémental/décrémental, avec les impulsions CW de la sortie d’impulsions incrémentant le compteur (entrée de phase B) et les impulsions CCW décrémentant le compteur (entrée de phase A). Avant d’exécuter le programme, paramétrer le Setup de l’API comme suit et redémarrer l’API pour permettre le paramétrage de DM 6611. DM 6611 : 0000 (Mode compteur à grande vitesse). DM 6643 : 0002 (Port 1 : sortie d’impulsions à rapport cyclique fixe, mode linéaire, signal de phase Z avec réinitialisation du programme et mode incrémental/décrémental). Les autres paramètres du Setup de l’API utilisent les paramètres par défaut (les entrées ne sont pas rafraichies avant le traitement des interruptions). De plus, les données suivantes sont sauvegardées pour le tableau de comparaison : DM 0000 : 0003 — Nombre de valeurs cible : 3 DM 0001 : 2500 — Valeur cible 1 : 2 500 DM 0002 : 0000 DM 0003 : 0100 — Nº de la routine de traitement d’interruption de la comparaison 1 : 100 DM 0004 : 7500 — Valeur cible 2 : 7 500 DM 0005 : 0000 DM 0006 : 0101 — Nº de la routine de traitement d’interruption de la comparaison 2 : 101 DM 0007 : 0000 — Valeur cible 3 : 10 000 DM 0008 : 0001 DM 0009 : 0102 — Nº de la routine de traitement d’interruption de la comparaison 3 : 102 109 Chapitre Carte de gestion d’axes 2-2 00000 @CTBL(63) 001 000 Indique le port 1, sauvegarde le tableau de comparaision en format de valeur spécifiée et commence la comparaision. DM 0000 @PULS(65) 001 004 Paramètre les impulsioins CW pour le port 1 (nombre des impulsions non paramétrées). 000 @SPED(64) 001 001 Commence la sortie d’impulsions continues depuis le port 1 à une unité de fréquence de 10 Hz. #0001 @ACC(--) 001 001 DM 0010 SBN(92) Le mode 1 ACC(--) augmente la fréquence de 25 kHz à environ 500 Hz/4 ms. DM 0010 : 0050 DM 0011 : 2500 500 Hz acc./4 ms. Valeur cible 25 kHz. 100 25313 (toujours ON) 10000 Passer l’IR 10000 à ON. RET(93) SBN(92) 101 25313 (toujours ON) @ACC(--) 001 003 DM 0012 Le mode 3 ACC(--) baisse la fréquence de 500 Hz à environ 500 Hz/4 ms. DM 0012 : 0050 DM 0013 : 0050 500 Hz acc./4 ms. Valeur cible : 500 Hz. RET(93) SBN(92) 102 25313 (toujours ON) SPED(64) 001 001 #0000 RET(93) 110 La sortie d’impulsions depuis le port 1 est arrêtée en réglant la fréquence à 0. Chapitre Carte de gestion d’axes 2-2 2-2-8 Fonctions Les fonctions de la sortie d’impulsions de la carte de gestion d’axes sont donées dans le tableau suivant : Classification Caractéristiques Instructions utilisées Sortie d’impulsions des ports 1 et 2 (rapport cyclique fixe) Fréquence de 10 Hz à 50 (20) kHz. Rapport cyclique fixe. Sortie bidirectionnelle (CW et CCW). La fréquence est modifiée doucement. Paramétrer le nombre de sorties d’impulsions : PULS(65) Démarrer la sortie d’impulsions : SPED(64) Modifier la fréquence : SPED(64) Arrêter la sortie d’impulsions : SPED(64)/INI(61) Accélération/Décélération aux mêmes taux : PLS2(--) Accélération/Décélération à des taux séparés : ACC(--) Sortie d’impulsions des ports 1 and 2 (rapport cyclique variable) Fréquence de 91,6 Hz, 1,5 kHz ou 5,9 kHz. Rapport cyclique variable entre 1% à 99%. Sortie unidirectionnelle seulement. Démarrer la sortie d’impulsions : PWM(--) Arrêter la sortie d’impulsions : INI(61) Rem. Lorsqu’un moteur pas à pas est relié à la sortie d’impulsions du port 1 ou 2, utiliser une fréquence maximale n’excédant pas 20 kHz. 2-2-9 Sortie d’impulsions à rapport cyclique fixe Ce qui suit est une description de la procédure pour exécuter des sorties d’impulsion des ports 1 et 2 en utilisant un rapport cyclique de 50%. Les sorties d’impulsions des ports 1 et 2 sont exécutées comme indiqué dans le schéma ci-dessous. Les ports 1 et 2 sont utilisés simultanément. La sortie d’impulsions de chaque port peut être commutée dans les directions CW (sens horaire) ou CCW (sens anti-horaire). Unité centrale Fréquence = 10 à 50 kHz Coefficient dȀexploitation + Port 1 CW CCW CW CCW Port 2 t on + T 50% (0, 5) ton T Lors de la production des impulsions des ports 1 et 2, la fréquence peut être modifiée dans les étapes ou par un taux spécifié, comme indiqué dans le schéma suivant : Fréquence Vue générale Temps La sortie d’impulsions des ports 1 et 2 s’exécute dans les deux modes suivants : • Mode continu : La sortie d’impulsions continue jusqu’à ce qu’elle soit arrêtée par l’instruction SPED(64) ou l’instruction INI(61). 111 Carte de gestion d’axes Chapitre 2-2 • Mode indépendant : La sortie d’impulsions s’arrête automatiquement lorsqu’un nombre indiqué d’impulsions a été produit. La sortie peut également être arrêtée par l’instruction SPED(64) ou INI(61). Rem. Utiliser INI(61) lorsque la sortie d’impulsions est arrêtée immédiatement, comme pour un arrêt d’urgence, etc... La sortie d’impulsions ne s’arrête pas même si un signal SPED(64), PLS2(– –) ou ACC(– –) met l’entrée à OFF. Le tableau suivant montre les types de modifications de fréquence qui sont faits avec les combinaisons de PULS(65), SPED(64), INI(61), PLS2(– –) et ACC(– –). 112 Chapitre Carte de gestion d’axes Modification de fréquence Commence la sortie d’impulsions à la fréquence indiquée. Instruction PULS(65) Exécuter PULS(65) suivie de SPED(64). SPED(64) Paramétrages d’opérande 2-2 Page 118 CW/CCW (Nombre d’impulsions) Port continu/ fréquence indépendante Modifie la fréquence par étapes pendant la sortie d’impulsions. SPED(64) Port continu/ fréquence indépendante Arrête la sortie d’impulsions avec une instruction. SPED(64) 120 Exécuter SPED(64) ou INI(61). INI(61) Port Fréquence = 0 Paramétrer les données de commande pour arrêter la sortie d’impulsions. Produit un nombre indiqué d’impulsions. La sortie d’impulsions accélère à la fréquence cible à un taux indiqué et ralentit à un arrêt au même taux. PLS2(--) Port CW/CCW Taux d’acc/décé Fréquence cible Nombre d’impulsions 121 Produit un nombre indiqué d’impulsions. La sortie d’impulsions accélère à la fréquence cible à un taux indiqué et ralentit à un arrêt à un autre taux indiqué. PULS(65) CW/CCW Nombre d’impulsions Point de décélération 122 ACC(--) (Mode 0) Port Taux d’accélération Fréquence cible 1 Taux de décélération Fréquence cible 2 Accélère la sortie d’impulsions de la fréquence courante à la fréquence cible à un taux indiqué. PULS(65) CW/CCW La sortie d’impulsions continue. ACC(--) (Mode 1) Port Taux d’accélération Fréquence cible PULS(65) CW/CCW Nombre d’impulsions ACC(--) (Mode 2) Port Taux de décélération Fréquence cible PULS(65) CW/CCW ACC(--) (Mode 3) Port Taux de décélération Fréquence cible Mode 0 de l’instruction ACC(--) : Accélération + Mode indépendant Exécuter PULS(65) suivie de ACC(--). Exécuter PULS(65) suivie de ACC(--). 122 Mode 1 de l’instruction ACC(--) : Accélération + Mode continu Ralentit la sortie d’impulsions de la fréquence courante à la fréquence cible à un taux indiqué. La sortie d’impulsions s’arrête lorsque le nombre indiqué d’impulsions a été produit. Exécuter PULS(65) suivie de ACC(--). Mode 2 de l’instruction ACC(--) : Décélération + Mode indépendant Ralentit la sortie d’impulsions de la fréquence courante à la fréquence de cible à un taux indiqué. La sortie d’impulsions continue. Exécuter PULS(65) et puis ACC(--). Mode 3 de l’instruction ACC(--) : Décélération + Mode continu 123 123 113 Chapitre Carte de gestion d’axes Sorties d’impulsions à rapport cyclique fixe monophasé L’organigramme suivant présente la procédure pour l’usage de PULS(65) et de SPED(64) pour exécuter les sorties fixes monophasées d’impulsions à rapport cyclique sans accélération ou décélération. Port 1 ou 2 de la sortie d’impulsions. Déterminer le port de sortie d’impulsions. Sortie : CW/CCW avec/sans résistance de 1,6 kΩ. Alimentation pour sortie : 5/24 V c.c. Câbler la sortie. Réglage du mode du port (DM 6611) : Règle sur le mode compteur à grande vitesse (0000 Hex) ou sur le mode positionnement simple (0001 Hex). Réglages des fonctionnements des ports 1 et 2 (DM 6643/DM 6644) : Régler sur le rapport cyclique fixe. Setup de l’API (DM 6611/DM 6643/DM 6644) SET PULSES – IMPULSIONS PARAMETREES, PULS(65) : Nombre de sorties d’impulsions paramétrées pour chaque port. Programme à contact SPEED OUTPOUT – SORTIE DE VITESSE, SPED(64) : Commande de la sortie d’impulsions du port spécifique sans accélération/décélération. MODE CONTROL – COMMANDE DE MODE, INI(61) : Arrêter la sortie d’impulsions à un port indiqué. HIGH-SPEED COUNTER PV READ – LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE, PRV(62) : Etat de la sortie d’impulsions lue à un port indiqué. Sortie d’impulsions à rapport cyclique fixe monophasé sans accélération/décélération Sortie d’imp. à rapp. cyclique fixe Setup de l’API Bits 12 à 15 des DM 6643/DM 6644 réglés à 0. Carte de gestion d’axes Sortie d’imp. à rapport cyclique fixe monophasé sans acc./déc. Sortie Programme à contact - Sortie d’impulsions - Port 1 (CN1) Programme à contact IMPULSIONS PARAMETREES - Sortie d’impulsions - Port 2 (CN2) SORTIE DE VITESSE Nb de sorties d’imp. (BCD à 8 digits) Mode : Continu/Indépendant Unité : 1 Hz ou 10 Hz Cible : 10 Hz à 50 kHz Début de la sortie d’impulsions COMMANDE DE MODE Fin de la sortie Chaque cycle Etat de la sortie d’impulsions Port 1 : AR 05 Port 2 : AR 06 Chaque cycle PV de la sortie d’impulsions Port 1 : IR 237, IR 236 Port 2 : IR 239, IR 238 Chaque exécution LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE Etat de la sortie d’impulsions lu. 114 2-2 Chapitre Carte de gestion d’axes Sortie d’impulsions trapézoïdale avec la même accélération/décélération 2-2 L’organigramme suivant présente la procédure pour l’utilisation de PLS2(––) pour exécuter les sorties d’impulsions trapézoïdales avec le même taux d’accélération/décélération. Mode positionnement simple (PLS2(--) n’est pas utilisée en mode compteur à grande vitesse). Déterminer le mode du port. Déterminer le port de sortie d’impulsions. Port 1 ou port 2. Monter la carte et câbler les sorties. Sortie : CW/CCW avec/sans résistance de 1,6 kΩ. Alimentation pour sortie : 5 V c.c./24 V c.c. Setup de l’API (DM 6611/DM 6643/DM 6644) Réglage du mode du port (DM 6611) : Mode positionnement simple (DM 6611 à 0001 Hex). Voir Rem. Réglages de fonctionnement pour les ports 1 et 2 (DM 6643/DM 6644) : Réglé au rapport cyclique fixe (0000 Hex). (PLS2(--) n’est pas utilisée en mode compteur à grande vitesse). PULSE OUTPUT – SORTIE D’IMPULSIONS, PLS2(--) : Sortie d’impulsions d’accélération/décélération trapézoïdale du port spécifique avec le même taux d’accélération/décélération. Programme à contact MODE CONTROL – COMMANDE DE MODE, INI(61) : Arrête la sortie d’impulsions à un port indiqué. HIGH-SPEED COUNTER PV READ – LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE, PRV(62) : Lire l’état de la sortie d’impulsions d’un port indiqué. Sorties d’impulsions d’accélération/décélération trapézoïdales Sortie d’imp. du coeff. d’expl. fixe Setup de l’API Bits 12 à 15 de DM 6643/DM 6644 réglés à 0. Carte de gestion d’axes Réglage du mode du port Mode de posi. simple Setup de l’API Bits 00 à 15 de DM 6611 Sorties d’impulsions d’acc/ décé trapézoïdales Programme à contact Sortie - Sortie d’impulsions - Port 1 (CN1) - Sortie d’impulsions - Port 2 (CN2) Programme à contact COMMANDE DE MODE SORTIE D’IMPULSIONS Réglage du nb d’imp. (BCD à 8 digits : 00000001 à 16777215) Cible : 100 Hz à 50 kHz Taux d’acc/décé (séparés) : 4,08 ms 10 Hx à 2 kHz Début de la sortie d’impulsions. Fin de la sortie Chaque cycle Etat de la sortie d’impulsions Port 1 : AR 05 Port 2 : AR 06 Chaque cycle PV de la sortie d’impulsions Port 1 : IR 237, IR 236 Port 2 : IR 239, IR238 Chaque execution LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE Etat de la sortie lu. 115 Chapitre Carte de gestion d’axes Sortie d’impulsions trapézoïdale avec différence d’accélération/décélération 2-2 L’organigramme suivant présente la procédure pour l’utilisation de PULS(65) et ACC(– –) pour exécuter les sorties d’impulsions trapézoïdales avec des taux différents d’accélération/décélération. Mode positionnement simple : Toutes les fonctions de ACC(--) sont utilisées. Déterminer le mode du port. Mode compteur à grande vitesse : Les modes 1 à 3 de ACC(--) sont utilisés ; le mode 0 (Accélération + Indépendant) est désactivé. Déterminer le port de la sortie d’impulsions. Port 1 ou port 2. Monter la carte et câbler les sorties. Sortie : CW/CCW avec/sans résistance de 1,6 kΩ. Alimentation pour la sortie : 5/24 V c.c. Setup de l’API (DM 6611/DM 6643/DM 6644) Réglage du mode du port (DM 6611) : Réglé le mode compteur à grande vitesse (0000 Hex) ou le mode positionnement simple (0001 Hex). Voir Rem. Réglages de fonctionnement pour les ports 1 et 2 (DM 6643/DM 6644) : Réglé le rapport cyclique fixe. Rem. : Le mode 0 de ACC(--) (Accélération + Indépendant) n’est pas utilisé en mode compteur à grande vitesse. SET PULSES – IMPULSIONS PARAMETREES, PULS(65) : Paramétrer le nombre de sorties d’impulsions pour chaque port. Programme à contact ACCELERATION CONTROL – COMMANDE D’ACCELERATION, ACC(--) : Sortie d’impulsions d’accélération/décélération trapézoïdale du port spécifique avec des taux différents d’accélération/décélération. MODE CONTROL – COMMANDE DE MODE, INI(61) : Arrêter la sortie d’impulsions à un port indiqué. HIGH-SPEED COUNTER PV READ – LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE, PRV(62) : Lire l’état de la sortie d’impulsions d’un port indiqué. Sorties d’impulsions d’accélération/décélération trapézoïdales Sortie d’imp. du coeff. d’expl. fixe Setup de l’API Bits 12 à 15 de DM 6643/DM 6644 réglés à 0. Réglage du mode du port Mode posi. simple ou compt. à grande vitesse PC Setup Régler DM 6611 à 0001. Carte de gestion d’axes Sorties d’impulsions d’acc/ décé trapézoïdales Programme à contact Sortie - Sortie d’impulsions - Port 1 (CN1) - Sortie d’impulsions - Port 2 (CN2) Programme à contact IMPULSIONS DE SORTIE COMMANDE D’ACCELERATION Nb de sorties d’impulsions BCD à 8 digits (00000001 à 16777215) Réglage du mode Cible : 0 à 50 kHz Taux d’acc/décé (séparés) : 4,08 ms 10 Hz à 2 kHz Début de la sortie d’impulsions. COMMANDE DE MODE Fin de la sortie d’imp. Modif. PV sortie d’imp. Chaque cycle Etat de la sortie d’impulsions AR 05 à AR 06 Chaque cycle PV de la sortie d’impulsions Port 1 : IR 237, IR 236 Port 2 : IR 239, IR238 Chaque exéution LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE Etat de la sortie lu. 116 Chapitre Carte de gestion d’axes Réglages du Setup de l’API 2-2 Avant de produire des impulsions du port 1 ou 2, commuter l’API au mode PROGRAM et entrer les réglages suivants dans le Setup de l’API. Réglage du mode du port (DM 6611) Bit 15 DM 6611 0 Réglage du mode du port pour la carte de gestion d’axes 0000 Hex : Mode compteur à grande vitesse 0001 Hex : Mode sortie d’impulsions Par défaut : 0000 (Mode compteur à grande vitesse) Les instructions qui sont utilisées sont limitées par le réglage du mode du port pour les ports 1 et 2 de la carte de gestion d’axes. Le mode du port est défini dans le Setup de l’API (DM 6611). Réglage et instruction du mode du port Les tableaux suivants présentent les réglages et instructions du mode du port qui sont utilisés avec différentes sorties d’impulsions. Sortie d’impulsions avec accélération/décélération trapézoïdale Toutes les instructions sont utilisées indépendamment du réglage du mode du port. Instruction PULS(65) SPED(64) Fonction Règle le Règle la nombre fréquence d’impulsions (Utilisées en combinaison) Mode compteur à grande vitesse Activée Mode positionnement simple Activée INI(61) PRV(62) Arrête la sortie d’impulsions Lit l’état de la sortie d’impulsions Sortie d’impulsions avec accélération/décélération trapézoïdale et le même taux d’accélération/décélération PLS2(--) (PULSE OUTPUT-SORTIE D’IMPULSIONS) n’est pas utilisée en mode compteur à grande vitesse. Il n’est pas possible d’exécuter des sorties d’impulsions d’accélération/décélération trapézoïdale en utilisant les mêmes taux d’accélération/décélération. Instruction PLS2(--) INI(61) Fonction Règle le nombre d’impulsions Arrête la sortie d’impulsions Mode compteur à grande vitesse Mode positionnement simple Désactivée Activée PRV(62) Lit l’état de la sortie d’impulsions Activée 117 Chapitre Carte de gestion d’axes 2-2 Sortie d’impulsions avec accélération/décélération trapézoïdale et des taux séparés d’accélération/décélération La seule limitation existante est que ACC(– –) (ACCELERATION CONTROL – COMMANDE D’ACCELERATION) en mode 0 (accélération + indépendant) ne peut pas être utilisé dans le mode compteur à grande vitesse. Instruction Fonction PULS(65) Règle le nombre d’impulsions ACC(--) Taux d’accélération/ décélération (réglages séparés) INI(61) Arrête la sortie d’impulsions PRV(62) Lit l’état de la sortie d’impulsions Règle la fréquence Mode compteur à grande vitesse Commence la sortie d’impulsions (Utilisées en combinaison) Activée Mode 0 (Acc.+ Indépendant) : Désactivée Activée Mode 3 : Activée Mode positionnement simple Activée Le réglage du DM 6611 est lu seulement lorsque le CQM1H commence. Lorsque ce réglage est modifié, l’API passe à OFF et à ON pour activer la nouvelle valeur. Réglages de fonctionnement pour les ports 1 et 2 (DM 6643 et DM 6644) Le schéma ci-dessous présente comment le port 1 (DM 6643) et le port 2 (DM 6644) sont réglés pour exécuter la sortie d’impulsions à rapport cyclique fixe, qui est le format de sortie d’impulsions par défaut. Les réglages pour les ports 1 et 2 diffèrent. Bit 15 DM 6643 0 0 Bit 15 DM 6644 0 0 Type d’impulsions du port 1 0 : Sortie d’impulsions à rapport cyclique fixe Régler le rapport cyclique fixe lors de l’exécution de sortie d’impulsions standard. 1 : Sortie d’impulsions à rapport cyclique variable Type d’impulsions du port 2 0 : Sortie d’impulsions à rapport cyclique fixe Régler le rapport cyclique fixe lors de l’exécution de sortie d’impulsions standard. 1 : Sortie d’impulsions à rapport cyclique variable Par défaut : 0 (Sortie d’impulsions à rapport cyclique fixe) Par défaut : 0 (Sortie d’impulsions à rapport cyclique fixe) Les impulsions à rapport cyclique variable ne sont pas produites d’un port s’il a été réglé pour exécuter une sortie d’impulsions standard. Exemples 118 Les exemples suivants présentent des programmes qui commandent la sortie d’impulsions des ports 1 et 2. Avant d’exécuter les programmes, vérifier que les réglages dans le Setup de l’API sont comme suit : DM 6611 : 0001 (Mode positionnement simple) DM 6643 : 0000 (Sortie d’impulsions à rapport cyclique fixe du port 1) DM 6644 : 0000 (Sortie d’impulsions à rapport cyclique fixe du port 2) Chapitre Carte de gestion d’axes Exemple 1 : Début de la sortie d’impulsions avec PULS(65) et SPED(64) 2-2 Début de la sortie d’impulsions à une fréquence indiquée L’exemple suivant présente PULS(65) et SPED(64) utilisées pour commander une sortie d’impulsions du port 1. Le nombre d’impulsions indiquées dans PULS(65) (10 000) sont produites pendant que la fréquence est modifiée par des exécutions de SPED(64) avec différents réglages de fréquence. 05000 @PULS(65) Lorsque l’IR 05000 est à ON, PULS(65) règle le port 1 pour 10 000 impulsions CW. 001 DM 0000 : 0000 DM 0001 : 0001 000 DM 0000 @SPED(64) Commence la sortie d’impulsions du port 1 à 1 000 Hz en mode indépendant.. 001 000 #0100 00000 @SPED(64) Lorsque l’IR 00000 est à ON, la fréquence d’impulsions du port 1 est modifiée à 1 500 Hz. 001 000 #0150 00001 @SPED(64) Lorsque l’IR 00001 est à ON, la fréquence d’impulsions du port 1 est modifiée à 1 000 Hz. 001 000 #0100 00002 @SPED(64) Lorsque l’IR 00002 est à ON, la fréquence d’impulsions du port 1 est modifiée à 500 Hz. 001 000 #0050 Le schéma suivant présente la fréquence des sorties d’impulsions du port 1 pendant que le programme s’exécute. Fréquence 1,5 kHz 1,0 kHz 0,5 kHz Temps IR 05000 à ON IR 00000 à ON IR 00001 à ON IR 00002 à ON 10 000 impulsions ! Attention S’assurer que la fréquence d’impulsions se trouve dans la plage de fréquence d’auto-démarrage du moteur lors du démarrage et de l’arrêt du moteur. Rem. La temporisation de la commande de la vitesse est précise lorsque des modifications de fréquence s’exécutent comme processus d’interruptions d’entrée. 119 Chapitre Carte de gestion d’axes Exemple 2 : Arrêt de la sortie d’impulsions avec SPED(64) 2-2 L’exemple suivant présente PULS(65) et SPED(64) utilisées pour commander une sortie d’impulsions du port 1. La fréquence est modifiée par des exécutions de SPED(64) avec différents réglages de fréquence et finalement arrêtée avec un réglage de fréquence à 0. 05000 @PULS(65) 001 Lorsque l’IR 05000 est à ON, PULS(65) règle le port 1 pour des sorties d’impulsions CW. Il n’y a pas de réglage du nombre d’impulsions. 004 000 @SPED(64) Commence la sortie d’impulsions du port 1 à 1 kHz en mode continu. 001 001 #0100 00005 @SPED(64) Lorsque l’IR 00005 est à ON, la fréquence du port 1 est modifiée à 1 500 Hz. 001 001 #0150 00006 @SPED(64) Lorsque l’IR 00006 est à ON, la fréquence du port 1 est modifiée à 1 000 Hz. 001 001 #0100 00007 @SPED(64) 001 001 Lorsque l’IR 00007 est à ON, la sortie d’impulsions du port 1 s’arrête avec un réglage de fréquence à 0 Hz. Rem. : Utiliser INI(61) s’ il est nécessaire de forcer la sortie d’impulsions à s’arrêter, comme dans des situations de secours. #0000 Le schéma suivant présente la fréquence des sorties d’impulsions du port 1 pendant que le programme s’exécute. Fréquence 1,5 kHz 1,0 kHz Temps IR 05000 à ON IR 00005 à ON IR 00006 à ON IR 00007 à ON ! Attention S’assurer que la fréquence d’impulsions se trouve dans la plage de fréquence d’auto-démarrage du moteur lors du démarrage et de l’arrêt du moteur. 120 Chapitre Carte de gestion d’axes Exemple 3 : Utilisation de PLS2(--) pour accélérer / décélérer la fréquence à un même taux 2-2 L’exemple suivant présent PLS2(––) utilisée pour produire 100 000 impulsions CW du port 1. La fréquence s’accélère à 10 kHz approximativement à 500 Hz/4 ms et ralentit au même taux. 5 secondes après que les impulsions CW ont été produites, une autre instruction PLS2(––) produit 100 000 impulsions CCW avec les mêmes paramètres. DM 0000 DM 0001 DM 0002 DM 0003 0050 1000 0000 0010 00000 SET 05000 L’IR 05000 passe à ON lorsque l’IR 00000 est à ON. @PLS2(--) Lorsque l’IR 05000 est à ON, PLS2(--) commence la sortie d’impulsions CW du port 1. 05000 001 000 Taux d’accélération : Approx. 500 Hz/4 ms Fréquence spécifiée : 10 000 Hz Nombre d’impulsions : 100 000 DM 0000 AR 0514 TIM 000 #0050 Lorsque l’AR 0514 (Drapeau complet de sortie d’impulsions) est à ON, une temporisation de 5 secondes démarre. TIM 000 @PLS2(--) 001 001 DM 0000 RSET 05000 Après 5 secondes d’écoulement après l’accomplissement de sortie d’impulsions CW, PLS2(– –) commence la sortie d’impulsions CCW du port 1 en utilisant les mêmes conditions : Taux d’accélération : Approx. 500 Hz/4 ms Fréquence cible : 10 kHz Nombre d’impulsions : 100,000 Passe 05000 à OFF quand TIM 000 prend fin. Le schéma suivant présente la fréquence des sorties d’impulsions du port 1 pendant que le programme s’exécute. Fréquence Sortie d’impulsions CW Sortie d’impulsions CCW 10 kHz 500 Hz approx. 4 ms 500 Hz approx. 4 ms Environ 500 Hz/4 ms Temps 1 kHz 100 000 impulsions IR 05000 AR 0514 à ON à ON 100 000 impulsions Après 5 s 121 Chapitre Carte de gestion d’axes Exemple 4 : Utilisation de ACC(--) pour accélére / décéler la fréquence à des taux différents 2-2 L’exemple suivant présente le mode 0 de ACC(––) utilisé pour produire 10 000 impulsions CW du port 1. La fréquence s’accélère à 10 kHz à approximativement 1 kHz/4 ms et ralentit à 1 kHz approximativement 250 Hz/4 ms. La décélération commence après la production de 9 100 impulsions. DM 0000 DM 0001 DM 0002 DM 0003 0000 0001 9100 0000 DM 0004 DM 0005 DM 0006 DM 0007 0100 1000 0025 0050 00000 @PULS(65) 001 002 Lorsque l’IR 00000 est à ON, PULS(65) rèlge le port 1 pour la sortie d’impulsions CW. Le nombre total d’impulsions est réglé à 10 000 et le point de décélération est réglé à 9 100 impulsions. DM 0000 @ACC(--) 001 000 DM 0004 Commence la sortie d’impulsions CW du port 1. Taux d’accélération : Approx. 1 000 Hz/4 ms Fréquence cible après accélération : 10 000 Hz Taux de décélération : Approx. 250 Hz/4 ms Fréquence cible après décélération : 1 kHz Suivant la décélération, la sortie d’impulsions démarre à la fréquence cible d’approximativement 500 Hz/4 ms. Le schéma suivant présente la fréquence des sorties d’impulsions du port 1 pendant que le programme s’exécute. Fréquence 10 kHz Environ 250 Hz/4 ms Environ 1 kHz/4 ms 1 kHz Temps IR 00000 à ON Exemple 5 : Utilisation de ACC(--) pour accélérer la fréquence à un taux indiqué 9 100 impulsions 10 000 impulsions L’exemple suivant présente le mode 1 de ACC(– –) utiliser pour augmenter la fréquence d’une sortie d’impulsions du port 1. La fréquence s’accélère de 1 kHz à 20 kHz à approximativement 500 Hz/4 ms. DM 0000 DM 0001 0050 2000 00000 @PULS(65) 002 Lorsque l’IR 00000 est à ON, PULS(65) règle le port 2 pour la sortie d’impulsions CCW. Le nombre d’impulsions n’est pas réglé. 005 000 @SPED(64) Commence la sortie d’impulsions à 1 000 Hz (1 kHz) du port 2 en mode continu. 002 001 #0100 00001 @ACC(--) 002 001 DM 0000 122 Lorsque l’IR 00001 est à ON, ACC(– –) commence l’accélération de la sortie d’impulsions du port 2 à environ 500 Hz/4 ms jusqu’à ce qu’il atteigne la fréquence cible de 20 000 Hz. Chapitre Carte de gestion d’axes 2-2 Le schéma suivant présente la fréquence des sorties d’impulsions du port 2 pendant que le programme s’exécute. Fréquence 20 kHz Environ 500 Hz/4 ms Temps 1 kHz IR 00000 à ON Exemple 6 : Utilisation de ACC(--) pour décélérer la fréquence à un taux indiqué et arrêter la sortie IR 00001 à ON L’exemple suivant présente le mode 2 de ACC(––) utilisé pour diminuer la fréquence d’une sortie d’impulsions du port 1. La sortie d’impulsions 2 kHz est déjà en cours en mode indépendant et s’arrête automatiquement lorsque le nombre d’impulsions est atteint. DM 0000 DM 0001 0050 0001 00000 @ACC(--) 001 002 Lorsque l’IR 00000 est à ON, ACC(– –) commence la décélération de la fréquence d’impulsions du port 1 à environ 500 Hz/4 ms jusqu’à ce qu’il atteigne la fréquence cible de 10 Hz. La sortie d’impulsions s’arrête lorsque le nombre indiqué d’impulsions est atteint. DM 0000 Le schéma suivant présente la fréquence des sorties d’impulsions du port 1 pendant que le programme s’exécute. Fréquence 2 kHz Environ 500 Hz/4 ms 1 kHz Temps IR 00000 à ON Nombre indiqué de sorties d’impulsions Rem. La sortie d’impulsions s’arrête en exécutant le mode 2 de ACC(––) avec une fréquence cible de 0. Cependant, comme la sortie d’impulsions ne s’arrête pas au nombre correct d’impulsions, cette méthode n’est pas utilisée sauf pour les arrêts d’urgence. Exemple 7 : Utilisation de ACC(--) pour décélérer la fréquence à un taux indiqué L’exemple suivant présente le mode 3 de ACC(––) utiliser pour diminuer la fréquence d’une sortie d’impulsions du port 1. La sortie d’impulsions 20 kHz est déjà en cours en mode continu. DM 0000 DM 0001 0100 0500 00000 @ACC(--) 001 003 Lorsque l’IR 00000 est à ON, ACC(– –) commence la décélération de la sortie d’impulsions du port 1 à environ 1 000 Hz/4 ms jusqu’à ce qu’il atteigne la fréquence cible de 5 000 Hz. DM 0000 123 Chapitre Carte de gestion d’axes 2-2 Le schéma suivant présente la fréquence des sorties d’impulsions du port 1 pendant que le programme s’exécute. Fréquence 20 kHz Environ 1 kHz/4 ms 5 kHz Temps IR 00000 à ON 2-2-10 Sorties d’impulsions à rapport cyclique variable Ce qui suit est la procédure pour produire des impulsions avec les coefficients d’exploitation variables (c.-à-d. le rapport de durée d’impulsions à ON et le cycle d’impulsions) des ports 1 et/ou 2. Cette fonction est utilisée pour différents types de sorties de commande, telles que la sortie d’intensité de la lumière ou sortie de commande de vitesse d’un onduleur. Vue générale Les sorties d’impulsions à rapport cyclique variable des ports 1 et/ou 2 sont exécutées comme indiqué dans le schéma ci-dessous. Les ports 1 et 2 sont utilisés en même temps. Unité centrale Fréquence = 91,6 Hz, 1,5 kHz, 5;9 kHz Rapport cyclique + t on + T 1% à 99% ton Port 1 Port 2 T Sorties d’impulsions à rapport cyclique variable en utilisant PWM(--) Déterminer le port de la sortie d’impulsions. Port 1 ou port 2. Câbler les sorties. Sortie : PWM(--) avec/sans résistance de 1,6 kΩ. Alimentation pour sortie : 5/24 V c.c. Setup de l’API (DM 6611/DM 6643/DM 6644) Réglage du mode port (DM 6611) : Mode compteur à grande vitesse (0000 Hex) ou mode positionnement simple (0001 Hex) Réglages de fonctionnement pour les ports 1 et 2 (DM 6643/DM 6644) : Régler au rapport cyclique variable (1000 Hex). Programme à contact PULSE WITH VARIABLE DUTY FACTOR – IMPULSION AVEC COEFFICIENT D’EXPLOITATION FIXE, PWM(--) : Régler la fréquence et le rapport cyclique. MODE CONTROL – COMMANDE DE MODE, INI(61) : Arrêter la sortie d’impulsions au port indiqué. HIGH-SPEED COUNTER PV READ – LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE, PRV(62) : Lire l’état de la sortie d’impulsions d’un port spécifié. 124 Chapitre Carte de gestion d’axes 2-2 Sorties d’impulsions à rapport cyclique variable Sortie d’impulsions à rapport cyclique variable Setup de l’API Bits 12 à 15 de DM 6643/DM 6644 réglés à 1. Carte de gestion d’axes Sortie d’impulsions à rapport cyclique variable Programme à contact IMPULSION AVEC RAPP. CYCLIQUE VARIABLE Cible : 91,6 Hz, 1,5 kHz ou 5,9 kHz Rapp. cycl. : 1 à 99 (voir Rem.) Sortie d’impulsions du port 1 (CN1) Sortie d’impulsions du port 2 (CN2) Rapport cyclique : Rapport de la durée à ON par cycle d’impulsions. Chaque cycle Chaque exécution Début de la sortie d’imp. COMMANDE DE MODE Arrêt de la sortie d’imp. Réglages du Setup de l’API LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE Etat de la sortie d’impulsions Port 1 : AR 05 Port 2 : AR 06 Etat de la sortie d’impulsions lu Avant de produire les impulsions à rapport cyclique variable du port 1 ou 2, commuter l’API au mode PROGRAM et effectuer les réglages suivants dans le Setup de l’API. Réglages du fonctionnement des ports 1 et 2 Effectuer les réglages suivants pour régler le port 1 (DM 6643) ou le port 2 (DM 6644) au mode de sortie d’impulsions à rapport cyclique variable. Les ports 1 et 2 sont réglés séparément. Bit 15 DM 6643 1 0 Bit 15 DM 6644 1 Type d’impulsions du port 1 0 : Sortie d’imp. à rapp. cyclique fixe 1 : Sortie d’imp. à rapp. cyclique variable Type d’impulsions pour le port 2 0 : Sortie d’imp. à rapp. cyclique fixe 1 : Sortie d’imp. à rapp. cyclique variable Par défaut : 0 (Sortie d’imp. à rapport cyclique fixe) Par défaut : 0 (Sortie d’imp. à rapport cyclique fixe) Rem. 0 1. Lorsqu’un port est réglé pour la sortie d’impulsions à rapport cyclique variable, il ne peut pas produire les impulsions à rapport cyclique fixe. 2. Lors de l’utilisation de la sortie d’impulsions à rapport cyclique variable, toutes les instructions sont utilisées, indépendamment du mode du port. Instruction Fonction Mode compteur à grande vitesse Mode positionnement simple PWM(--) INI(61) Réglage de la Arrêt de la sortie fréquence d’impulsions Réglage du rapport cyclique Début de la sortie d’impulsions Activée PRV(62) Lecture de l’état de la sortie d’impulsions Activée 125 Chapitre Carte de gestion d’axes 2-2 Début de la sortie d’impulsions PWM(--) est utilisé pour indiquer le numéro du port, la fréquence d’impulsions et le rapport cyclique, et pour démarrer la sortie d’impulsions. @PWM(--) P F D P : Port 001 : Port 1 002 : Port 2 F : Fréquence de sortie 000 = 5,9 kHz 001 = 1,5 kHz 002 = 91,6 Hz D : Coeff. d’exploitation Indiquer un BCD à 4 digits constant ou une adresse de mot où la valeur de D est sauvegardée comme BCD à 4 digits représentant une valeur de pourcentage. Ce réglage doit être compris entre 0001 et 0099 (c.–à–d. 1% à 99%). La sortie d’impulsions commence à utiliser les réglages indiqués par PWM(--) et continue avec ces réglages jusqu’à ce que PWM(--) s’exécute de nouveau avec différents réglages ou jusqu’à ce que INI(61) s’exécute pour interrompre les sorties d’impulsions à partir du port indiqué. Interruption de la sortie d’impulsions La sortie d’impulsions d’un port est arrêtée en exécutant INI(61) avec C=003. Indiquer le port 1 ou 2 (P=001 ou 002). @INI(61) P 003 P : Port 001 : Port 1 002 : Port 2 000 Exemple : Utilisation de PWM(--) L’exemple suivant présente PWM(––) utilisée pour débuter une sortie d’impulsions de 1,5 kHz du port 1 et puis pour modifier le rapport cyclique de 50% à 25%. La sortie d’impulsions est alors arrêtée avec INI(61). Avant d’exécuter le programme, vérifier que les réglages dans le Setup de l’API sont comme suit : DM 6643 : 1000 (réglage de l’impulsion à rapport cyclique variable pour le port 1). 00000 @PWM(--) Lorsque l’IR 00000 est à ON, un signal de1,5 kHz est produit du port 1 avec un rapport cyclique de 50%. 001 001 #0050 00001 @PWM(--) Lorsque l’IR 00001 est à ON, le rapport cyclique est modifié de 25%. 001 001 #0025 00002 @INI(61) 001 003 000 126 Lorsque l’IR 00002 est à ON, INI(61) arrête la sortie d’impulsions du port 1. Chapitre Carte de gestion d’axes 2-2 Le schéma suivant présente le rapport cyclique de la sortie d’impulsions du port 1 pendant que le programme s’exécute. Impulsions à rapport cyclique à 25% Impulsions à rapport cyclique à 50% 50% 50% 25% 1,5 kHz IR 00000 à ON 75% 1,5 kHz IR 00001 à ON IR 00002 à ON (Arrêt) 2-2-11 Détermination de l’état des ports 1 et 2 L’état des sorties d’impulsions (impulsions à rapport cyclique fixe ou variable) des ports 1 et 2 est déterminé en lisant l’état des drapeaux appropriés dans les zones SR et AR ou en exécutant PRV(62). Lecture de l’état du drapeau Les mots de mémoire associés à l’état des sorties d’impulsions des ports 1 et 2 sont présentés dans les tableaux suivants. L’état de la sortie d’impulsions est déterminé en lisant le contenu des mots et des drapeaux indiqués dans ces mots. • Codes d’erreur de la carte interne Mot AR 04 Bits 08 à 15 Emplacement Empl. 2 Fonction Les codes d’erreur sont sauvegardés comme hexadimaux à deux digits : 00 Hex : Normal 01 et 02 Hex : Erreur matériel 02 Hex : Erreur Setup de l’API 03 Hex : API arrêté pendant la sortie d’impulsions • Voyants d’état de fonctionnement Mot Port 1 AR 05 Port 2 AR 06 Bit 12 Drapeau décélération Indique le passage par un point de décélération lorsque la décélération est indiquée. 0 : Non indiqué 1 : Indiqué 13 Drapeau nombre d’impulsions 14 Drapeau sortie d’impulsions terminée Drapeau état de la sortie d’impulsions Sauvegarde si le nombre d’impulsions est indiqué ou non. 0 : Non indiqué 1 : Indiqué Indique l’état de l’accomplissement de la sortie d’impulsions. 0 : Non terminé 1 : Terminé Indique l’état de fonctionnement de la sortie d’impulsions. 0 : Sortie d’impulsions arrêtée 1 : Sortie d’impulsions en cours 15 Utilisation de PRV(62) Fonction Dénomination L’état des sorties d’impulsions est déterminé en utilisant PRV(62). Indiquer le port 1 ou 2 (P=001 à 002) et le mot D de destination. @PRV(62) P 001 D P : Spécificateur de port C : 001 D : Premier mot de destination 127 Chapitre Carte de gestion d’axes 2-2 Le bit comportant l’information de l’état de la sortie d’impulsions sauvegardée dans D possède les significations suivantes : Bit 04 05 06 07 Fonction Drapeau décélération Drapeau nombre d’impulsions Drapeau sortie d’impulsions terminée Drapeau état de la sortie d’impulsions Description Indique la décélération. (0 : Sans décélération ; 1 : Décélération) Indique si le nombre total d’impulsions est indiqué. (0 : Non indiqué ; 1 : Indiqué.) Indique si la sortie d’impulsions est terminée. (0 : Non terminé ; 1 : Terminé) Indique si les impulsions sont produites. (0 : Sans sortie ; 1 : Sortie en cours) En plus de ce qui précède, les bits 0 et 1 sauvegardent les informations sur l’état du compteur à grande vitesse. Tous les autres bits sont à 0. Rem. Lorsque PRV(62) est utilisé pour lire l’état d’un port, l’information la plus récente est lue indépendamment de la durée de cycle de l’API. 2-2-12 Précautions d’utilisation des fonctions de la sortie d’impulsions La carte de gestion d’axes divise l’horloge de source à 500 kHz en un nombre entier pour produire une fréquence de sortie d’impulsions. Pour cette raison, le réglage de la fréquence et la fréquence réellement produite diffèrent. Se reporter à la formule suivante pour le calcul de la fréquence réelle. Fréquence de réglage : Fréquence de sortie définie par l’utilisateur. Structure de la sortie d’impulsions Rapport de division : Nombre entier défini dans le circuit de division pour produire des impulsions de sortie à la fréquence définie. Fréquence réelle : Fréquence réelle d’impulsions de sortie produite par le circuit de division. Définir le rapport de division (nombre entier) selon la fréquence définie par l’utilisateur. Impulsion de sortie (fréquence réelle) Horloge pour générer des impulsions 500 kHz Circuit de division Fréquence réelle (kHz) = 500 (kHz) / INT(500 (kHz) / Fréquence définie (kHz) ) INT : Fonction pour calculer le nombre entier INT (500 / fréquence définie) : Rapport de division La différence entre la fréquence définie et la fréquence réelle augmente à mesure que la fréquence augmente, comme indiqué dans les exemples du tableau suivant. 128 Chapitre Carte codeur absolu Fréquence définie (kHz) 2-3 2-3 Fréquence réelle (kHz) 45,46 à 50,00 41,67 à 45,45 38,47 à 41,66 50,00 45,45 41,67 31,26 à 33,33 29,42 à 31,25 27,78 à 29,41 33,33 31,25 29,41 20,01 à 20,83 19,24 à 20,00 18,52 à 19,23 20,83 20,00 19,23 10,01 à 10,20 9,81 à 10,00 9,62 à 9,80 10,20 10,00 9,80 5,01 à 5,05 4,96 à 5,00 4,90 à 4,95 5,05 5,00 4,95 3,02 à 3,03 3.00 à 3,01 2,98 à 2,99 3,03 3,01 2,99 Carte codeur absolu 2-3-1 Modèle Dénomination Carte codeur absolu Modèle CQM1H-ABB21 Caractéristiques techniques 2 entrées pour les codeurs absolus 2-3-2 Fonctions La carte codeur absolu est une carte interne qui compte deux entrées de code binaire Gray (ABS) provenant d’un codeur rotatif absolu. Compteur à grande vitesse absolu avec fonction d’interruption La carte codeur absolu lit les codes binaires Gray (codes binaires inversés) transmis par un codeur absolu jusqu’aux ports 1 et 2 à un taux de comptage maximal de 4 kHz et effectue le traitement selon les valeurs d’entrée. Modes de fonctionnement Mode BCD et mode 360°. Résolutions L’un des éléments suivants est réglé sur : 8 bits (0 à 255), 10 bits (0 à 1023) ou 12 bits (0 à 4095). La résolution doit être définie pour correspondre à celle du codeur connecté. Interruptions Un sous–programme d’interruption s’exécute lorsque la PV (valeur en cours) du compteur à grande vitesse absolu correspond à une valeur spécifiée ou se trouve à l’intérieur d’une plage de comparaison spécifiée. Rem. L’utilisation d’un codeur absolu signifie que les données de position sont maintenues même pendant des interruptions d’alimentation, otant la nécessité d’exécuter un retour d’origine lorsque l’alimentation revient. En outre, la fonction de compensation d’origine permet à l’utilisateur d’indiquer n’importe quelle position comme origine. 129 Chapitre Carte codeur absolu 2-3 2-3-3 Configuration du système carte codeur absolu Produits Tableau de traitement Moteur Codeur absolu Pilote du moteur (onduleur) Câble de connecteur E69-DC5 Détecte l’angle de la rotation et commande le tableau de traitement. 2-3-4 Emplacements concernés de la carte interne La carte codeur absolu peut seulement être montée dans l’emplacement 1 (emplacement droit) de l’unité centrale du CQM1-CPU51/61. Emplacement 1 Emplacement 2 Carte codeur absolu 2-3-5 Dénominations et fonctions La carte codeur absolu est équipée du connecteur CN1 du port 1 et du connecteur CN2 du port 2 pour recevoir les entrées de code binaire Gray depuis les codeurs rotatifs absolus. CQM1H-ABS02 CN1 Entrée du codeur absolu 1 Connecteur compatible Fiche : XM2D-1501 (OMRON) Capot : XM2S-1511 (OMRON) CN2 Entrée du codeur absolu 2 130 Deux ensembles fiche+capot sont fournis en tant qu’accessoires standard. Chapitre Carte codeur absolu 2-3 Voyants LED Prêt (vert) Allumé lorsque la carte codeur absolu est prête. Entrée du codeur (orange) Se reporter au tableau suivant. Erreur (rouge) Allumé lorsqu’il y a une erreur dans le Setup de l’API pour la carte codeur absolu. Voyants d’entrée du codeur Fonction Port 1 IN1 Port 2 IN2 Allumé lorsque le bit 0 d’entrée est à ON. INC1 INC2 Allumé lorsque l’entrée de valeur est incrémentée. DEC1 DEC2 Allumé lorsque l’entrée de valeur est décrémentée. 2-3-6 Caractéristiques techniques de l’entrée du codeur absolu Instructions Instruction (@)CTBL(63) (@)INI(61) (@)PRV(62) (@)INT(89) Définition Utilisée pour enregistrer les tableaux de comparaison de cible ou de plage ou pour démarrer les comparaisons pour les tableaux de comparaison précédemment enregistrés. Utilisée pour commencer ou arrêter la comparaison en utilisant le tableau de comparaison enregistré ou pour modifier la PV d’un compteur à grande vitesse. Utilisée pour lire la PV ou l’état du compteur à grande vitesse. Utilisée pour exécuter le masquage de toutes les interruptions, telles que les interruptions d’entrée, la temporisation de trame et de compteur à grande vitesse. Drapeaux et bits appropriés Bits pour la carte codeur absolu dans l’emplacement 2 Mot Bits IR 232 00 à 15 IR 233 00 à 15 IR 234 00 à 15 IR 235 00 à 15 IR 236 à IR 243 00 à 15 Dénomination Port 1 Port 2 Mot de la PV (quatre bits à l’extrême droite) Mot de la PV (quatre bits à l’extrême gauche) Mot de la PV (quatre bits à l’extrême droite) Mot de la PV (quatre bits à l’extrême gauche) Non utilisé. Fonction La PV du compteur à grande vitesse absolu, rattaché au port 1 de la carte codeur absolu, est sauvegardée comme un BCD à 8 digits après chaque cycle. --- 131 Chapitre Carte codeur absolu 2-3 Drapeaux AR Mot AR 05 Bit 00 Dénomination Port 1 01 AR 06 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 1 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 2 Lors de l’utilisation du compteur à grande vitesse 1 en mode de comparaison de plage, chaque bit passe à ON lorsque la condition correspondante est satisfaite. 02 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 3 03 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 4 04 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 5 05 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 6 06 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 7 07 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 8 08 Drapeau de Indique l’état du fonctionnement de comparaison. comparaison OFF : Arrêté du compteur à ON : Comparé grande vitesse 00 01 132 Drapeaux de comparaison de plage du compteur à grande vitesse Fonction Port 2 Drapeaux de comparaison de plage du compteur à grande vitesse A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 1 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 2 Lors de l’utilisation du compteur à grande vitesse 2 en mode de comparaison de plage, chaque bit passe à ON lorsque la condition correspondante est satisfaite. 02 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 3 03 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 4 04 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 5 05 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 6 06 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 7 07 A ON lorsque la PV du compteur satisfait les conditions pour la plage de comparaison 8 08 Drapeau de Indique l’état du fonctionnement de comparaison. comparaison OFF : Arrêté du compteur à ON : Comparé grande vitesse Chapitre Carte codeur absolu 2-3 Drapeaux de la zone SR Mot IR 252 Bit Fonction 01 Bit de compensation d’origine du compteur à grande vitesse absolu 1 (Port 1) Bit de compensation d’origine du compteur à grande vitesse absolu 2 (Port 2) Drapeau d’erreur de la carte interne 02 IR 254 15 Bits de la zone AR Mot AR 04 Bits Dénomination 08 à 15 Code d’erreur de la carte interne dans l’emplacement 2 Fonction 00 Hex : Pas d’erreur 01 ou 02 Hex : Erreur matériel 03 Hex : Erreur Setup de l’API Réglages relatifs au Setup de l’API Mot Bits Fonction DM 6611 00 à 15 Valeur de compensation d’origine sauvegardée (BCD) pour le port 1 DM 6612 00 to 15 Valeur de compensation d’origine sauvegardée (BCD) pour le port 2 DM 6643 00 à 07 Port 1 08 à 15 DM 6644 00 à 07 08 à 15 Port 2 Quand le réglage est activé ? 0000 à 4095 (BCD à 4 digits) Lorsque le bit de L’origine est compensée lorsque le compensation bit de compensation d’origine d’origine est à (SR 25201 pour le port 1, SR 25202 ON en mode pour le port 2) est à ON. La valeur PROGRAM. de compensation est définie comme le BCD à 4 digits entre 0000 et 4095 en mode BCD ou en mode 360°. Résolution 00 Hex : 8 bits 01 Hex : 10 bits 02 Hex : 12 bits Réglage du mode de fonctionnement 00 Hex : Mode BCD 01 Hex : Mode 360° Résolution 00 Hex : 8 bits 01 Hex : 10 bits 02 Hex : 12 bits Réglage du mode de fonctionnement 00 Hex : Mode BCD 01 Hex : Mode 360° Lorsque le fonctionnement commence. 2-3-7 Interruptions du compteur à grande vitesse La carte codeur absolue connecte un codeur absolu. Le traitement d’interruption est effectué en réponse à l’entrée des signaux de code binaire Gray aux ports 1 ou 2 depuis un codeur rotatif absolu. Les deux ports sont actionnés séparément. Le compteur pour le port 1 s’appelle le compteur à grande vitesse absolu 1 et le compteur pour le port 2 s’appelle le compteur à grande vitesse absolu 2. Ce chapitre décrit comment utiliser les compteurs à grande vitesse absolus 1 et 2. La vitesse de comptage est de 4 kHz. Traitement Signaux d’entrée et modes de fonctionnement Deux modes de fonctionnement sont utilisés pour les compteurs à grande vitesse absolus 1 et 2. 133 Chapitre Carte codeur absolu 1, 2, 3... 2-3 1. Mode BCD : Le code binaire Gray du codeur rotatif absolu est d’abord converti en données (hexadécimales) binaires normales puis converti en BCD. 2. Mode 360° : L’entrée du codeur rotatif absolu est convertie à un angle entre 0° et 359°, avec une valeur maximale de résolution de 360°. Les réglages de CTBL(63) sont effectués par unités de 5°. La résolution des entrées de code binaire Gray aux ports 1 et 2 est l’une des trois résolutions énumérées dans le tableau suivant, qui présente également la plage des valeurs associées à chaque résolution dans chaque mode de fonctionnement. PV possibles Résolution Mode BCD 0 à 255 0 à 1023 0 à 4095 8 bits 10 bits 12 bits Mode 360° Sortie de la PV : 0° à 359° (unités de 1°) Paramétrages du tableau de comparaison : 0 0° à 355° (unités de 5°) Réglage du compteur à grande vitesse absolu en mode 360° La tableau suivant présente comment les réglages, effectués dans des unités de 5°, sont convertis en codes binaires Gray selon la résolution. 5° à 45° Résolution 5° 10° 15° 20° 25° 30° 35° 40° 45° 8 bits 4 7 11 14 18 21 25 28 32 10 bits 14 28 43 57 71 85 100 114 128 12 bits 57 114 171 228 284 341 398 455 512 50° à 355° Les conversions des valeurs restantes sont calculées comme suit, en se basant sur les conversions dans la plage de 5° à 45° donnée ci-dessus : Réglage (°) ÷ 45° = A avec B(°) restantes. Conversion = (Conversion de 45°) x A + (Conversion de B) Par exemple, 145° à une résolution de 8 bits 145° ÷ 45° = 3 avec 10° restants. Par conséquent, valeur convertie = 32 x 3 + 7 = 103 Aux résolutions de 10 et 12 bits, il est possible que les petites différences dans les calculs ont une conséquence dans le traitement de l’interruption non exécuté même lorsque la PV correspond aux conditions de comparaison. Comptage d’interruption du compteur à grande vitesse absolu La PV du compteur est vérifiée en utilisant les deux méthodes suivantes : • Méthode de la valeur spécifiée • Méthode de la comparaison de plages Se reporter à la page 37 pour une description de chaque méthode. 134 Chapitre Carte codeur absolu 2-3 Procédure pour l’utilisation des compteurs à grande vitesse absolus Déterminer le mode de fonctionnement et la résolution. Mode de fonctionnement : Mode BCD ou 360° Résolution : 8 bits, 10 bits ou 12 bits Monter la carte et câbler les entrées. Setup de l’API (DM 6643/DM 6644) Mode de fonctionnement : Mode BCD ou 360° Résolution : 8 bits, 10 bits ou 12 bits Compensation d’origine Régler le codeur dans la position désirée comme origine. Vérifier la PV du compteur à grande vitesse absolu 1 ou 2 (IR 232/ IR 233 ou IR 234/IR 235). Passer à ON le bit de compensation d’origine du compteur à grande vitesse absolu (SR 25201 ou SR 25201). La compensation d’origine (BCD à 4 digits) est sauvegardée dans le Setup de l’API (DM 6611 ou DM 6612). Vérifier que 0000 est sauvegardé comme la PV du compteur à grande vitesse absolu 1 ou 2 (IR 232 ou IR 234). Programme à contact REGISTER COMPARISON TABLE, CTBL(63) – TABLEAU DE COMPARAISON DES ENREGISTREMENTS : Enregistrement du tableau de comparaison du port spécifique et début de comparaison MODE CONTROL, INI(61) – COMMANDE DE MODE : Modification de la PV du port spécifique et début de comparaison HIGH-SPEED COUNTER PV READ, PRV(62) – LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE : Lecture de la PV du compteur à grande vitesse du port spécifique ; lecture de l’état de comparaison du compteur à grande vitesse ; lecture du résultat de comparaison de plages SUBROUTINE DEFINE, SBN(92) and RETURN, RET(93) – DETERMINATION DU SOUS-PROGRAMME et RETOUR : Création de sous–programme d’interruption (seulement lors de l’utilisation des interruptions des compteurs à grande vitesse absolus 1 et 2) 135 Chapitre Carte codeur absolu 2-3 Fonction du compteur à grande vitesse Port 1 Bit N° sélecteur. 20 Bit 21 Bit 22 Mode/Résolution Comp. d’origine Mode BCD/Mode 360 8 bist, 10 bits ou 12 bits Port 1 : SR 25201 Port 2 : SR 25202 Interruption de contrôle de comptage Comptage . . Setup de l’API Setup de l’API . DM 6643/DM 6644 Lieu de sauvegarde de la comp. d’origine Port 1 : DM 6611 Port 2 : DM 6612 Bit 29 TABLEAU DE COMPARAISON DES ENREGISTREMENTS COMMANDE DE MODE Bit 211 Modif. de la PV Début/fin de comparaison Chaque cycle Sous-progr. d’interruption Enregistr. du tableau Début de comparaison Bit 210 Port 2 Bit 20 Sous-programme spécifié exécuté. Programme à contact Chaque exécution Rem. : Pour interruptions du compteur à grande vitesse absolu. Résultat de comparaison de plages AR 0500 à AR 0508 (Port 1) AR 0600 à AR 0608 (Port 2) . Bit 211 PV des compteurs Port 1 : IR 233 IR 232 Port 2 : IR 235 IR 234 PRV (62) LECTURE DE LA PV DU COMPTEUR A GRANDE VITESSE Lecture de la PV Lecture de l’état de fonctionnement de comparaison Lecture du réultat de compar. de plages Setup de l’API préliminaire Effectuer les réglages suivants en mode PROGRAM avant d’utiliser les interruptions du compteur à grande vitesse absolu 1 ou 2 dans un programme. Paramétrage du compteur à grande vitesse absolu Le DM 6643 contient les paramètres pour le compteur à grande vitesse absolu 1 et le DM 6644 contient les paramètres pour le compteur à grande vitesse absolu 2. Ces mots déterminent les modes de fonctionnement et les paramètrages de résolution. Bit 15 DM 6643/DM 6644 Mode de fonctionnement : 00 : mode BCD 01 : mode 360° Paramétrage de résolution : 00 : 8 bits 01 : 10 bits 02 : 12 bits Par défaut : 0000 (Mode BCD, résolution 8 bits) 136 0 Chapitre Carte codeur absolu 2-3 Paramétrage du mot d’actualisation de l’entrée Le DM 6634 contient les paramètres du mot d’actualisation de l’entrée pour le compteur à grande vitesse absolu 1 et le DM 6635 contient les paramètres pour le compteur à grande vitesse absolu 2. Effectuer ces réglages lorsqu’il est nécessaire d’actualiser les entrées. Bit 15 0 DM 6634/DM 6635 Nombre de mot (BCD à 2 digits) 00 à 12 Premier mot (BCD à 2 digits) 00 à 11 Par défaut : 0000 (pas d’actualisation d’entrées) Compensation d’origine Il est possible de compenser une anomalie entre l’origine d’un codeur absolu et l’origine réelle. Après le réglage de la compensation d’origine, les données du codeur absolu sont ajustées avant d’être produites comme PV. Une fois réglée, la compensation d’origine reste jusqu’à ce que la prochaine compensation d’origine soit exécutée ; elle reste en effet même après que l’alimentation soit à OFF. La compensation d’origine est paramétrée séparément pour les ports 1 et 2. Le réglage par défaut n’est pas pour une compensation d’origine. Suivre la procédure ci-dessous pour définir la compensation d’origine : 1, 2, 3... 1. Régler le codeur absolu à l’emplacement d’origine voulu. 2. S’assurer que le sélecteur 1 du micro-interrupteur de l’unité centrale du CQM1H est à OFF (permettant aux périphériques de programmation d’écrire du DM 6144 au DM 6568), puis commuter l’API en mode PROGRAM. 3. Régler la résolution absolue dans le DM 6643 ou le DM 6644. 4. S’assurer qu’une erreur fatale ou que l’erreur FALS 9C ne s’est pas produite. 5. Lire la PV du compteur à grande vitesse absolu à partir des IR 232 et IR 233 (port 1) ou des IR 234 et IR 235 (port 2) pour déterminer la valeur avant compensation d’origine. 6. Passer à ON le bit de compensation d’origine du compteur à grande vitesse absolu 1 (SR 25201) ou le bit de compensation d’origine du compteur à grande vitesse absolu 2 (SR 25202) à partir d’un périphérique de programmation. La valeur de compensation est écrite dans le DM 6611 (port 1) ou dans le DM 6612 (port 2) et le bit de compensation d’origine passe à OFF automatiquement. La valeur de compensation est sauvegardée comme BCD à 4 digits entre 0000 et 4095 indépendamment du réglage du compteur sur le mode BCD ou 360°. 7. Lire le mot de la PV du compteur à grande vitesse pour vérifier que la compensation d’origine s’est terminée normalement (la PV est 0000 après compensation d’origine). La valeur de compensation reste effective jusqu’à ce qu’elle soit modifiée de nouveau par la procédure ci-dessus. Programmation Utiliser les étapes suivantes pour programmer les compteurs à grande vitesse absolus 1 et 2. Les compteurs à grande vitesse absolus 1 et 2 commencent à compter lorsque les paramètres du Setup de l’API sont activés, mais les comparaisons ne sont 137 Chapitre Carte codeur absolu 2-3 pas effectuées avec la tableau de comparaison et les interruptions ne sont pas produites à moins que l’instruction CTBL(63) soit exécutée. La PV du compteur à grande vitesse absolu 1 est maintenue dans les IR 232 et IR 233 et la PV du compteur à grande vitesse absolu 2 est maintenue dans les IR 234 et IR 235. Début et arrêt des comparaisons 1, 2, 3... 1. Utiliser l’instruction CTBL(63) pour sauvegarder le tableau de comparaison dans le CQM1H et commencer les comparaisons. P : Port 001 : Port 1 002 : Port 2 (@)CTBL(63) P C C : Mode (BCD à 3 digits) 000 : Enregistrement du tableau de valeurs spécifiées et début de comparaison 001 : Enregistrement du tableau de comparaison de plages et début de comparaison 002 : Enregistrement du tableau de valeurs spécifiées seulement 003 : Enregistrement du tableau de comparaison de plages seulement TB TB : Premier mot du tableau de comparaison P indique le port. Régler P=001 pour indiquer le compteur à grande vitesse absolu 1 (c.-à-d. port 1) ou P=002 pour indiquer le compteur à grande vitesse absolu 2 (port 2). En réglant à 000 la valeur de C, cela enregistre un tableau de comparaison de valeur spécifiée et en réglant à 001, cela enregistre un tableau de comparaison de plages. La comparaison commence sur l’accomplissement de cet enregistrement. Tandis que les comparaisons sont effectuées, les interruptions du compteur à grande vitesse absolu sont exécutées selon le tableau de comparaison concerné. Se reporter au paragraphe 5-16-7 TABLEAU DE COMPARAISON DES ENREGISTREMENTS –CTBL(63) pour de plus amples informations sur l’enregistrement du tableau de comparaison. Si C est à 002, alors les comparaisons sont faites en utilisant la méthode de valeur spécifiée ; si C est à 003, alors elles sont faites en utilisant la méthode de comparaison de plages. Dans les deux cas, le tableau de comparaison est sauvegardé mais les comparaisons ne commencent pas réellement jusqu’à ce que INI(61) soit utilisée. Rem. À la différence des autres compteurs à grande vitesse, les interruptions des compteurs à grande vitesse absolus 1 et 2, la valeur spécifiée et les limites supérieures et inférieures enregistrées dans le tableau de comparaison sont toutes réglées dans un mot chacun. 2. Pour arrêter les comparaisons, exécuter INI(61) comme indiqué ci-dessous. Indiquer le port 1 ou 2 en P (P=001 ou 002). (@)INI(61) P 001 P : Port 001 : Port 1 002 : Port 2 000 Pour recommencer les comparaisons, paramétrer le premier opérande au numéro du port et le deuxième opérande à 000 (exécuter la comparaison), et exécuter INI(61). Un tableau sauvegardé est maintenu dans le CQM1H lors du fonctionnement (c.–à–d. pendant l’exécution du programme) jusqu’à ce qu’un nouveau tableau soit sauvegardé. 138 Chapitre Carte codeur absolu 2-3 Lecture de la PV des compteurs à grande vitesse absolus 1 et 2 Les deux méthodes suivantes sont utilisées pour les PV des compteurs à grande vitesse absolus 1 et 2 : • Lecture des PV à partir de la mémoire (IR 232 ou IR 234) • Utilisation de PRV(62) Lecture des PV à partir de la mémoire Les PV des compteurs à grande vitesse 1 et 4 sont sauvegardées dans les mots de zone de données comme BCD à 8 digits, indépendamment du fait que la carte soit en mode BCD ou 360°. 4 digits à l’extrême gauche 4 digits à l’extrême droite Port 1 : IR 233 IR 232 Port 2 : IR 235 IR 234 Mode BCD Mode 360 0000 0000 à 0000 4095 0000 0000 à 0000 0359 Rem. Ces mots sont actualisés une fois par cycle, donc ils diffèrent de la PV réelle. Utilisation de PRV(62) PRV(62) est utilisée pour lire les PV des compteurs à grande vitesse absolus 1 et 2. Indiquer le compteur à grande vitesse absolu 1 ou 2 en P (P=001 ou 002). (@)PRV(62) P 000 D P : Port 001 : Port 1 002 : Port 2 D : Premier mot de destination La PV du compteur à grande vitesse absolu spécifié est sauvegardée comme indiqué ci–dessous. La PV est sauvegardée comme un BCD à 8 digits, indépendamment du fait que la carte soit en mode de BCD ou en mode 360°. 4 digits à l’extrême gauche 4 digits à l’extrême droite D+1 D Mode BCD Mode 360 0000 0000 à 0000 4095 0000 0000 à 0000 0359 Rem. La PV est lue exactement au moment où PRV(62) s’exécute. Lecture de l’état du compteur à grande vitesse absolu Les deux manières suivantes sont utilisées pour lire l’état des compteurs à grande vitesse 1 et 2 : • Lecture des drapeaux de la zone AR • Utilisation de PRV(62) Lecture des drapeaux de la zone AR Les mots du CQM1H concernant les compteurs à grande vitesse absolus 1 et 2 sont énumérés ci-dessous. Il est possible de déterminer l’état des compteurs à grande vitesse absolus 1 et 2 en lisant ces mots de données. • Codes d’erreur de la carte interne Mot AR 04 Bits 08 à 15 Fonction Empl. 2 Les codes d’erreur sauvegardés sont les suivants : 00 Hex : Normal 01 ou 02 Hex : Erreur matériel 03 Hex : Erreur Setup de l’API 139 Chapitre Carte codeur absolu 2-3 • Mots indiquant l’état opérationnel Mot Bit Dénomination Compteur 1 Compteur 2 AR 05 AR 06 00 Drapeaux de comparaison de plage du compteur à grande vitesse 01 02 03 04 05 06 07 08 Drapeau de comparaison du compteur à grande vitesse Fonction A ON lorsque la première Lorsque le compteur à grande vitesse est utilisé condition est remplie. A ON lorsque la seconde au format de comparaison de plages, condition est remplie. un bit passe à ON A ON lorsque la lorsque la condition troisième condition est correspondante est remplie. remplie. A ON lorsque la quatrième condition est remplie. A ON lorsque la cinquième condition est remplie. A ON lorsque la sixième condition est remplie. A ON lorsque la septième condition est remplie. A ON lorsque la huitième condition est remplie. Indique l’état de l’opération de comparaison. 0 : Arrêté 1 : En cours Utilisation de PRV(62) L’état des compteurs à grande vitesse absolus 1 et 2 est également déterminé en exécutant PRV(62). Indiquer le compteur à grande vitesse 1 ou 2 (P=001 ou 002) et le mot de destination D. @PRV(62) P 001 D P : Port 001 : Port 1 002 : Port 2 D : Premier mot de destination L’état du compteur à grande vitesse spécifié est sauvegardé dans le bit 00 de D, comme indiqué dans le tableau suivant : Bit 00 Fonction Drapeau opération de comparaison (0 : Arrêté ; 1 : En cours) Les bits 01à 15 sont à 0. Exemple de fonctionnement Cet exemple présente une programmation recevant un signal d’entrée depuis un codeur rotatif absolu au port 1 et utilisant cette entrée pour commander les sorties IR 10000 à IR 10003. Le compteur à grande vitesse absolu 1 est réglé pour la résolution de 8 bits et le mode 360° et les comparaisons de plages sont effectuées. Avant d’exécuter le programme, régler le DM 6643 à 0100 (port 1 : mode 360°, résolution de 8 bits). D’autres paramètres du Setup de l’API utilisent des paramètres par défaut (les entrées ne sont pas actualisées au moment du traitement d’interruption). 140 Chapitre Carte codeur absolu 2-3 De plus, les données suivantes sont sauvegardées pour le tableau de comparaison : DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 DM 0006 DM 0007 DM 0008 DM 0009 DM 0010 DM 0011 DM 0012 DM 0013 DM 0014 DM 0015 DM 0016 DM 0017 DM 0018 DM 0019 DM 0020 DM 0021 DM 0022 DM 0023 0000 0085 0100 0090 0175 0101 0180 0265 0102 0270 0355 0103 0000 0000 FFFF 0000 0000 FFFF 0000 0000 FFFF 0000 0000 FFFF Limite inférieure #1 (0°) Limite supérieure #1 (85°) Numéro sous-programme 100 Limite inférieure #2 (90°) Limite supérieure #2 (175°) Numéro sous-programme 101 Limite inférieure #3 (180°) Limite supérieure #3 (265°) Numéro sous-programme 102 Limite inférieure #4 (270°) Limite supérieure #4 (355°) Numéro sous-programme 103 Limite inférieure #1 (0°) Limite supérieure #1 (0°) Pas de num. sous-programme Limite inférieure #1 (0°) Limite supérieure #1 (0°) Pas de num. sous-programme Limite inférieure #1 (0°) Limite supérieure #1 (0°) Pas de num. sous-programme Limite inférieure #1 (0°) Limite supérieure #1 (0°) Pas de num. sous-programme Premier réglage de plage (0° à 85°) Second réglage de plage (90° à 175°) Troisième réglage de plage (180° à 265°) Quatrième réglage de plage (270° à 355°) Cinquième réglage de plage (non utilisé) Sixième réglage de plage (non utilisé) Septième réglage de plage (non utilisé) Huitième réglage de plage (non utilisé) En mode 360°, les limites supérieures et inférieures sont réglées en unités de 5°. 141 Chapitre Carte codeur absolu 2-3 00000 @CTBL(63) 001 001 Indique le port 1, sauvegarde le tableau de comparaison dans le format correspondant de plage et commence à comparer. DM 0000 SBN(92) 100 25313 (toujours ON) MOV(21) #0001 Passe l’IR 10000 à ON. Met les autres bits à OFF dans l’IR 100. 100 RET(93) SBN(92) 101 25313 (toujours ON) MOV(21) #0002 Passe l’IR 10001 à ON. Met les autres bits à OFF dans l’IR 100. 100 RET(93) SBN(92) 102 25313 (toujours ON) MOV(21) #0004 Passe l’IR 10002 à ON. Met les autres bits à OFF dans l’IR 100. 100 RET(93) SBN(92) 103 25313 (toujours ON) MOV(21) #0008 Passe l’IR 10003 à ON. Met les autres bits à OFF dans l’IR 100. 100 RET(93) Le schéma suivant présente le rapport entre la PV du compteur à grande vitesse absolu 1 et les drapeaux de résultat de comparaison de plages AR 0500 à AR 0507 pendant que les instructions ci-dessus sont exécutées. AR 0500 AR 0501 AR 0502 AR 0503 AR 0504 à AR 0507 PV=0 142 85 90 175 180 265 270 355 360 Chapitre Carte de réglage analogique 2-4 2-4 Carte de réglage analogique 2-4-1 Modèle Dénomination Carte de réglage analogique Modèle CQM1H-AVB41 Caractéristiques techniques Quatre vis de réglage analogique 2-4-2 Fonction Chacune des valeurs réglées à l’aide des quatre résistances variables situées sur l’avant de la carte de réglage analogique est sauvegardée comme le BCD à 4 digits entre 0000 et 0200 dans les mots de réglage analogique (IR 220 à IR 223). En utilisant la carte de réglage analogique, un opérateur peut, par exemple, régler la valeur d’une instruction de temporisation en utilisant un réglage analogique (IR 220 à IR 223), et de ce fait légèrement accélérer ou ralentir la vitesse ou la temporisation d’un convoyeur simplement en ajustant une commande avec un tournevis, otant le besoin d’un périphérique de programmation. Utilisation de la temporisation analogique L’exemple suivant présente le réglage d’un BCD à 4 digits (0000 à 0200) sauvegardé dans les IR 220 à IR 223 utilisés comme réglage de la temporisation. 00005 TIM000 220 Le paramétrage de TIM000 est défini extérieurement dans l’IR 220 (la temporisation est exécutée en utilisant le paramétrage de la commande analogique 0). IR 220 IR 221 IR 222 IR 223 Tournevis cruciforme 143 Chapitre Carte de réglage analogique 2-4 2-4-3 Emplacements concernés de la carte interne La carte de réglage analogique peut être installé dans l’emplacement 1 (emplacement gauche) ou l’emplacement 2 (emplacement droit) de l’unité centrale de CQM1H–CPU51/61. Cependant, les deux emplacements ne sont pas utilisés en même temps. Emplacement 1 Emplacement 2 Installer dans un seul emplacement 2-4-4 Dénominations et fonctions Les quatre commandes analogiques de la carte de réglage analogique sont situées sur le panneau frontal. Le panneau frontal n’a aucun voyant. La valeur du réglage augmente pendant que la commande est tournée dans le sens horaire. Utiliser un tournevis cruciforme à cette fin. L’indication des IR 220 à IR 223 comme valeur d’ensemble d’une instruction TIM permet à la carte d’être utilisée comme temporisation analogique. Lorsque la temporisation est démarrée, les réglages analogiques sont sauvegardés comme valeur de temporisation. La valeur de cette commande est sauvegardée dans l’IR 220. La valeur de cette commande est sauvegardée dans l’IR 221. La valeur de cette commande est sauvegardée dans l’IR 222. La valeur de cette commande est sauvegardée dans l’IR 223. ! Attention Tant que l’alimentation est sur ON, les contenus des IR 220 à IR 223 sont constamment actualisés avec les valeurs des commandes correspondantes. S’assurer que ces mots ne sont pas écrits à partir du programme ou d’un périphérique de programmation. 2-4-5 Caractéristiques techniques Bits appropriés 144 Les valeurs des commandes analogiques de la carte de réglage analogique sont sauvegardées dans les adresses suivantes de la zone de la carte interne indépendamment de l’emplacement où la carte est montée. Chapitre Carte des E/S analogiques Mot Bits IR 220 IR 221 IR 222 IR 223 Paramétrage relatif au Setup de l’API 2-5 Dénomination 00 à 15 00 à 15 00 à 15 00 à 15 Commande analog. 1 Commande analog. 2 Commande analog. 3 Commande analog. 4 2-5 Fonction Les valeurs des commandes analogiques 0 à 3 sont sauvegardées comme valeurs BCD à 4 digits entre 0000 et 0200, avec chaque cycle. Aucun Carte des E/S analogiques 2-5-1 Modèle Dénomination Carte des E/S analogiques Modèle CQM1H-MAB42 Specifications 4 entrées analogiques (–10 à +10 V ; 0 à 5 V ; 0 à 20 mA ; plage de signal séparée pour chaque point) 2 sorties analogiques (-10 à +10 V ; 0 à 20 mA ; plage de signal séparée pour chaque point) 2-5-2 Fonction La carte des E/S analogiques est une carte interne comportant quatre entrées analogiques et deux sorties analogiques. Les plages de signaux utilisées pour chacun des quatre points d’entrée analogique sont –10 à +10 V, 0 à 5 V et 0 à 20 mA. Une plage séparée est définie pour chaque point. Le paramétrage dans le DM 6611 détermine les plages de signaux. Les plages de signaux utilisées pour chacun des deux points de sortie analogique sont –10 à +10 V et 0 à 20 mA. Une plage séparée de signaux est choisie pour chaque point. Le paramétrage dans le DM 6611 détermine la plage de signaux. 2-5-3 Configuration du système Carte des E/S analogiques Quatre points d’entrée analogique Deux points de sortie analogiques 145 Chapitre Carte des E/S analogiques 2-5 2-5-4 Emplacement de la carte interne concerné La carte des E/S analogiques est montée seulement sur l’emplacement 2 (emplacement droit) de l’unité centrale du CQM1H-CPU51/61. Emplacement 1 Emplacement 2 2-5-5 Dénominations et fonctions La carte des E/S analogiques possède un connecteur CN1 pour les quatres entrées analogiques et un connecteur CN2 pour les deux sorties analogiques. Carte des E/S analogiques du CQM1H-MAB42 CN1 Entrées analogiques 1 à 4 Connecteur compatible Fiche : XM2D-1501 (OMRON) Capot : XM2S-1511 (OMRON) CN2 Sorties analogiques 1 à 2 Deux ensembles fiche+capot sont fournis en tant qu’accessoires standard. Voyants LED RDY – PRET (Vert) Allumé lorsque les E/S analogiques sont effectuées. ERR – ERREUR (Rouge) Allumé lorsqu’il y a une erreur dans le Setup de l’API pour les E/S analogiques ou lorsqu’une erreur s’est produite pendant la conversion analogique. 146 Chapitre Carte des E/S analogiques 2-5 2-5-6 Caractéristiques techniques Entrées analogiques : données d’entrée et valeurs converties -10 à +10 V 0 à +10 V Valeur convertie (données binaires de 12 bits) -10 V Valeur convertie (données binaires de 12 bits) -5 V +5 V Signal d’entrée analogique +10 V 0V 5V 10 V Signal d’entrée analogique 0 à 5 V ou 0 à 20 mA Valeur convertie (données binaires de 12 bits) 0V 0 mA 2,5 V 10 mA 5V 20 mA Signal d’entrée analogique Sorties analogiques : réglage et données de sortie -10 à +10 V 0 à 20 mA Signal de sortie analogique Signal de sortie analogique 20 mA +10 V +5 V 0V Réglage (données binaires de 12 bits) 10 mA -5 V -10 V Exemples d’applications 0 mA Réglage (données binaires de 12 bits) La carte n’utilise aucune instruction spéciale. MOV(21) est utiliser pour lire des valeurs d’entrée analogique et pour définir des valeurs de sortie analogique. 147 Chapitre Carte des E/S analogiques 2-5 Bits appropriés Bits utilisés par la carte interne dans l’emplacement 2 Mot Bits IR 232 00 à 15 IR 233 00 à 15 IR 234 00 à 15 IR 235 00 à 15 IR 236 00 à 15 IR 237 00 à 15 Dénomination Valeur convertie de l’entrée analogique 1 Valeur convertie de l’entrée analogique 2 Valeur convertie de l’entrée analogique 3 Valeur convertie de l’entrée analogique 4 Réglage de la sortie analogique 1 Réglage de la sortie analogique 2 Fonction La valeur convertie de chaque entrée de la carte des E/S analogiques est sauvegardée comme un BCD à 4 digits chaque cycle. -10 à +10 V : F800 à 07FFF Hex 0 à 10 V : 0000 à 0FFF Hex 0 à 5 V/0 à 20 mA : 0000 à 0FFF Hex Le paramétrage de chaque sortie de la carte des E/S analogiques est sauvegardé comme un BCD à 4 digits (lire chaque cycle). -10 à +10 V : F800 à 07FF Hex 0 à 20 mA : 0000 à 07FF Hex Drapeaux de la zone SR Mot SR 254 Bit 15 Fonction Drapeau d’erreur de la carte interne Drapeaux de la zone AR Mot AR 04 Bits 08 à 15 Fonction Codes d’erreur pour la carte interne dans l’emplacement 2 00 Hex : Normal 01 à 02 Hex : Erreur matériel 03 Hex : Erreur du Setup de l’API 04 Hex : Erreur de conversion A/D ou D/A Paramétrage relatif au Setup de l’API Mot DM 6611 Bits 00 à 07 08 09 10 11 12 à 15 Fonction 00, 01 : plage de signaux d’entrée de l’entrée analogique 1 02, 03 : plage de signaux d’entrée de l’entrée analogique 2 04, 05 : plage de signaux d’entrée de l’entrée analogique 3 06, 07 : plage de signaux d’entrée de l’entrée analogique 4 Choix d’utilisation de l’entrée analogique 1 Choix d’utilisation de l’entrée analogique 2 Choix d’utilisation de l’entrée analogique 3 Choix d’utilisation de l’entrée analogique 4 Non utilisée (fixé à 0) 00 : -10 à +10 V 01 : 0 à 10 V 10 : 0 à 5 V 11 : Non utilisé. (0 à 20 mA sont distingués par la borne connectée). Indique l’utilisation ou la non–utilisation de la conversion A/D pour chaque port. 0 : Utiliser l’entrée (conversion) 1 : Ne pas utiliser l’entrée (sans conversion) Rem. Le niveau du signal de sortie analogique est déterminé par la borne connectée et il n’y a aucun paramétrage du Setup de l’API. 148 Chapitre Cartes de communications série 2-6 2-5-7 Procédure de l’application Déterminer les plages d’entrée analogique et le nombre d’entrées. Déterminer les plages de sortie analogique et le nombre de sorties. Câbler les entrées et sorties analogiques. Les entrées analogiques de 0 à 5 V et 0 à 20 mA sont choisies par les bornes connectées. Les sorties analogiques de 0 à 5 V et 0 à 20 mA sont choisies par les bornes connectées. Setup de l’API (DM 6611) Définir les plages de signaux pour les entrées analogiques. Définir d’utiliser ou non les entrées analogiques. Programme à contact 2-6 Entrées analogiques : lire les valeurs converties. Sorties analogiques : écrire les paramètres. Cartes de communications série Ce chapitre fournit une introduction à la carte de communications série. Pour de plus amples informations, se reporter au Manuel d’utilisation de la carte de communications série (W365). 2-6-1 Numéro du modèle Dénomination Carte de communications série Modèle Caractéristiques techniques CQM1H-SCB41 Un port RS-232 Un port RS-422A/485 2-6-2 Cartes de communications série La carte de communications série est une carte interne pour les API de série CQM1H. Une carte est installée dans l’emplacement 1 de la carte interne d’un API de série CQM1H. La carte n’est pas installée dans l’emplacement 2. La carte fournit deux ports de communications série pour la connexion d’ordinateurs hôtes, de terminaux programmables (TOP), de périphériques externes d’usage universel et de périphériques de programmation (à l’exclusion des consoles de programmation). Ceci permet d’augmenter facilement le nombre de ports de communications série pour un API de série CQM1H. Port 1 : RS-232C Port 2 : RS-422A/485 2-6-3 Caractéristiques La carte de communications série est une option montée dans l’unité centrale pour augmenter le nombre de ports série sans utiliser un emplacement d’E/S. 149 Chapitre Cartes de communications série 2-6 Elle prend en charge les macros de protocole (non prises en charge par les ports construits dans l’unité centrale), permettant une connexion facile aux périphériques d’usage universel ayant un port série. Machine commandée de l’intérieur Carte des communications série RS-232C RS-422A/485 Contrôleur de température ou tout autre appareil OR – OU Lecteur de code Contrôleur dédié ou tout autre appareil barres ou tout autre appareil Périphérique externe avec le port RS-232C ou le port RS-422A/485 Les deux ports RS–232C et RS-422A/485 sont fournis. Le port RS-422A/485 permet les connexions 1:N aux périphériques externes d’usage universel sans passer par des adaptateurs de liaison de conversion. Les connexions 1:N sont utilisées avec des macros de protocole ou des liaisons NT en mode 1:N. 150 Chapitre Cartes de communications série 2-6 2-6-4 Configuration du système Les modes de communications série suivants sont pris en charge par la carte de communications série : liaisin hôte (SYSMAC WAY), macro de protocole, sans protocole, liaisons de donnnées 1:1, liaison NT en mode 1:N et modes de liaison NT en mode 1:1. Rem. Les liaisons NT en mode 1:1 et les modes de communication de la liaison NT en mode 1:N utilisent différents protocoles non compatibles les uns avec les autres. Périphérique externe d’usage universel Macros de protocole Terminal programmable (TOP) Liaison NT API de série C Liaison de données 1:N Périphérique de programmation (sauf console de programmation) Ordinateur hôte Liaison à l’ordinateur Liaison à l’ordinateur Sans protocole RS-232C Unité centrale de série CQM1H Carte des communications série RS-422A/485 Périphérique externe d’usage universel Macros de protocole Sans protocole Terminal programmable (TOP) Liaison NT API de série C Liaison de données 1:N Périphérique de Ordinateur hôte programmation Liaison à (sauf console de programmation) l’ordinateur Liaison à l’ordinateur Rem. Un adapteur de liaison de conversion NT-AL001-E est utilisé pour convertir entre RS–232C et RS-422A/485. Cet adapteur de liaison exige une alimentation de 5 V. L’alimentation est fournie par le port RS–232C sur la carte de communications série lorsque l’adapteur de liaison lui est connecté, mais elle est fournie séparément lors de la connexion de l’adapteur de liaison à d’autres périphériques. 151 CHAPITRE 3 Zones mémoire Ce chapitre décrit la structure des zones mémoire du CQM1H et explique comment les utiliser. Il décrit également les fonctionnements de la cassette mémoire utilisée pour transférer les données entre l’unité centrale et une cassette mémoire. 3-1 3-2 Structure de la zone mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zone IR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2-1 Zones d’entrée et de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2-2 Zones de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2-3 Attribution des E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2-4 Drapeaux/bits pour une carte interne dans l’emplacement 1 (IR 200 à IR 215) 3-2-5 Drapeaux/bits pour une carte interne dans l’emplacement 2 (IR 232 à IR 243) 3-2-6 Drapeaux/bits pour les unités de communication . . . . . . . . . . . . . . . . . . . . . . . . 3-3 Zone SR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 Zone AR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 Zone HR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 Zone AR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6-1 Drapeaux/bits partagés (AR 00 à AR 04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6-2 Drapeaux/bits pour les cartes internes (AR 05 et AR 06) . . . . . . . . . . . . . . . . . . 3-6-3 Drapeaux/bits partagés (AR 07 à AR 27) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6-4 Utilisation de l’horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Zone LR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Zone temporisation/compteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 Zone DM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 Zone EM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 Utilisation de cassettes mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11-1 Cassettes mémoire et contenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11-2 Capacité de la cassette mémoire et taille du programme . . . . . . . . . . . . . . . . . . 3-11-3 Ecriture dans la cassette mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11-4 Lecture à partir de la cassette mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11-5 Comparaison du contenu de la cassette mémoire . . . . . . . . . . . . . . . . . . . . . . . . 152 155 155 155 155 161 164 166 167 170 170 171 171 172 173 177 178 179 180 181 181 182 183 184 185 185 153 Chapitre Structure de la zone mémoire 3-1 3-1 Structure de la zone mémoire Les zones mémoires suivantes sont utilisées avec le CQM1H : Zone de données Zone IR Zone d’en(Rem. 1) trée Taille Mots Bits 256 bits IR 000 à IR 015 IR 00000 à IR 01515 256 bits IR 100 à IR 115 2 528 IR 016 à bits IR 089 min. IR 116 à (Rem. IR 189 2) IR 216 à IR 219 IR 224 à IR 229 96 bits IR 090 à IR 095 IR 10000 à IR 11515 IR 01600 à IR 08915 IR 11600 à IR 18915 IR 21600 à IR 21915 IR 22400 à IR 22915 IR 09000 à IR 09615 96 bits IR 190 à IR 195 IR 19000 à IR 19615 64 bits IR 096 à IR 099 IR 09600 à IR 09915 Zone de (Rem. 1) sortie 64 bits IR 196 à IR 199 IR 19600 à IR 19915 Zone emplacement 1 de la carte interne 256 bits IR 200 à IR 215 IR 20000 à IR 21515 Zone de sortie Zones de travail Zones état de liaison contrôleur Zone opérande de MACRO Zone d’entrée Fonction Les bits d’entrée sont attribués aux unités d’entrée ou aux unités d’E/S. Les 16 bits dans IR 000 sont toujours attribués aux entrées intégrées de l’unité centrale. Les bits de sortie sont attribués aux unités de sorties ou aux unités d’E/S. Les bits de travail n’ont aucune fonction spécifique et sont librement utilisés dans le programme. Fournit les informations sur l’état de la liaison de données de la liaison contrôleur (sont utilisés comme bits de travail lorsqu’une unité de la liaison contrôleur n’est pas montée). Indiquent l’erreur de la liaison contrôleur et l’information de participation de réseau (sont utilisés comme bits de travail lorsqu’une unité de liaison contrôleur n’est pas montée). Utilisés lorsque l’instruction MACRO, MCRO(99), est utilisée (sont utilisés comme bits de travail lorsque l’instruction MACRO n’est pas utilisée). Ces bits sont attribués à la carte interne montée sur l’emplacement 1 du CQM1H-CPU51/61 (sont utilisés comme bits de travail lorsque le CQM1H–CPU11/ CPU21 est utilisé ou lorsque l’emplacement 1 est vide). Carte du compteur à grande vitesse du CQM1H-CTB41 : IR 200 à IR 213 (14 mots) : utilisés par la carte IR 214 et IR 215 (2 mots) : non utilisés. Zone réglage analogique (Rem. 1) 64 bits IR 220 à IR 223 IR 22000 à IR 22315 PV du compteur à grande vitesse 0 (Rem. 1) 32 bits IR 230 à IR 231 IR 23000 à IR 23115 154 Carte des communications série du CQM1H-SCB41 : IR 200 à IR 207 (8 mots) : utilisés par la carte IR 208 à IR 215 (8 mots) : non utilisés. Utilisés pour sauvegarder les réglages analogiques lorsque la carte de réglage analogique du CQM1H-AVB41 est montée (sont utilisés comme bits de travail lorsqu’une carte de réglage analogique n’est pas montée). Utilisés pour sauvegarder les valeurs actuelles du compteur à grande vitesse intégré (compteur à grande vitesse 0) (sont utilisés comme bits de travail lorsque le compteur à grande vitesse 0 n’est pas utilisé). Chapitre Structure de la zone mémoire Zone de données Zone emplacement 2 de la carte interne Taille Mots 192 bits IR 232 à IR 243 Bits IR 23200 à IR 24315 3-1 Fonction Ces bits sont attribués à la carte interne montée dans l’emplacement 2 du CQM1H–CPU51/61 (sont utilisés comme bits de travail lorsque le CQM1H–CPU11/21 est utilisé ou lorsque l’emplacement 2 est vide). Carte du compteur à grande vitesse du CQM1H-CTB41 : IR 232 à IR 243 (12 mots): utilisés par la carte Carte de gestion d’axes du CQM1H-PLB21 : IR 232 à IR 239 (8 mots) : utilisés par la carte IR 240 à IR 243 (4 mots) : non utilisés. Carte codeur absolu du CQM1H-ABB21 : IR 232 à IR 239 (8 mots) : utilisés par la carte IR 240 à IR 243 (4 mots) : non utilisés. Zone SR Zone HR Zone AR Zone TR Zone LR (Rem. 1) Zone temporisation/compeur (Rem. 3) 184 bits SR 244 à SR 255 1 600 HR 00 à bits HR 99 448 bits AR 00 à AR 27 8 bits --- SR 24400 à SR 25507 HR 0000 à HR 9915 AR 0000 à AR 2715 TR 0 à TR 7 1 024 LR 00 à LR 0000 à bits LR 63 LR 6315 512 bits TIM/CNT 000 à TIM/CNT 511 (numéros temporisation/compteur) Carte des E/S analogiques du CQM1H-MAB42 : IR 232 à IR 239 (8 mots) : utilisés par la carte IR 240 à IR 243 (4 mots) : non utilisés. Ces bits gèrent les fonctions spécifiques telles que les drapeaux et les commandes de bits. Ces bits sauvegardent les données et maintiennent leur état ON/OFF lorsque l’alimentation est à OFF. Ces bits gèrent les fonctions spécifiques telles que les drapeaux et les commandes de bits. Ces bits sont utilisés pour sauvegarder temporairement l’état ON/OFF aux branches de programme. Utilisés pour la liaison de données 1:1 par le port RS–232 ou par une unité de liaison contrôleur. Les mêmes numéros sont utilisés pour des temporisateurs et des compteurs. Lorsque TIMH(15) est utilisée, les numéros des temporisateurs 000 à 015 sont interrompus/rafraîchis pour assurer la temporisation appropriée pendant les longs cycles. 155 Chapitre Structure de la zone mémoire Zone de données Taille Zone Lecture/écri- 3 072 DM ture mots Lecture seule (Rem. 4) 3 072 mots 425 mots Mots Bits DM 0000 à DM 3071 --- DM 3072 à DM 6143 DM 6144 à DM 6568 ----- 3-1 Fonction La zone de données DM est consultée dans les unités de mot seulement. Les valeurs de mot sont maintenues lorsque l’alimentation est à OFF. Disponibles dans l’unité centrale du CQM1H–CPU51/61 seulement. Ne sont pas détruits par écrasement du programme (seulement un périphérique de programmation). DM 6400 à DM 6409 (10 mots): Zone de paramètre DM de la liaison contrôleur DM 6450 à DM 6499 (50 mots): Zone tableau de routage DM 6550 à DM 6559 (10 mots): Paramétrage de la carte des communications série Zone journal d’erreur (Rem. 4) Setup de l’API (Rem. 4) Zone EM 31 mots DM 6569 à DM 6599 --- Utilisés pour sauvegarder la période d’occurrence et le code d’erreur des erreurs qui se produisent. 56 mots DM 6600 à DM 6655 --- Utilisés pour sauvegarder les divers paramètres qui commandent le fonctionnement de l’API. 6 144 mots EM 0000 à EM 6143 --- La zone de données EM est consultée dans les unités de mot seulement. Les valeurs de mot sont maintenues lorsque l’alimentation est à OFF. Disponibles dans l’unité centrale de CQM1H-CPU61 seulement. Rem. 156 1. Les bits IR et LR qui ne sont pas utilisés pour leurs fonctions attribués sont utilisés comme bits de travail. 2. Un minimum de 2 528 bits sont disponibles comme bits de travail. Les autres bits sont utilisés comme bits de travail lorsqu’ils ne sont pas utilisés pour leurs fonctions attribués, ainsi le nombre total de bits de travail disponibles dépend de la configuration de l’API. 3. Lors de la consultation d’une PV, les numéros TIM/CNT sont utilisés comme données de mot ; lors de la consultation des drapeaux d’accomplissement, ils sont utilisés comme données de bit. 4. Les données des DM 6144 à DM 6655 ne sont pas détruites par écrasement du programme. Chapitre Zone IR 3-2 3-2 Zone IR Les fonctions de la zone IR sont expliquées ci-dessous. 3-2-1 Zones d’entrée et de sortie Les bits de la zone IR sont attribués aux bornes sur les unités de sortie d’E/S et les unités dédiées d’E/S. Ils reflètent l’état ON/OFF des signaux d’entrée et de sortie. Les bits d’entrée commencent à l’IR 00000 et les bits de sortie commencent à l’IR 10000. Seuls les IR 00000 à IR 01515 sont utilisés comme bits d’entrée et seuls les IR 10000 à IR 11515 sont utilisés comme bits de sortie, avec le CQM1H. Rem. Les bits d’entrée ne sont pas utilisés dans les instructions de sortie. Ne pas utiliser le même bit de sortie dans plus d’une instruction OUT et/ou OUT NOT car le programme ne s’exécute pas correctement. 3-2-2 Zones de travail Les bits de travail sont utilisés librement dans le programme. Cependant, ils sont seulement utilisés dans le programme et non pour les E/S externes directes. Les bits de travail sont réinitialisés (c.-à-d. passe à OFF) lorsque l’alimentation du CQM1H passe à OFF ou lorsque le fonctionnement commence ou s’arrête. Le tableau suivant présente les parties de la zone IR mises de côté pour l’utilisation comme zones de travail. Mots Bits IR 016 à IR 089 (74 mots) IR 01600 à IR 08915 (1 184 bits) IR 116 à IR 189 (74 mots) IR 11600 à IR 18915 (1 184 bits) IR 216 à IR 219 (4 mots) IR 21600 à IR 21915 (64 bits) IR 224 à IR 229 (6 mots) IR 22400 à IR 22915 (96 bits) Les bits dans les plages présentées ci–dessous possèdent des fonctions spécifiques mais sont toujours utilisés comme bits de travail lorsque leurs fonctions spécifiques ne sont pas utilisées. Plage IR 001 à IR 015 IR 090 à IR 095 IR 096 à IR 099 IR 100 à IR 115 IR 190 à IR 195 IR 196 à IR 199 IR 200 à IR 215 IR 220 à IR 223 IR 230 à IR 231 IR 232 à IR 243 Fonction Ces bits gèrent les bits d’entrée une fois attribués aux unités d’entrée.Une fois assigné aux unités d’entrée. Ces bits indiquent l’état de la liaison de données lorsqu’une unité de liaision contrôleur est montée sur l’API. Ces bits gèrent les bits d’entrée d’opérandes lorsque l’instruction MACRO est utilisée. Ces bits gèrent les bits de sortie lorsqu’ils sont attribués aux unités de sortie. Ces bits indiquent l’information sur les erreurs et les stations dans le réseau lorsqu’une unité de liaison contrôleur est montée sur l’API. Ces bits gèrent les bits de sortie d’opérandes lorsque l’instruction MACRO est utilisée. Ces bits sont utilisés par une carte interne montée dans l’emplacement 1. Ces bits gèrent la sauvegarde de réglages analogiques lorsqu’une carte de réglage analogique est montée. Ces bits sont utilisés pour sauvegarder la valeur en cours du compteur à grande vitesse 0 lorsqu’il est utilisé. Ces bits sont utilisés par une carte interne montée dans l’emplacement 2. 3-2-3 Attribution des E/S Les mots d’E/S sont attribués aux unités d’E/S et aux unités dédiées d’E/S dans l’ordre vers la gauche, commençant par l’IR 001 pour les entrées et par l’IR 100 157 Chapitre Zone IR 3-2 pour les sorties. Les 16 points d’entrée de l’unité centrale sont attribués à IR 000. Les bits d’E/S sont attribués dans les unités d’un mot, même pour les unités d’E/S qui exigent seulement 8 bits. Rem. Les bits d’entrée et de sortie ne sont pas attribués aux cartes internes ou aux unités de communications. Il n’existe pas de tableau d’E/S enregistré dans le CQM1H, ainsi il n’est pas nécessaire d’enregistrer un tableau d’E/S depuis un périphérique de programmation. Juste monter les unités désirées dans l’API et l’E/S est attribuée automatiquement. Unité centrale Zone d’entrée 16 entrées intégrées (1 mot) (Entrées de l’UC) A partir d’ici 16 mots max. (256 bits) Autres unités (Unités d’E/S et unités dédiées d’E/S) Les entrées et les sorties sont attribuées séparément depuis la gauche dans l’ordre de connexion des unités. Entrées Sorties seules seules Entrées seules Entrées et sorties Zone de sortie A partir d’ici 16 mots max. (256 bits) Unités d’E/S 8 points Les bits d’E/S sont attribués dans les unités d’un mot, même pour les unités d’E/S qui exigent seulement 8 bits. Unités à 8 points Un mot attribué Ces bits sont attribués. Les bit d’entrée inutilisés (08 à 15) ne sont pas utilisés comme bits de travail, mais les bits de sortie inutilisés (08 à 15) le sont. Unités d’E/S 16 points Un mot d’entrée est attribué à chaque unité d’entrée 16 points et un mot de sortie est attribué à chaque unité de sortie 16 points. Les points d’entrée ou de sortie de 0 à 15 correspondent aux bits de 00 à 15 du mot attribué. Unités à 16 points 1 mot attribué Unités d’E/S 32 points 158 Deux mots d’entrée sont attribués à chaque unité d’entrée, 32 points et deux mots produits sont assignés à chaque unité de sortie 32 points. Les points d’E/S Chapitre Zone IR 3-2 0 à 15 du sélecteur du connecteur A correspondent aux bits 00 à 15 du premier mot attribué (n) et les points d’E/S 0 à 15 du sélecteur du connecteur B correspondent aux bits 00 à 15 du prochain mot attribué (n+1). Unités à 32 points 2 mots attribués Unités d’E/S dédiées Les unités d’E/S dédiées exigent un nombre prédéterminé de bits d’entrée, de bits de sortie ou de bits d’entrée et de sortie. Dans quelques unités d’E/S dédiées, le nombre de mots exigés dépend des réglages du micro-interrupteur de l’unité centrale. Par exemple, une unité d’entrée analogique de CQM1–AD041 exige 4 mots d’entrée ou 2 mots d’entrée (l’unité d’entrée analogique exige 4 mots d’entrée lorsque 4 entrées analogiques sont utilisées et 2 mots d’entrée lorsque 2 entrées analogiques sont utilisées). Entrées analogiques 4 mots attribués Les mots d’entrée et les mots de sortie non attribués aux unités sont utilisés comme mots de travail. Exemple d’attribution d’E/S Cet exemple présente l’attribution d’E/S pour un API avec deux unités d’entrée c.c., deux unités de sortie transistor et une unité à capteurs. I N O U T 16 16 I N 8 O U T 32 S E N IN : Unité d’entrée OUT : Unité de sortie SEN : Unité à capteurs Zone d’entrée IR 000 IR 001 IR 002 IR 003 IR 004 (Entrées de l’UC) Entrées 16 pts Entrées 8 pts Unité de capteur Zone de sortie IR 100 IR 101 IR 102 Sorties 16 pts Sorties 32 pts 159 Chapitre Zone IR Ordre dans l’API Unité Caractéristiques techniques Nombre de mot 3-2 Mot(s) attribué(s) 1er CQM1-ID111 Entrées 16 pts 1 mot d’entrée IR 001 2ème CQM1-OD212 Sorties 16 pts 1 mot de sortie IR 100 3ème CQM1-ID211 Entrées 8 pts 1 mot d’entrée IR 002 4ème CQM1-OD213 Sorties 32 pts 2 mots de sortie IR 101 et IR 102 5ème CQM1-SEN01 1 entrée à capteurs 2 mots de sortie IR 003 et IR 004 Le nombre de bits d’E/S attribués dépend de l’unité centrale du CQM1H utilisée, comme indiqué dans le tableau suivant. S’assurer de prendre en compte le premier mot d’entrée (IR 000) qui est automatiquement attribué aux entrées sur l’unité centrale. Lorsque le nombre de mots attribués excède la capacité de l’unité centrale, une erreur d’UNITE DE DEPASSEMENT d’E/S fatale (code erreur E1) se produit. Unité centrale Nombre de bits d’E/S max. CQM1H-CPU61 512 bits (256 entrées et 256 sorties) (32 mots : 16 mots d’entrée et 16 mots de sortie) CQM1H-CPU51 CQM1H-CPU21 CQM1H-CPU11 256 bits Nombre de mots d’E/S disponibles aux unités autres que l’unité centrale 31 (15 mots d’entrée, 16 mots de sortie) 15 Se reporter à la page AUCUN LIEN pour le tableau montrant combien de mots d’E/S sont exigés par chaque unité et à la page AUCUN LIEN pour le tableau montrant combien de mots d’E/S sont exigés par chaque unité d’E/S dédiée. L’AR 22 indique le nombre de mots d’entrée et de mots de sortie qui ont été attribués, comme indiqué dans le tableau suivant : Mot AR 22 Bits 00 à 07 08 à 15 Fonction Le nombre de mots d’entrée attribués. Le nombre de mots de sortie attribués. Plage de données 01 à 16 (BCD à 2 digits) 00 à 16 (BCD à 2 digits) Le CQM1H ne possède pas de fond de panier, ainsi il n’est pas nécessaire de traiter les emplacements vides lors de l’attribution des mots d’E/S. Les adresses de mot d’E/S disponibles les plus basses sont attribuées automatiquement. Les entrées sont automatiquement attribuées aux mots d’entrée et les sorties sont automatiquement attribuées aux mots de sortie indépendamment de l’ordre dans lequel les unités d’entrée et les unités de sortie sont montées. Bien que l’attribution d’E/S ne soit pas affectée, il est recommandé que les unités d’entrée soient montées ensemble et les unités de sortie soient montées ensemble afin de faciliter l’attribution de mot pour comprendre et pour aider à éliminer les problèmes avec le bruit. 160 Chapitre Zone IR Mots d’E/S exigés par les unités d’E/S Dénomination Points d’E/S Unités 8 d’entrée c.c. 16 32 Unités 8 d’entrée a.c. Unités de sortie relais 8 16 Unités de sortie à transistor 8 16 32 Unités de sortie a.c. 16 8 8 6 Modèle CQM1-ID211 CQM1-ID111 CQM1-ID212 CQM1-ID112 CQM1-ID213 CQM1-ID214 CQM1-IA121 CQM1-IA221 CQM1-OC221 CQM1-OC222 CQM1-OC224 CQM1-OD211 CQM1-OD212 CQM1-OD213 CQM1-OD216 CQM1-OD214 CQM1-OD215 CQM1-OA221 CQM1-OA222 Mots d’entrée (démarrage à l’IR 001) 1 1 1 2 2 2 1 1 --- 3-2 Mots de sortie (démarrage à l’IR 100) --- 1 1 1 1 1 2 2 1 1 1 1 161 Chapitre Zone IR Mots d’E/S exigés par les unités d’E/S dédiées Dénomination Modèle Mots d’entrée (démarrage à l’IR 001) Mots de sortie (démarrage à l’IR 100) Unité d’entrée analogique CQM1-AD041 2 ou 4 --- Unités de sortie analogique Unités d’alimentation CQM1-DA021 ----- 2 --- --1 --2 1 2 ou 1 2 ou 1 --2 1 --2 --1 2 ou 1 --2 ou 1 2 ----- Unité de liaison d’E/S CQM1-IPS01 CQM1-IPS02 CQM1-B7A02 CQM1-B7A12 CQM1-B7A03 CQM1-B7A13 CQM1-B7A21 CQM1-G7M21 CQM1-G7N11 CQM1-G7N01 CQM1-LK501 Unités à capteurs CQM1-SEN01 1 (Voir Rem.) Module photoélectrique à fibre optique Module photoélectrique avec amplificateur séparé Module de proximité avec amplificateur séparé Module factice Console à distance Unités de contrôle de température E3X-MA11 1 E3C-MA11 1 E2C-MA11 1 E39-M11 CQM1-TU001 CQM1-TC001 CQM1-TC002 CQM1-TC101 CQM1-TC102 CQM1-LSE01 CQM1-LSE02 CQM1-SRM21-V1 1 --2 ou 1 2 ou 1 1 1 4, 2 ou 1 1 1 4, 2 ou 1 CQM1-DRT21 1 1 Unités d’interface B7A Unités d’interface G730 Unités d’interface à capteurs linéaires Unité maître du CompoBus/S Unité de liaison d’E/S CompoBus/D 3-2 Rem. Un total de 5 mots est exigé lorsque les 4 prochains modules (E3X–MA11, E3C–MA11, E2C–MA11 et E39–M11) sont montés. 162 Chapitre Zone IR 3-2 3-2-4 Drapeaux/bits pour une carte interne dans l’emplacement 1 (IR 200 à IR 215) Drapeaux/bits de la carte des communications série Mot Bits IR 200 00 01 02 03 à 10 11 12 13 14 15 IR 201 00 à 03 04 05 06 07 08 à 11 12 13 14 15 Fonction Drapeau erreur matériel de la carte des communications série Drapeau erreur d’identification du port (erreur matériel) Drapeau erreur de données de protocole Non utilisés. Drapeau erreur d’exécution de la protocole–macro du port 2 Drapeau erreur d’exécution de la protocole–macro du port 1 Drapeau erreur du Setup de l’API du port 2 Drapeau erreur du Setup de l’API du port 1 Drapeau erreur du Setup de l’API Port 1 Code d’erreur 0 : Fonctionnement normal 4 : Erreur FCS 1 : Erreur de parité 5 : Erreur dépassement de durée 2 : Erreur de trame 6 : Erreur total de contrôle 3 : Erreur de dépassement 7 : Erreur commande Drapeau erreur de communication Drapeau transmission activée Drapeau réception terminée Drapeau dépassement positif de réception Drapeau accomplissement d’abandon de séquence Port 2 Code d’erreur 0 : Fonctionnement normal 4 : Erreur FCS 1 : Erreur de parité 5 : Erreur dépassement de durée 2 : Erreur de trame 6 : Erreur total de contrôle 3 : Erreur de dépassement 7 : Erreur commande Drapeau erreur de communication Drapeau transmission activée Drapeau réception terminée Drapeau dépassement positif de réception Drapeau accomplissement d’abandon de séquence IR 202 00 à 07 Port 1 Communication avec drapeaux du TOP (Bits 00 à 07 = TOP 0 à 7) 00 à 15 IR 203 00 à 07 Répéter la PV du compteur (hexadécimaux 00 à FF) Réception du compteur (BCD à 4 digits) Port 2 Communication avec drapeaux du TOP (Bits 00 à 07 = TOP 0 à 7) 00 à 15 IR 204 00 01 02 à 07 08 à 11 12 à 15 Répéter la PV du compteur (hexadécimaux 00 à FF) Réception du compteur (BCD à 4 digits) Port 1 Drapeau traçage Port 2 Non utilisés. Port 1 Code d’erreur de la protocole–macro 0 : Fonctionnement normal 1 : Fonction macro sans protocole 2 : Erreur numéro de séquence Port 2 3 : Dépassement de capacité positif données de réception/zone d’écriture 4 : Erreur de libellé des données de protocole 5 : protocole–macro exécutée pendant l’initialisation du port Modes de communication Tous les modes protocole–macro Tous les modes Tous les modes Liaison hôte ou sans protocole protocole–macro Tous les modes Liaison hôte ou sans protocole protocole–macro Liaison NT en mode 1:N protocole–macro Sans protocole Liaison NT en mode 1:N protocole–macro Sans protocole protocole–macro 163 Chapitre Zone IR Mot Bits Fonction Modes de communication Protocole–macro IR 205 00 à 03 04 à 07 08 à 14 15 Port 1 Nombre de cas de réception terminée Nombre d’étape terminée Non utilisés. Drapeau données sauvegardées de l’IR 20408 à l’IR 20411 0 : Sans données sauvegardées ; 1 : Données sauvegardées IR 206 00 à 03 04 à 07 08 à 14 15 Port 2 Nombre de cas de réception terminée Nombre d’étape terminée Non utilisés. Drapeau données sauvegardées de l’IR 20412 à l’IR 20415 0 : Sans données sauvegardées ; 1 : Données sauvegardées Protocole–macro IR 207 00 01 02 03 04 05 06 à 07 08 Port 1 Bits de redémarrage du port des communications série Port 2 Port 1 Bits de début/fin d’analyse continue Port 2 Port 1 Bits de début/fin d’analyse projetée Port 2 Non utilisés. Port 1 Drapeau exécution de la protocole–macro Tous les modes 09 10 11 12 Drapeau traitement erreur d’étape Drapeau accomplissement de la séquence de fin Bit d’abandon forcé Port 2 Drapeau exécution de la protocole–macro 13 14 15 Drapeau traitement erreur d’étape Drapeau accomplissement de la séquence de fin Bit d’abandon forcé IR 208 00 à 15 à IR 215 Non utilisés. 3-2 Protocole–macro Sans protocole ou protocole–macro Protocole–macro Sans protocole ou protocole–macro Protocole–macro --- Drapeaux/bits de la carte du compteur à grande vitesse Mot Bits IR 200 00 à 15 IR 201 00 à 15 IR 202 00 à 15 IR 203 00 à 15 IR 204 00 à 15 IR 205 00 à 15 IR 206 00 à 15 IR 207 00 à 15 164 Dénomination Compteur à grande vitesse 1 Compteur à grande vitesse 2 Compteur à grande vitesse 3 Compteur à grande vitesse 4 PV (4 digits à l’extrême droite) PV (4 digits à l’extrême gauche) PV (4 digits à l’extrême droite) PV (4 digits à l’extrême gauche) PV (4 digits à l’extrême droite) PV (4 digits à l’extrême gauche) PV (4 digits à l’extrême droite) PV (4 digits à l’extrême gauche) Fonction Contient la PV du compteur à grande vitesse pour chaque port de la carte du compteur à grande vitesse. Rem. Le format de donnée de la PV (BCD ou hexadécimal) est défini dans le Setup de l’API (DM 6602.) Chapitre Zone IR Mot Bits IR 208 00 à 07 (Compteur à grande vitesse 1) 08 à 11 IR 209 (Compteur à grande 12 vitesse 2) IR 210 13 (Compteur à grande vitesse 3) 14 IR 211 (Compteur à 15 grande vitesse 4) IR 212 00 01 02 03 04 à 07 08 09 10 11 IR 213 12 13 14 15 00 01 02 03 04 05 à 15 Dénomination 3-2 Fonction Résultats de comparaison : Bits de sortie interne Contient l’ensemble de bits indiqué par l’opérande dans CTBL(––) lorsque les conditions sont satisfaites. Résultats de comparaison : Bits de sortie externe pour les sorties 1 à 4 Contient l’ensemble des bits indiqués par l’opérande dans CTBL(––) lorsque les conditions sont satisfaites. Drapeau fonctionnement du compteur 0 : Arrêté 1 : En fonction Drapeau comparaison Indique si la comparaison est en cours. 0 : Arrêté 1 : En fonction Drapeau dépassement positif/négatif de la PV 0 : Normal 1 : Dépassement positif/négatif produit. Drapeau erreur de la SV 0 : Normal 1 : Erreur SV produite. Bit de réinitialisation du compteur à grande vitesse 1 Bit de réinitialisation du compteur à grande vitesse 2 Bit de réinitialisation du compteur à grande vitesse 3 Bit de réinitialisation du compteur à grande vitesse 4 Non utilisés. Bit d’arrêt de la comparaison du compteur à grande vitesse 1 Bit d’arrêt de la comparaison du compteur à grande vitesse 2 Bit d’arrêt de la comparaison du compteur à grande vitesse 3 Bit d’arrêt de la comparaison du compteur à grande vitesse 4 Bit d’arrêt du compteur à grande vitesse 1 Bit d’arrêt du compteur à grande vitesse 2 Bit d’arrêt du compteur à grande vitesse 3 Bit d’arrêt du compteur à grande vitesse 4 Bit de réinitialisation forcée de la sortie externe 1 Bit de réinitialisation forcée de la sortie externe 2 Bit de réinitialisation forcée de la sortie externe 3 Bit de réinitialisation forcée de la sortie externe 4 Bit actif de réinitialisation forcée de la sortie externe Non utilisés. Phase Z et réinitialisation du programme 0 : Compteur non réinitialisé en phase Z 1 : Compteur réinitialisé en phase Z Réinitialisation du programme seulement 0 : Compteur non réinitialisé 0 →1 : Compteur réinitialisé 0→1 : Débute la comparaison. 1→0 : Arrête la comparaison. 0 : Continue le fonctionnement. 1 : Arrête le fonctionnement. 0 : Sans effet sur l’état de la sortie 1 : Force la sortie à ON 1 : Paramétrage forcé des sorties 1 à 4 activé 0 : Paramétrage forcé des sorties 1 à 4 désactivé Drapeaux/bits de la carte de réglage analogique (emplacements 1 et 2) Mot Bits Fonction IR 220 00 à 15 SV analogique 1 : 0000 à 0200 (BCD à 4 digits) IR 221 00 à 15 SV analogique 2 : 0000 à 0200 (BCD à 4 digits) IR 222 00 à 15 SV analogique 3 : 0000 à 0200 (BCD à 4 digits) IR 223 00 à 15 SV analogique 4 : 0000 à 0200 (BCD à 4 digits) 165 Chapitre Zone IR 3-2 3-2-5 Drapeaux/bits pour une carte interne dans l’emplacement 2 (IR 232 à IR 243) Drapeaux/bits de la carte du compteur à grande vitesse Mot Bits IR 232 00 à 15 IR 233 00 à 15 IR 234 00 à 15 IR 235 00 à 15 IR 236 00 à 15 IR 237 00 à 15 IR 238 00 à 15 IR 239 00 à 15 IR 240 00 à 07 (Compteur à grande vitesse 1) 08 à 11 IR 241 (Compteur à grande 12 vitesse 2) IR 242 (Compteur à 13 grande vitesse 3) 14 IR 243 (Compteur à 15 grande vitesse 4) AR 05 00 01 02 03 04 à 07 08 09 10 11 12 13 14 15 166 Dénomination Compteur à grande vitesse 1 PV (4 digits à l’extrême droite) PV (4 digits à l’extrême gauche) Compteur PV (4 digits à l’extrême à grande droite) vitesse 2 PV (4 digits à l’extrême gauche) Compteur PV (4 digits à l’extrême à grande droite) vitesse 3 PV (4 digits à l’extrême gauche) Compteur PV (4 digits à l’extrême à grande droite) vitesse 4 PV (4 digits à l’extrême gauche) Résultats de comparaison : Bits de sortie interne Fonction Contient la PV du compteur à grande vitesse pour chaque port de la carte du compteur à grande vitesse. Rem. Le format des données de la PV (BCD ou hexadécimal) est défini dans le Setup de l’API (DM 6602). Contient l’ensemble des bits indiqués par l’opérande dans CTBL(––) lorsque les conditions sont satisfaites. Résultats de comparaison : Bits de sortie externe pour les sorties 1 à 4 Contient l’ensemble des bits indiqués par l’opérande dans CTBL(––) lorsque les conditions sont satisfaites. Drapeau fonctionnement du compteur 0 : Arrêté 1 : En fonction Drapeau comparaison Indique si la comparaison est en cours. 0 : Arrêté ; 1 : En fonction Drapeau dépassement positif/négatif de la PV 0 : Normal 1 : Dépassement positif/négatif produit. Drapeau erreur de la SV 0 : Normal 1 : Erreur SV produite. Bit de réinitialisation du compteur à grande vitesse 1 Bit de réinitialisation du compteur à grande vitesse 2 Bit de réinitialisation du compteur à grande vitesse 3 Bit de réinitialisation du compteur à grande vitesse 4 Non utilisés. Bit d’arrêt de la comparaison du compteur à grande vitesse 1 Bit d’arrêt de la comparaison du compteur à grande vitesse 2 Bit d’arrêt de la comparaison du compteur à grande vitesse 3 Bit d’arrêt de la comparaison du compteur à grande vitesse 4 Bit d’arrêt du compteur à grande vitesse 1 Bit d’arrêt du compteur à grande vitesse 2 Bit d’arrêt du compteur à grande vitesse 3 Bit d’arrêt du compteur à grande vitesse 4 Phase Z et réinitialisation du logiciel 0 : Réinitialisation phase Z désactivée 1 : Réinitialisation phase Z activée Réinitialisation du programme seulement 0 : Réinitialisation du programme activée 0→1 : Exécute la réinitialisation du programme 0→1 : Débute la comparaison. 1→0 : Arrête la comparaison. 0 : Continue le fonctionnement. 1 : Arrête le fonctionnement. Chapitre Zone IR Mot AR 06 Bits Dénomination 00 01 02 03 04 05 à 15 Bit de réinitialisation forcée de la sortie externe 1 Bit de réinitialisation forcée de la sortie externe 2 Bit de réinitialisation forcée de la sortie externe 3 Bit de réinitialisation forcée de la sortie externe 4 Bit actif de réinitialisation forcée de la sortie externe Non utilisés. 3-2 Fonction 0 : Sans effet sur l’état de la sortie 1 : Force la sortie à ON 1 : Paramétrage forcé des sorties 1 à 4 activé 0 : Paramétrage forcé des sorties 1 à 4 désactivé Drapeaux/bits de la Carte de gestion d’axes Mot Bits Fonction IR 232 00 à 15 PV du compteur à grande vitesse 1 (4 digits à l’extrême droite) IR 233 00 à 15 PV du compteur à grande vitesse 1 (4 digits à l’extrême gauche) IR 234 00 à 15 PV du compteur à grande vitesse 2 (4 digits à l’extrême droite) IR 235 00 à 15 PV du compteur à grande vitesse 2 (4 digits à l’extrême gauche) IR 236 00 à 15 PV de la sortie d’impulsions du port 1 (4 digits à l’extrême droite) IR 237 00 à 15 PV de la sortie d’impulsions du port 1 (4 digits à l’extrême gauche) IR 238 00 à 15 PV de la sortie d’impulsions du port 2 (4 digits à l’extrême droite) IR 239 00 à 15 PV de la sortie d’impulsions du port 2 (4 digits à l’extrême gauche) IR 240 à IR 243 00 à 15 Non utilisés. Drapeaux/bits de la Carte codeur absolu Mot Bits Fonction IR 232 00 à 15 PV du compteur à grande vitesse du codeur absolu 1 (4 digits à l’extrême droite) IR 233 00 à 15 PV du compteur à grande vitesse du codeur absolu 1 (4 digits à l’extrême gauche) IR 234 00 à 15 PV du compteur à grande vitesse du codeur absolu 2 (4 digits à l’extrême droite) IR 235 00 à 15 PV du compteur à grande vitesse du codeur absolu 2 (4 digits à l’extrême gauche) IR 236 à IR 243 00 à 15 Non utilisés. Drapeaux/bits de la carte des E/S analogiques Mot Bits Fonction IR 232 00 à 15 Valeur de conversion de l’entrée analogique 1 IR 233 00 à 15 Valeur de conversion de l’entrée analogique 2 IR 234 00 à 15 Valeur de conversion de l’entrée analogique 3 IR 235 00 à 15 Valeur de conversion de l’entrée analogique 4 IR 236 00 à 15 SV de la sortie analogique 1 IR 237 00 à 15 SV de la sortie analogique 2 IR 236 à IR 243 00 à 15 Non utilisés. Drapeaux/bits de la carte de réglage analogique (emplacements 1 et 2) Mot Bits Fonction IR 220 00 à 15 SV analogique 1 : 0000 à 0200 (BCD à 4 digits) IR 221 00 à 15 SV analogique 2 : 0000 à 0200 (BCD à 4 digits) IR 222 00 à 15 SV analogique 3 : 0000 à 0200 (BCD à 4 digits) IR 223 00 à 15 SV analogique 4 : 0000 à 0200 (BCD à 4 digits) 167 Chapitre Zone IR 3-2 3-2-6 Drapeaux/bits pour les unités de communication Zone 1 de l’état de la liaison contrôleur (IR 090 à IR 095) Mot Bits IR 090 00 à 14 15 Toujours 0 Etat de participation de la liaison de données de la station locale 0 : Station locale pas dans la liaison de données ou liaison de données interrompue. 1 : Station locale participe à la liaison de données. IR 091 00 à 07 08 à 15 Etat liaison de données : station 1 Etat liaison de données : station 2 IR 092 00 à 07 08 à 15 Etat liaison de données : station 3 Etat liaison de données : station 4 IR 093 00 à 07 08 à 15 Etat liaison de données : station 5 Etat liaison de données : station 6 IR 094 00 à 15 Non utilisés. IR 095 00 à 10 11 Toujours 0 Etat de la terminaison 0 : Désactiver la résistance de terminaison 1 : Activer la résistance de terminaison Toujours 0 12 à 15 Zone 2 de l’état de la liaison contrôleur (IR 190 à IR 195) Mot IR 190 Bits 00 01 02 03 à 06 07 08 09 10 11 12 13 et 14 15 168 Fonction Fonction Drapeau erreur des paramètres du réseau 1 : erreur produite ; 0 : sans erreur Drapeau erreur du tableau de liaison de données 1 : erreur produite ; 0 : sans erreur Drapeau erreur du tableau de routage 1 : erreur produite ; 0 : sans erreur Toujours 0 Drapeau erreur d’écriture EEPROM 1 : erreur produite ; 0 : sans erreur Toujours 0 Drapeau erreur de duplication du numéro de station 1 : erreur produite ; 0 : sans erreur Drapeau erreur de disparité des paramètres du réseau 1 : erreur produite ; 0 : sans erreur Drapeau erreur d’émetteur de contrôleur de communications 1 : erreur produite ; 0 : sans erreur Drapeau erreur de programme de contrôleur de communications 1 : erreur produite ; 0 : sans erreur Toujours 0 Drapeau journal d’erreur 1 : disque d’erreur enregistré ; 0 : sans disque d’erreur enregistré IR 191 00 à 07 08 à 15 Numéro de la station d’appel Numéro de la station de démarrage IR 192 et IR 193 00 à 15 Etat de participation du réseau 1 : participation dans le réseau ; 0 : sans participation dans le réseau IR 194 et IR 195 00 à 15 Non utilisés. Chapitre Zone SR 3-3 3-3 Zone SR Ces bits gèrent principalement des drapeaux liés au fonctionnement du CQM1H. Le tableau suivant fournit les détails sur les diverses fonctions des bits. Les SR 244 à SR 247 sont également utilisés comme bits de travail lorsque les interruptions d’entrée ne sont pas utilisées dans le mode compteur. Mot Bit(s) SR 244 00 à 15 SR 245 00 à 15 SR 246 00 à 15 SR 247 00 à 15 SR 248 00 à 15 SR 249 00 à 15 SR 250 00 à 15 SR 251 00 à 15 Fonction SV du mode compteur de l’interruption d’entrée 0 SV lorsque l’interruption d’entrée 0 est utilisée en mode compteur (hexadécimal à 4 digits, 0000 à FFFF) (sont utilisés comme bits de travail lorsque l’interruption d’entrée 0 n’est pas utilisée en mode compteur). SV du mode compteur de l’interruption d’entrée 1 SV lorsque l’interruption d’entrée 1 est utilisée en mode compteur (hexadécimal à 4 digits, 0000 à FFFF) (sont utilisés comme bits de travail lorsque l’interruption d’entrée 1 n’est pas utilisée en mode compteur). SV du mode compteur de l’interruption d’entrée 2 SV lorsque l’interruption d’entrée 2 est utilisée en mode compteur (hexadécimal à 4 digits, 0000 à FFFF) (sont utilisés comme bits de travail lorsque l’interruption d’entrée 2 n’est pas utilisée en mode compteur). SV du mode compteur de l’interruption d’entrée 3 SV lorsque l’interruption d’entrée 3 est utilisée en mode compteur (hexadécimal à 4 digits, 0000 à FFFF) (sont utilisés comme bits de travail lorsque l’interruption d’entrée 3 n’est pas utilisée en mode compteur). PV – 1 du mode compteur de l’interruption d’entrée 0 PV–1 du compteur lorsque l’interruption d’entrée 0 est utilisée en mode compteur (hexadécimal à 4 digits). PV – 1 du mode compteur de l’interruption d’entrée 1 PV–1 du compteur lorsque l’interruption d’entrée 1 est utilisée en mode compteur (hexadécimal à 4 digits). PV – 1 du mode compteur de l’interruption d’entrée 2 PV–1 du compteur lorsque l’interruption d’entrée 2 est utilisée en mode compteur (hexadécimal à 4 digits). PV – 1 du mode compteur de l’interruption d’entrée 3 PV–1 du compteur lorsque l’interruption d’entrée 3 est utilisée en mode compteur (hexadécimal à 4 digits). Page 29 29 169 Chapitre Zone SR Mot SR 252 Bit(s) 00 01 Fonction Bit de réinitialisation du compteur à grande vitesse 0 Bit de commande pour la carte interne dans l’emplacement 2 3-3 Page 37 155 Carte de gestion d’axes : Bit de réinitialisation du compteur à grande vitesse 1 Passer à ON pour réinitialiser la PV du compteur à grande vitesse 1 (port 1). 02 Carte codeur absolu : Bit de compensation d’origine du compteur à grande vitesse absolu 1 Passer à ON pour paramétrer la compensation d’origine du compteur à grande vitesse absolu 1 (port 1). Passer automatiquement à OFF lorsque la valeur de compensation est définie dans le DM 6611. Bit de commande pour la carte interne dans l’emplacement 2 155 Carte de gestion d’axes : Bit de réinitialisation du compteur à grande vitesse 2 Passer à ON pour réinitialiser la PV du compteur à grande vitesse 2 (port 2). 03 à 07 08 09 10 11 12 Bit de maintien des E/S OFF : Les bits IR et LR sont réinitialisés lors du démarrage ou de l’arrêt du fonctionnement. ON : L’état des bits IR et LR est maintenu lors du démarrage ou de l’arrêt du fonctionnement. 13 14 Non utilisé. Bit de réinitialisation du journal d’erreur Passer à ON pour supprimer le journal d’erreur. Passer automatiquement à OFF à nouveau lorsque le fonctionnement est terminé. Bit OFF de sortie OFF : Etat normal de sortie. ON : Toutes les sorties passe à OFF. Code d’erreur FAL Le code d’erreur (numéro à 2 digits) est sauvegardé ici lorsqu’une erreur se produit. Le numéro de FAL est sauvegardé ici lorsque FAL(06) ou FALS(07) s’exécute. Cet octet est réinitialisé (à 00) en exécutant une instruction FAL 00 ou en supprimant l’erreur depuis un périphérique de programmation. 15 SR 253 00 à 07 08 09 10 à 12 13 14 170 Carte codeur absolu : Bit de compensation d’origine du compteur à grande vitesse absolu 2 Passer à ON pour paramétrer la compensation d’origine du compteur à grande vitesse absolu 2 (port 2). Passer automatiquement à OFF lorsque la valeur de compensation est définie dans le DM 6612. Non utilisés. AUCUN L Bit de réinitialisation du port périphérique Passer à ON pour réinitialiser le port périphérique (non valable lorsqu’un périphérique de programmation est connecté). Passer automatiquement à OFF lorsque la réinitialisation est terminée. Bit de réinitialisation du port RS-232C Passer à ON pour réinitialiser le port RS-232C. Passer automatiquement à OFF lorsque la réinitialisation est terminée. Bit de réinitialisation du Setup de l’API 2 Passer à OFF pour initialiser le Setup de l’API (DM 6600 à DM 6655). Passer automatiquement à OFF à nouveau lorsque la réinitialisation est terminée. Seulement efficace lorsque l’API est en mode PROGRAM. Bit de maintien de l’état forcé 15 OFF : Bits paramétrés/réinitialisés de force supprimés lors de la commutation du mode PROGRAM au mode MONITOR. ON : Etat des bits paramétrés/réinitialisés de force maintenus lors de la commutation du mode PROGRAM au mode MONITOR. Drapeau batterie faible Passer à ON lorsqu’une tension de la batterie de l’unité centrale chute. Drapeau dépassement de la durée de cycle Passer à ON lorsqu’un dépassement de la durée de cycle se produit (c.-à-d. lorsque la durée de cycle dépasse 100 ms). Non utilisés. Drapeau toujours ON Drapeau toujours OFF 15 537 172 248 535 535 ----- Chapitre Zone SR Mot Bit(s) 15 SR 254 00 01 02 à 03 04 05 06 07 08 09 10 11 à 12 13 14 15 SR 255 00 01 02 03 04 05 06 07 Fonction 3-3 Page Drapeau premier cycle Passer à ON pour 1 cycle au démarrage du fonctionnement. Impulsions de l’horloge à 1 minute (30 secondes ON ; 30 secondes OFF) Impulsions de l’horloge à 0,02 seconde (0,01 seconde ON ; 0,01 seconde OFF) Non utilisés. Drapeau dépassement positif (OF) Passe à ON lorsque le résultat d’un calcul est au–dessus de la limite supérieure des données binaires signées. Drapeau dépassement négatif (UF) Passe à ON lorsque le résultat d’un calcul est au–dessous de la limite inférieure des données binaires signées. Drapeau surveillance différentielle terminée Passe à ON lorsque la surveillance différentielle est terminée. Drapeau exécution de STEP(08) Passe à ON pour 1 cycle seulement au démarrage du processus basé sur STEP(08). Drapeau exécution de HKY(––) Passe à ON pendant l’exécution de HKY(––). Drapeau exécution de 7SEG(88) Passe à ON pendant l’exécution de 7SEG(88). Drapeau exécution de DSW(87) Passe à ON pendant l’exécution de DSW(87). Non utilisés. Drapeau erreur de l’unité de communications Passe à ON lorsqu’une erreur se produit dans une unité de communications. Ce drapeau reflète le fonctionnement du drapeau erreur de l’unité de communications (AR 0011). Non utilisé. Drapeau erreur de la carte interne Passe à ON lorsqu’une erreur se produit dans une carte interne montée dans l’emplacement 1 ou l’emplacement 2. Les codes d’erreur pour les emplacements 1 et 2 sont sauvegardés respectivement de l’AR 0400 à l’AR 0407 et de l’AR 0408 à l’AR 0415. --- Impulsions de l’horloge à 0,1 seconde (0,05 seconde ON ; 0,05 seconde OFF) Impulsions de l’horloge à 0,2 seconde (0,1 seconde ON ; 0,1 seconde OFF) Impulsions de l’horloge à 1 seconde (0,5 seconde ON ; 0,5 seconde OFF) Drapeau erreur d’exécution d’instruction (ER) Passe à ON lorsqu’une erreur se produit pendant l’exécution d’une instruction Drapeau de retenue (CY) Passe à ON lorsqu’il y a une retenue dans les résultats d’une exécution d’instruction. Drapeau plus grand que (GR) Passe à ON lorsque le résultat d’une opération de comparaison est “plus grand”. Drapeau égaux (EQ) Passe à ON lorsque le résultat d’une opération de comparaison est “égal” ou lorsque le résultat d’une execution d’instruction est 0. Drapeau plus petit que (LE) Passe à ON lorsque le résultat d’une opération de comparaison est “plus petit”. --------- SR 25211 (bit de maintien de l’état forcé) ----348 348 155 249 459 451 455 455 --- ------- --- Lorsque l’état de paramétrage/réinitialisation forcé est supprimé, les bits forcés sont passe à ON ou à OFF comme suit : Paramétrage forcé supprimé : Réinitialisation forcée supprimée : bits à ON bits à OFF Tous les bits paramétrés/réinitialisés de force sont supprimés lorsque l’API est commuté en mode RUN à moins que le DM 6601 dans le Setup de l’API soit paramétré pour maintenir l’état précédent du bit de maintien de l’état forcé lorsque l’alimentation est à ON. Ce paramétrage est utilisé pour empêcher l’état forcé d’être supprimé même lorsque l’alimentation est à ON. 171 Zone AR Chapitre 3-4 Mettre ce bit à ON et OFF depuis un périphérique de programmation. SR 25212 (bit de maintien des E/S) Lorsque ce bit est à ON, l’état des bits dans les zones IR et LR sont maintenus lorsque l’API est commuté du mode PROGRAM en mode RUN ou MONITOR (lorsque le bit de maintien des E/S est à OFF, tous les bits des zones IR et LR sont réinitialisés lors du démarrage du fonctionnement de l’API). Mettre ce bit à ON et à OFF depuis le périphérique de programmation. Le DM 6601 est réglé dans le Setup de l’API pour maintenir l’état du bit de maintien des E/S lorsque l’alimentation est à ON. Lorsque ce réglage est effectué et que le bit de maintien des E/S est à ON, l’état des bits dans les zones IR et LR n’est pas supprimé lorsque l’alimentation est à ON. SR 25215 (bit OFF de sortie) Lorsque ce bit passe à ON, toutes les sorties passent à OFF et le voyant INH de l’unité centrale s’allume. Aussi longtemps que le bit OFF de sortie est à ON, les sorties restent à OFF même si les bits de sortie sont passe à ON par le programme. Les sorties d’impulsions des unités de sortie à transistor et des cartes des E/S d’impulsions restent à OFF aussi longtemps que le bit OFF de sortie est à ON. Si une carte de compteur à grande vitesse est installée, les sorties externes de la carte (1 à 4) restent à OFF aussi longtemps que le bit OFF de sortie est à ON. Lorsque le bit OFF de sortie est normalement passe à OFF, l’arrêter régulièrement depuis le programme. Si le bit OFF de sortie n’est pas arrêté depuis le programme, son état “ON/OFF” est maintenu lorsque l’alimentation est à OFF (bien que son état ne soit pas maintenu lorsque la batterie de secours tombe en panne). SR 25308 (drapeau batterie faible) Un réglage peut être fait dans le Setup de l’API (DM 6655) de sorte que ces erreurs ne soient pas produites. SR 25309 (drapeau dépassement de la durée de cycle) Un réglage peut être fait dans le Setup de l’API (DM 6655) de sorte que ces erreurs ne soient pas produites. 3-4 Zone AR Lorsqu’un schéma à contact complexe n’est pas programmé en code mnémonique juste comme il est, ces bits sont utilisés pour sauvegarder temporairement les états d’exécution ON/OFF des branches de programme. Ils sont utilisés seulement pour le code mnémonique. Lors de la programmation directement avec les schémas à contact, les bits TR sont automatiquement traités pour vous. Les mêmes bits TR ne sont pas utilisés plus d’une fois dans le même bloc d’instruction, mais sont utilisés de nouveau dans des blocs d’instruction différents. L’état ON/OFF des bits TR n’est pas surveillé depuis un périphérique de programmation. Des exemples montrant l’utilisation des bits TR dans la programmation sont fournis à la page 208. 3-5 Zone HR Ces bits maintiennent leur état ON/OFF même après que l’alimentation du CQM1H passe à OFF ou lorsque le fonctionnement commence ou s’arrête. Ils sont utilisés de la même manière comme bits de travail. 172 Chapitre Zone AR 3-6 ! Attention Ne jamais utiliser un bit d’entrée dans une condition NC sur la réinitialisation (r) pour KEEP(11) lorsque le dispositif d’entrée emploie un approvisionnement de courant alternatif (voir le diagramme ci-dessous). Le délai pour arrêter l’alimentation c.c. de l’API relative à l’alimentation c.c. du périphérique d’entrée peut provoquer la réinitialisation du bit désigné KEEP(11). A 3-6 Unité d’entrée AC B A Paramétrage KEEP HR0000 Réinitialisation Zone AR Ces bits servent principalement de drapeaux liés au fonctionnement du CQM1H. Les drapeaux des AR 05 et AR 06 relatifs au fonctionnement des cartes internes et leurs fonctions sont différents pour chaque carte interne. Le tableau suivant est dédoublé pour montrer les fonctions des drapeaux partagés (AR 00 à AR 04 et AR 07 à AR 27) et des drapeaux uniques sur les cartes internes particulières (AR 05 et AR 06.) Excepté l’AR 23 (Compteur de mise hors tension), l’état des mots AR et des bits est rafraîchis à chaque cycle (l’AR 23 est rafraîchi seulement pour des interruptions d’alimentation). 3-6-1 Drapeaux/bits partagés (AR 00 à AR 04) Mot AR 00 AR 01 AR 02 Bit(s) 00 à 10 11 12 à 15 00 à 10 11 12 à 15 00 à 07 08 09 10 à 14 15 AR 03 00 à 15 AR 04 00 à 07 08 à 15 Fonction Non utilisés. Drapeau erreur de l’unité de communications Passe à ON lorsqu’une erreur se produit dans l’unité de communications. Non utilisés. Non utilisés. Bit de redémarrage de l’unité de communications Passe ce bit à ON et puis à OFF pour redémarrer l’unité de communications. Non utilisés. Code d’exécution d’instruction de réseau Contient le code d’exécution pour des instructions de réseau (SEND(90), RECV(98) ou CMND(––).) Drapeau erreur d’instruction de réseau (SEND(90), RECV(98) ou CMND(––)) Passe à ON lorsqu’une erreur se produit dans l’exécution d’une instruction de réseau (SEND(90), RECV(98) ou CMND(––).) Drapeau instruction de réseau (SEND(90), RECV(98) ou CMND(––)) autorisée Passe à ON lorsqu’une instruction de réseau (SEND(90), RECV(98) ou CMND(––)) s’exécute. Non utilisés. Drapeau unité de communications connectées Passe à ON lorsqu’une unité de communications est montée dans l’API. Temps de gestion de l’unité de communications Indique le temps de gestion pour le dernier cycle dans les unités de 0,1 ms (BCD à 4 digits). Code d’erreur de la carte interne dans l’emplacement 1 (Hex) 00 : Normal 01, 02 : Erreur matériel 04 : Erreur carte des communications série Code d’erreur de la carte interne dans l’emplacement 2 (Hex) 00 : Normal 01, 02 : Erreur matériel 03 : Erreur Setup de l’API 04 : L’API s’est arrêté pendant la sortie d’impulsions ou l’erreur de conversion A/D (D/A) 173 Chapitre Zone AR 3-6 3-6-2 Drapeaux/bits pour les cartes internes (AR 05 et AR 06) Drapeaux bits de l’emplacement 2 de la carte du compteur à grande vitese (AR 05 à AR 06) Mot AR 05 Bit(s) 00 Bit de réinitialisation du compteur à grande vitesse 1 01 Bit de réinitialisation du compteur à grande vitesse 2 02 Bit de réinitialisation du compteur à grande vitesse 3 03 Bit de réinitialisation du compteur à grande vitesse 4 04 à 07 08 Non utilisés. Bit d’arrêt de comparaison du compteur à grande vitesse 1 Bit d’arrêt de comparaison du compteur à grande vitesse 2 Bit d’arrêt de comparaison du compteur à grande vitesse 3 Bit d’arrêt de comparaison du compteur à grande vitesse 4 Bit d’arrêt du compteur à grande vitesse 1 Bit d’arrêt du compteur à grande vitesse 2 Bit d’arrêt du compteur à grande vitesse 3 Bit d’arrêt du compteur à grande vitesse 4 Bit de paramétrage forcé de la sortie externe 1 Bit de paramétrage forcé de la sortie externe 2 Bit de paramétrage forcé de la sortie externe 3 Bit de paramétrage forcé de la sortie externe 4 Bit d’activation du paramétrage forcé de la sortie externe 09 10 11 AR 06 Function 12 13 14 15 00 01 02 03 04 05 à 15 Non utilisés. Fonctionnement Phase Z et réinitialisation du programme 0: réinitialisation phase Z désactivée 1: réinitialisation phase Z activée Réinitialisation du programme seulement 0: réinitialisation du programme désactivée 0→1 : exécute la réinitialisation du programme --0→1 : débute la comparaison. 1→0 : arrête la comparaison. 0 : poursuit le fonctionnement. 1 : arrête le fonctionnement. 0 : non valable 1 : forcé à ON 0 : paramétrage forcé des sorties 1 à 4 désactivé 1 : paramétrage forcé des sorties 1 à 4 activé --- Drapeaux/bits de l’emplacement 2 de la Carte de gestion d’axes (AR 05 à AR 06) Mot AR 05 Bit(s) 00 à 07 08 09 10 à 11 12 à 15 174 Fonctionnement Drapeaux comparaison de plage du compteur à grande vitesse 1 Bit 00 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 1 Bit 01 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 2 Bit 02 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 3 Bit 03 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 4 Bit 04 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 5 Bit 05 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 6 Bit 06 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 7 Bit 07 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 8 Drapeau comparaison du compteur à grande vitesse 1 OFF : arrêté ON : comparaison Drapeau dépassement positif/négatif du compteur à grande vitesse 1 OFF : normal ON : dépassement positif ou négatif produit. Non utilisés. Drapeaux sortie d’impulsions du port Bit 12 à ON : décélération spécifiée (OFF : non spécifié). Bit 13 à ON : nombre d’impulsions spécifié (OFF : non spécifié). Bit 14 à ON : sortie d’impulsions terminée (OFF : non terminé). Bit 15 à ON : sortie d’impulsions en cours (OFF : sans sortie d’impulsions). Chapitre Zone AR Mot AR 06 Bit(s) 00 à 07 08 09 10 à 11 12 à 15 3-6 Fonctionnement Drapeaux comparaison de plage du compteur à grande vitesse 2 Bit 00 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 1 Bit 01 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 2 Bit 02 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 3 Bit 03 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 4 Bit 04 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 5 Bit 05 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 6 Bit 06 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 7 Bit 07 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 8 Drapeau comparaison du compteur à grande vitesse 2 OFF : arrêté ON : comparaison Drapeau dépassement positif/négatif du compteur à grande vitesse 2 OFF : normal ON : dépassement positif ou négatif produit. Non utilisés. Drapeaux sortie d’impulsions du port 2 Bit 12 à ON : décélération spécifiée (OFF : non spécifié). Bit 13 à ON : nombre d’impulsions spécifié (OFF : non spécifié). Bit 14 à ON : sortie d’impulsions terminée (OFF : non terminé). Bit 15 à ON : sortie d’impulsions en cours (OFF : sans sortie d’impulsions). Drapeaux/bits de la Carte codeur absolu (AR 05 à AR 06) Mot AR 05 Bit(s) 00 à 07 08 AR 06 09 à 15 00 à 07 08 09 à 15 Operation Drapeaux comparaison de plage du compteur à grande vitesse 1 Bit 00 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 1 Bit 01 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 2 Bit 02 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 3 Bit 03 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 4 Bit 04 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 5 Bit 05 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 6 Bit 06 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 7 Bit 07 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 8 Drapeaux comparaison du compteur à grande vitesse 1 OFF: arrêté ON: comparaison Non utilisés. Drapeaux comparaison de plage du compteur à grande vitesse 2 Bit 00 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 1 Bit 01 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 2 Bit 02 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 3 Bit 03 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 4 Bit 04 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 5 Bit 05 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 6 Bit 06 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 7 Bit 07 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 8 Drapeaux comparaison du compteur à grande vitesse 2 OFF : arrêté ON : comparaison Non utilisés. 3-6-3 Drapeaux/bits partagés (AR 07 à AR 27) Mot AR 07 Bit(s) 00 01 à 11 12 13 à 15 Fonction Bit de début de la liaison de données de la liaison contrôleur OFF→ ON : Début (ce bit est à ON lorsque l’alimentation est à ON) ON→ OFF : Fin Not used. Drapeau sélecteur 6 du micro–interrupteur OFF : le sélecteur 6 du micro-interrupteur de l’unité centrale est à OFF. ON : le sélecteur 6 du micro-interrupteur de l’unité centrale est à ON. Non utilisés. 175 Chapitre Zone AR Mot AR 08 Bit(s) 00 à 03 04 05 06 07 08 à 11 12 13 14 15 Fonction Code d’erreur du port RS-232C (nombre à 1 digit) 0 : exécution normale ; 1 : erreur de parité ; 2 : erreur de trame ; 3 : erreur de dépassement Drapeau erreur du port RS-232C Passe à ON lorsqu’une erreur de communications se produit dans le port intégré RS-232C de l’unité centrale. Drapeau transmission activée du port RS-232C Valable seulement lorsqu’une liaison à l’ordinateur ou les communications RS-232C sont utilisées sur le port intégré RS-232C de l’unité centrale. Drapeau réception terminée du port RS-232C Valable seulement lorsque les communications RS-232C sont utilisées sur le port intégré RS-232C de l’unité centrale. Drapeau dépassement positif de réception du port RS-232C Valable seulement lorsqu’une liaison à l’ordinateur ou les communications RS-232C sont utilisées sur le port intégré RS-232C de l’unité centrale. Code d’erreur du port périphérique (nombre à 1 digit) 0 : exécution normale ; 1 : erreur de parité ; 2 : erreur de trame ; 3 : erreur de dépassement Drapeau erreur du port périphérique Passe à ON lorsqu’une erreur de communications du port périphérique se produit. Drapeau transmission activée du port périphérique Valable uniquement lorsqu’une liaison hôte ou les communications RS-232C sont utilisées. Drapeau réception terminée du port périphérique Valable uniquement lorsque les communications RS-232C sont utilisées. Drapeau dépassement positif de réception du port périphérique Valable uniquement lorsqu’une liaison hôte ou les communications RS-232C sont utilisées. AR 09 00 à 15 Compteur de réception du port RS-232C BCD à 4 digits ; valable uniquement lorsque les communications RS-232C sont utilisées. AR 10 00 à 15 Compteur de réception du port périphérique BCD à 4 digits ; valable uniquement lorsque les communications RS-232C sont utilisées. AR 11 00 à 07 Drapeaux comparaison de plage du compteur à grande vitesse 0 Bit 00 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 1 Bit 01 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 2 Bit 02 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 3 Bit 03 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 4 Bit 04 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 5 Bit 05 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 6 Bit 06 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 7 Bit 07 à ON : la PV du compteur satisfait les conditions pour la comparaison de plage 8 Non utilisés. Etat de sortie d’impulsions pour la spécification du bit de sortie d’impulsions 0 : arrêté ; 1 : sortie 08 à 14 15 3-6 AR 12 00 à 15 Non utilisés. AR 13 00 Drapeau cassette mémoire installée Passe à ON si une cassette mémoire est installée à l’heure de la mise sous tension. Drapeau horloge disponible Passe à ON si une cassette mémoire équipée d’une horloge est installée. Drapeau écriture protégée de la cassette mémoire A ON lorsqu’un EEPROM ou une cassette mémoire de la mémoire flash est montée et protégée en écriture ou lorsqu’une cassette mémoire EPROM est montée. Non utilisés. Code de cassette mémoire (nombre à 1 digit) 0 : sans cassette mémoire installée. 1 : EEPROM, cassette mémoire de 4 Kmots installée. 2 : EEPROM, cassette mémoire de 8 Kmots installée. 3 : mémoire flash, cassette mémoire de 16 Kmots installée. 4 : cassette mémoire type EPROM installée. Non utilisés. 01 02 03 04 à 07 08 à 15 176 Chapitre Zone AR Mot AR 14 Bit(s) 00 01 02 03 04 à 11 12 13 14 15 AR 15 00 à 07 08 à 15 AR 16 00 à 10 11 12 13 14 15 AR 17 00 à 07 08 à 15 3-6 Fonction Bit de transfert de l’unité centrale à la cassette mémoire Passer à ON pour le transfert à partir de l’unité centrale dans la cassette mémoire. Passer automatiquement à OFF de nouveau lorsque le fonctionnement est terminé. Bit de transfert de la cassette mémoire à l’unité centrale Passer à ON pour le transfert à partir de la cassette mémoire dans l’unité centrale. Passer automatiquement à OFF de nouveau lorsque le fonctionnement est terminé. Bit de comparaison de la cassette mémoire Passer à ON pour comparer les contenus de l’API avec les contenus de la cassette mémoire. Passer automatiquement à OFF de nouveau lorsque le fonctionnement est terminé. Drapeau résultats de comparaison de la cassette mémoire ON : différence trouvée ou comparaison impossible. OFF : contenus comparés et trouvés pour être identiques. Non utilisés. Drapeau erreur de transfert du mode PROGRAM Passe à ON lorsque le transfert ne s’exécute pas en mode PROGRAM. Drapeau erreur de protection en écriture Passe à ON lorsque le transfert ne s’exécute pas en protection d’écriture. Drapeau capacité insuffisante Passe à ON lorsque le transfert ne s’exécute pas du fait de la capacité insuffisante de la destination du transfert. Drapeau sans programme Passe à ON lorsque le transfert ne s’exécute pas du fait de l’absence de programme dans la cassette mémoire. Code de programme de la cassette mémoire Le code (nombre à 2 digits) indique la taille du programme sauvegardé dans la cassette mémoire. 00 : aucun programme ou aucune cassette mémoire installé. 04 : le programme est inférieur à 3,2 kmots de long. 08 : le programme est inférieur à 7,2 kmots de long. 12 : le programme est inférieur à 11,2 kmots de long. 16 : le programme est inférieur à 15,2 kmots de long. Code de programme de l’unité centrale Le code (nombre à 2 digits) indique la taille du programme sauvegardé dans l’unité centrale. 04 : le programme est inférieur à 3,2 kmots de long. 08 : le programme est inférieur à 7,2 kmots de long. 12 : le programme est inférieur à 11,2 kmots de long. 16 : le programme est inférieur à 15,2 kmots de long. Non utilisés. Drapeau Setup de l’API initialisé Passe à ON lorsqu’une erreur de somme se produit dans la zone du Setup de l’API et que tous les paramétrages sont initialisés jusqu’aux paramètres par défaut. Drapeau programme non valable Passe à ON lorsqu’une erreur de somme se produit dans la zone UM (programme utilisateur) ou lorsqu’une instruction inexacte est exécutée. Drapeau tableau d’instructions initialisées Passe à ON lorsqu’une erreur de somme se produit dans le table d’instructions et que tous les paramétrages sont initialisés jusqu’aux paramètres par défaut. Drapeau cassette mémoire supplémentaire Passe à ON si la cassette mémoire est installée bien que l’alimentation soit à ON. Drapeau erreur de transfert de la cassette mémoire Passe à ON si un transfert ne s’exécute pas avec succès lorsque le sélecteur 2 du micro-interrupteur est à ON (c.-à-d. réglé pour transférer automatiquement le contenu de la cassette mémoire à la mise sous tension). Partie de “Minutes” du temps actuel en BCD à 2 digits (Valable seulement lorsqu’une cassette mémoire avec horloge est installée. Pour de plus amples informations, se reporter à la page 179) Partie d’“Heure” du temps actuel en BCD à 2 digits (Valable seulement lorsqu’une cassette mémoire avec horloge est installée. Pour de plus amples informations, se reporter à la page 179) 177 Chapitre Zone AR Mot AR 18 Bit(s) 00 à 07 08 à 15 AR 19 00 à 07 08 à 15 AR 20 00 à 07 08 à 15 AR 21 00 à 07 08 à 12 13 14 15 AR 22 00 à 07 08 à 15 AR 23 178 00 à 15 3-6 Fonction Partie de “Secondes” du temps actuel en BCD à 2 digits (Valable seulement lorsqu’une cassette mémoire avec horloge est installée. Pour de plus amples informations, se reporter à la page 179) Partie de “Minutes” du temps actuel en BCD à 2 digits (Valable seulement lorsqu’une cassette mémoire avec horloge est installée. Pour de plus amples informations, se reporter à la page 179) Partie d’“Heure” du temps actuel en BCD à 2 digits (Valable seulement lorsqu’une cassette mémoire avec horloge est installée. Pour de plus amples informations, se reporter à la page 179) Partie de “Date” du temps actuel en BCD à 2 digits (Valable seulement lorsqu’une cassette mémoire avec horloge est installée. Pour de plus amples informations, se reporter à la page 179) Partie du “Mois” du temps actuel en BCD à 2 digits (Valable seulement lorsqu’une cassette mémoire avec horloge est installée. Pour de plus amples informations, se reporter à la page 179) Partie de l’“Année” du temps actuel en BCD à 2 digits (Valable seulement lorsqu’une cassette mémoire avec horloge est installée. Pour de plus amples informations, se reporter à la page 179) Partie de “Jour de la semaine” du temps actuel en BCD à 2 digits [00 : dimanche à 06 : samedi] (Valable seulement lorsqu’une cassette mémoire avec horloge est installée. Pour de plus amples informations, se reporter à la page 179) Non utilisés. Bit d’ajustement de 30 secondes Valable seulement lorsqu’une cassette mémoire avec horloge est installée. Pour de plus amples informations, se reporter à la page 179 Bit d’arrêt de l’horloge Valable seulement lorsqu’une cassette mémoire avec horloge est installée. Pour de plus amples informations, se reporter à la page 179 Bit de réglage de l’horloge Valable seulement lorsqu’une cassette mémoire avec horloge est installée. Pour de plus amples informations, se reporter à la page 179 Mots d’entrée Nombre de mots (BCD à 2 digits) attribués aux bits d’entrée (seule une valeur identifiée est sauvegardée. Une valeur 00 est sauvegardée si une erreur I/O UNIT OVER s’est produite). Mots de sortie Nombre de mots (BCD à 2 digits) attribués aux bits de sortie (seule une valeur identifiée est sauvegardée. Une valeur 00 est sauvegardée si une erreur I/O UNIT OVER s’est produite). Compteur de mise sous tension (BCD à 4 digits) Comptage du nombre de fois où l’alimentation est à OFF. Pour supprimer le comptage, écrire “0000” depuis un périphérique de programmation. Chapitre Zone AR Mot AR 24 Bit(s) 00 01 02 03 04 05 06, 07 08 à 15 3-6 Fonction Drapeau erreur de mise sous tension du Setup de l’API Passe à ON lorsqu’il y a une erreur du DM 6600 au DM 6614 (partie de la zone du Setup de l’API lue à la mise sous tension). Drapeau erreur de démarrage du Sutup de l’API Passe à ON lorsqu’il y a une erreur du DM 6615 au DM 6644 (partie de la zone du Setup de l’API lue au début du fonctionnement). Drapeau erreur RUN du Setup de l’API Passe à ON lorsqu’il y a une erreur du DM 6645 au DM 6655 (partie de la zone du Setup de l’API toujours lue). Drapeau modification des paramètres du port périphérique de l’unité centrale Drapeau modification des paramètres du port RS-232C de l’unité centrale Drapeau temps de cycle long Passe à ON lorsque le temps de cycle en cours est plus long que le temps de cycle réglé dans le DM 6619. Non utilisés. Code (hexadécimal à 2 digits) indiquant le nombre de mots d’une ereur du bus des E/S détectées 00 à 15 (BCD) : correspondent aux mots d’entrée 000 à 015. 80 à 95 (BCD) : correspondent aux mots de sortie 100 à 115. F0 (hexadécimal) : carte interne montée dans l’emplacement 1 non identifiée. F1 (hexadécimal) : carte interne montée dans l’emplacement 2 non identifiée. FF (hexadécimal) : couvercle de fin non identifié. AR 25 00 à 07 08 09 à 11 12 13 14 15 Non utilisés. Bit d’apprentissage FPD(––) Non utilisés. Drapeau analyse terminée Drapeau analyse Bit déclenchement d’analyse Bit de début d’échantillonnage (Ne pas détruire par écrasement ce bit depuis le programme) AR 26 00 à 15 Temps de cycle maximal (BCD à 4 digits) Le temps de cycle le plus long dès le début du fonctionnement est sauvegardé. Il est supprimé au démarrage et non à la fin du fonctionnement. L’unité peut être n’importe laquelle des suivantes, selon le paramétrage du temps de surveillance 9F (DM 6618). Par défaut : 0,1 ms ; réglage “10 ms” : 0,1 ms ; réglage “100 ms” : 1 ms ; réglage “1 s” : 10 ms. AR 27 00 à 15 Temps de cycle en cours (BCD à 4 digits) Le temps de cycle le plus récent lors du fonctionnement est sauvegardé. Le temps de cycle en cours n’est pas supprimé lorsque le fonctionnement s’arrête. L’unité peut être n’importe laquelle des suivantes, selon le paramétrage du temps de surveillance 9F (DM 6618). Par défaut : 0,1 ms ; réglage “10 ms” : 0,1 ms ; réglage “100 ms” : 1 ms ; réglage “1 s” : 10 ms. 3-6-4 Utilisation de l’horloge Les CQM1H sont équipés d’une horloge par l’installation d’une cassette mémoire avec horloge. Ce chapitre explique comment utiliser l’horloge. Il y a des “R” à la fin du numéro du modèle des cassettes mémoire avec une horloge intégrée. Par exemple, la cassette mémoire de CQM1–ME04R possède une horloge intégrée. Le R vient de “l’horloge en temps réel”. Rem. L’horloge s’arrête et les données d’horloge de date et d’heure sont perdues lorsque la cassette mémoire est supprimée à partir de l’unité centrale. 179 Chapitre Zone LR Mots contenant la date et l’heure 3-7 L’illustration suivante présente la configuration des mots (AR 17 à AR 21) utilisés avec l’horloge. Ces mots sont lus et utilisés comme exigé (l’AR 17 est fourni de sorte que l’heure et la minute soient consultées rapidement). 15 AR 17 AR 18 AR 19 AR 20 AR 21 Heure Minute Date Année 8 7 0 Minute Seconde Heure Mois Jour semaine BCD à 2 digits chacun. (seuls les 2 derniers numéros de l’année sont affichés) 00 à 06 : dimanche à samedi AR 2115 Bit paramétrage horloge AR 2114 Bit arrêt horloge AR 2113 Bit ajustement 30 secondes Réglage de l’heure Pour régler l’heure, utiliser un périphérique de programmation comme suit : Rem. L’heure est réglée facilement en utilisant les opérations de menu d’un périphérique de programmation tel qu’une console de programmation. Se reporter au Manuel de fonctionnement du CQM1H pour la procédure de la console de programmation Réglage de l’ensemble Régler l’heure et la date en suivant la procédure ci-après : 1, 2, 3... 1. Passer à ON l’AR 2114 (bit d’arrêt de l’horloger) pour arrêter l’horloge et permettre la destruction par écrasement de AR 18 à AR 21. 2. Régler les AR 18 à AR 20 (minute/seconde, date/heure et année/mois) et les AR 2100 à AR 2107 (jour de la semaine) en utilisant un périphérique de programmation. 3. Passer à ON l’AR 2115 (bit de paramétrage de l’horloge) lorsque le réglage de l’heure dans l’étape 2 est réalisée. L’horloge commence à fonctionner à partir de l’heure réglée et le bit d’arrêt de l’horloge et le bit de paramétrage de l’horloge passe à OFF automatiquement. Réglage des secondes seulement Il est également possible, en utilsant l’AR 2113, de régler simplement les secondes à “00” sans passer par une procédure compliquée. Lorque l’AR 2113 est à ON, l’heure de l’horloge se modifie comme suit : Si le réglage des secondes compris entre 00 et 29, les secondes sont réinitialisées à “00 ” et le réglage des minutes reste le même. Si le réglage des secondes compris entre 30 et 59, les secondes sont réinitialisées à “00 ” et le réglage des minutes est incrémenté de un. Lorsque le réglage de l’heure est terminé, l’AR 2113 est mis automatiquement sur OFF. 3-7 Zone LR Ces bits sont utilisés pour le partage des données dans une liaison de données 1:1 (entre un CQM1H et un autre API) ou une liaison de données de la liaison contrôleur. Ces deux fonctions n’utilisent pas les mêmes bits de LR simultanément. Les bits de LR sont utilisés comme bits de travail lorsque non utilisés pour une liaison de données 1:1. Liaison de données un-à-un Deux unités centrales sont connectées afin d’établir une liaison de données 1:1 partageant les données dans les zones LR des deux API. Un CQM1H est relié 180 Chapitre Zone temporisation/compteur 3-8 un-à-un avec n’importe lequel des API suivants : CQM1H, CQM1, C200HX/HG/HE, C200HS, CPM1, CPM1A, CPMÀ, CPM2C ou SRM1(–V2). Se reporter au paragraphe rapportent à 1-6-4 Communications de la liaison un-à-un pour de plus amples informations. Rem. Puisque les API CPM1, CPM1A, CPM2A et SRM1(–V2) possèdent une plus petite zone LR, le paramétrage de la zone de liaison du CQM1H (DM 6645) est réglé du LR 00 au LR 15 lors de la connexion 1:1 à l’un de ces API. Liaison de données de la liaison contrôleur Une unité de liaison contrôleur est montée pour établir une liaison de données de la liaison contrôleur en utilisant les paramétrages automatique ou manuel. Se reporter au manuel de fonctionnement de l’unité de liaison contrôleur pour de plus amples informations. 3-8 Zone temporisation/compteur Cette zone est utilisée pour le contrôle des temporisations et des compteurs créés avec TIM, TIMH(15), CNT, CNTR(12) et TTIM(– –). Les mêmes numéros sont utilisés pour deux temporisations et compteurs et chaque numéro n’est utilisé qu’une seule fois dans le programme utilisateur. Ne pas utiliser le même numéro de TIM/CNT deux fois pour des instructions différentes. Les numéros de TIM/CNT sont utilisés pour créer des temporisations et des compteurs, aussi bien que pour accéder aux drapeaux d’accomplissement et aux valeurs en cours (PV). Si un numéro de TIM/CNT est spécifié pour des données de mot, il accède à la valeur en cours (PV) ; s’il est utilisé pour des données de bit, il accède au drapeau d’accomplissement de temporisation/compteur. Le drapeau d’accomplissement est temporisation/compteur utilisé est à 0. à ON lorsque la PV de Se reporter aux instructions de la page 251 pour de plus amples informations sur les temporisationss et les compteurs. Exactitude d’assurance Les numéros de TIM/CNT 000 à 015 et le traitement d’interruption sont utilisés pour TIMH(15) toutes les fois que le temps de cycle est plus long que 10 ms. Utiliser d’autres numéros de temporisation/compteur ou ne pas utiliser le traitement d’interruption mène à l’inexactitude dans les temporisations à grande vitesse. Le traitement d’interruption est réglé dans le DM 6629 du Setup de l’API. Conditions de réinitialisation des PV de TIM et TIMH(15) La PV est réinitialisée sur la SV lorsque l’exécution du programme débute, l’état de l’entrée de l’instruction ou l’état de verrouillage est désactivé lorsque l’instruction se trouve dans une zone verrouillée du programme (IL–ILC). Conditions de réinitialisation des PV de TTIM(––) La PV est réinitialisée à 0000 lorsque l’entrée de réinitialisation de la temporisation est activée. La PV est maintenue lorsque l’exécution du programme débute, l’état de l’entrée de l’instruction ou l’état de verrouillage est désactivé lorsque l’instruction se trouve dans une zone verrouillée du programme (IL–ILC). Conditions de réinitialisation des PV de CNT et CNTR(12) La PV est réinitialisée sur la SV lorsque l’entrée de réinitialisation du compteur est activée. La PV est maintenue lorsque l’exécution du programme débute, l’état de l’entrée de l’instruction ou l’état de verrouillage est désactivé lorsque l’instruction se trouve dans une zone verrouillée du programme (IL–ILC). 181 Chapitre Zone DM 3-9 3-9 Zone DM Les données sont consultées dans les unités de mot. Comme indiqué ci–dessous, la partie lecture/écriture de la zone DM est librement lue et écrite depuis le programme. Le reste de la zone DM est attribué à l’avance à des fonctions spécifiques. Dénomination Lecture/écriture Rem. Plage Toutes les UC du CQM1H CQM1H-CPU51/61 seulement DM 0000 à DM 3071 DM 3072 à DM 6143 Zone lecture seule Zone entière écriture seule (Voir Rem. 1 et 2) Zone des paramètres DM de la liaison contrôleur Zone du tableau de programme Paramétrages de la carte des communications série Zone journal d’erreur DM 6144 à DM 6568 DM 6400 à DM 6409 Setup de l’API (voir Rem. 2) DM 6600 à DM 6655 DM 6450 à DM 6499 DM 6550 à DM 6559 DM 6569 à DM 6599 1. La zone de lecture seule va du DM 6144 au DM 6568. 2. Le zone de lecture seule, le Setup de l’API, le programme et les tâches d’instruction d’expansion sont transférés de la cassette mémoire comme un bloc unique de données. Se reporter au paragraphe 3-11 Utilisation de cassettes mémoire pour de plus amples informations. Zone DM de lecture/écriture La zone de lecture/écriture n’a aucune fonction particulière lui étant attribuée et est utilisée librement. Elle est lue et écrite depuis le programme ou des périphériques de programmation. La taille de la zone de lecture/écriture dépend du modèle de l’unité centrale, comme indiqué dans le tableau suivant : Unité centrale CQM1H-CPU11 CQM1H-CPU21 CQM1H-CPU51 CQM1H-CPU61 Zone de lecture seule (DM 6144 à DM 6568) Plage DM 0000 à DM 3071 Accès depuis les instructions Lecture OUI Ecriture OUI Accès depuis les périphériques de programmation Lecture OUI Ecriture OUI DM 0000 à DM 6143 Les adresses de DM 6144 à DM 6568 composent la zone de lecture seule. Les données de la zone de lecture seule sont lues depuis les instructions (non détruites par écrasement) et sont lues et détruites par écrasement depuis les périphériques de programmation. Utiliser la zone de lecture seule pour sauvegarder les données dont la modification dans le programme n’est pas souhaitée. Afin d’empêcher la destruction par écrasement des données par le périphérique de programmation, Passer à ON le sélecteur 1 du micro-interrupteur situé sur l’avant de l’unité centrale. Lorsqu’une Unité de liaison contrôleur ou une carte de communication série est utilisée, une partie de la zone de lecture seule est utilisée pour le tableau des 182 Chapitre 3-10 Zone EM programme/paramètres de la liaison contrôleur ou pour le paramétrage de la carte des communications série, comme indiqué dans le tableau suivant : Dénomination Plage Zone de paramètres DM de la liaison contrôleur Zone du tableau du programme Paramétrage de la carte de communication série DM 6400 à DM 6409 DM 6450 à DM 6499 DM 6550 à DM 6559 Accès depuis les instructions Lect. OUI Ecr. Non Accès depuis les périphériques de programmation Lecture OUI Ecriture OUI (Voir Rem.) Rem. Les données ne sont pas détruites par écrasement par les périphériques de programmation lorsque le sélecteur 1 du micro-interrupteur situé à l’avant de l’unité centrale est à ON. Zone du journal d’erreur (DM 6569 à DM 6599) L’unité centrale enregistre automatiquement le code d’erreur et la date/heure d’au maximum 10 erreurs (fatales et non fatales) dans la zone du journal d’erreur. Accès depuis les instructions Lecture OUI Setup de l’API (DM 6600 à DM 6655) Ecriture Non Accès depuis les périphériques de programmation Lecture Ecriture OUI Non Le Setup de l’API contient tous le paramétrage du Setup de l’API à l’exception du paramétrage de la carte de communication série (sauvegardés du DM 6550 au DM 6559). Effectuer le paramétrage du Setup de l’API à partir d’un périphérique de programmation. Accès depuis les instructions Lecture OUI Ecriture Non Accès depuis les périphériques de programmation Lecture Ecriture OUI OUI 3-10 Zone EM La zone EM est seulement utilisée dans les unités centrales du CQM1H–CPU61. Les données des EM sont consultées dans les unités de mot. Puisque seule une zone EM est disponible, les spécifications de zone ne sont pas nécessaires. Les adresses de la zone EM vont de l’EM 0000 à l’EM 6143. La zone ne possède aucune fonction particulière attribuée et est utilisée librement. Elle est lue et écrite depuis le programme ou les périphériques de programmation. 3-11 Utilisation de cassettes mémoire Ce chapitre fournit les informations générales sur les caractéristiques des cassettes mémoire et explique comment lire, écrire et comparer les informations dans une cassette mémoire. Se reporter au Manuel de fonctionnement du CQM1H pour de plus amples informations sur l’installation de la cassette mémoire, sur la protection en écriture des cassettes mémoire flash ou mémoire EEPROM, sur le remplacement des puces EPROM et sur la modification du paramétrage du commutateur de version EPROM. Une cassette mémoire facultative est utilisée pour enregistrer le programme, la zone DM de lecture seule (DM 6144 à DM 6568), le Setup de l’API (DM 6600 à DM 6655) et les tâches d’instruction d’expansion. L’enregistrement de ces 183 Chapitre 3-11 Utilisation de cassettes mémoire données sur une cassette mémoire empêche le programme et le paramétrage essentiel d’être modifiés accidentellement. De plus, le paramétrage et le programme exigés pour les différentes procédures de commande sont facilement modifiables, simplement en remplaçant la cassette mémoire. Le programme est écrit sur la RAM de l’unité centrale interne pour faire fonctionner le CQM1H sans cassette mémoire, mais le CQM1H peut fonctionner même si la batterie de l’unité centrale tombe en panne lorsqu’une cassette mémoire est utilisée, dont le contenu est transféré au démarrage. Fonction de l’horloge Les CQM1H sont équipés d’une horloge en installant une cassette mémoire avec horloge. La lettre “R” apparaît à la fin du numéro du modèle des cassettes mémoire ayant une horloge intégrée. Se reporter au paragraphe 3-6-4 Utilisation de l’horloge pour de plus amples informations. Compatibilité entre les différentes unités centrales Les données écrites dans une cassette mémoire par une unité centrale CQM1H ne sont pas lues par une unité centrale CQM1, mais les données écrites par une unité centrale CQM1 sont lues par une unité centrale CQM1H. Les données écrites dans une cassette mémoire par un CQM1H–CPU61 sont lues par les unités centrales CQM1H–CPU51, CQM1H–CPU21 et CQM1H–CPU11, mais le programme ne fonctionne pas correctement lorsque les adresses de la zone EM sont utilisées. 3-11-1 Cassettes mémoire et contenu Cassettes mémoires disponibles Les cassettes mémoire suivantes sont disponibles : Mémoire EEPROM Caractéristiques techniques 4 Kmots sans horloge 4 Kmots avec horloge 8 Kmots sans horloge 8 Kmots avec horloge 16 Kmots sans horloge (voir Rem. 1 et 2) CQM1H-ME16R 16 Kmots avec horloge CQM1-MP08K CQM1-MP08R 8 Kmots, 16 Kmots ou 32 Kmots sans horloge 8 Kmots, 16 Kmots ou 32 Kmots avec horloge EPROM (voir Rem. 2) Rem. Modèle CQM1-ME04K (voir Rem. 2) CQM1-ME04R CQM1-ME08K CQM1-ME08R Flash CQM1H-ME16K 1. Les données sont lues et écrites pour une cassette mémoire d’EEPROM à l’aide d’un périphérique de programmation. 2. Les données sont lues depuis une cassette mémoire EPROM à l’aide d’un périphérique de programmation, mais sont écrites avec un programmateur de PROM. Une puce EPROM avec 8 Kmots, 16 Kmots ou 32 Kmots est installée dans la cassette mémoire. 3. Le CQM1H-ME16K et le CQM1H-ME16R ne sont pas utilisés dans les CQM1. Les puces EPROM suivantes (vendues séparément) sont nécessaires pour les cassettes mémoire EPROM. Modèle Version ROM Capacité Vitesse d’accès ROM-ID-B 27128 ou équivalent 8 Kmots 150 ns ROM-JD-B 27256 ou équivalent 16 Kmots 150 ns ROM-KD-B 27512 ou équivalent 32 Kmots 150 ns Se reporter au Manuel de fonctionnement du CQM1H pour de plus amples informations sur le remplacement des puces EPROM et la modification du paramétrage du commutateur de version EPROM de la cassette mémoire. 184 Chapitre 3-11 Utilisation de cassettes mémoire Contenus Les données sauvegardées dans une cassette mémoire correspondent principalement à la zone DM de lecture seule de l’unité centrale, au Setup de l’API et au programme, comme indiqué dans le tableau suivant. Toutes ces données sont manipulées comme une unité unique ; les 4 zones ne sont pas lues, écrites ou comparées individuellement. Informations Zone DM Contenus Zone de lecture seule DM en lecture seule n’est pas écrit depuis le programme. La plage va du DM 6144 au DM 6568. Ces mots sont utilisés librement. Setup de l’API Le Setup de l’API définit les paramètres de fonctionnement du CQM1H et les sauvegarde dans les DM 6600 à DM 6655. Tâches d’instruction d’expansion Ce paramétrage indique quelles instructions d’expansion sont attribuées aux codes de fonction. Programme utilisateur Totalité du programme de l’utilisateur. 3-11-2 Capacité de la cassette mémoire et taille du programme Le tableau suivant présente le programme le plus long pouvant être sauvegardé dans la taille de chaque cassette mémoire : Taille de la cassette mémoire 4 Kmots Taille maximale du programme 3,2 Kmots 8 Kmots 7,2 Kmots 16 Kmots 15,2 Kmots Lorsque la tentative de sauvegarder un programme trop grand est effectuée pour une cassette mémoire ou de lire un programme trop long pour l’unité centrale, une erreur non fatale se produit et le transfert n’est pas exécuté. Deux exemples sont présentés ci–dessous. 1, 2, 3... 1. Lorsqu’une cassette mémoire EEPROM de 4 Kmots est installée dans une unité centrale avec une zone UM de 7,2 Kmots (programme de l’utilisateur), les programmes d’au moins 3,2 Kmots de long sont écrits dans la cassette mémoire. Une erreur non fatale se produit lorsque la tentative d’écrire un programme de plus de 3,2 Kmots dans la cassette mémoire est effectuée. Zone UM (7,2 Kmots) Cassette mémoire (4 Kmots) X Programme supérieur à 3,2 Kmots 2. Lorsque 8 Kmots ou une cassette mémoire plus grande sont installés dans une unité centrale avec une zone UM de 3,2 Kmots (programme de l’utilisateur), les programmes jusqu’à 3,2 Kmots sont lus depuis la cassette mémoire. Une erreur non fatale se produit lorsque la tentative de lire un programme de plus de 3,2 Kmots depuis la cassette mémoire est effectuée. Zone UM (3,2 Kmots) Cassette mémoire (8 Kmots) X Programme supérieur à 3,2 Kmots Rem. Les deux transferts présentés ci–dessus sont accomplis normalement lorsque le programme est de 3,2 Kmots ou moins. 185 Chapitre 3-11 Utilisation de cassettes mémoire Les tailles approximatives des programmes dans la zone UM (programme de l’utilisateur) sont déterminées par le contenu de l’AR 15, comme indiqué dans le tableau suivant : Emplacement Cassette mémoire Bits Contenu AR 1500 00 à AR 1507 04 08 12 16 Zone UM AR 1508 04 à AR 1515 08 12 16 Signification Aucune cassette mémoire n’est installée ou aucun programme n’est sauvegardé dans la cassette mémoire. Le programme est inférieur à 3,2 Kmots et est lu à partir de n’importe quelle unité centrale CQM1H. Le programme est inférieur à 7,2 Kmots et est lu de l’unité centrale CQM1H-CPU51/61 seulement. Le programme est inférieur à 11,2 Kmots et est lu de l’unité centrale CQM1H-CPU61 seulement. Le programme est inférieur à 15,2 Kmots et est lu de l’unité centrale CQM1H-CPU61 seulement. Le programme est inférieur à 3,2 Kmots et est écrit dans n’importe quelle mémoire flash ou cassette mémoire EEPROM. Le programme est inférieur à 7,2 Kmots et est écrit dans une mémoire flash de 8 ou 16 Kmots ou dans une cassette mémoire EEPROM. Le programme est inférieur à 11,2 Kmots et est écrit dans la mémoire flash de 16 Kmots d’une seule cassette mémoire. Le programme est inférieur à 15,2 Kmots et est écrit dans la mémoire flash de 16 Kmots d’une seule cassette mémoire. Dans l’unité centrale CQM1H–CPU11/21, le contenu des AR 1508 à AR 1515 est normalement 04. Le contenu des AR 1500 à AR 1507 est normalement 04 lorsqu’une cassette mémoire de 4 Kmots est installée. La taille du programme indiquée dans l’AR 15 n’inclut pas les instructions NOP(00) après END(01), mais inclut toutes les instructions autres que NOP(00). S’assurer de supprimer toutes les instructions inutiles après END(01) afin d’obtenir une mesure précise de la taille du programme. 3-11-3 Ecriture dans la cassette mémoire Ce chapitre explique comment écrire les données de l’unité centrale dans une mémoire flash ou dans une cassette mémoire EEPROM. Rem. Un programmateur PROM et un logiciel de soutien sont nécessaires pour écrire les données dans une cassette mémoire EPROM. Se reporter au Manuel de fonctionnement du logiciel SYSWIN pour de plus amples informations. Procédure Pour écrire dans une mémoire flash ou dans une cassette mémoire EEPROM, suivre la procédure décrite ci-dessous : 1, 2, 3... 186 1. Vérifier que le commutateur de protection en écriture sur la cassette de mémoire est à OFF (c.-à-d. écriture activée). Le drapeau protégé en écriture de la cassette mémoire (AR 1302) est à OFF lorsque l’écriture est activée. Lorsque le commutateur est à ON (c.–à–d. écriture désactivée), mettre l’alimentation du CQM1H à OFF et retirer la cassette mémoire avant de modifier le commutateur. 2. Vérifier que le CQM1H est en mode PROGRAM. Lorsqu’il se trouve en mode RUN ou MONITOR, utiliser un périphérique de programmation pour modifier le mode. 3. Passer à ON l’AR 1400 depuis un périphérique de programmation. Les informations sont écrites à partir du CQM1H dans la cassette mémoire. Chapitre 3-11 Utilisation de cassettes mémoire Lorsque le fonctionnement est terminé, l’AR 1400 passe à OFF automatiquement. ! Attention Les données ne sont pas écrites dans la cassette mémoire lorsqu’une erreur de mémoire se produit. Rem. Lorsqu’une erreur se produit alors que les données sont transmises, une erreur non fatale (FAL 9D) est produite et le bit approprié AR (d’AR 1412 à AR 1415) est passe à ON/OFF. Lorsque ceci se produit, se reporter au Chapitre 8 Dépannage et effectuer les corrections nécessaires. 3-11-4 Lecture à partir de la cassette mémoire Il existe deux manières de lire à partir de la cassette mémoire. La cassette mémoire du bit de transfert de l’unité centrale (AR 1401) est passe à ON depuis un périphérique de programmation ou bien le sélecteur 2 du micro-interrupteur de l’unité centrale est passe à ON pour automatiquement lire les données à partir de la cassette mémoire au démarrage. Lorsque le programme sur la cassette mémoire possède des instructions d’expansion avec des codes de fonction différents des paramètres par défaut, s’assurer que le sélecteur 4 du micro-interrupteur de l’unité centrale est à ON (indication des codes de fonction attribués par l’utilisateur). Le contenu de la cassette mémoire n’est pas lu à partir du programme. La lecture de la cassette mémoire s’exécute indépendamment du type de la cassette mémoire. Lorsqu’une erreur se produit alors que les données sont transmises, une erreur non fatale (FAL 9D) est produite et le bit approprié AR (d’AR 1412 à AR 1415) est passe à ON/OFF (si ceci se produit, se reporter au chapitre Dépannage et effectuer la correction nécessaire). Pour lire à partir de la cassette mémoire en utilisant un périphérique de programmation, suivre la procédure décrite ci-dessous : Procédure du périphérique de programmation 1, 2, 3... 1. Vérifier que le CQM1H est en mode PROGRAM. Lorsqu’il est en mode RUN ou MONITOR, utiliser le périphérique de programmation pour modifier le mode. 2. Utiliser le périphérique de programmation pour passer à ON l’AR 1401. L’information est lue de la cassette de mémoire vers le CQM1H et l’AR 1401 passe automatiquement à OFF lorsque l’opération de lecture est terminée. Transfert automatique au démarrage Lorsque le sélecteur 2 du micro-interrupteur de l’unité centrale est à ON, les données sont automatiquement lues à partir de la cassette mémoire lorsque l’alimentation passe à ON depuis le CQM1H. Lorsqu’une erreur se produit pendant le transfert de données entre la cassette mémoire et la mémoire du CQM1H, une erreur de mémoire se produit et l’opération est impossible. ! Attention S’assurer définitivement que l’alimentation est à ON avant de modifier le paramétrage du micro-interrupteur de CQM1H. 187 Utilisation de cassettes mémoire Chapitre 3-11 3-11-5 Comparaison du contenu de la cassette mémoire Le contenu de la cassette mémoire est comparé au contenu de la mémoire du CQM1H afin de vérifier s’ils sont identiques. Cette comparaison est effectuée pour n’importe quel type de cassette mémoire. Procédure Utiliser la procédure suivante : 1, 2, 3... 1. Vérifier que le CQM1H est en mode PROGRAM. Lorsqu’il est en mode RUN ou MONITOR, utiliser le périphérique de programmation pour le modifier en mode PROGRAM. 2. Passer à ON l’AR 1402 à partir du périphérique de programmation. Le contenu de la cassette mémoire est comparé au contenu de la mémoire du CQM1H et l’AR 1402 passe automatiquement à OFF lorsque la comparaison est terminée. 3. Vérifier l’état de l’AR 1403 pour voir les résultats de la comparaison. L’AR 1403 est à ON lorsque le contenu n’est pas le même ou lorsque la comparaison est impossible du fait que le CQM1H ne soit pas en mode PROGRAM. Lorsque l’AR 1403 est à OFF, la comparaison est réussie et le contenu est identique. L’AR 1403 n’est pas commandé à partir du programme ou d’un périphérique de programmation. Il est commandé par les résultats de la comparaison seulement. Lorsqu’une comparaison est tentée avec le CQM1H dans n’importe quel mode à l’exception du mode PROGRAM, une erreur non fatale se produit (FAL 9D) et l’AR 1412 passe à ON. Bien que l’AR 1403 soit également à ON, aucune comparaison n’est exécutée. L’AR 1403 est également à ON lorsqu’une comparaison est tentée sans cassette mémoire montée dans le CQM1H. 188 CHAPITRE 4 Programmation en schéma à contacts Ce chapitre explique les étapes et les concepts fondamentaux impliqués dans l’écriture d’un programme fondamental en schéma à contacts. Il introduit les instructions utilisées pour bâtir la structure fondamentale du schéma à contacts et commander son déroulement. L’ensemble des instructions utilisées pour la programmation est décrit dans le Chapitre 5 Ensemble d’instructions. 4-1 4-2 4-3 4-4 4-5 4-6 4-7 Procédure fondamentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Terminologie de l’instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Bases du schéma à contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 4-3-1 Terminologie fondamentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 4-3-2 Code mnémonique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 4-3-3 Instructions à contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 4-3-4 SORTIE et NON SORTIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 4-3-5 L’instruction FIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 4-3-6 Instructions de bloc logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 4-3-7 Codage d’instructions multiples de droite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 4-3-8 Lignes secondaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 4-3-9 Sauts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Commande de l’état des bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 4-4-1 PARAMETRAGE ON et PARAMETRAGE OFF . . . . . . . . . . . . . . . . . . . . . . . . 214 4-4-2 CHANGEMENT D’ETAT FRONT MONTANT et CHANGEMENT D’ETAT FRONT DESCENDANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 4-4-3 CONSERVER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 4-4-4 Bits à auto-maintien (scellement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Bits de travail (relais internes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Conseils d’utilisation à la programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Exécution du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 189 Conseils d’utilisation à la programmation 4-1 Chapitre 4-6 Procédure fondamentale Il existe plusieurs étapes fondamentales impliquées dans l’écriture d’un programme. Les feuilles, copiées pour faciliter la programmation, sont fournies dans l’Annexe E - Feuille d’affectation des E/S et dans l’Annexe F - Feuille de codage du programme. 1, 2, 3... 1. Dresser la liste de tous les périphériques d’E/S et des points d’E/S, leur étant attribués et préparer un tableau présentant le bit d’E/S attribué à chaque périphérique d’E/S. 2. Préparer la feuille présentant l’utilisation des bits, lorsque les bits LR sont utilisés pour relier deux API. 3. Déterminer quels sont les mots disponibles pour les bits de travail et préparer un tableau d’attribution de ces derniers suivant leur utilisation. 4. Préparer également les tableaux des numéros de TC et de sauts de sorte que ces derniers soient attribués suivant leur utilisation. Attention, la fonction d’un numéro de TC n’est définie qu’une fois dans le programme ; les numéros de saut 01 à 99 ne sont utilisés qu’une fois chacun (les numéros de TC sont décrits dans le paragraphe 5-16 Instructions pour les temporisations et les compteurs ; les numéros de saut sont décrits plus loin dans ce chapitre). 5. Dessiner le schéma à contacts. 6. Entrer le programme dans l’unité centrale. L’utilisation de la console de programmation implique la conversion du programme en forme mnémonique. 7. Vérifier le programme pour les erreurs de syntaxe et les corriger. 8. Exécuter le programme pour vérifier les erreurs d’exécution et les corriger. 9. Après l’installation du système de commande complet et lorsqu’il est opérationnel, exécuter le programme et le mettre au point si nécessaire. Les bases de la programmation et de la conversion du schéma à contacts en code mnémonique sont décrites dans le paragraphe 4-3 Schémas à contacts fondamentaux. La préparation et l’introduction du programme par l’intermédiaire de la console de programmation sont décrites dans le Manuel de programmation du CQM1H et par l’intermédiaire du logiciel CX–Programmer dans le Manuel de l’utilisateur du logiciel CX–Programmer. Le reste du chapitre 4 couvre la programmation plus avancée, les conseils d’utilisation à la programmation et l’exécution du programme. Toutes les instructions spéciales d’application sont couvertes dans le Chapitre 5 Ensemble d’instructions. La mise au point est décrite dans le Manuel de programmation du CQM1H et le Manuel utilisateur du logiciel CX–Programmer. Le Chapitre 8 - Dépannage fournit également les informations nécessaires à la mise au point. 4-2 Terminologie de l’instruction Il existe fondamentalement deux types d’instructions utilisées dans la programmation en schéma à contacts : 1) instructions correspondant aux conditions sur le schéma à contacts et utilisées sous la forme d’instruction uniquement lors de la conversion d’un programme en code mnémonique 2) instructions utilisées sur la partie droite du schéma à contacts et exécutées selon les conditions se trouvant sur les lignes d’instruction. La plupart des instructions ont au moins un ou plusieurs opérandes associés. Les opérandes indiquent ou fournissent les données sur lesquelles une 190 Chapitre Exécution du programme 4-7 instruction doit être exécutée. Ceux-ci sont parfois entrés comme valeurs numériques réelles, mais correspondent habituellement aux adresses de mots ou de bits de zones de données contenant les données à utiliser. Par exemple, une instruction TRANSFERT (MOVE) ayant l’IR 000 désigné comme opérande de source déplace le contenu de l’IR 000 à un autre emplacement. L’autre emplacement est aussi désigné comme opérande. Un bit dont l’adresse est désignée comme opérande est appelée bit d’opérande ; un mot dont l’adresse est désignée comme opérande est appelé mot d’opérande. Lorsque la valeur réelle est entrée comme constante, elle est précédée de # pour indiquer qu’il ne s’agit pas d’une adresse. D’autres termes utilisés dans la description des instructions sont présentés dans le Chapitre 5 – Ensemble d’instruction. 4-3 Bases du schéma à contacts Un schéma à contacts se compose d’une ligne descendant du côté gauche avec des lignes se branchant vers la droite. La ligne du côté gauche s’appelle la barre omnibus. Les lignes de branchement s’appellent les lignes d’instructions ou les échelons. Le long des lignes d’instructions sont situées les conditions conduisant à d’autres instructions du côté droit. Les combinaisons logiques de ces conditions déterminent quand et comment les instructions à droite sont exécutées. Un schéma à contacts est présenté ci–dessous : 00000 06315 25208 HR 0109 LR 2503 24400 24401 Instruction 00001 00100 00002 00501 00003 HR 0050 00502 00007 TIM 001 LR 0515 00503 00504 00403 00405 Instruction 00010 21001 21002 00011 21005 21007 Comme indiqué dans le schéma ci–dessus, les lignes d’instructions se branchent à part et se joignent ensemble vers l’arrière. Les paires verticales de lignes sont appelées conditions. Les conditions sans lignes diagonales en travers sont appelées conditions normalement ouvertes et correspondent à une instruction CHARGER (LOAD), ET (AND) ou OU (OR). Les conditions avec les lignes diagonales en travers sont appelées conditions normalement fermées et correspondent à une instruction NON CHARGER (LOAD NOT), NON ET (AND NOT) ou NON OU (OR NOT). Le numéro au–dessus de chaque condition indique le bit d’opérande pour l’instruction. L’état du bit associé à chaque condition détermine la condition d’exécution pour les instructions suivantes. La manière de fonctionnement de chacune des instructions correspond à une condition décrite ci–dessous. Cependant, avant de les considérer, il existe quelques limites fondamentales devant être expliquées. Rem. Lors de l’affichage des schémas à contacts avec le logiciel CX–Programmer, une deuxième barre omnibus est montrée du côté droit du schéma à contacts et reliée à toutes les instructions du côté droit. Ceci ne modifie pas le programme en schéma à contacts dans un sens fonctionnel quelconque. Aucune condition ne peut être située entre les instructions du côté droit et la barre omnibus de droite, c.–à–d. toutes les instructions du côté droit sont reliées directement à la barre omnibus de droite. Se reporter au Manuel de programmation du logiciel CX–Programmer pour de plus amples informations. 191 Chapitre Conseils d’utilisation à la programmation 4-3-1 4-6 Terminologie fondamentale Etats normalement ouvert et normalement fermé Chaque condition dans un schéma à contacts est à ON ou à OFF selon l’état du bit d’opérande lui étant attribué. Une condition normalement ouverte est à ON si le bit d’opérande est à ON ; à OFF si le bit d’opérande est à OFF. Une condition normalement fermée est à ON si le bit d’opérande est à OFF ; à OFF si le bit d’opérande est à ON. D’une manière générale, utiliser une condition normalement ouverte lorsque quelque chose doit se produire lorsqu’un bit est à ON et une condition normalement fermée lorsque quelque chose doit se produire lorsqu’un bit est à OFF. 00000 Instruction Condition normalement ouverte 00000 Instruction Condition normalement fermée L’instruction est exécutée lorsque le bit 00000 de l’IR est à ON. L’instruction est exécutée lorsque le bit 00000 de l’IR est à OFF. Conditions d’exécution Dans la programmation d’un schéma à contacts, la combinaison logique des conditions ON et OFF avant une instruction détermine la condition résultante sous laquelle l’instruction est exécutée. Cette condition, à ON ou à OFF, est appelée condition d’exécution pour l’instruction. Toutes les instructions autres que les instructions CHARGER (LOAD) ont des conditions d’exécution. Bits d’opérande Les opérandes indiqués pour n’importe laquelle de ces instructions de contact peuvent être n’importe quel bit dans les zones, IR, SR, HR, AR, LR ou TC. Ceci signifie que les conditions dans un schéma à contacts peuvent être déterminées par les bits d’E/S, les drapeaux, les bits de travail, les temporisations/compteurs, etc... Les instructions CHARGER et SORTIE (OUTPUT) utilisent également les bits de la zone TR, mais elles le font seulement dans des applications spéciales. Se reporter au paragraphe 4-3-8 Lignes secondaires pour de plus amples informations. Blocs logiques La manière dont les conditions correspondent à telles instructions est déterminée par le rapport entre les conditions dans les lignes d’instructions les reliant. N’importe quel groupe de conditions allant ensemble pour créer un résultat logique est appelé bloc logique. Bien que les schémas à contacts soient écrits sans réelle analyse individuelle des blocs logiques, la compréhension des blocs logiques est nécessaire pour une programmation efficace et est essentielle lorsque des programmes sont entrés en code mnémonique. Bloc d’instructions Un bloc d’instructions se compose de toutes les instructions reliées entre elles dans le schéma à contacts. Un bloc d’instructions se compose donc de toutes les instructions entre lesquelles il est possible de tracer un trait horizontal à travers le schéma à contacts sans intersection avec aucune ligne verticale et l’emplacement suivant où il est possible de dessiner le même type de trait horizontal. 4-3-2 Code mnémonique Le schéma à contacts n’est pas directement entré dans l’API par l’intermédiaire d’une console de programmation ; le logiciel CX–Programmer est exigé. Pour l’entrer depuis une console de programmation, il est nécessaire de convertir le schéma à contacts en code mnémonique. Le code mnémonique fournit exactement les mêmes informations que le schéma à contacts, mais sous une forme pouvant être tapée directement dans l’API. En fait, il est possible de 192 Exécution du programme Chapitre 4-7 programmer directement en code mnémonique, bien que ce ne soit pas recommandé pour des débutants ou pour des programmes complexes. En outre, indépendamment du périphérique de programmation utilisé, le programme est sauvegardé dans la mémoire sous forme mnémonique, la rendant importante pour comprendre le code mnémonique. En raison de l’importance de la console de programmation comme périphérique et de l’importance du code mnémonique pour comprendre totalement un programme, le code mnémonique est présenté et décrit avec le schéma à contacts. Attention, le code mnémonique n’a pas besoin d’être utilisé s’il est entré au moyen du logiciel CX–Programmer (bien qu’il puisse être utilisé avec le logiciel CX–Programmer ou non). Structure de la mémoire de programme Le programme est entré dans des adresses de la mémoire de programme. Les adresses de la mémoire de programme sont légèrement différentes de celles des autres zones mémoire parce que chaque adresse ne contient pas nécessairement la même quantité de données. En réalité, chaque adresse contient une instruction et toutes les données d’opérandes et tous les opérandes (décrits plus en détail plus loin) exigés pour cette instruction. Puisque quelques instructions n’exigent aucun opérande, alors que d’autres exigent jusqu’à trois opérandes, les adresses de la mémoire de programme ont une longueur de un à quatre mots. 193 Chapitre Conseils d’utilisation à la programmation 4-6 Les adresses de la mémoire de programme commencent à 00000 et vont jusqu’à ce que la capacité de la mémoire de programme ait été épuisée. Le premier mot de chaque adresse définit l’instruction. Toutes les données d’opérande utilisées par l’instruction sont également contenues dans le premier mot. En outre, si une instruction exige un seul bit d’opérande (sans les données d’opérande), le bit d’opérande est également programmé sur la même ligne que l’instruction. Le restant des mots exigés par une instruction contient les opérandes indiquant quelles données doivent être employées. Lors de la conversion en code mnémonique, toutes les instructions sauf celles du schéma à contacts sont écrites sous la même forme, un mot par ligne, juste comme elles apparaissent dans les symboles du schéma à contacts. Un exemple de code mnémonique est représenté ci–dessous. Les instructions y étant utilisées sont décrites plus loin dans le manuel. Adresse Instruction 00000 00001 00002 00003 00004 00005 00006 LD AND OR LD NOT AND AND LD MOV(21) Opérande HR DM 00007 00008 00009 00010 00011 00012 00013 0001 00001 00002 00100 00101 000 0000 CMP(20) DM HR 0000 00 25505 10000 DM DM 0000 0500 00502 00005 10003 AND OUT MOV(21) LD AND OUT Les colonnes Adresse et Instruction du tableau du code mnémonique sont remplies seulement pour le mot d’instruction. Pour toutes les autres lignes, les deux colonnes de gauches sont laissées vides. Si l’instruction ne demande ni données d’opérande ni bit d’opérande, la colonne de l’opérande est laissée vide à la première ligne. C’est une bonne idée de parcourir tous les espaces vides des colonnes de données (pour tous les mots d’instruction ne demandant pas de données), de sorte que la colonne de données soit rapidement balayée afin de voir s’il y a des adresses ayant été laissées de côté. Lors de la programmation, les adresses sont automatiquement affichées et ne sont pas introduites à moins que pour une raison ou une autre. Un autre emplacement pour l’instruction soit voulu. Lors de la conversion en code mnémonique, il vaut mieux démarrer à l’adresse 00000 de la mémoire de programme, à moins qu’il n’y ait une raison spécifique de démarrer ailleurs. 4-3-3 Instructions à contacts Les instructions à contacts correspondent aux conditions sur le schéma à contacts. Les instructions à contacts, indépendantes ou combinées avec le bloc logique décrit ci-après, forment les conditions d’exécution sur lesquelles l’exécution de toutes les autres instructions sont fondées. 194 Chapitre Exécution du programme CHARGER (LOAD) et NON CHARGER (LOAD NOT) 4-7 La première condition commencant un bloc logique quelconque dans un schéma à contacts correspond à une instruction CHARGER ou NON CHARGER. Chacune de ces instructions demande une ligne de code mnémonique. Dans les exemples suivants, une instruction servant d’exemple et pouvant être n’importe quelle instruction figurant à droite du schéma plus loin dans ce manuel, est appelée “instruction”. 00000 Adresse Instruction CHARGER. 00000 00001 00002 00003 00000 Instruction NON CHARGER. Instruction LD Instruction LD NOT Instruction Opérandes 00000 00000 Lorsque c’est la seule condition dans la ligne d’instruction, la condition d’exécution pour l’instruction de droite est à ON si la condition est à ON. Pour l’instruction CHARGER (c.-à-d. une condition normalement ouverte), la condition d’exécution est à ON lorsque l’IR 00000 est à ON ; pour l’instruction NON CHARGER (c.-à-d. une condition normalement fermée), elle est à ON lorsque l’IR 00000 est à OFF. ET (AND) et NON ET (AND NOT) Lorsque deux ou plusieurs conditions sont en série sur la même ligne d’instruction, la première correspond à une instruction CHARGER ou NON CHARGER ; et le reste des conditions, à des instructions ET et NON ET. L’exemple suivant présente trois conditions correspondant dans l’ordre à partir de la gauche à une instruction CHARGER, une NON ET et une ET. De nouveau, chacune de ces instructions demande une ligne de code mnémonique. 00000 00100 LR 0000 Instruction Adresse 00000 00001 00002 00003 Instruction LD AND NOT AND Instruction Opérandes LR 00000 00100 0000 L’instruction a une condition d’exécution à ON seulement lorsque les trois conditions sont à ON, c.-à-d. lorsque l’IR 00000 est à ON, l’IR 00100 est à OFF et le LR 0000 est à ON. Les instructions ET en série sont considérées individuellement, chacune prenant en compte le ET logique de la condition d’exécution (c.-à-d. l’ensemble des conditions jusqu’à ce point) et l’état du bit d’opérande de l’instruction ET. Si tous les deux sont à ON, une condition d’exécution à ON est produite pour l’instruction suivante. Si l’un des deux est à OFF, le résultat est aussi à OFF. La condition d’exécution pour la première instruction ET dans une série est la première condition sur la ligne d’instruction. Chaque instruction NON ET dans une série prend en compte le ET logique entre sa condition d’exécution et l’inverse de son bit d’opérande. 195 Chapitre Conseils d’utilisation à la programmation OU (OR) et NON OU (OR NOT) 4-6 Lorsque plusieurs conditions se trouvent dans des lignes d’instructions séparées mais parallèles et se rejoignant ensuite, la première condition correpond à une instruction CHARGER ou NON CHARGER ; le restant des conditions correspond à des instructions OU ou NON OU. L’exemple suivant représent trois conditions correspondant dans l’ordre à partir du haut à une instruction NON CHARGER, une NON OU et une OU. De nouveau, chacune de ces instructions demande une ligne de code mnémonique. 00000 Instruction 00100 LR 0000 Address 00000 00001 00002 00003 Instruction Operands LD NOT OR NOT OR Instruction 00000 00100 0000 LR L’instruction a une condition d’exécution à ON lorsqu’une quelconque des trois conditions est à ON, c.-à-d. lorsque l’IR 00000 est à OFF, lorsque l’IR 00100 est à OFF ou lorsque LR 0000 est à ON. Les instructions OU et NON OU sont considérées individuellement, chacune assumant le OU logique entre sa condition d’exécution et son état de bit d’opérande de l’instruction OR. Lorsque l’un de ceux-ci est à ON, une condition d’exécution à ON est produite pour l’instruction suivante. Lorsque des instructions ET et OU sont combinées dans des schémas plus Combinaison des instructions ET (AND) et OU compliqués, elles sont parfois considérées individuellement, avec chaque (OR) instruction effectuant une opération logique sur la condition d’exécution et l’état du bit d’opérande. Voici un exemple. Etudier cet exemple jusqu’à la conviction que le code mnémonique suit le même cheminement logique que le schéma à contacts. 00000 00001 00002 00003 Instruction 00200 Adresse 00000 00001 00002 00003 00004 00005 Instruction LD AND OR AND AND NOT Instruction Opérandes 00000 00001 00200 00002 00003 Ici, une ET est prise entre l’état de l’IR 00000 et celui de l’IR 00001 pour déterminer la condition d’exécution pour une OU avec l’état de l’IR 00200. Le résultat de cette opération détermine la condition d’exécution pour une ET avec l’état de l’IR 00002, qui à son tour, détermine la condition d’exécution d’une ET avec l’inverse (c.-à-d. et NON ET) de l’état de l’IR 00003. 196 Chapitre Exécution du programme 4-7 Dans des schémas plus compliqués, cependant, il faut considérer les blocs logiques avant de déterminer une condition d’exécution pour l’instruction finale, et c’est là que les instructions ET CHARGER et OU CHARGER sont utilisées. Avant de considérer des schémas plus compliqués, cependant, il faut examiner les instructions nécessaires à effectuer un simple programme “entrée–sortie”. 4-3-4 SORTIE et NON SORTIE La façon la plus simple d’émettre les résultats de conditions d’exécution combinées est de les sortir directement avec SORTIE (OUTPUT) et NON SORTIE (OUTPUT NOT). Ces instructions sont utilisées pour commander l’état du bit d’opérande désigné en fonction de la condition d’exécution. Avec l’instruction SORTIE, le bit d’opérande passe à ON aussi longtemps que la condition d’exécution est à ON et passe à OFF aussi longtemps que la condition d’exécution est à OFF. Avec l’instruction NON SORTIE, le bit d’opérande passe à ON aussi longtemps que la condition d’exécution est à OFF et passe à OFF aussi longtemps que la condition d’exécution est à ON. Ces faits apparaîssent comme représenté ci-dessous. En code mnémonique, chacune des instructions demande une ligne. Adresse 00000 10000 00000 00001 Instruction LD OUT Opérandes 00000 10000 00001 10001 Adresse 00000 00001 Instruction LD OUT NOT Opérandes 00001 10001 Dans les exemples ci-dessus, l’IR 10000 est à ON aussi longtemps que l’IR 00000 est à ON et l’IR 10001 est à OFF aussi longtemps que l’IR 00001 est à ON. Ici, l’IR 00000 et l’IR 00001 sont des bits d’entrée par contre l’IR 10000 et l’IR 10001 des bits de sortie attribuées aux unités commandées par l’API, c.-à-d. les signaux provenant de l’IR 00000 et l’IR 00001 attribués aux points d’entrée commandent l’IR 01000 et l’IR 10001 attribués aux points de sortie, respectivement. Le temps pendant lequel un bit est à ON ou à OFF est contrôlé en combinant l’instruction SORTIE ou NON SORTIE avec des instructions de temporisation. Se reporter aux exemples sous le paragraphe 5-16-1 Temporisation – TIM pour de plus amples informations. 197 Chapitre Conseils d’utilisation à la programmation 4-3-5 4-6 L’instruction FIN La dernière instruction nécessaire pour terminer un programme simple est l’instruction FIN (END) . Lorsque l’unité centrale balaye le programme, elle exécute toutes les instructions jusqu’à la première instruction FIN avant de retourner au début du programme et de recommencer l’exécution. Bien qu’une instruction FIN soit placée n’importe où dans le programme, ce qui se fait parfois à la mise au point, aucune instruction après la première instruction FIN ne s’exécute jusqu’à ce qu’elle soit enlevée. Le nombre suivant l’instruction FIN dans le code mnémonique est son code de fonction, utilisé lors de l’introduction de la plupart des instructions dans l’API. Celles-ci sont décrites plus loin. L’instruction FIN ne demande pas d’opérandes et aucune condition n’est placée avec elle sur la même ligne. 00000 00001 Instruction END (FIN) (01) Adresse Instruction 00500 00501 00502 00503 LD AND NOT Instruction END(01) L’exécution du programme s’arrête ici. Opérandes 00000 00001 --- S’il n’y a aucune instruction FIN nulle part dans le programme, le programme ne s’exécute pas du tout. Maintenant, toutes les instructions nécessaires pour écrire de simples programmes d’entrée-sortie sont connues. Avant d’en finir avec les bases des schémas à contacts et de passer à l’introduction du programme dans l’API, il faut examiner les instructions de bloc logique (ET CHARGER et OU CHARGER) parfois nécessaires même avec des schémas simples. 4-3-6 Instructions de bloc logique Les instructions de bloc logique ne correspondent pas aux conditions spécifiques du schéma à contacts ; elles décrivent plutôt les relations entre blocs logiques. L’instruction ET CHARGER effectue une comparaison logique ET des conditions d’exécution produites par deux blocs logiques. L’instruction OU CHARGER effectue une comparaison logique OU des conditons d’exécution produites par deux blocs logiques. 198 Chapitre Exécution du programme 4-7 ET CHARGER (AND LOAD ) Bien que simple en apparence, le schéma ci-dessous demande une instruction ET CHARGER. 00000 00002 00001 00003 Instruction Adresse Instruction 00000 00001 00002 00003 00004 LD OR LD OR NOT AND LD Opérandes 00000 00001 00002 00003 --- Les deux blocs logiques sont indiqués par les lignes en pointillés. L’étude de cet exemple montre qu’une condition d’exécution ON est produite lorsque : l’une ou l’autre des conditions dans le bloc logique de gauche est à ON (c.-à-d. lorsque l’IR 00000 ou l’IR 00001 est à ON) et lorsque l’une ou l’autre des conditions dans le bloc logique de droite est à ON (c.-à-d. lorsque l’IR 00002 est à ON ou que l’IR 00003 est à OFF). OU CHARGER (OR LOAD) Le schéma à contacts ci–dessus ne peut cependant pas être converti en code mnémonique en utilisant seulement les instructions ET et OU. Si une ET entre l’IR 00002 et les résultats d’une OU entre l’IR 00000 et l’IR 00001 est tentée, une NON OU entre l’IR 00002 et l’IR 00003 est perdue et la NON OU finit par être une NON OU simplement entre l’IR 00003 et le résultat d’une ET entre l’IR 00002 et le premier OU Ce qui est nécessaire, c’est une façon de faire les (NON) OU indépendamment et puis de combiner les résultats. Pour ce faire, l’instruction CHARGER ou NON CHARGER peut être utilisée au milieu d’une ligne d’instructions. Lorsque CHARGER ou NON CHARGER est exécutée de cette façon, la conditon d’exécution actuelle est sauvegardée dans des buffers spéciaux et le processus logique recommence. Pour combiner les résultats de la condition d’exécution actuelle à celle d’une condition d’exécution “non utilisée” précédente, une instruction ET CHARGER ou OU CHARGER est utilisée. Ici, “CHARGER” se rapporte au chargement de la dernière condition d’exécution non utilisée. Une condition d’exécution non utilisée est produite en utilisant l’instruction CHARGER ou NON CHARGER pour une condition autre que la première sur une ligne d’instructions. L’analyse du schéma à contacts ci–dessus en termes d’instructions mnémoniques, révèle que la condition pour l’IR 00000 est une instruction CHARGER et que la condition située au–dessous est une instruction OU entre l’état de l’IR 00000 et celui de l’IR 00001. La condition de l’IR 00002 est une nouvelle instruction CHARGER et la condition située au–dessous est une instruction NON OU, c.-à-d. uneinstruction OU entre l’état de l’IR 00002 et l’inverse de l’état de l’IR 00003. Pour parvenir à la condition d’exécution de l’instruction de droite, il faut prendre la ET logique des conditions d’exécution résultant de celles des deux blocs, avec ET CHARGER. Le code mnémonique pour le schéma à contact est présenté ci–dessous. L’instruction ET CHARGER n’exige aucun opérande en particulier, parce qu’elle fonctionne sur des conditions d’exécution préalablement déterminées. Ici aussi, les pointillés sont utilisés pour indiquer que l’opérande n’a pas besoin de désignation ni d’entrée. Le schéma suivant demande une instruction OU CHARGER entre le bloc logique du haut et le bloc logique du bas. Une condition d’exécution à ON est produite pour l’instruction à droite soit lorsque l’IR 00000 est à ON et l’IR 00001 est à OFF ou lorsque l’IR 00002 et l’IR 00003 sont tous les deux à ON. Le 199 Chapitre Conseils d’utilisation à la programmation 4-6 fonctionnement et le code mnémonique pour l’instruction OU CHARGER sont exactement les mêmes que ceux pour une instruction ET CHARGER, excepté que la condition d’exécution actuelle est soumise à une réunion logique avec la dernière condition d’exécution utilisée. 00000 00001 Instruction 00002 Adresse 00003 Instruction 00000 00001 00002 00003 00004 Opérandes LD AND NOT LD AND OR LD 00000 00001 00002 00003 --- Evidemment, quelques schémas exigent à la fois des instructions ET CHARGER et OU CHARGER. Instructions de blocs logiques en série Pour coder les schémas avec des instructions de blocs logiques en série, il faut les diviser en blocs logiques. Chaque bloc est codé en utilisant une instruction CHARGER pour coder la première condition, puis ET CHARGER ou OU CHARGER sont utilisées pour combiner logiquement les blocs. Avec ET CHARGER et OU CHARGER, il existe deux façons de faire. L’une est de coder l’instruction du bloc logique après les deux premiers blocs et puis après chaque bloc supplémentaire. L’autre est de coder tous les blocs à combiner, en commençant chaque bloc avec CHARGER ou NON CHARGER, et puis de coder les instructions du bloc logique les combinant. Dans ce cas, il faut d’abord combiner les instructions pour la dernière paire de blocs et puis combiner chaque bloc précédent, en remontant progressivement vers le premier bloc. Bien que chacune de ces méthodes produise exactement le même résultat, la seconde, celle qui consiste à coder toutes les instructions de bloc logique ensemble, est utilisée seulement si huit blocs ou moins sont combinés, c.-à-d. s’il faut sept instructions de bloc logique au moins. Le schéma suivant demande que ET CHARGER soit converti en code mnémonique parce que trois paires de conditions parallèles sont en série. Les deux moyens de coder les programmes sont aussi représentés. 00000 00002 00004 10000 00001 Adresse 00000 00001 00002 00003 00004 00005 00006 00007 00008 200 Instruction LD OR NOT LD NOT OR AND LD LD OR AND LD OUT 00003 Opérandes 00000 00001 00002 00003 — 00004 00005 — 10000 00005 Adresse 00000 00001 00002 00003 00004 00005 00006 00007 00008 Instruction LD OR NOT LD NOT OR LD OR AND LD AND LD OUT Opérandes 00000 00001 00002 00003 00004 00005 — — 10000 Chapitre Exécution du programme 4-7 Aussi, avec la méthode de droite, un maximum de huit blocs sont combinés. Il n’existe pas de limite au nombre de blocs pouvant être combinés avec la première méthode. Le schéma suivant demande que les instructions OU CHARGER soient converties en code mnémonique parce que trois paires de blocs de conditions en série sont en parallèles les unes avec les autres. 00000 00001 10001 00002 00003 00004 00005 La première de chaque paire de conditions est convertie en CHARGER avec le bit d’opérande affecté et puis soumise à intersection logique avec l’autre condition. Les deux premiers blocs sont codés d’abord, suivis par OU CHARGER, le dernier bloc et un autre OU CHARGER ou les trois blocs codés d’abord suivis de deux OU CHARGER. Le code mnémonique pour les deux méthodes est présenté ci-dessous. Adresse Instruction 00000 00001 00002 00003 00004 00005 00006 00007 00008 LD AND NOT LD NOT AND NOT OR LD LD AND OR LD OUT Opérandes 00000 00001 00002 00003 — 00004 00005 — 10001 Adresse Instruction 00000 00001 00002 00003 00004 00005 00006 00007 00008 LD AND NOT LD NOT AND NOT LD AND OR LD OR LD OUT Opérandes 00000 00001 00002 00003 00004 00005 — — 10001 Aussi, la méthode de droite permet de combiner un maximum de huit blocs. Il n’existe pas de limite au nombre de blocs pouvant être combinés avec la première méthode. 201 Chapitre Conseils d’utilisation à la programmation Combinaison de ET CHARGER (AND LOAD) et OU CHARGER (OR LOAD) 4-6 Les deux méthodes de codage décrites ci-dessus sont utilisées en utilisant ET CHARGER et OU CHARGER, aussi longtemps que le nombre de blocs combinés ne dépasse pas huit. Le schéma suivant ne contient que deux blocs logiques comme indiqué. Il n’est pas nécessaire de séparer encore les composants du bloc b, parce qu’il est possible de le coder directement en utilisement seulement ET et OU. 00000 00001 00002 00003 10001 00201 00004 Bloc a Bloc b Adresse Instruction 00000 00001 00002 00003 00004 00005 00006 00007 LD AND NOT LD AND OR OR AND LD OUT Opérandes 00000 00001 00002 00003 00201 00004 — 10001 Bien que le schéma suivant soit similaire à celui ci-dessus, le bloc b dans le schéma ci-dessous n’est pas codé s’il n’est pas séparé en deux blocs combinés avec OU CHARGER. Dans cet exemple, les blocs sont codés d’abord et puis l’instruction OU CHARGER est utilisée pour combiner les deux derniers blocs, suivis par ET CHARGER pour combiner la condition d’exécution produite par OU CHARGER avec la condition d’exécution du bloc a. 202 Chapitre Exécution du programme 4-7 Lorsque les instructions de bloc logique sont codées ensemble à la fin des blocs logiques qu’elle combine, il faut les coder dans l’ordre inverse, comme indiqué ci-dessous, c.-à-d. que l’instruction de bloc logique pour les deux derniers blocs soit codée d’abord, suivie de celle pour combiner la condition d’exécution résultant de la première instruction de bloc logique et la condition d’exécution du troisième bloc logique à partir de la fin et en remontant au premier bloc logique combiné. Bloc b1 00000 00001 00002 00003 10002 00004 00202 Bloc b2 Bloc a Schémas compliqués Bloc b Adresse Instruction 00000 00001 00002 00003 00004 00005 00006 00007 00008 LD NOT AND LD AND NOT LD NOT AND OR LD AND LD OUT Opérandes 00000 00001 00002 00003 00004 00202 — — 10002 Lorsque les instructions de bloc logique nécessaires au codage d’un schéma sont déterminées, il est parfois nécessaire de décomposer le schéma en grands blocs et puis continuer à décomposer encore les grands blocs jusqu’à former des blocs logiques pouvant être codés sans instruction de bloc logique. Ces blocs sont ensuite codés, en combinant d’abord les petits blocs et puis en combinant les plus grands. Soit ET CHARGER ou OU CHARGER sont utilisées pour combiner les blocs, c.-à-d. que ET CHARGER ou OU CHARGER combinent toujours les deux dernières conditions d’exécution existant, indépendamment du fait que les conditions d’exécution résultent d’une condition simple, de blocs logiques ou d’instructions de bloc logique précédentes. 203 Chapitre Conseils d’utilisation à la programmation 4-6 Lorsqu’il s’agit de schémas compliqués, les blocs sont finalement codés en partant du haut à gauche et en descendant avant de traverser. Ceci veut généralement dire que, s’il existe un choix, OU CHARGER est codée avant ET CHARGER. Le schéma suivant est décomposé en deux blocs et chacun d’entre eux est décomposé en deux blocs avant d’être codé. Comme indiqué ci-dessous, les blocs a et b demandent une ET CHARGER. Avant d’utiliser ET CHARGER, OU CHARGER est utilisée pour combiner les blocs du haut et du bas des deux côtés, c.-à-d. pour combiner a1 et a2 ; b1 et b2. Bloc b1 Bloc a1 00000 00001 00004 00005 10003 00002 00003 00006 00007 Bloc a2 Bloc b2 Bloc a Bloc b Adresse Instruction 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 LD AND NOT LD NOT AND OR LD LD AND LD AND OR LD AND LD OUT Opérandes 00000 00001 00002 00003 — 00004 00005 00006 00007 — — 10003 Blocs a1 et a2 Blocs b1 et b2 Blocs a et b Le schéma du type suivant est facilement codé si chaque bloc est codé dans l’ordre : d’abord de haut en bas et puis de gauche à droite. Dans le schéma suivant, les blocs a et b sont combinés en utilisant ET CHARGER comme indiqué ci-dessous, et puis le bloc c est codé et un deuxième ET CHARGER est utilisé pour le combiner avec la condition d’exécution du premier ET CHARGER. Puis le bloc d est codé, un troisième ET CHARGER est utilisé pour combiner la 204 Chapitre Exécution du programme 4-7 condition d’exécution du bloc d avec la condition d’exécution du deuxième ET CHARGER et ainsi de suite jusqu’au bloc n. 10000 Bloc a Bloc b Bloc c Bloc n Le schéma suivant demande une OU CHARGER suivie d’une ET CHARGER pour coder le plus haut des trois blocs, et puis deux autres OU CHARGER pour compléter le code mnémonique. 00000 00001 Adresse Instruction 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 LD LD LD AND NOT OR LD AND LD LD NOT AND OR LD LD NOT AND OR LD OUT Opérandes LR 0000 00002 00004 00005 00006 00007 00003 LR 00000 00001 00002 00003 --00004 00005 -00006 00007 -0000 Bien que le programme s’exécute comme il est écrit, ce schéma est dessiné comme indiqué ci-dessous, afin d’éliminer le besoin de la première OU CHARGER et de la ET CHARGER en simplifiant le programme et en économisant de l’espace mémoire. 00002 00003 00000 LR 0000 00001 00004 00005 00006 00007 Adresse Instruction 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 LD AND NOT OR AND LD NOT AND OR LD LD NOT AND OR LD OUT Opérandes LR 00002 00003 00001 00000 00004 00005 -00006 00007 -0000 205 Chapitre Conseils d’utilisation à la programmation 4-6 Le schéma suivant demande cinq blocs, codés ici dans l’ordre avant d’utiliser OU CHARGER et ET CHARGER pour les combiner en partant des deux derniers blocs et en travaillant vers l’arrière. La OU CHARGER à l’adresse du programme 00008 combine les blocs d et e, la ET CHARGER suivante combine la condition d’exécution résultante à celle du bloc c, etc... 00000 00001 00002 LR 0000 Bloc b Bloc a Bloc c 00003 00004 Bloc d 00005 00006 00007 Blocs d et e Bloc c avec le résultat de ci–dessus Bloc e Bloc b avec le résultat de ci–dessus Bloc a avec le résultat de ci–dessus Adresse Instruction 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 LD LD AND LD AND LD LD AND OR LD AND LD OR LD AND LD OUT Opérandes 00000 00001 00002 00003 00004 00005 00006 00007 ----0000 LR Aussi, ce schéma est redessiné comme suit pour simplifier la structure du programme et le codage et pour économiser de l’espace mémoire. 00006 00007 00003 00004 00000 LR 0000 00005 00001 Adresse 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00002 Instruction Opérandes LD AND OR AND AND LD AND OR LD AND OUT 00006 00007 00005 00003 00004 00001 00002 -00000 0000 LR L’exemple suivant et final apparaît, à première vue, très compliqué mais est codé en utilisant seulement deux instructions de bloc logique. Le schéma apparaît comme suit : Bloc a 00000 00001 01000 01001 00002 00003 00004 00005 10000 00006 10000 Bloc b Bloc c La première instruction de bloc logique est utilisée pour combiner les conditions d’exécution résultant des blocs a et b et la seconde combine la condition d’exécution du bloc c avec la condition d’exécution résultant de l’IR 00003 attribué à une condition normalement fermée. Le restant du schéma est codé 206 Chapitre Exécution du programme 4-7 avec les instructions OU (OR), ET (AND) et NON ET (AND NOT ). Le flux logique pour ceci et le code résultant sont présentés ci-dessous : Bloc a Bloc b 00000 00001 01000 01001 LD AND 00000 00001 LD AND 01000 01001 OR LD Bloc c 10000 00004 00005 00004 00005 OR 10000 LD AND 00002 00003 00006 AND 00002 AND NOT 00003 OR 00006 AND LD 10000 Adresse Instruction 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 LD AND LD AND OR LD OR AND AND NOT LD AND OR AND LD OUT Opérandes 00000 00001 01000 01001 -10000 00002 00003 00004 00005 00006 -10000 207 Chapitre Conseils d’utilisation à la programmation 4-3-7 4-6 Codage d’instructions multiples de droite S’il y a plus d’une instruction de droite exécutée avec la même condition d’exécution, elles sont codés consécutivement en suivant la dernière condition sur la ligne d’instructions. Dans l’exemple suivant, la dernière ligne d’instructions contient une condition de plus correspondant à une ET (AND) avec l’IR 00004. 00000 00003 HR 0001 00001 10000 00002 00004 10006 HR 0000 4-3-8 Adresse 00000 00001 00002 00003 00004 00005 00006 00007 00008 Instruction LD OR OR OR AND OUT OUT AND OUT Opérandes HR HR 00000 00001 00002 0000 00003 0001 10000 00004 10006 Lignes secondaires Lorsqu’une ligne d’instructions se sépare en deux ou plusieurs autres lignes secondaires, il est parfois nécessaire d’utiliser des branchements ou des bits TR pour maintenir la condition d’exécution ayant existé au niveau de l’embranchement. Ceci est dû à ce que les lignes d’instruction sont exécutées de gauche à droite avant de retourner au point d’embranchement pour exécuter les instructions sur une ligne secondaire. Si une condition existe sur une quelconque ligne d’instructions après un embranchement, la condition d’exécution est modifiée pendant ce temps et rend sa progpre exécution impossible. Les schémas suivants illustrent ce problème. Dans les deux schémas, l’instruction 1 est exécutée avant de revenir au point d’embranchement et de passer la ligne secondaire menant à l’instruction 2. 00000 Point d’embranchement Adresse Instruction Instruction 2 00000 00001 00002 00003 LD Instruction 1 AND Instruction 2 Instruction 1 Adresse Instruction 00000 00001 00002 00003 00004 LD AND Instruction 1 AND Instruction 2 Instruction 1 00002 Schéma A : Fonctionnement correct 00000 Point d’embranchement Opérandes 00000 00002 00001 00002 Instruction 2 Schéma B : Fonctionnement incorrect Opérandes 00000 00001 00002 Si, comme indiqué dans le schéma A, la condition d’exécution existant à l’embranchement n’est pas modifiée avant de retourner à la ligne secondaire (instructions à l’extrême droite ne changeant pas la condition d’exécution), la ligne secondaire s’exécute correctement et aucune mesure de programmation spéciale n’est nécessaire. Si, comme indiqué dans le schéma B, une condition existe entre le point d’embranchement et la dernière instruction en haut de la ligne d’instructions, la condition d’exécution au point d’embranchement et la condition d’exécution après avoir terminé la ligne d’instructions du haut sont parfois différentes, cela rend impossible d’assurer l’exécution correcte de la ligne secondaire. 208 Chapitre Exécution du programme 4-7 Il existe deux façons de faire des programmes de branchement afin de préserver la condition d’exécution. L’une est d’utiliser les bits TR ; l’autre est d’utiliser les verrouillages (IL(02)/IL(03)). Bits TR La zone TR fournit huit bits, du TR 0 au TR 7, pouvant être utilisés pour préserver temporairement les conditions d’exécution. Si un bit TR est situé à un point d’embranchement, la condition d’exécution actuelle est sauvegardée au bit TR désigné. En retournant au point d’embranchement, le bit TR rétablit l’état d’exécution sauvegardé lorsque le point d’embranchement a été atteint pour la première fois dans l’exécution du programme. Le schéma B précédent est écrit comme indiqué ci-dessous pour assurer une exécution correcte. En code mnémonique, la condition d’exécution est sauvegardée au point d’embranchement en utilisant le bit TR comme l’opérande de l’instruction SORTIE. Cette condition d’exécution est alors rétablie après l’exécution de l’instruction de droite en utilisant le même bit TR que l’opérande de l’instruction CHARGER. TR 0 Adresse 00001 00000 Instruction 1 00002 Instruction 2 Schéma B : Corrigé en utilisant un bit TR 00000 00001 00002 00003 00004 00005 00006 Instruction Opérandes LD OUT AND Instruction 1 LD AND Instruction 2 00000 0 00001 TR TR 0 00002 Les véritables instructions du schéma ci-dessus sont comme suit : l’état de l’IR 00000 est chargé (instruction CHARGER) pour établir la condition d’exécution initiale. Cette condition d’exécution est ensuite émise en utilisant une instruction SORTIE sur le TR 0 pour sauvegarder la condition d’exécution au point d’embranchement. La condition d’exécution est ensuite reliée par une ET (AND) à l’état de l’IR 00001 et l’instruction 1 est exécuté en conséquence. La condition d’exécution sauvegardée au point d’embranchement est alors rechargée (instruction CHARGER avec le TR 0 comme opérande), reliée par une ET à l’état de l’IR 00002 et l’instruction 2 est exécutée en conséquence. L’exemple suivant présente une application utilisant deux bits TR : TR 0 00000 Adresse TR 1 00001 00002 Instruction 1 00003 Instruction 2 00004 Instruction 3 00005 Instruction 4 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 Instruction LD OUT AND OUT AND Instruction 1 LD AND Instruction 2 LD AND Instruction 3 LD AND NOT Instruction 4 Opérandes TR TR 00000 0 00001 1 00002 TR 1 00003 TR 0 00004 TR 0 00005 Dans cet exemple, les TR 0 et TR 1 sont utilisés pour sauvegarder les conditions d’exécution aux points d’embranchement. Après l’exécution de l’instruction 1, la 209 Chapitre Conseils d’utilisation à la programmation 4-6 condition d’exécution sauvegardée dans le TR 1 est chargée pour une ET avec l’état de l’IR 00003. La condition d’exécution sauvegardée dans le TR 0 est chargée deux fois, la première fois pour une ET avec l’état de l’IR 00004 et la seconde fois pour une ET avec l’inverse de l’état de l’IR 00005. Les bits TR sont utilisés aussi souvent qu’il est nécessaire aussi longtemps que le même bit TR n’est pas utilisé plus d’une fois dans le même bloc d’instructions. Ici, un nouveau bloc d’instructions commence chaque fois que l’exécution retourne à la ligne omnibus. Si, dans un bloc d’instructions unique, il est nécessaire d’avoir plus de huit points d’embranchement demandant que la condition d’exécution soit sauvegardée, les verrouillages (décrits ci-après) sont utilisés. Lors du dessin d’un schéma à contacts, prendre soin de ne pas utiliser de bits TR à moins que ce ne soit nécessaire. Souvent le nombre d’instructions demandé pour un programme est réduit pour faciliter la compréhension d’un programme en redessinant un schéma demandant des bits TR. Dans les paires de schémas suivantes, les versions du bas demandent moins d’instructions et ne demandent pas de bits TR. Dans le premier exemple, ceci est obtenu par la réorganisation des parties du bloc d’instructions : dans celle du bas, en séparant la seconde instruction SORTIE et en utilisant une autre instruction CHARGER pour créer la bonne condition d’exécution à cet effet. Rem. Bien que la simplification des programmes soit toujours une préoccupation, l’ordre d’exécution des instructions est parfois important. Par exemple, une instruction TRANSFERT (MOVE) est nécessaire avant l’exécution d’une instruction ADDITION BINAIRE (BINARY ADD) pour placer les bonnes données dans le mot d’opérande requis. S’assurer d’avoir pris en compte l’ordre d’exécution avant de réorganiser un programme pour le simplifier. TR 0 00000 00000 00001 00003 Instruction 1 Instruction 1 Instruction 2 TR 0 00001 00002 00004 Instruction 2 00000 Instruction 2 00001 Instruction 1 00001 00002 00003 Instruction 1 00000 00001 00004 Instruction 2 Rem. Les bits TR sont introduits par l’utilisateur seulement lorsqu’il programme en utilisant le code mnémonique. Ils ne sont pas nécessaires si des schémas à contacts sont entrés directement parce qu’ils sont traités automatiquement. Les limitations ci-dessus sur le nombre de points d’embranchement demandant des bits TR et les considérations sur les méthodes pour réduire le nombre d’instructions de programmation sont toujours valables. Verrouillages 210 Le problème de sauvegarde des conditions d’exécution aux points d’embranchement sont aussi traités en utilisant les instructions Chapitre Exécution du programme 4-7 VERROUILLAGE (INTERLOCK) (IL(02)) et DEVERROUILLAGE (INTERLOCK CLEAR) (ILC(03)) afin d’éliminer complètement le point d’embranchement en permettant à une condition d’exécution spécifique de commander un groupe d’instructions. Les instruction VERROUILLAGE et DEVERROUILLAGE sont toujours utilisées ensemble. Lorsqu’une instruction VERROUILLAGE est placée devant une section du schéma à contacts, la condition d’exécution pour l’instruction VERROUILLAGE commande l’exécution de toutes les instructions jusqu’à l’instruction DEVERROUILLAGE suivante. Lorsqu’une condition d’exécution pour l’instruction VERROUILLAGE est à OFF, toutes les instructions de droite jusqu’à l’instruction DEVERROUILLAGE suivante sont exécutées avec des conditions d’exécution OFF pour réinitialiser toute cette section du schéma à contacts. L’effet que ceci a sur des instructions particulières est décrit dans le chapitre 5-12 VERROUILLAGE (INTERLOCK) et DEVERROUILLAGE (INTERLOCK CLEAR) – IL(02) et ILC(03). Le schéma B est aussi corrigé par un verrouillage. Ici, les conditions conduisant au point d’embranchement sont placées sur une ligne d’instructions pour l’instruction VERROUILLAGE, toutes les lignes provenant du point d’embranchement sont écrites comme des lignes d’instructions séparées, et une autre ligne d’instructions est ajoutée pour l’instruction DEVERROUILLAGE. Noter que ni VERROUILLAGE ni DEVERROUILLAGE demandent un opérande. 00000 IL(02) 00001 Instruction 1 00002 Instruction 2 ILC(03) Adresse 00000 00001 00002 00003 00004 00005 00006 Instruction LD IL(02) LD Instruction 1 LD Instruction 2 ILC(03) Opérandes 00000 --00001 00002 --- Lorsque l’IR 00000 est à ON dans la version révisée du schéma B, ci-dessus, l’état de l’IR 00001 et de l’IR 00002 détermine les conditions d’exécution pour les instructions 1 et 2, respectivement. Comme l’IR 00000 est à ON, les résulats sont les mêmes que celui produit par une ET entre les états de chaque bits. Lorsque l’IR 00000 est à OFF, l’instruction VERROUILLAGE produit une condition d’exécution à OFF pour les instructions 1 et 2 et puis l’exécution continue avec la ligne d’instructions suivant l’instruction DEVERROUILLAGE. 211 Chapitre Conseils d’utilisation à la programmation 4-6 Comme indiqué dans le schéma suivant, plus d’une instruction VERROUILLAGE est utilisée dans un bloc d’instructions ; chacune est effective jusqu’à l’instruction DEVERROUILLAGE suivante. 00000 IL(02) 00001 Instruction 1 00002 IL(02) 00003 00004 Instruction 2 00005 Instruction 3 00006 Instruction 4 ILC(03) Adresse 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 Instruction LD IL(02) LD Instruction 1 LD IL(02) LD AND NOT Instruction 2 LD Instruction 3 LD Instruction 4 ILC(03) Opérandes 00000 --00001 00002 --00003 00004 00005 00006 --- Lorsque l’IR 00000 dans le schéma ci-dessus est à OFF (c.-à-d. si la condition d’exécution pour la première instruction VERROUILLAGE est à OFF), les instructions 1 à 4 sont exécutées avec les conditions d’exécution à OFF et l’exécution progresse jusqu’à l’instruction suivant l’instruction DEVERROUILLAGE. Lorsque l’IR 00000 est à ON, l’état de l’IR 00001 est chargé comme la condition d’exécution pour l’instruction 1 et puis l’état de l’IR 00002 est chargé pour former la condition d’exécution pour la seconde instruction VERROUILLAGE. Lorsque l’IR 00002 est à OFF, les instructions 2 à 4 sont exécutées avec les conditions d’exécution à OFF. lorsque l’IR 00002 est à ON, l’IR 00003, l’IR 00005 et l’IR 00006 déterminent la première condition d’exécution dans les nouvelles lignes d’instructions. 4-3-9 Sauts Une section spécifique d’un programme est sautée selon une condition d’exécution désignée. Bien que ceci soit semblable à ce qui se produit lorsqu’une condition d’exécution pour une instruction VERROUILLAGE est à OFF, avec des sauts, les opérandes de toutes instructions maintiennent leur état. Les sauts sont donc utilisés pour commander les périphériques demandant une sortie durable, par exemple des pneumatiques et des hydrauliques, tandis que les verrouillages sont utilisés pour commander des périphériques ne demandant pas de sortie durable, par exemple des instruments électroniques. Des sauts sont créés en utilisant les instructions SAUT (JUMP) (JMP(04)) et FIN DE SAUT (JUMP END) (JME(05)). Si la condition d’exécution pour une instruction JUMP est à ON, le programme est exécuté normalement comme si le saut n’existe pas. Si la condition d’exécution pour l’instruction SAUT est à OFF, l’exécution du programme se dépace immédiatement à une instruction FIN DE SAUT sans modification de l’état de rien entre l’instruction SAUT et FIN DE SAUT. A toutes les instructions SAUT et FIN DE SAUT sont attribués des numéros de saut allant de 00 à 99. Il existe deux types de sauts. Le numéro de saut détermine son type. Un saut est défini en utilisant les numéros 01 à 99 seulement une fois, c.–à–d. que chacun de ces numéros est utilisé une fois dans une instruction SAUT et une fois dans une instruction FIN DE SAUT. Lorsque l’un de ces numéros est 212 Chapitre Exécution du programme 4-7 attribué à une instruction SAUT est exécuté, l’exécution se déplace immédiatement à l’instruction FIN DE SAUT ayant le même numéro comme si toute l’instruction entre eux n’existe pas. Le schéma B du bit TR et du verrouillage est redessiné comme indiqué ci-dessous en utilisant un saut. Bien que 01 est utilisé comme un numéro de saut, tout numéro entre 01 et 99 est utilisé aussi longtemps qu’il n’a pas déjà été utilisé dans une partie différente du programme. SAUT et FIN DE SAUT ne demandent pas d’autre opérande et FIN DE SAUT n’impose jamais de conditions sur la ligne d’instructions l’y conduisant. 00000 JMP(04) 01 00001 Instruction 1 00002 Instruction 2 JME(05) 01 Schéma B : Corrigé avec un saut Adresse 00000 00001 00002 00003 00004 00005 00006 Instruction LD JMP(04) LD Instruction 1 LD Instruction 2 JME(05) Opérandes 00000 01 00001 00002 01 Cette version du schéma B a un temps d’exécution plus court lorsque l’IR 00000 est à OFF que n’importe laquelle des autres versions. L’autre type de saut est créé avec un numéro de saut de 00. Autant de sauts désirés sont créés en utilisant le numéro de saut 00 et des instructions SAUT utilisant 00 entre elles. Il est même possible à toutes les instructions SAUT 00 de déplacer l’exécution du programme à la même FIN DE SAUT 00, c.–à–d. seulement une instruction FIN DE SAUT 00 est nécessaire pour toute l’instruction SAUT 00 dans le programme. Lorsque 00 est utilisée comme un numéro de saut pour une instruction SAUT, l’exécution du programme se déplace à l’instruction suivant l’instruction FIN DE SAUT suivante, avec un numéro de saut de 00. Bien que, comme dans tous les sauts, aucun état n’est modifié et aucune instruction n’est exécutée entre les instructions SAUT 00 et FIN DE SAUT 00, le programme recherche l’instruction FIN DE SAUT 00 en produisant un temps d’exécution légèrement plus long. 213 Chapitre Conseils d’utilisation à la programmation 4-6 L’exécution des programmes contenant de multiples instructions SAUT 00 pour une instruction FIN DE SAUT 00 est semblable à celle des sections verrouillées. Le schéma suivant est le même que celui utilisé pour l’exemple de verrouillage ci-dessus, excepté qu’il est redessiné avec des sauts. L’exécution de ce schéma diffère de celle du schéma décrit ci-dessus (par exemple, dans le schéma précédent, les verrouillages réinitialisent certaines parties de la section verrouillées, cependant les sauts n’affectent l’état d’aucun bit entre les instructions SAUT et FIN DE SAUT). 00000 JMP(04) 00 00001 Instruction 1 00002 JMP(04) 00 00003 00004 Instruction 2 00005 Instruction 3 00006 Instruction 4 JME(05) 00 4-4 Adresse 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 Instruction LD JMP(04) LD Instruction 1 LD JMP(04) LD AND NOT Instruction 2 LD Instruction 3 LD Instruction 4 JME(05) Opérandes 00000 00 00001 00002 00 00003 00004 00005 00006 00 Commande de l’état des bits Il existe 7 instructions fondamentales pouvant être utilisées en général pour commander l’état des bits individuels. Ce sont les instructions SORTIE (OUTPUT), NON SORTIE (OUTPUT NOT), PARAMETRAGE ON (SET), PARAMETRAGE OFF (RESET), CHANGEMENT D’ETAT FRONT MONTANT (DIFFERENTIATE UP), CHANGEMENT D’ETAT FRONT DESCENDANT (DIFFERENTIATE DOWN) et CONSERVER (KEEP). Toutes ces instructions apparaîssent comme la dernière instruction dans une ligne d’instructions et prennent une adresse de bit comme opérande. Bien que de plus amples informations soient fournies au paragraphe 5-9 Instructions de commande de bit, ces instructions (excepté SORTIE et NON SORTIE, déjà présentées) sont décrites ici à cause de leur importance dans la plupart des programmes. Bien que ces instructions soient utilisées pour mettre les bits de sortie à ON et à OFF dans la zone IR (c.–à–d. pour envoyer ou arrêter les signaux de sortie vers des périphériques extérieurs), elles sont utilisées également pour commander l’état des autres bits dans la zone IR ou dans d’autres zones de données. 4-4-1 PARAMETRAGE ON et PARAMETRAGE OFF Les instructions PARAMETRAGE ON et PARAMETRAGE OFF sont très semblables aux instructions SORTIE et NON SORTIE excepté qu’elles modifient seulement l’état de leurs bits d’opérande pour les conditions d’exécution à ON. Aucune de ces instructions n’affecte l’état de son bit d’opérande lorsque la condition d’exécution est à OFF. PARAMETRAGE ON passe à ON le bit d’opérande lorsque la condition d’exécution devient ON, mais à la différence de l’instruction SORTIE, PARAMETRAGE ON ne passe pas à OFF le bit d’opérande lorsque la condition d’exécution devient OFF. PARAMETRAGE OFF passe à OFF le bit d’opérande lorsque la condition d’exécution devient OFF, mais au contraire de l’instruction NON SORTIE, RESET passe à ON le bit d’opérande lorsque la condition d’exécution passe à OFF. Dans l’exemple suivant, l’IR 10000 passe à ON lorsque l’IR 00100 passe à ON et reste à ON jusqu’à ce que l’IR 00101 soit à ON, indépendamment de l’état de 214 Chapitre Exécution du programme 4-7 l’IR 00100. lorsque l’IR 00101 devient ON, PARAMETRAGE OFF passe l’IR 10000 à OFF. Adresse 00100 SET 10000 00101 RSET 10000 4-4-2 00000 00001 00002 00003 Instruction LD SET LD RSET Opérandes 00100 10000 00101 10000 CHANGEMENT D’ETAT FRONT MONTANT et CHANGEMENT D’ETAT FRONT DESCENDANT Les instructions CHANGEMENT D’ETAT FRONT MONTANT (DIFFERENTIATE UP) et CHANGEMENT D’ETAT FRONT MONTANT (DIFFERENTIATE DOWN) sont utilisées pour mettre le bit d’opérande à ON pour un cycle à la fois. L’instruction CHANGEMENT D’ETAT FRONT MONTANT passe à ON le bit d’opérande pendant un cycle après que la condition d’exécution pour lui est passée de OFF à ON ; l’instruction CHANGEMENT D’ETAT FRONT MONTANT passe à ON le bit d’opérande pour un cycle après que la condition d’exécution pour lui soit passée de ON à OFF. Ces deux instructions demandent seulement une ligne de code mnémonique. 00000 DIFU(13) 01000 Adresse Instruction 00000 00001 LD DIFU(13) Adresse Instruction 00000 00001 LD DIFD(14) Opérandes 00000 01000 00001 DIFD(14) 01001 Opérandes 00001 01001 Ici, l’IR 01000 passe à ON pour un cycle après que l’IR 00000 soit passé à ON. Le temps suivant DIFU(13) 01000 est exécuté, l’IR 01000 passe à OFF, indépendamment de l’état de l’IR 00000. Avec l’instruction CHANGEMENT D’ETAT FRONT MONTANT, l’IR 01001 passe à ON pour un cycle après que l’IR 00001 soit passé à OFF (IR 01001 est conservé à OFF jusque là), et passe à OFF la prochaine fois que DIFD(14) 01001 est exécutée. 4-4-3 CONSERVER L’instruction CONSERVER (KEEP) est utilisée pour maintenir l’état du bit d’opérande sur la base de deux conditions d’exécution. Pour ce faire, l’instruction CONSERVER est connectée à deux lignes d’instructions. Lorsque la condition d’exécution à la fin de la première ligne d’instructions est à ON, le bit d’opérande de l’instruction CONSERVER passe à ON. Lorsque la condition d’exécution à la fin de la seconde ligne d’instruction est à ON, le bit d’opérande de l’instruction CONSERVER passe à OFF. Le bit d’opérande de l’instruction CONSERVER maintient son état à ON ou OFF même s’il est placé dans une section verrouillée du schéma. 215 Chapitre Conseils d’utilisation à la programmation 4-6 Dans l’exemple suivant, HR 0000 passe à ON lorsque l’IR 00002 est à ON et l’IR 00003 est à OFF. le HR 0000 reste à ON jusqu’à ce que l’IR 00004 ou l’IR 00005 soient passés à ON. Pour CONSERVER, comme pour toutes les instructions demandant plus d’une ligne d’instructions, les lignes d’instructions sont codées d’abord avant l’instruction qu’elles commandent. 00002 00003 S : entrée définie KEEP (11) HR 0000 00004 00005 4-4-4 R : entrée remise à zéro Adresse Instruction 00000 00001 00002 00003 00004 LD AND NOT LD OR KEEP (11) Opérandes HR 00002 00003 00004 00005 0000 Bits à auto-maintien (scellement) Bien que l’instruction CONSERVER soit utilisée pour créer des bits à auto-maintien, il est parfois nécessaire de créer des bits à auto-maintien d’une autre façon de sorte qu’ils soient passés à OFF lorsqu’ils se trouvent dans une section verrouillée du programme. Afin de créer un bit l’auto-maintien, le bit d’opérande d’une instruction SORTIE est utilisé comme une condition pour cette même instruction SORTIE dans une configuration OU de sorte que le bit d’opérande de l’instruction SORTIE reste à ON ou à OFF jusqu’à ce qu’il se produise des changements dans les autres bits. Au moins une condition autre est utilisée juste avant l’instruction SORTIE pour fonctionner comme une remise à zéro. Sans cette remise à zéro, il n’y a pas de possibilité de commander le bit d’opérande de l’instruction SORTIE. Le schéma ci-dessus pour l’instruction CONSERVER instruction est réécrit comme indiqué ci-dessous. La seule différence dans ces schémas est leur fonctionnement dans une section de programme verrouillé lorsque la condition d’exécution pour l’instruction VERROUILLAGE est à ON. Ici, exactement comme dans le même schéma utilisant l’instruction CONSERVER, deux bits de remise à zéro sont utilisés, par exemple le HR 0000 passe à OFF en mettant l’IR 00004 ou l’IR 00005 à ON. 00002 00003 00004 HR 0000 00005 HR 0000 4-5 Adresse Instruction 00000 00001 00002 00003 00004 00005 LD AND NOT OR AND NOT OR NOT OUT Opérandes HR HR 00002 00003 0000 00004 00005 0000 Bits de travail (relais internes) En programmation, il est souvent extrêmement difficile de combiner des conditions pour produire directement des conditions d’exécution. Cependant, ces difficultés sont facilement surmontées en utilisant certains bits pour déclencher indirectement d’autres instructions. Cette programmation est réalisée en utilisant des bits de travail. Il faut parfois des mots entiers à cet effet. Ces mots sont désignés par mots de travail. Les mots de travail ne sont pas transférés vers ou à partir de l’API. Ce sont des bits choisis par le programmeur pour faciliter la programmation comme décrit ci-dessus. Les bits d’E/S et les autres bits dédiés ne sont pas utilisés comme bits 216 Exécution du programme Chapitre 4-7 de travail. Tous les bits dans la zone IR non attribués comme bits d’E/S et certains non utilisés dans la zone AR servent de bits de travail. Prendre garde de conserver un enregistrement précis de comment et à quel endroit sont utilisés ces bits de travail. Ceci aide à la plannification et à l’écriture du programme et aussi aide dans les opérations de mise au point. Applications des bits de travail Les exemples donnés plus loin dans ce sous-paragraphe indiquent deux des façons les plus courantes d’utiliser des bits de travail. Elles servent de guide pour le nombre presque sans limite de façons d’utiliser des bits de travail. Chaque fois que des difficultés surgissent dans la programmation d’une action de commande, il faut penser aux bits de travails et à la façon de les utiliser pour simplifier la programmation. Les bits de travail sont souvent utilisés avec les instructions SORTIE (OUTPUT), NON SORTIE (OUTPUT NOT), CHANGEMENT D’ETAT FRONT MONTANT (DIFFERENTIATE UP), CHANGEMENT D’ETAT FRONT MONTANT (DIFFERENTIATE DOWN) et CONSERVER (KEEP). Le bit de travail est d’abord utilisé comme opérande pour l’une de ces instructions, de sorte à être utilisé ensuite comme condition déterminant comment ces instructions sont exécutées. Les bits de travail sont également utilisés avec d’autres instructions, par exemple avec l’instruction REGISTRE A DECALAGE (SHIFT REGISTER) (SFT(10)). Un exemple d’utilisation de mots et de bits de travail avec l’instruction. Le bit de travail est d’abord utilisé comme l’opérande pour l’une de ces instructions donc plus loin il est utilisé comme une condition déterminant comment les autres instructions sont exécutées. Les bits de travail sont aussi utilisés avec d’autres instructions, par exemple avec l’instruction REGISTRE A DECALAGE (SFT(10)). Un exemple d’utilisation de mots et de bits de travail avec l’instruction REGISTRE A DECALAGE (SFT(10)) est fourni dans le paragraphe 5-17-1 REGISTRE A DECALAGE (SHIFT REGISTER)– SFT(10). Bien qu’ils ne soient pas toujours désignés comme bits de travail, beaucoup de bits utilisés dans les exemples du Chapitre 5 – Ensemble d’instructions utilisent des bits de travail. Comprendre l’utilisation de ces bits est essentiel pour une programmation efficace. 217 Chapitre Conseils d’utilisation à la programmation Conditions complexes de réduction 00000 Les bits de travail sont utilisés pour simplifier la programmation lorsqu’une certaine combinaison de conditions est utilisée de façon répétée en combinaison avec d’autres conditions. Dans l’exemple suivant, les IR 00000, IR 00001, IR 00002 et IR 00003 sont combinés dans un bloc logique sauvegardant la condition d’exécution résultante sous forme de l’état de l’IR 21600. l’IR 21600 est combiné alors avec diverses autres conditions pour déterminer les conditions de sortie attribuées à ces bits à ON ou à OFF. 00001 21600 00002 00003 21600 00004 00005 10000 21600 4-6 00005 10001 00004 21600 Adresse Instruction 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 LD AND NOT OR OR NOT OUT LD AND AND NOT OUT LD OR NOT AND OUT LD NOT OR OR OUT Opérandes 00000 00001 00002 00003 21600 21600 00004 00005 10000 21600 00004 00005 10001 21600 00006 00007 10002 10002 00006 00007 Conditions différenciées 218 Des bits de travail sont aussi utilisés si un traitement différentiel est nécessaire pour certaines, mais pas toutes, des conditions nécessaires pour l’exécution d’une instruction. Dans cet exemple, l’IR 10000 est laissé à ON de façon continue aussi longtemps que l’IR 001001 est à ON et que l’IR 00002 et l’IR 00003 sont à OFF ou aussi longtemps que l’IR 00004 est à ON et que l’IR 00005 est à OFF. Il passe à ON pendant seulement un cycle chaque fois que l’IR 00000 passe à ON (à moins que l’une des conditions précédentes le conserve à ON de façon continue). Chapitre Exécution du programme 4-7 Cette action est facile à programmer en utilisant l’IR 22500 comme un bit de travail comme l’opérande de l’instruction CHANGEMENT D’ETAT FRONT MONTANT (DIFU(13)). lorsque l’IR 00000 passe à ON, l’IR 22500 passe à ON pour un cycle et puis passe à OFF pendant le cycle suivant par DIFU(13). En supposant que les autres conditions commandant l’IR 10000 ne le maintiennent pas à ON, le bit de travail l’IR 22500 passe l’IR 20000 à ON pour seulement un cycle. 00000 DIFU(13) 22500 22500 10000 00001 00002 00004 4-6 00003 00005 Adresse Instruction 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 LD DIFU(13) LD LD AND NOT AND NOT OR LD LD AND NOT OR LD OUT Opérandes 00000 22500 22500 00001 00002 00003 --00004 00005 --10000 Conseils d’utilisation à la programmation Le nombre de conditions pouvant être utilisées en série ou en parallèle est illimité aussi longtemps que la capacité de mémoire de l’API n’est pas dépassée. Par conséquent, utiliser autant de conditions que nécessaire pour dessiner un schéma clair. Bien que des schémas très compliqués sont dessinés avec des lignes d’instructions, il ne doit pas y avoir de conditions sur les lignes verticales entre deux autres lignes d’instructions. Le schéma A présenté ci-dessous, par exemple, n’est pas possible et doit être dessiné comme le schéma B. Le code mnémonique est fourni pour le schéma B seulement ; le codage du schéma A est impossible. 00000 00002 Instruction 1 00004 00001 00003 Instruction 2 Schéma A : Non programmable 00001 00004 00002 Adresse Instruction 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 LD AND OR AND Instruction 1 LD AND OR AND NOT Instruction 2 Opérandes Instruction 1 00000 00000 00004 00003 Instruction 2 00001 Schéma B : Version correcte 00001 00004 00000 00002 00000 00004 00001 00003 Le nombre de fois qu’un bit quelconque est attribué à des conditions est illimité, donc les utiliser aussi souvent que nécessaire pour simplifier le programme. Souvent, des programmes compliqués sont le résultat de tentatives de réduire le nombre de fois qu’un bit est utilisé. 219 Chapitre Conseils d’utilisation à la programmation 4-6 Sauf pour les instructions pour lesquelles les conditions ne sont pas autorisées (par exemple DEVERROUILLAGE et FIN DE SAUT, voir ci-dessous), toute ligne d’instructions doit aussi avoir au moins une condition sur elle pour déterminer la condition d’exécution pour l’instruction à droite. De même, le schéma A, ci-dessous, doit être dessiné comme le schéma B. Si une instruction est exécutée de façon continue (c.–à–d. si une sortie est toujours gardée à ON pendant que le programme s’exécute), le drapeau Toujours ON (SR 253213) de la zone SR est utilisé. Instruction Schéma A : non programmable pour la plupart des instructions 25313 Instruction Schéma B : Version correcte Adresse Instruction 00000 00001 LD Instruction Opérandes 25313 Il existe quelques exceptions à cette règle, y compris les instructions DEVERROUILLAGE, FIN DE SAUT et de pas. Chacune de ces instructions est utilisée comme la seconde d’une paire d’instructions et est commandée par la condition d’exécution de la première de la paire. Les conditions ne sont pas placées sur les lignes d’instructions menant à ces instructions. Se reporter au Chapitre 5 – Ensemble d’instructions pour de plus amples informations. 220 Chapitre Exécution du programme 4-7 Lors du dessin de schémas à contacts, il est important de garder à l’esprit le nombre d’instructions nécessaires pour l’entrer. Dans le schéma A, ci–dessous, une instruction OU CHARGER est nécessaire pour combiner les lignes d’instructions du haut et du bas. Ceci peut être évité en redessinant comme présenté dans le schéma B de sorte qu’aucune instruction ET CHARGER ou OU CHARGER ne soit exigée. Se reporter au paragraphe 5-8-2 ET CHARGER (AND LOAD) et OU CHARGER (OR LOAD) pour de plus amples informations. Adresse 00000 10007 00001 10007 00000 00001 00002 00003 00004 Instruction LD LD AND OR LD OUT Opérandes 00000 00001 10007 --10007 Schéma A Adresse 00001 10007 10007 00000 00000 00001 00002 00003 Instruction LD AND OR OUT Opérandes 00001 10007 00000 10007 Schéma B 4-7 Exécution du programme Lorsque l’exécution du programme commence, l’Unité centrale balaye le programme de haut en bas, vérifiant toutes les conditions et exécutant toutes les instructions en conséquence comme il se déplace à la ligne omnibus. Il est important que des instructions soient placées dans le bon ordre de sorte que, par exemple, les données désirées soient déplacées à un mot avant d’utiliser ce mot comme opérande pour une instruction. Attention, une ligne d’instructions est terminée à l’instruction finale à droite avant d’exécuter des lignes secondaires à partir de la première ligne d’instructions à d’autres instructions finales à droite. L’exécution du programme n’est que l’une des tâches réalisées par l’Unité centrale comme partie du temps de cycle. Se reporter au Chapitre 7 – Fonctionnements de l’API et temps de traitement pour de plus amples informations. 221 CHAPITRE 5 Ensemble d’instructions Le CQM1H dispose d’un large ensemble d’instructions de programmation pour faciliter la programmation de traitements complexes de contrôle. Ce chapitre décrit les instructions individuelles et donne les symboles des programmes à contacts, les zones de données et leurs drapeaux associés. La plupart des instructions fournies par ces API est organisée dans les paragraphes suivants par groupe d’instructions. Ces groupes comprennent les instructions des programmes à contacts, les instructions à codes de fonction fixes et l’ensemble des instructions. Certaines instructions, comme les instructions de comptage et de temporisation, sont utilisées pour contrôler l’exécution d’autres instructions, par exemple un drapeau de fin de TIM peut être utilisé pour mettre àON un bit lorsque le temps réglé de la temporisation est atteint. Bien que ces autres instructions soient souvent utilisées pour contrôler les bits de sortie par l’intermédiaire d’une instruction de sortie, elle peuvent être également utilisées pour contrôler l’exécution d’autres instructions. Les instructions de sortie utilisées comme exemple dans ce manuel peuvent généralement être remplacées par d’autres instructions pour modifier le programme d’applications spécifiques autres que celles contrôlant directement les bits de sortie. 5-1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 5-2 Format d’instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 5-3 Zones de données, valeurs des données d’opérande et drapeaux . . . . . . . . . . . . . . . . . . . 227 5-4 Variantes d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 5-5 Instructions d’extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 5-6 Codage des Instructions Right-hand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 5-7 Tableaux d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 5-7-1 Instructions classées par codes de fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 5-7-2 Instructions d’extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 5-7-3 Liste alphabétique des mnémoniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 5-8 Instructions de schéma à contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 5-8-1 CHARGER, NON CHARGER, ET, NON ET, OU et NON OU . . . . . . . . . . . . . 239 5-8-2 ET CHARGER et OU CHARGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 5-9 Instructions de contrôle de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 5-9-1 SORTIE et NON SORTIE – OUT et OUT NOT . . . . . . . . . . . . . . . . . . . . . . . . . 241 5-9-2 PARAMETRAGE ON et PARAMETRAGE OFF – SET et RSET . . . . . . . . . . . 241 5-9-3 CONSERVER – KEEP(11) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 5-9-4 CHANGEMENT D’ETAT FRONT MONTANT et DESCENDANT – DIFU(13) et DIFD(14) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 5-10 AUCUNE OPERATION – NOP(00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 5-11 FIN – END(01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 5-12 VERROUILLAGE et DEVERROUILLAGE – IL(02) et ILC(03) . . . . . . . . . . . . . . . . . . 245 5-13 SAUT et FIN DE SAUT – JMP(04) et JME(05) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 5-14 Instructions d’erreurs utilisateur : ALARME DE PANNE MINEURS ET DE REINITIALISATION – FAL(06) et ALARME DE PANNE GRAVE – FALS(07) . . . . . . . . . . . . . . . . . . . . . . . . . 248 5-15 Instructions de pas : DEFINITION ET DEMARRAGE D’UN PAS – STEP(08)/SNXT(09) . . . . . . . . . . . . . . 249 5-16 Instructions de comptage et de temporisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 5-16-1 TEMPORISATION – TIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 5-16-2 COMPTEUR – CNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 5-16-3 COMPTEUR REVERSIBLE – CNTR(12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 5-16-4 TEMPORISATION GRANDE VITESSE – TIMH(15) . . . . . . . . . . . . . . . . . . . . 256 5-16-5 TEMPORISATION ADDITION – TTIM(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 5-16-6 TEMPORISATION DE TRAME – STIM(69) . . . . . . . . . . . . . . . . . . . . . . . . . . 258 5-16-7 CHARGE TABLEAU DE COMPARAISON – CTBL(63) . . . . . . . . . . . . . . . . . 260 5-16-8 CONTROLE DE MODE – INI(61) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 5-16-9 LECTURE PV DU COMPTEUR GRANDE VITESSE – PRV(62) . . . . . . . . . . 275 223 Chapitre 5-17 Instructions de décalage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17-1 REGISTRE A DECALAGE – SFT(10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17-2 DECALAGE DE MOT – WSFT(16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17-3 DECALAGE ARITHMETIQUE A GAUCHE – ASL(25) . . . . . . . . . . . . . . . . . 5-17-4 DECALAGE ARITHMETIQUE A DROITE – ASR(26) . . . . . . . . . . . . . . . . . . 5-17-5 ROTATION A GAUCHE – ROL(27) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17-6 ROTATION A DROITE – ROR(28) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17-7 DECALAGE A GAUCHE D’UN DIGIT – SLD(74) . . . . . . . . . . . . . . . . . . . . . 5-17-8 DECALAGE A DROITE D’UN DIGIT – SRD(75) . . . . . . . . . . . . . . . . . . . . . . 5-17-9 REGISTRE A DECALAGE REVERSIBLE – SFTR(84) . . . . . . . . . . . . . . . . . . 5-17-10 REGISTRE A DECALAGE ASYNCHRONE – ASFT(17) . . . . . . . . . . . . . . . . 5-18 Instructions de transfert de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-1 TRANSFERT – MOV(21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-2 NON TRANSFERT – MVN(22) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-3 TRANSFERT PAR BLOCS – XFER(70) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-4 PARAMETRAGE DE BLOCS – BSET(71) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-5 ECHANGE DE DONNEES – XCHG(73) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-6 DISTRIBUTION D’UN SEUL MOT – DIST(80) . . . . . . . . . . . . . . . . . . . . . . . 5-18-7 COLLECTE DE DONNEES – COLL(81) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-8 TRANSFERT DE BIT – MOVB(82) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-9 TRANSFERT DE DIGIT – MOVD(83) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18-10 BITS DE TRANSFERT – XFRB(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19 Instructions de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19-1 COMPARAISON – CMP(20) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19-2 TABLEAU DE COMPARAISON – TCMP(85) . . . . . . . . . . . . . . . . . . . . . . . . . 5-19-3 COMPARAISON DE BLOC – BCMP(68) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19-4 DOUBLE COMPARAISON – CMPL(60) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19-5 COMPARAISON MULTI-MOTS – MCMP(19) . . . . . . . . . . . . . . . . . . . . . . . . . 5-19-6 COMPARAISON BINAIRE SIGNEE – CPS(––) . . . . . . . . . . . . . . . . . . . . . . . . 5-19-7 COMPARAISON BINAIRE SIGNEE DOUBLE – CPSL(––) . . . . . . . . . . . . . . 5-19-8 COMPARAISON DE PLAGES DE ZONES – ZCP(––) . . . . . . . . . . . . . . . . . . 5-19-9 COMPARAISON DE PLAGES DE ZONES DOUBLES – ZCPL(––) . . . . . . . . 5-20 Instructions de conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-1 BCD EN BINAIRE – BIN(23) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-2 BINAIRE EN BCD – BCD(24) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-3 BCD DOUBLE EN BINAIRE DOUBLE – BINL(58) . . . . . . . . . . . . . . . . . . . . 5-20-4 BINAIRE DOUBLE EN BCD DOUBLE – BCDL(59) . . . . . . . . . . . . . . . . . . . 5-20-5 DECODEUR 4 A 16 – MLPX(76) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-6 CODEUR 16 A 4 – DMPX(77) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-7 DECODEUR A 7 SEGMENTS – SDEC78) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-8 CONVERSION ASCII – ASC(86) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-9 ASCII EN HEXADECIMAL – HEX(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-10 MISE A L’ECHELLE – SCL(66) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-11 MISE A L’ECHELLE DE VALEUR BINAIRE SIGNEE VERS BCD – SCL2(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-12 MISE A L’ECHELLE DE VALEUR BCD VERS VALEUR BINAIRE SIGNEE – SCL3(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-13 HEURES EN SECONDES – SEC(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-14 SECONDES EN HEURES – HMS(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-15 LIGNE – LINE(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-16 LIGNE EN COLONNE – COLM(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-17 COMPLEMENT A 2 – NEG(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20-18 COMPLEMENT A 2 DOUBLE – NEGL(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21 Instructions de calcul BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 279 279 280 281 281 282 282 283 284 284 286 287 287 288 289 290 291 291 293 295 296 297 299 299 300 301 303 304 305 306 308 309 310 310 311 311 312 313 315 317 320 321 324 326 328 330 331 332 333 334 335 337 Chapitre 5-22 5-23 5-24 5-25 5-21-1 REPORT DE DEFINITION – STC(40) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21-2 ANNULATION REPORT – CLC(41) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21-3 ADDITION VALEUR BCD – ADD(30) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21-4 SOUSTRACTION VALEUR BCD – SUB(31) . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21-5 MULTIPLICATION VALEUR BCD – MUL(32) . . . . . . . . . . . . . . . . . . . . . . . . 5-21-6 DIVISION VALEUR BCD – DIV(33) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21-7 ADDITION VALEUR BCD DOUBLE – ADDL(54) . . . . . . . . . . . . . . . . . . . . . 5-21-8 SOUSTRACTION VALEUR BCD DOUBLE – SUBL(55) . . . . . . . . . . . . . . . . 5-21-9 MULTIPLICATION VALEUR BCD DOUBLE – MULL(56) . . . . . . . . . . . . . . 5-21-10 DIVISION VALEUR BCD DOUBLE – DIVL(57) . . . . . . . . . . . . . . . . . . . . . . . 5-21-11 RACINE CARREE – ROOT(72) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de calcul binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22-1 ADDITION VALEUR BINAIRE – ADB(50) . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22-2 SOUSTRACTION VALEUR BINAIRE – SBB(51) . . . . . . . . . . . . . . . . . . . . . . 5-22-3 MULTIPLICATION BINAIRE – MLB(52) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22-4 DIVISION BINAIRE – DVB(53) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22-5 ADDITION VALEUR BINAIRE DOUBLE – ADBL(––) . . . . . . . . . . . . . . . . . 5-22-6 SOUSTRACTION VALEUR BINAIRE DOUBLE – SBBL(––) . . . . . . . . . . . . 5-22-7 MULTIPLICATION BINAIRE SIGNEE – MBS(––) . . . . . . . . . . . . . . . . . . . . . 5-22-8 MULTIPLICATION VALEUR BINAIRE SIGNEE DOUBLE – MBSL(––) . . . 5-22-9 DIVISION BINAIRE SIGNEE – DBS(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22-10 DIVISION VALEUR BINAIRE SIGNEE DOUBLE – DBSL(––) . . . . . . . . . . . Instructions mathématiques spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23-1 TROUVER MAXIMUM – MAX(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23-2 TROUVER MINIMUM – MIN(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23-3 VALEUR MOYENNE – AVG(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23-4 SOMME – SUM(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23-5 PROCESSUS ARITHMETIQUE – APR(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions mathématiques à virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24-1 VIRGULE FLOTTANTE VERS 16 BITS : FIX(––) . . . . . . . . . . . . . . . . . . . . . 5-24-2 VIRGULE FLOTTANTE VERS 32 BITS : FIXL(––) . . . . . . . . . . . . . . . . . . . . 5-24-3 16 BITS VERS VIRGULE FLOTTANTE : FLT(––) . . . . . . . . . . . . . . . . . . . . . 5-24-4 32 BITS VERS VIRGULE FLOTTANTE : FLTL(––) . . . . . . . . . . . . . . . . . . . . 5-24-5 ADDITION DE VIRGULE FLOTTANTE : +F(––) . . . . . . . . . . . . . . . . . . . . . . 5-24-6 SOUSTRACTION DE VIRGULE FLOTTANTE : –F(––) . . . . . . . . . . . . . . . . . 5-24-7 MULTIPLICATION DE VIRGULE FLOTTANTE : *F(––) . . . . . . . . . . . . . . . 5-24-8 DIVISION DE VIRGULE FLOTTANTE : /F(––) . . . . . . . . . . . . . . . . . . . . . . . 5-24-9 DEGRES EN RADIANS : RAD(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24-10 RADIANS EN DEGRES : DEG(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24-11 SINUS : SIN(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24-12 COSINUS : COS(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24-13 TANGENTE : TAN(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24-14 ARC SINUS : ASIN(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24-15 ARC COSINUS : ACOS(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24-16 ARC TANGENTE : ATAN(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24-17 RACINE CARREE : SQRT(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24-18 EXPONENTIELLE : EXP(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24-19 LOGARITHME : LOG(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions Logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25-1 COMPLEMENT – COM(29) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25-2 ET LOGIQUE – ANDW(34) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25-3 OU LOGIQUE – ORW(35) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25-4 OU EXCLUSIF – XORW(36) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25-5 NON OU EXCLUSIF – XNRW(37) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 337 337 338 340 341 342 344 345 346 347 348 348 349 350 351 352 353 355 356 357 358 359 359 360 361 363 365 368 373 374 375 376 377 378 379 381 382 383 384 385 386 387 388 389 391 392 393 394 394 395 396 397 397 225 Chapitre 5-26 Instructions d’incrémentation/décrémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 5-26-1 INCREMENT BCD – INC(38) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 5-26-2 DECREMENT BCD – DEC(39) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 5-27 Instructions de sous–programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 5-27-1 SAISIE DU SOUS–PROGRAMME – SBS(91) . . . . . . . . . . . . . . . . . . . . . . . . . 400 5-27-2 DEBUT DE SOUS–PROGRAMME et RETOUR AU PROGRAMME PRINCIPAL – SBN(92)/RET(93) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 5-28 Instructions spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 5-28-1 ECHANTILLONNAGE DE MEMOIRE DE TRACAGE – TRSM(45) . . . . . . 402 5-28-2 MESSAGE – MSG(46) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 5-28-3 RAFRAICHISSEMENT E/S – IORF(97) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 5-28-4 MACRO – MCRO(99) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 5-28-5 COMPTEUR DE BITS – BCNT(67) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 5-28-6 CONTROL DE TRAME – FCS(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 5-28-7 DETECTION DE POINT DE PANNE – FPD(––) . . . . . . . . . . . . . . . . . . . . . . . 411 5-28-8 COMMANDE D’INTERRUPTION – INT(89) . . . . . . . . . . . . . . . . . . . . . . . . . 415 5-28-9 PARAMETRAGE DES IMPULSIONS – PULS(65) . . . . . . . . . . . . . . . . . . . . . 417 5-28-10 SORTIE DE VITESSE– SPED(64) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 5-28-11 SORTIE D’IMPULSION – PLS2(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 5-28-12 COMMANDE D’ACCELERATION – ACC(––) . . . . . . . . . . . . . . . . . . . . . . . . 424 5-28-13 IMPULSION A RAPPORT CYCLIQUE VARIABLE – PWM(––) . . . . . . . . . . 427 5-28-14 RECHERCHE DE DONNEE – SRCH(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 5-28-15 COMMANDE PID – PID(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 5-29 Instructions de réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 5-29-1 TRANSMISSION RESEAU – SEND(90) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 5-29-2 RECEPTION RESEAU – RECV(98) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 5-29-3 COMMANDE LIVREE : CMND(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 5-30 Instructions de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 5-30-1 RECEPTION – RXD(47) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 5-30-2 TRANSMISSION – TXD(48) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 5-30-3 CHANGEMENT DU PARAMETRAGE DU PORT SERIE – STUP(––) . . . . . 446 5-30-4 MACRO–PROTOCOLE – PMCR(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 5-31 Instructions avancées d’E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 5-31-1 SORTIE D’AFFICHAGE 7 SEGMENTS – 7SEG(88) . . . . . . . . . . . . . . . . . . . . 451 5-31-2 ENTREE COMMUTATEUR NUMERIQUE – DSW(87) . . . . . . . . . . . . . . . . . 455 5-31-3 ENTREE D’UNE TOUCHE HEXADECIMALE – HKY(––) . . . . . . . . . . . . . . 459 5-31-4 ENTREE TOUCHE DECIMALE – TKY(18) . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 226 Chapitre Notation 5-1 5-1 Notation Dans ce manuel, toutes les instructions sont mentionnées par leur mnémonique. Par exemple, l’instruction SORTIE est appelée OUT et l’instruction ET CHARGER est appelée AND LD. Pour l’utilisation appropriée d’un mnémonique, se reporter à l’Annexe A - Instructions de Programmation. Si une instruction est affectée à un code de fonction, celui–ci est indiqué entre parenthèses après le mnémonique. Ces codes de fonction, nombre décimaux à 2 digits, sont utilisés pour permettre un maximum d’instructions dans l’Unité centrale. Un tableau d’instructions, listées dans l’ordre de leur code de fonction est également donné en Annexe A - Instructions de Programmation. Les listes des instructions sont données en 5-7 Tableaux d’Instructions. Un @ avant un mnémomique indique une variante de l’instruction. Les variantes des instructions sont décrites au Chapitre 5-4. 5-2 Format d’instruction La plupart des instructions ont un ou plusieurs opérandes associés. Les opérandes indiquent les données sur lesquelles l’instruction est réalisée. Ceux–ci sont parfois entrés comme valeurs numériques courantes (c.-à-d. comme constantes), mais sont usuellement les adresses des mots ou des bits de la zone de données contenant la donnée à utiliser. Un bit dont l’adresse est représentée par un opérande est appelé bit opérande ; un mot dont l’adresse est représentée par un opérande est appelé mot opérande. Dans quelques instructions, le mot d’adresse représenté dans une instruction à mot multiple indique le premier mot contenant la donnée désirée. Chaque instruction nécessite un ou plusieurs mots en mémoire de programme. Le premier mot est le mot d’instruction décrivant l’instruction et contient toutes données d’opérande (décrit ci–dessous) ou les bits opérandes nécessaires à l’instruction. Les autres opérandes nécessaires à l’instruction sont contenu dans les mots suivants, un opérande par mot. Quelques instructions nécessitent jusqu’à quatre mots. Une donnée d’opérande est un opérande associé à une instruction et contenu dans le même mot que l’instruction elle–même. Ces opérandes définissent plus l’instruction que les données à employer. Des exemples de données d’opérande sont des nombres TIM/CNT, lesquels sont utilisés comme instructions de temporisation et de comptage pour créer des compteurs et des temporisations, ainsi que des numéros de saut (lesquels définissent l’instruction de saut reliée à l’instruction de fin de saut). Les bits opérandes étant contenus dans le même mot que l’instruction elle–même, ils ne sont de ce fait pas considérés comme données d’opérande. 5-3 Zones de données, valeurs des données d’opérande et drapeaux Ce paragraphe décrit chaque instruction, y compris les symboles de schéma à contacts et les zones de données pouvant être utilisées par les opérandes et les valeurs pouvant être utilisées comme données d’opérande. Des informations pour les zones de données sont aussi spécifiés par le nom de l’opérande et le type de données nécessaire pour chaque opérande (c.-à-d. un mot ou un bit et pour un mot, soit la valeur hexadécimale soit la valeur en BCD). Toutes les adresses de la zone de données ne sont pas nécessairement permises pour un opérande. Autrement dit, si un opérande nécessite deux mots, le dernier mot de la zone de données ne peut être construit comme le premier mot du fait que les mots pour un opérande unique doivent être compris dans la même zone de données. D’autres limitations sont données dans le paragraphe 227 Chapitre Zones de données, valeurs des données d’opérande et drapeaux 5-3 Limitations. Se reporter au Chapitre 3 - Zones mémoire pour les conventions d’adressage et les adresses des drapeaux et des bits de contrôle. ! Attention Les zones IR et SR sont considérées comme distinctes des zones de données. Si un opérande a accès à une zone, ceci ne signifie pas que cet opérande peut accéder à une autre zone. La frontière entre les zones IR et SR peut toutefois être interchangée pour un opérande unique. En d’autres termes, le dernier bit de la zone IR peut être utilisé pour un opérande de longueur supérieure à un mot, à la condition que la zone SR soit également permise pour cet opérande. Le paragraphe Drapeaux énumère les drapeaux affectés par l’exécution d’une instruction. Ces drapeaux comprennent les drapeaux de la zone SR suivants : Abréviation ER CY GR EQ LE Nom du drapeau Erreur d’exécution d’instruction Retenue Plus grand que Egal à Plus petit que Bit 25503 25504 25505 25506 25507 Le drapeau ER est principalement utilisé pour la surveillance de l’exécution d’une instruction. Lorsque le drapeau ER passe à ON, ceci indique qu’une erreur s’est produite dans l’exécution de l’instruction en cours. Le paragraphe Drapeaux de chaque instruction indique les causes possibles de passage à ON du drapeau ER. Celui–ci passe à ON si les opérandes ne sont pas saisis correctement. Lorsque ER est à ON les instructions ne sont pas exécutées. Un tableau des instructions et de leurs drapeaux respectifs est donné en Annexe B - Erreur et drapeau d’opération arithmétique. Adressage indirect Lorsque la zone DM est spécifiée pour un opérande, un adressage indirect peut être utilisé. L’adressage indirect DM est spécifié en insérant un astérisque avant DM : *DM. Lorsqu’un adressage indirect DM est spécifié, le mot DM comprend l’adresse du mot DM contenant la donnée utilisée par l’opérande de l’instruction. Par exemple, si le *DM 0001 est spécifié comme le premier opérande et le LR 00 comme le second opérande de l’instruction MOV(21), le contenu du DM 0001 est 1111, et celui du DM 1111 est 5555, la valeur 5555 est déplacée dans le LR 00. MOV(21) *DM 0001 LR 00 Adressage indirect Mot DM 0000 DM 0001 DM 0002 Contenu 4C59 1111 F35A DM 1111 DM 1113 DM 1114 5555 2506 D541 Indique le DM 1111. 5555 déplacé dans le LR 00. Lors de l’utilisation d’un adressage indirect, l’adresse du mot doit être en BCD et doit correspondre à un mot de la zone DM. Dans l’exemple ci–dessus, le contenu du *DM 0000 doit être en BCD et compris entre 0000 et 1999. Désignation des Constantes 228 Bien que les zones d’adresses soient le plus souvent des opérandes, la plupart des opérandes et tous les données d’opérande sont saisis comme constante. La plage des valeurs pemises pour une donnée d’opérande ou un opérande est fonction de l’instruction qui l’utilise. Les constantes doivent être saisies dans le format nécessaire à l’instruction, soit en BCD soit en hexadécimal. Chapitre Variantes d’instructions 5-4 5-4 Variantes d’instructions La plupart des instructions dispose d’une forme standard et d’une variante. Un @ avant un mnémomique d’instruction indique une variante de l’instruction. Une instruction standard est exécutée chaque fois qu’elle apparaît et tant que la condition d’exécution reste à ON. La variante n’est exécutée que si sa condition d’exécution passe de OFF à ON. Si la condition d’exécution reste inchangée ou passe de ON à OFF depuis la dernière exécution de l’instruction, l’instruction nouvelle n’est pas exécutée. Les deux exemples suivants montrent le mécanisme pour des instructions MOV(21) et @MOV(21), lesquelles sont utilisées pour transférer les données de l’adresse spécifiée par le premier opérande à l’adresse spécifiée par le second opérande. 00000 MOV(21) HR 10 Diagramme A DM 0000 Adresse 00000 00001 Instruction Opérandes LD MOV(21) 00000 HR DM 10 0000 00000 Diagramme B @MOV(21) Adresse Instruction HR 10 00000 00001 LD @MOV(21) DM 0000 Opérandes 00000 HR DM 10 0000 Dans le diagramme A, l’instruction standard MOV(21) transfère le contenu du HR 10 dans le DM 0000 à chaque passage du contact 00000. Si le temps de cycle est de 80 ms et que le contact 00000 reste à ON pendant 2,0 secondes, l’opération de transfert est effectuée 25 fois et seule la dernière valeur transférée dans le DM 0000 y sera sauvegardée. Dans le diagramme B, la variante @MOV(21) transfère le contenu du HR 10 dans le DM 0000 uniquement après le passage de 00000 à ON. Dans le cas où 00000 reste à ON pendant 2,0 secondes avec le même temps de cycle de 80 ms, l’opération de transfert est exécutée pendant le premier cycle où 00000 passe de OFF à ON. Du fait que le contenu du HR 10 peut changer pendant les 2 secondes durant lesquelles le contact 00000 est à ON, le contenu final du DM 0000 après les 2 secondes peut être différent si MOV(21) ou @MOV(21) est utilisé. Tous les opérandes, les symboles de programme à contacts et les autres caractéristiques des instructions sont les mêmes quelque soit le type de l’instruction utilisée, standard ou variante. Lors de la saisie, les mêmes codes de fonction sont utilisés, mais l’instruction NOT est saisie après le code de fonction pour désigner la variante d’une instruction. La plupart des instructions, mais pas toutes, dispose d’une variante. Se reporter au paragraphe 5-12 VERROUILLAGE et DEVERROUILAGE – IL(02) et ILC(03) pour les effets des verrouillages sur les variantes d’instructions. Le CQM1H dispose également de variantes d’instructions : DIFU(13) et DIFD(14). DIFU(13) fonctionne de la même façon qu’une variante d’instruction, mais est utilisée pour mettre un bit à ON pendant un cycle. DIFD(14) met également un bit à ON pendant un cycle, mais n’est exécutée que si la condition d’exécution passe de ON à OFF. Se reporter au paragraphe 5-9-4 CHANGEMENT D’ETAT FRONT MONTANT et DESCENDANT- DIFU(13) et DIFD(14) pour plus de détails. 229 Chapitre Instructions d’extension 5-5 5-5 Instructions d’extension Un ensemble d’instructions d’extension permet de répondre au besoin de programmation spécial. Les codes de fonction peuvent être associés jusqu’à 18 instructions d’extension pour permettre leur utilisation dans des programmes. Ceci permet à l’utilisateur de trier les instructions nécessaires à chaque programme de façon plus efficace en utilisant des codes de fonction spécifiques à chaque instruction. Les mnémoniques des instructions d’extension sont suivis par “(––)” comme le code de fonction. Ceci permet d’indiquer qu’ils doivent être attribués à des codes de fonction par l’utilisateur dans les tableaux d’instruction avant qu’elles soient utilisées dans le programme (dans le cas contraire, ils sont utilisés avec leur valeur par défaut). Les instructions sans code de fonction doivent en recevoir un par l’appareil de programmation et le CQM1H avant de pouvoir être utilisées dans le programme. Le changement des codes de fonction affectés aux instructions d’extension modifie la signification des instructions et des opérandes. S’assurer d’affecter les codes de fonction avant la programmation et de les transférer au CQM1H avant l’exécution du programme. L’exemple suivant montre comment modifier les codes de fonction par défaut. Exemple Code fonction 61 INI INI Code fonction 61 SPED Code fonction 64 PULS SPED PULS Code fonction 64 MAX Code fonction 65 MIN MAX Code fonction 65 MIN SUM Lors de la scrutation, les codes de fonction sont affectés comme ci–dessus (dans cet exemple les instructions sont relatives à des sorties d’impulsion). Codes de fonction pour les instructions d’extension Mnémonique ASFT TKY MCMP RXD Code 17 18 19 47 TXD CMPL INI PRV CTBL SPED PULS 48 60 61 62 63 64 65 230 SUM Si les sorties d’impulsions ne sont pas utilisées et si les valeurs minimum, maximum et de somme sont nécessaires, l’ensemble des instructions peut être utilisé comme indiqué ci–dessus pour réaffecter les instructions dans le tableau des instructions. Les 18 codes de fonction suivants sont utilisés pour les instructions d’extension : 17, 18, 19, 47, 48, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 87, 88 et 89 Les 74 instructions d’extension suivantes pouvant être utilisées sont listées ci– dessous ainsi que les codes de fonction par défaut qui sont affectés lorsque le CQM1H est scruté. SCL BCNT BCMP STIM 66 67 68 69 DSW 7SEG INT 87 88 89 Mnémonique ACC ACOS ADBL APR Code --------- ASIN ATAN AVG CMND COLM COS CPS --------------- CPSL DBS DBSL DEG --------- EXP FCS FIX ------- Chapitre Codage des Instructions Right-hand Mnémonique FIXL FLT FLTL FPD Code --------- Mnémonique RAD SBBL SCL2 SCL3 Code --------- HEX HKY HMS LINE LOG MAX MBS MBSL MIN NEG --------------------- SEC SIN SQRT SRCH STUP SUM TAN TTIM XFRB ZCP --------------------- NEGL PID PLS2 PMCR PWM ----------- ZCPL +F –F *F /F ----------- 5-6 Lorsqu’elles sont utilisées, les attributions des instructions d’extension peuvent être sauvegardées sur cassettes mémoire. Prendre toutes les précautions lors de l’utilisation d’une cassette mémoire déjà utilisée avec un autre CQM1H et s’assurer que les attributions des instructions d’extension ont bien été réalisées. ! Attention Lorsque le sélecteur 4 des micro–interrupteurs du CQM1H est à OFF, les codes de fonction par défaut sont utilisés et les attributions des instructions d’extension personnalisées ne sont pas prises en compte. Les attributions des instructions d’extension par défaut sont également prises en compte à la mise sous tension, annulant ainsi les réglages précédents. S’assurer que le sélecteur 4 des micro–interrupteurs de l’Unité centrale est à ON lors de la lecture d’un programme à partir d’une cassette mémoire disposant de réglage personnalisés des atributions des instructions d’extension. Lorsque le sélecteur 4 est à OFF, les réglages par défaut sont utilisés (dans ce cas le programme est lu à partir de la cassette mémoire mais n’est pas exécuté si les réglages par défaut sont sélectionnés). 5-6 Codage des Instructions Right-hand L’écriture d’instructions en code mnémonique pour un schéma à contacts est décrit au Chapitre 4 - Programmation de schéma à contacts. Le principe d’écriture de schéma à contacts décrit ci–dessous est identique pour toutes les instructions et n’est pas spécifié individuellement pour chaque instruction. Le premier mot d’une instruction défini l’instruction et donne tous les données d’opérande. Si l’instruction demande un seul bit opérande sans donnée d’opérande, le bit opérande est mis sur la même ligne que le mnémonique. Les autres opérandes sont mis sur la ligne suivant la ligne d’instruction, une opérande par ligne et placée dans le même ordre que leur apparition dans le schéma à contacts. Les colonnes d’adresse et d’instruction des tableaux de code mnémonique sont remplis uniquement pour les mots d’instruction. Pour toutes les autres lignes, les deux colonnes de gauche sont laissées vides. Si l’instruction ne nécessite ni donnée d’opérande ni bit opérande, la colonne des données est laissée vide 231 Chapitre Codage des Instructions Right-hand 5-6 pour la première ligne. Il est recommandé de mettre des espaces dans les colonnes de données vides (pour tous les mots d’instructions ne nécessitant pas de données) afin que la colonne des données puisse être facilement vérifiée et voir si toutes les adresses ont été laissées vides. Si une adresse IR ou SR est utilisée dans la colonne des données, le côté gauche de la colonne est laissé vide. Si une autre zone de données est utilisée, l’abréviation de la zone de données est placée sur le côté gauche et l’adresse elle–même est placée sur le côté droit. Si une constante (nombre) est nécessaire, le symbole (#) est placé sur le côté gauche de la colonne des données et la constante est placée sur le côté droit. Les données d’opérande dans un mot d’instruction ne nécessite pas le symbole (#) sur le côté droit. Les bits TIM/CNT, définissant uniquement un compteur ou une temporisation, prennent un préfixe TIM (temporisation) ou CNT (compteur). Lors du codage d’une instruction disposant d’un code de fonction, s’assurer d’écrire dans le code de fonction, ce qui est nécessaire pour l’écriture des instructions par une console de programmation. S’assurer également d’ajouter le symbole @ pour une variante d’instruction. Rem. Les mnémoniques des instructions d’extension sont suivis, comme le code de fonction, de “(––)” pour indiquer que l’utilisateur doit attribuer un code de fonction dans les tableaux d’instructions avant de pouvoir être utilisés par le programme. Pour plus de détails, se reporter à la page 21. Les points ci–dessus sont illustrés par le schéma et le code mnémonique associé suivants. 00000 Adresse Instruction 00001 DIFU(13) 21600 00002 00100 00200 21600 BCNT(67) 01001 01002 LR 6300 Données 00000 LD 00000 00001 AND 00001 00002 OR 00002 00003 DIFU(13) 21600 00004 LD 00100 00005 AND NOT 00200 00006 LD 01001 00007 AND NOT 01002 00008 AND NOT 00009 OR LD 00010 AND 00011 BCNT(67) #0001 004 HR 00 00005 TIM 000 LR 6300 –– 21600 #0150 TIM 000 –– # MOV(21) 0001 004 HR 00 HR LR 00 HR 0015 00012 LD 00013 TIM 00014 LD 00015 MOV(21) 232 00005 000 # 00500 00016 LD 00017 OUT NOT 00 TIM 0150 000 –– HR 00 LR 00 HR 0015 00500 Chapitre Codage des Instructions Right-hand Lignes à instructions multiples 00000 Si une instruction right-hand (comme l’instruction KEEP(11)) nécessite des lignes d’instructions multiples, toutes les lignes de l’instruction sont saisies avant l’instruction right-hand. Chacune des lignes de l’instruction est codée, commençant par LD ou LD NOT, afin de former des “blocs logiques” associés à l’instruction right-hand. Un exemple pour l’instruction SFT(10) est donné ci–dessous. Adresse Instruction 00001 I SFT(10) 00002 P HR 00 00100 00200 01001 01002 5-6 21600 R HR 00 Données 00000 LD 00000 00001 AND 00001 00002 LD 00002 00003 LD 00100 00004 AND NOT 00200 00005 LD 01001 00006 AND NOT 01002 00007 AND NOT 00008 OR LD 00009 AND 00010 SFT(10) HR HR 00 00011 LD HR 0015 00012 OUT NOT LR 6300 HR 0015 00500 LR 6300 –– 21600 00 00500 233 Chapitre Tableaux d’instructions 5-7 5-7 Tableaux d’instructions Ce paragraphe décrit les tableaux des instructions disponibles pour le CQM1H. Les deux premiers tableaux peuvent être utilisés pour rechercher une instruction par son code de fonction. Le dernier tableau peut être utilisé pour rechercher une instruction par son code mnémonique. 5-7-1 Instructions classées par codes de fonctions Le tableau suivant énumère les instructions classées par leur code de fonction. Chaque instruction est décrite par son mnémonique et son nom. Pour le code de fonction, utiliser le nombre de la colonne la plus à gauche pour le digit gauche et le nombre de la rangée du haut pour le digit de droite. Le symbole @ indique une variante d’instruction. Les instructions d’extension sans code de fonction par défaut doivent recevoir un code de fonction pour être utilisables. Dans le tableau suivant, des instructions d’extension avec codes de fonction par défaut ont été omises afin de pouvoir prendre celui désiré. Se reporter à la page suivante pour plus de détails sur les instructions d’extension. Digit gauche Digit droit 5 6 7 8 0 NOP AUCUNE OPERATION END FIN IL VERROUILLAGE ILC DEVERROUILLAGE JMP SAUT JME FIN DE SAUT (@) FAL ALARME DE PANNE MINEURE ET DE REINITIALISATIONT FALS ALARME DE PANNE GRAVE STEP DEFINITION PAS SNXT DEMAR– RAGE PAS 1 SFT REGISTRE A DECALAGE KEEP CONSERVER ETET CNTR COMPTEUR REVERSIBLE DIFU CHANGEMENT D’ETAT FRONT MONTANT DIFD CHANGEMENT D’ETAT FRONT DESCENDANT TIMH TEMPORISATION GRANDE VITESSE (@) WSFT DONNEES DE D2CALAGE (Instruction d’extension) (Instruction d’extension) (Instruction d’extension) 2 CMP COMPARAISON (@) MOV TRANSFERT (@) MVN NON TRANSFERT (@) BIN BCD EN BINAIRE (@) BCD BINAIRE EN BCD (@) ASL DECALAGE ARITHMETIQUE A GAUCHE (@) ASR DECALAGE ARITHMETIQUE A DROITE (@) ROL ROTATION A DROITE (@) ROR ROTATION A GAUCHE (@) COM COMPLEMENT 3 (@) ADD ADDITION VALEUR BCD (@) SUB SOUSTRACTION VALEUR BCD (@) MUL MULTIPLICATION VALEUR BCD (@) DIV DIVISION VALEUR BDC (@) ANDW ET LOGIQUE (@) ORW OU LOGIQUE (@) XORW OU EXCLUSIF (@) XNRW NON OU EXCLUSIF (@) INC INCREMENTATION (@) DEC DECREMENTATION 4 (@) STC DEFINITION DU REPORT (@) CLC ANNULATION DE REPORT --- --- --- TRSM ECHANTILLONNAGE DE MEMOIRE DE TRACAGE (@) MSG AFFICHAGE D’UN MESSAGE (@) ADB ADDITION VALEUR BINAIRE (@) SBB SOUSTRACTION VALEUR BINAIRE (@) MLB MULTIPLICATION VALEUR BINAIRE (@) DVB DIVISION BINAIRE (@) ADDL ADDITION VALEUR BDC DOUBLE (@) SUBL SOUSTRACTION VALEUR BDC DOUBLE (Instruction d’extension) (Instruction d’extension) (Instruction d’extension) (Instruction d’extension) (Instruction d’extension) 7 (@) XFER TRANSFERT PAR BLOCS (@) BSET PARAMETRA GE DE BLOCS (@) ROOT RACINE CARRE (@) XCHG ECHANGE DE DONNEES 8 (@) DIST DISTRIBUTION D’UN SEUL MOT (@) COLL COLLECTE DE DONNÉES (@) MOVB TRANSFERT DE BIT (@) SEND TRANSMISSION RESEAU (@) SBS SAISIE DU SOUS–PROGRAMME SBN DEBUT DU SOUS–PROGRAMME 5 6 9 234 0 1 2 3 4 9 --(Instruction d’extension) (Instruction d’extension) (@) MULL MULTIPLICATION VALEUR BDC DOUBLE (@) DIVL DIVISION VALEUR BDC DOUBLE (@) BINL BCDDOUBLE EN BINAIRE DOUBLE (@) BCDL BINAIRE DOUBLE EN BDC DOUBLE (Instruction d’extension) (Instruction d’extension) (Instruction d’extension) (Instruction d’extension) (Instruction d’extension) (@) SLD DECALAGE A GAUCHE D’UN DIGIT (@) SRD DECALAGE A DROITE D’UN DIGIT (@) MLPX DECODEUR 4 A 16 (@) DMPX CODEUR 16 A 4 (@) SDEC DECODEUR 7 SEGMENTS --- (@) MOVD TRANSFERT DE DIGIT (@) SFTR REGISTER A DECALAGE REVERSIBLE (@) TCMP TABLEAU DE COMPARAISON (@) ASC CONVERSION ASCII (Instruction d’extension) (Instruction d’extension) (Instruction d’extension) RET RETOUR AU PROGRAMME PRINCIPAL --- --- --- (@) IORF RAFRAICHISSEMENT E/S (@) RECV RECEPTION RESEAU (@) MCRO MACRO Chapitre Tableaux d’instructions 5-7 5-7-2 Instructions d’extension Les 74 instructions d’extension pouvant être utilisées sont listées ci–après, ainsi que le code de fonction associé pour le CQM1H. Pour plus de détails, se reporter au paragraphe 1-4 Instructions d’extension. Mnémonique Code Mnémonique Code ASFT 17 ACC --- TKY 18 ACOS --- MCMP 19 ADBL --- RXD 47 APR --- TXD 48 ASIN --- CMPL 60 ATAN --- INI 61 AVG --- PRV 62 CMND --- CTBL 63 COLM --- SPED 64 COS --- PULS 65 CPS --- SCL 66 CPSL --- BCNT 67 DBS --- BCMP 68 DBSL --- STIM 69 DEG --- DSW 87 EXP --- 7SEG 88 FCS --- INT 89 FIX --- Mnémonique FIXL FLT FLTL FPD Code --------- Mnémonique RAD SBBL SCL2 SCL3 Code --------- HEX HKY HMS LINE LOG MAX MBS MBSL MIN NEG --------------------- SEC SIN SQRT SRCH STUP SUM TAN TTIM XFRB ZCP --------------------- NEGL PID PLS2 PMCR PWM ----------- ZCPL /F +F –F *F ----------- 5-7-3 Liste alphabétique des mnémoniques Des tirets (“–”) dans la colonne Code indiquent des instructions d’extension n’ayant pas de code de fonction pré–défini. “Aucun” indique des instructions n’utilisant pas de code de fonction. Le symbole @ indique des variantes d’instruction. Mnémonique Code Mots 7SEG 88 4 ACC (@) –– ACOS (@) ADB (@) Nom Page 451 4 SORTIE D’AFFICHAGE A 7 SEGMENTS COMMANDE D’ACCELERATION –– 3 ARC COSINUS 388 50 4 ADDITION VALEUR BINAIRE 348 ADBL (@) –– 4 ADDITION VALEUR BINAIRE DOUBLE 352 ADD (@) 30 4 ADDITION VALEUR BCD 337 ADDL (@) 54 4 ADDITION VALEUR BCD DOUBLE 342 AND Aucun 1 ET 239 AND LD Aucun 1 ET CHARGER 240 AND NOT Aucun 1 NON ET 239 ANDW (@) 34 4 ET LOGIQUE 395 APR (@) –– 4 PROCESSUS ARITHMETIQUE 365 ASC (@) 86 4 CONVERSION ASCII 320 ASFT(@) 17 4 286 ASIN (@) –– 3 REGISTRE A DECALAGE ASYNCHRONE ARC SINUS ASL (@) 25 2 DECALAGE ARITHMETIQUE A GAUCHE 281 424 387 235 Chapitre Tableaux d’instructions Mnémonique 236 Code Mots ASR (@) 26 2 ATAN (@) –– AVG –– BCD (@) Nom 5-7 Page 281 3 DECALAGE ARITHMETIQUE A DROITE ARC TANGENTE 4 VALUE MOYENNE 361 24 3 BINAIRE EN BCD 311 BCDL (@) 59 3 BINAIRE DOUBLE EN BDC DOUBLE 312 BCMP (@) 68 4 COMPARAISON DE BLOCS 301 BCNT (@) 67 4 COMPTEUR DE BITS 408 BIN (@) 23 3 BCD EN BINAIRE 310 BINL (@) 58 3 BCD DOUBLE EN BINARE DOUBLE 311 BSET (@) 71 4 PARAMETRAGE DE BLOC 290 CLC (@) 41 1 ANNULATION REPORT 337 CMND (@) –– 4 COMMANDE LIVREE 438 CMP 20 3 COMPARAISON 299 CMPL 60 4 COMPARAISON DOUBLE 303 CNT Aucun 2 COMPTEUR 253 CNTR 12 3 COMPTEUR REVERSIBLE 255 COLL (@) 81 4 COLLECTE DE DONNEES 293 COLM(@) –– 4 LIGNE EN COLONNE 333 COM (@) 29 2 COMPLEMENT 394 COS (@) –– 3 COSINUS 385 CPS –– 4 COMPARAISON BINAIRE SIGNEE 305 CPSL –– 4 306 CTBL(@) 63 4 DBS (@) –– 4 COMPARAISON BINAIRE SIGNEE DOUBLE CHARGE TABLEAU DE COMPARAISON DIVISION BINAIRE SIGNEE DBSL (@) –– 4 DIVISION BINAIRE SIGNEE DOUBLE 358 DEC (@) 39 2 DECREMENTATION BCD 399 DEG (@) –– 3 RADIANS EN DEGRES 383 DIFD 14 2 243 DIFU 13 2 DIST (@) 80 4 CHANGEMENT D’ETAT FRONT DESCENDANT CHANGEMENT D’ETAT FRONT MONTANT DISTRIBUTION D’UN SEUL MOT DIV (@) 33 4 DIVISION VALEUR BCD 341 DIVL (@) 57 4 DIVISION VALEUR BCD DOUBLE 346 DMPX (@) 77 4 CODEUR 16 A 4 315 DSW 87 4 455 DVB (@) 53 4 ENTREE COMMUTATEUR NUMERIQUE DIVISION VALEUR BINAIRE END 01 1 FIN 244 EXP (@) –– 4 EXPONENTIELLE 392 FAL (@) 06 2 248 FALS 07 2 ALARME DE PANNE MINEURE ET REINITIALISATION ALARME DE PANNE GRAVE FCS (@) –– 4 CONTROLE DE TRAME 409 FIX (@) –– 3 VIRGULE FLOTTANTE EN16 bits 373 FIXL (@) –– 3 VIRGULE FLOTTANTE EN 32 bits 374 FLT (@) –– 3 16 bits EN VIRGULE FLOTTANTE 375 FLTL (@) –– 3 32 bits EN VIRGULE FLOTTANTE 376 389 260 357 243 291 351 248 Chapitre Tableaux d’instructions Mnémonique Code Mots Nom 5-7 Page FPD –– 4 DETECTION DE POINT DE PANNE 411 HEX (@) –– 4 ASCII EN HEXADECIMAL 321 HKY –– 4 459 HMS –– 4 ENTREE D’UNE TOUCHE HEXADECIMALE SECONDES EN HEURES IL 02 1 VERROUILLAGE 245 ILC 03 1 DEVERROUILLAGE 245 INC (@) 38 2 INCREMENTATION 398 INI (@) 61 4 CONTROLE DE MODE 273 INT (@) 89 4 COMMANDE D’INTERRUPTION 415 IORF (@) 97 3 RAFRAICHISSEMENT E/S 405 JME 05 2 FIN DE SAUT 247 JMP 04 2 SAUT 247 KEEP 11 2 CONSERVER 242 LD Aucun 1 CHARGER 5-8-1 LD NOT Aucun 1 NON CHARGER 5-8-1 LINE –– 4 LIGNE 332 LOG (@) –– 3 LOGARITHME 393 MAX (@) –– 4 TROUVER MAXIMUM 359 MBS (@) –– 4 MULTIPLICATION BINIARE SIGNEE 355 MBSL (@) –– 4 356 MCMP (@) 19 4 MULTIPLICATION BINIARE SIGNEE DOUBLE COMPARAISON MULTI-MOTS MCRO (@) 99 4 MACRO 406 MIN (@) –– 4 TROUVER MINIMUM 360 MLB (@) 52 4 MULTIPLICATION VALEUR BINAIRE 350 MLPX (@) 76 4 DECODEUR 4 A 16 313 MOV (@) 21 3 TRANSFERT 287 MOVB (@) 82 4 TRANSFERT DE BIT 295 MOVD (@) 83 4 TRANSFERT DE DIGIT 296 MSG (@) 46 2 MESSAGE 404 MUL (@) 32 4 MULTIPLICATION DE VALEUR BCD 340 MULL (@) 56 4 345 MVN (@) 22 3 MULTIPLICATION DE VALEUR BCD DOUBLE NON TRANSFERT NEG (@) –– 4 COMPLEMENT A 2 334 NEGL (@) –– 4 COMPLEMENT A 2 DOUBLE 335 NOP 00 1 AUCUNE OPERATION 244 OR Aucun 1 OU 239 OR LD Aucun 1 OU CHARGER 239 OR NOT Aucun 1 NON OU 239 ORW (@) 35 4 OU LOGIQUE 396 OUT Aucun 2 SORTIE 241 OUT NOT Aucun 2 NON SORTIE 241 PID –– 4 COMMANDE PID 429 PLS2 (@) –– 4 SORTIE D’IMPULSIONS 422 PMCR (@) –– 4 PROTOCOLE– MACRO 448 PRV (@) 62 4 275 PULS (@) 65 4 LECTURE PV DU COMPTEUR GRANDE VITESSE PARAMETRAGE DES IMPULSIONS 331 360 288 417 237 Chapitre Tableaux d’instructions Mnémonique 238 Code Mots PWM (@) –– 4 RAD (@) –– RECV (@) 98 RET Nom 5-7 Page 427 3 IMPULSION A RAPPORT CYCLIQUE VARIABLE DEGRES EN RADIANS 4 RECEPTION RESEAU 435 93 1 402 ROL (@) 27 2 RETOUR AU PROGRAMME PRINCIPAL ROTATION A GAUCHE ROOT (@) 72 3 RACINE CARREE 347 ROR (@) 28 2 ROTATION A DROITE 282 RSET Aucun 2 PARAMETRAGE OFF 241 RXD (@) 47 4 RECEPTION 441 SBB (@) 51 4 SOUSTRACTION BINAIRE 349 SBBL (@) –– 4 SOUSTRACTION BINAIRE DOUBLE 353 SBN 92 2 DEBUT DE SOUS–PROGRAMME 402 SBS (@) 91 2 SAISIE DU SOUS–PROGRAMME 400 SCL (@) 66 4 MISE A L’ECHELLE 324 SCL2 (@) –– 4 326 SCL3 (@) –– 4 SDEC (@) 78 4 MISE A L’ECHELLE DE VALEUR BINAIRE SIGNE VERS BCD MISE A L’ECHELLE DE VALEUR BCD VERS BINAIRE SIGNE DECODEUR 7 SEGMENTS SEC –– 4 HEURS EN SECONDES 330 SEND (@) 90 4 TRANSMISSION RESEAU 431 SET Aucun 2 PARAMETRAGE ON 241 SFT 10 3 REGISTRE A DECALAGE 279 SFTR (@) 84 4 284 SIN (@) –– 4 REGISTRE A DECALAGE REVERSIBLE SINUS SLD (@) 74 3 DECALAGE A GAUCHE D’UN DIGIT 283 SNXT 09 2 DEMARRAGE PAS 249 SPED (@) 64 4 SORTIE DE VITESSE 419 SQRT (@) –– 3 RACINE CARRE 391 SRCH (@) –– 4 RECHERCHE DE DONNEES 428 SRD (@) 75 3 DECALAGE A DROITE D’UN DIGIT 284 STC (@) 40 1 DEFINITION DU REPORT 337 STEP 08 2 DEFINITION PAS 249 STIM (@) 69 4 TEMPORISATION DE TRAME 258 STUP (@) –– 4 446 SUB (@) 31 4 CHANGEMENT DU PARAMETRAGE DU PORT SERIE SOSUTRACTION BCD SUBL (@) 55 4 SOUSTRACTION BCD DOUBLE 344 SUM (@) –– 4 SOMME 363 TAN (@) –– 3 TANGENTE 386 TCMP (@) 85 4 TABLEAU DE COMPARAISON 300 TIM Aucun 2 TEMPORISATION 252 TIMH 15 3 TEMPORISATION GRANDE VITESSE 256 TKY (@) 18 4 ENTREE D’UNE TOUCHE DECIMALE 462 TRSM 45 1 402 TTIM –– 4 ECHANTILLONNAGE DE MEMOIRE DE TRACAGE TEMPORISATION ADDITION TXD (@) 48 4 TRANSMISSION 443 382 282 328 317 384 338 257 Chapitre Instructions de schéma à contacts Mnémonique 5-8 Code Mots Nom 5-8 Page WSFT (@) 16 3 MOT DE DECALAGE 280 XCHG (@) 73 3 ECHANGE DE DONNEES 291 XFER (@) 70 4 TRANSFERT PAR BLOCS 289 XFRB (@) –– 4 BITS DE TRANSFERT 297 XNRW (@) 37 4 NON OU EXCLUSIF 397 XORW (@) 36 4 OU EXCLUSIF 397 ZCP –– 4 308 ZCPL –– 4 +F (@) –– 4 COMPARAISON DE PLAGES DE ZONES COMPARAISON DE PLAGES DE ZONES DOUBLES ADDITION DE VIRGULE FLOTTANTE –F (@) –– 4 378 *F (@) –– 4 /F (@) –– 4 SOUSTRACTION DE VIRGULE FLOTTANTE MULTIPLICATION DE VIRGULE FLOTTANTE DIVISION DE VIRGULE FLOTTANTE 309 377 379 381 Instructions de schéma à contacts Les instructions de schéma à contacts comprennent les instructions à contacts et les instructions en blocs logiques correspondant aux conditions du schéma à contacts. Les instructions en blocs logiques sont utilisées pour représenter des ensembles complexes. 5-8-1 CHARGER, NON CHARGER, ET, NON ET, OU et NON OU Symbole à contacts Zones des données d’opérandes B B : Bit CHARGER – LD IR, SR, AR, HR, TIM/CNT, LR, TR B NON CHARGER – LD NOT B : Bit IR, SR, AR, HR, TIM/CNT, LR B B : Bit ET – AND IR, SR, AR, HR, TIM/CNT, LR B NON ET – AND NOT B : Bit IR, SR, AR, HR, TIM/CNT, LR B : Bit OU – OR B NON OU – OR NOT B IR, SR, AR, HR, TIM/CNT, LR B : Bit IR, SR, AR, HR, TIM/CNT, LR Limitations Il existe aucune limite dans le nombre ou de restrictions dans l’ordre des instructions pouvant être utilisées, tant que la capacité mémoire de l’API n’est pas dépassée. Description Ces six instructions de base correspondent à des conditions du schéma à contacts. Comme décrit au Chapitre 4 – Programmation en schéma à contacts, 239 Chapitre Instructions de schéma à contacts 5-8 l’état des bits attribués à chaque instruction détermine les conditions d’exécution de toutes les instructions. Chaque instruction et chaque bit d’adresse peuvent être utilisés plusieurs fois. Chaque bit peut être employé dans autant d’instructions qu’exigé. L’état du bit opérande (B) attribué à LD ou à LD NOT détermine la première condition d’exécution. L’instruction AND réalise le ET logique entre la condition d’exécution et l’état du bit opérande ; AND NOT réalise le ET logique entre la condition d’exécution et l’inverse de l’état du bit opérande. L’instruction OR réalise le OU logique entre la condition d’exécution et l’état du bit opérande ; OR NOT, réalise le OU logique entre la condition d’exécution et l’inverse de l’état du bit opérande. Drapeaux Aucun drapeau n’est affecté par ces instructions. 5-8-2 ET CHARGER et OU CHARGER Symboles à contacts T CHARGER – AND LD 00000 00002 00001 00003 OU CHARGER – OR LD Description 00000 00001 00002 00003 Lorsque des instructions doivent être combinées en blocs et ne peuvent l’être par l’utilisation d’instructions OR et AND, des instructions AND LD et OR LD sont utilisées. De la même manière que les instructions AND et OR combinent un bit d’état et une condition d’exécution, les instructions AND LD et OR LD combinent deux conditions d’exécution, celle en cours et la dernière non utilisée. Pour construire un schéma à contacts, il n’est pas nécessaire d’utiliser des instructions AND LD et OR LD, ni nécessaire lors de la saisie directe d’un programme à contacts, comme il est possible à partir d’un programmateur CX. Ces instructions sont toutefois nécessaires pour convertir le programme dans une forme mnémonique. Afin de réduire le nombre d’instructions de programmation utilisées, une compréhension minimale des blocs logiques est nécessaire. Pour une introduction aux blocs logiques, se reporter au paragraphe 4–3–6 Instructions de blocs logiques. Drapeaux 240 Aucun drapeau n’est affecté par ces instructions. Chapitre Instructions de contrôle de bit 5-9 5-9 Instructions de contrôle de bit Il existe 7 instructions pouvant être utilisées pour le contrôle individuel de l’état de bit. Ce sont OUT, OUT NOT, DIFU(13), DIFD(14), SET, RSET, et KEEP(11). Ces instructions sont utilisées pour mettre des bits à ON ou à OFF de différentes manières. 5-9-1 SORTIE et NON SORTIE – OUT et OUT NOT Zones des données d’opérandes Symboles à contacts SORTIE – OUT B : Bit B IR, SR, AR, HR, LR, TR NON SORTIE – OUT NOT B : Bit B IR, SR, AR, HR, LR Limitations Tous les bits de sortie peuvent généralement être utilisés dans une seule instruction qui commande son état. Description Les instructions OUT et OUT NOT sont utilisées pour contrôler l’état du bit désigné selon la condition d’exécution. L’instruction OUT passe à ON le bit désigné pour une condition d’exécution à ON et passe à OFF le bit désigné pour une condition d’exécution OFF. Avec un bit TR, l’instruction OUT doit de préférence apparaître au point de branchement plûtot qu’à la fin d’une ligne d’instruction. Pour plus de détails, se reporter au paragraphe 4-3-8 Lignes d’instruction de branchement. L’instruction OUT NOT passe à ON le bit désigné pour une condition d’exécution à OFF et passe à OFF le bit désigné pour une condition d’exécution à ON. Les instructions OUT et OUT NOT peuvent être utilisées pour contrôler l’exécution par passage à ON et à OFF des bits qui sont attribués aux conditions du schéma à contacts. Ceci détermine les conditions d’exécution pour les autres instructions. Ceci est particulièrement avantageux en permettant à un ensemble complexe de conditions d’être utilisé pour contrôler l’état d’un seul bit de travail. Ce bit de travail est ainsi utilisé pour contrôler d’autres instructions. Le temps pendant lequel le bit reste à ON ou à OFF peut être contrôlé par les instructions OUT ou OUT NOT et l’instruction TIM. Pour plus de détails, se reporter aux exemples du paragraphe 5-16-1 Temporisation – TIM. Drapeaux Aucun drapeau n’est affecté par ces instructions. 5-9-2 PARAMETRAGE ON et PARAMETRAGE OFF – SET et RSET Symboles à contacts SET B Zones des données d’opérandes B : Bit IR, SR, AR, HR, LR RSET B B : Bit IR, SR, AR, HR, LR 241 Chapitre Instructions de contrôle de bit Description 5-9 L’instruction SET met le bit opérande à ON lorsque sa condition d’exécution est à ON et n’affecte pas l’état du bit opérande lorsque la condition d’éxécution est à OFF. L’instruction RSET met le bit opérande à OFF lorsque sa condition d’exécution est à ON et n’affecte pas l’état du bit opérande lorsque la condition d’éxécution est à OFF. L’instruction SET diffère de l’instruction OUT du fait que l’instruction OUT met le bit opérande à OFF lorsque la condition d’exécution est à OFF. De la même façon, l’instruction RSET diffère de l’instruction OUT NOT du fait que l’instruction OUT NOT met le bit opérande à ON lorsque la condition d’exécution est à OFF. Précautions L’état des bits opérandes SET et RSET programmés entre IL(02) et ILC(03), ou JMP(04) et JME(05), ne change pas lorsqu’un verrouillage ou un saut conditionnel est rencontré (c.-à-d. lorsque IL(02) ou JMP(04) est exécuté avec une condition d’exécution à OFF). Drapeaux Aucun drapeau n’est affecté par ces instructions. Exemples Les exemples suivants expliquent la différence entre OUT et SET/RSET. Dans le premier exemple (Diagramme A), l’IR 10000 passe à ON ou à OFF à chaque fois que l’IR 00000 passe à ON ou à OFF. Dans le second exemple (Diagramme B), l’IR 10000 passe à ON quand l’IR 00001 passe à ON et y reste (respectivement quand l’IR 00001 passe à OFF) jusqu’à ce que l’IR 00002 passe à ON. 00000 10000 Adresse 00000 00001 Diagramme A Instruction Opérandes LD OUT 00000 10000 00001 SET 10000 00002 RSET 10000 Diagramme B Adresse 00000 00001 00002 00003 Instruction Opérandes LD SET LD RSET 00001 10000 00002 10000 5-9-3 CONSERVER – KEEP(11) Symboles à contacts Zones des données d’opérandes S B : Bit KEEP(11) B R IR, SR, AR, HR, LR Limitations Tout bit de sortie ne peut généralement être utilisé que dans une instruction contrôlant son état. Description L’instruction KEEP(11) est utilisée pour maintenir l’état du bit désigné basé sur deux conditions d’exécution. Ces conditions d’exécution sont repérées S et R. S est l’entrée de positionnement ; R est l’entrée de réinitialisation. L’instruction KEEP(11) fonctionne comme une bascule RS, positionnée par S et réinitialisée par R. Lorsque S passe à ON, le bit désigné passe à ON et y reste jusqu’à la réinitialisation, quelque soit l’état suivant de S (ON ou OFF). Lorsque R passe à ON, le bit désigné passe à OFF et y reste jusqu’à la réinitialisation, quelque soit l’état sui- 242 Chapitre Instructions de contrôle de bit 5-9 vant de R (ON ou OFF). Le rapport entre la condition d’exécution et l’état du bit KEEP(11) est indiqué ci–après. Condition d’exécution S Condition d’exécution R Etat de B Drapeaux Aucun drapeau n’est affecté par ces instructions. Précautions Faire attention lors de l’utilisation d’une ligne de réinitialisation CONSERVER contrôlée par un périphérique externe normalement fermé. Ne jamais utiliser un bit d’entrée dans des conditions contraire à la réinitialisation (R) pour KEEP(11) lorsque l’appareil utilise une alimentation c.a. Le retard dans l’arrêt de l’alimentation c.c. de l’API (reliée à l’alimentation c.a. de l’appareil d’entrée) peut entraîner la réinitialisation du bit KEEP(11). Cette situation est représentée ci–dessous. Unité d’entrée A S KEEP(11) JAMAIS B A R Les bits utilisés par CONSERVER ne sont pas réinitialisés par un verrouillage. Se reporter au paragraphe 5-12 VERROUILLAGE et DEVERROUILAGE – IL(02) et IL(03) pour plus de détails. 5-9-4 CHANGEMENT D’ETAT FRONT MONTANT et DESCENDANT – DIFU(13) et DIFD(14) Symboles à contacts DIFU(13) B Zones des données d’opérandes B : Bit IR, SR, AR, HR, LR DIFD(14) B B : Bit IR, SR, AR, HR, LR Limitations Tout bit de sortie peut généralement être utilisé dans une seule instruction de contrôle de son état. Description Les instructions DIFU(13) et DIFD(14) sont utilisées pour passer à ON en un seul cycle un bit désigné. A chaque exécution, l’instruction DIFU(13) compare la condition d’exécution courante avec la condition précédente. Si la condition d’exécution précédente est à OFF et que la condition courante est à ON, DIFU(13) passe à ON le bit désigné. Si la condition d’exécution précédente est à ON et que la condition courante est à ON ou à OFF, DIFU(13) passe soit à OFF le bit désigné soit le laisse à OFF (autrement dit le bit désigné est dans tous les cas à OFF). Le bit désigné n’est jamais à ON pendant un cycle, en supposant qu’il est exécuté à chaque cycle (voir Précautions, ci–dessous). 243 Chapitre 5-10 AUCUNE OPERATION – NOP(00) A chaque exécution, l’instruction DIFD(14) compare la condition d’exécution courante avec la condition précédente. Si la condition d’exécution précédente était à ON et que la condition courante est à OFF, DIFD(14) passe à ON le bit désigné. Si la condition d’exécution précédente était à OFF et que la condition courante est à ON ou à OFF, DIFD(14) passe soit à OFF le bit désigné soit le laisse à OFF. Le bit désigné est ainsi jamais à ON pendant un cycle, en supposant qu’il est exécuté à chaque cycle (voir Précautions, ci–dessous). Ces instructions sont utilisées lorsque des variantes d’instructions (c.à.d dont le préfixe est un @) ne sont pas disponibles et qu’une exécution en un seul cycle d’une instruction particulière est souhaitée. Ces instructions peuvent également être utilisées avec des instructions standards disposant d’une variante lors de l’utilisation d’une programmation simplifiée. Des exemples sont donnés ci– après. Drapeaux Aucun drapeau n’est affecté par ces instructions. Précautions Le fonctionnement des instructions DIFU(13) et DIFD(14) peut être aléatoire lorsqu’elles sont programmées entre IL et ILC, entre JMP et JME, ou pour un sous–programme. Se reporter aux paragraphes 5-12 VERROUILLAGE et DEVERROUILAGE – IL(02) et IL(03), 5-13 SAUT et FIN DE SAUT– JMP(04) et JME(05), 5-27 Instructions de sous–programme et 5-28-8 COMMANDE D’INTERRUPTION – INT(89). Exemple Dans cet exemple, l’IR 10014 passe à ON pendant un cycle lorsque l’IR 00000 passe de OFF à ON. l’IR 10015 passe à ON pendant un cycle lorsque l’IR 00000 passe de ON à OFF. 00000 DIFU(13) 10014 DIFD(14) 10015 Adresse 00000 00001 00002 Instruction LD DIFU(13) DIFD(14) Opérandes 00000 10014 10015 5-10 AUCUNE OPERATION – NOP(00) Description L’instruction NOP(00) n’est pas, en général, nécessaire dans un programme et de ce fait il n’existe pas de symbole de schéma à contacts. Lorsque l’instruction NOP(00) apparaît dans un programme, rien n’est exécuté et le programme passe à l’instruction suivante. Lorsque la mémoire est réinitialisée par programmation, l’instruction NOP(00) est écrite à toutes les adresses. L’instruction NOP(00) est déclarée par le code de fonction 00. Drapeaux Aucun drapeau n’est affecté par cette instruction. 5-11 FIN – END(01) Symbole à contacts END(01) Description L’instruction END(01) est nécessaire en tant que dernière instruction d’un programme. En cas de sous–programmes, END(01) est placée après le dernier sous–programme. Aucune instruction n’est exécutée après l’instruction END(01). Dans un but de mise au point du programme, l’instruction END(01) peut être insérée partout dans le programme pour exécuter toutes les instructions au–dessus de ce point. Dans ce cas, l’instruction doit être retirée pour l’exécution du programme final. Si l’instruction END(01) n’existe pas dans le programme, aucune instruction n’est exécutée et le message “NO END INST” apparaît. Drapeaux END(01) passe à OFF les drapeaux ER, CY, GR, EQ, LE, OF et UF. 244 Chapitre 5-12 VERROUILLAGE et DEVERROUILLAGE – IL(02) et ILC(03) 5-12 VERROUILLAGE et DEVERROUILLAGE – IL(02) et ILC(03) Symboles à contacts IL(02) ILC(03) Description L’instruction IL(02) est toujours associée à l’instruction ILC(03) pour créer un verrouillage. Les verrouillages sont utilisés pour permettre un branchement, de la même façon qu’ils pourraient l’être par les bits TR, mais le traitement des instructions avec IL(02) et ILC(03) diffère du fait qu’avec les bits TR la condition d’exécution pour IL(02) est à OFF. Si la condition d’exécution de IL(02) est à ON, le programme est exécuté comme il a été programmé, avec une condition d’exécution à ON utilisée pour lancer chaque ligne d’instruction à partir du point IL(02) localisé par l’instruction ILC(03) suivante. Se reporter au paragraphe 4-3-8 Lignes d’instruction de branchement pour une description succinte des deux méthodes. Si la condition d’exécution pour IL(02) est à OFF, la section de verrouillage entre IL(02) et ILC(03) est traitée comme indiqué dans le tableau suivant : Instruction Traitement OUT et OUT NOT Bit spécifié à OFF. TIM et TIMH(15) Réinitialisation. CNT, CNTR(12) Maintien de la valeur courante. KEEP(11) Maintien de l’état du bit. DIFU(13) et DIFD(14) Non exécutée (voir ci–après). Toutes autres instructions Les instructions ne sont pas exécutées et tous les bits IR, AR, LR, HR et SR ainsi que les mots écrits comme bits opérandes passent à OFF. Les instructions IL(02) et ILC(03) ne sont pas nécessairement utilisées par paires. IL(02) peut être utilisée plusieurs fois dans une rangée, avec chaque IL(02) créant une section de verrouillage à travers l’instruction ILC(03) suivante. ILC(03) ne peut être utilisée à moins qu’il y ait au moins une instruction IL(02) entre elle et l’instruction ILC(03) précédente. DIFU(13) et DIFD(14) en verrouillages Les changements dans les conditions d’exécution d’une instruction DIFU(13) ou DIFD(14) ne sont pas enregistrée si DIFU(13) ou DIFD(14) est dans une section de verrouillage et que la condition d’exécution pour IL(02) est à OFF. Lorsque DIFU(13) ou DIFD(14) est exécutée dans une section de verrouillage immédiatement après que la condition d’exécution de l’instruction IL(02) soit passée à ON, la condition d’exécution pour DIFU(13) ou DIFD(14) est comparée à la condition d’exécution qui existait avant que le verrouillage ne deviennes effectif (c.à.d. avant que la condition de verrouillage de l’instruction IL(02) passe à OFF). Le changement du schéma à contacts et de l’état du bit est indiqué ci–après. Le verrouillage est effectif lorsque 00000 est à OFF. Il faut 245 Chapitre 5-12 VERROUILLAGE et DEVERROUILLAGE – IL(02) et ILC(03) remarquer que 01000 ne passe pas à ON au point repéré A dans le cas où 00001 passe à OFF et retourne à ON. 00000 Adresse IL(02) 00001 DIFU(13) 01000 ILC(03) A 00000 00001 00002 00003 00004 Instruction Opérandes LD IL(02) LD DIFU(13) ILC(03) 00000 00001 01000 ON 00000 OFF ON 00001 OFF ON 01000 OFF Précautions Une instruction ILC(03) doit suivre une instruction IL(02). Bien que plusieurs instructions IL(02) soient nécessaires avec une instruction ILC(03), deux instructions ILC(03) ne peuvent être utilisées consécutivement sans au moins une instruction IL(02) entre les deux, c.ad l’imbrication est impossible. A chaque fois qu’une instruction ILC(03) est exécutée, entre l’instruction ILC(03) active et les précédentes, tous les verrouillages sont réinitialisés. Lorsque plusieurs instructions IL(02) sont utilisées avec une unique ILC(03), une erreur apparaît lors de la vérification du programme, mais celui–ci se poursuit normalement. Drapeaux Aucun drapeau n’est affecté par ces instructions. Exemple Le schéma suivant montre deux instructions IL(02) utilisées avec une ILC(03). Adresse 00000 IL(02) 00001 TIM 127 #0015 (001,5 s) Instruction 00000 00001 00002 00003 LD IL(02) LD TIM 00004 00005 00006 00007 00008 00009 00010 LD IL(02) LD AND NOT LD LD CNT IL(02) 00100 00011 00012 00013 LD OUT ILC(03) 00000 # 00002 00003 Opérandes 00004 CP R CNT 001 IR 010 00005 00502 ILC(03) 00001 127 0015 00002 00003 00004 00100 00100 001 010 00005 00502 Lorsque la condition d’exécution du premier IL(02) est à OFF, TIM 127 est réinitialisé à 1,5 s, CNT 001 reste inchangé et 00502 passe à OFF. Lorsque la condition d’exécution du premier IL(02) est à ON et que la condition d’exécution du second IL(02) est à OFF, TIM 127 est exécuté selon l’état de 00001, CNT 001 reste inchangé et 00502 passe à OFF. Lorsque les conditions d’exécution des deux IL(02) sont à ON, le programme se poursuit normalement. 246 Chapitre 5-13 SAUT et FIN DE SAUT – JMP(04) et JME(05) 5-13 SAUT et FIN DE SAUT – JMP(04) et JME(05) Symboles à contacts JMP(04) N Valeurs des données d’opérande N : Numéro de saut # JME(05) N N : Numéro de saut # Limitations Les numéros de saut de 01 à 99 ne peuvent être utilisés qu’une seule fois dans une instruction JMP(04) comme dans une instruction JME(05). Autrement dit, chaque numéro ne peut définir qu’un seul saut. Le numéro de saut 00 peut être utilisé autant de fois que souhaité. Les numéros de saut vont de 00 à 99. Description L’instruction JMP(04) est toujours associée à une instruction JME(05) pour créer des sauts, c.-à-d. pour sauter d’un point du schéma à contacts à un autre point. L’instruction JMP(04) définit le point de départ du saut et JME(05) le point d’arrivée. Lorsque la condition d’exécution pour JMP(04) est à ON, aucun saut n’est effectué et le programme se poursuit normalement. Lorsque la condition d’exécution pour JMP(04) est à OFF, un saut est effectué en JME(05) avec le même nombre de saut et l’instruction suivant JME(05) est ensuite effectuée. Si le numéro de saut pour JMP(04) est compris entre 01 et 99, les sauts passent immédiatement à JME(05) avec le même numéro de saut sans exécution d’instruction intermédiaire. L’état des temporisations, des compteurs et des bits utilisés par les instructions OUT et OUT NOT ainsi que tous les autres bits d’états contrôlés par les éventuelles instructions comprises entre JMP(04) et JMP(05) restent inchangés. Chacun de ces numéros de saut peut être utilisé pour définir un saut unique. Du fait que toutes les instructions entre JMP(04) et JME(05) ne sont pas effectuées, les numéros de saut entre 01 et 99 peuvent être utilisés pour réduire le temps de cycle. Numéro de saut 00 Si le numéro de saut pour JMP(04) est 00, l’Unité centrale recherche dans le programme l’instruction JME(05) ayant le même numéro. Cette recherche a pour effet d’augmenter le temps de cycle (lorsque la condition d’exécution est à OFF) par rapport à d’autres sauts. L’état des temporisations, des compteurs et des bits utilisés par les instructions OUT et OUT NOT ainsi que tous les autres bits d’états contrôlés par les éventuelles instructions comprises entre JMP(04) 00 et JMP(05) 00 restent inchangés. Le numéro de saut 00 peut être utilisé autant de fois que souhaité. Un saut effectué à partir de JMP(04) 00 doit toujours passer à l’instruction suivante du programme JME(05) 00. Il est ainsi possible d’utiliser plusieurs instructions JMP(04) 00 associées à la même instruction JME(05) 00. Il n’est toutefois pas possible d’utiliser plusieurs instructions JME(05) 00, du fait que tous les sauts sont effectués à la première instruction JME(05) 00. Instructions de sauts DIFU(13) et DIFD(14) Bien que les instructions DIFU(13) et DIFD(14) soient prévues pour passer à ON un bit pendant un cycle, elles ne sont pas nécessaires lors d’un saut entre JMP(04) et JMP (05). Si l’instruction DIFU(13) ou DIFD(14) met un bit à ON, celui–ci repasse à OFF à l’instruction DIFU(13) ou DIFD(14) suivante. C’est à dire, pour une programmation normale, au cycle suivant. Pour un saut cela signifie la non exécution du temps de cycle suivant les instructions JMP(04) à JME(05). Autrement dit, si un bit passe à ON par DIFU(13) ou DIFD(14) et qu’ensuite un saut est effectué au cycle suivant, le bit désigné reste à ON jusqu’à ce que la condition d’excution de JMP(04) passe à ON. 247 Chapitre 5-14 Instructions d’erreurs utilisateur Précautions Si les instructions JMP(04) et JME(05) ne sont pas utilisées ensemble, un message d’erreur apparaît lors de la vérification du programme. Ce message apparaît également si les instructions JMP(04) 00 et JME(05) 00 ne sont pas utilisées ensemble, mais le programme se poursuit normalement. Drapeaux Aucun drapeau n’est affecté par ces instructions. Exemples Des exemples de programmes de saut sont donnés au paragraphe 4-3-9 Sauts. 5-14 Instructions d’erreurs utilisateur : ALARME DE PANNE MINEURS ET DE REINITIALISATION – FAL(06) et ALARME DE PANNE GRAVE – FALS(07) Symboles à contacts Zones de données d’oéprande @FAL(06) N FAL(06) N N : numéro FAL # (00 à 99) N : numéro FAL FALS(07) N # (01 à 99) Description Les instructions FAL(06) et FALS(07) permettent au programmateur de prévoir des messages d’erreur de fonctionnement, de maintenance ou de mise au point du programme. Lorsqu’elles sont exécutées avec une condition d’exécution à ON, l’une ou l’autre de ces instructions émet un numéro FAL sur les bits 00 à 07 du SR 253. Le numéro FAL, compris entre 01 et 99, est émis de la même façon que la donnée d’opérande des instructions FAL(06) ou FALS(07). L’instruction FAL(06) avec une donnée d’opérande de 00 permet de réinitialiser cette zone (voir ci–dessous). Zone FAL 25307 25300 X101 X100 L’instruction FAL(06) permet un erreur non fatale et FALS(07) une erreur fatale. Lorsque FAL(06) est exécutée avec une condition d’exécution à ON, le voyant ALARME/ERREUR sur la face avant de l’Unité centrale clignote, mais l’API continue à fonctionner. Lorsque FAL(07) est exécutée avec une condition d’exécution à ON, le voyant ALARME/ERREUR s’allume et le fonctionnement de l’API est arrêté. Le système génère également des codes d’erreur dans la zone FAL. Réinitialisation des erreurs 248 Tous les codes d’erreur FAL sont sauvegardés en mémoire et un seul est disponible dans la zone FAL. Pour accéder aux autres codes FAL, réinitialiser la zone FAL par une instruction FAL(06) 00. A chaque instruction FAL(06) 00, un autre code d’erreur FAL est transféré dans la zone FAL, effaçant ainsi celui qui s’y trouve. Les codes d’erreur FAL sont enregistrés par ordre numérique. L’instruction FAL(06) 00 permet également d’effacer un message programmé par l’instruction MSG(46). Si la zone FAL ne peut être réinitialisée, comme c’est généralement le cas avec une instruction FALS(07), corriger la cause de l’erreur et effacer ensuite la zone FAL avec une console de programmation ou un programmateur CX. Chapitre 5-15 Instructions de pas 5-15 Instructions de pas : DEFINITION ET DEMARRAGE D’UN PAS – STEP(08)/SNXT(09) Symboles à contacts STEP(08) B STEP(08) Zones de données d’opérande B : bit de contrôle IR, AR, HR, LR SNXT(09) B B : bit de contrôle IR, AR, HR, LR Limitations Tous les bits de contrôle doivent être dans le même mot et être consécutifs. Description Les instructions de pas STEP(08) et SNXT(09) sont utilisées ensemble pour délimiter des sections dans un grand programme afin que ces sections soient exécutées et réinitialisées individuellement. Une section de programme est habituellement utilisée afin de correspondre au traitement en cours de l’application (se reporter aux exemples d’applications plus loin dans ce chapitre). Un pas est identique aux autres instructions, excepté que certaines instructions (END(01), IL(02)/ILC(03), JMP(04)/JME(05) et SBN(92)) en sont exclues. STEP(08) utilise un bit de contrôle de la zone IR ou HR pour définir le début de la section du programme, appelé pas. L’instruction STEP(08) étant contrôlée par le bit de contrôle, elle ne nécessite pas de condition d’exécution. Pour commencer un pas, l’instruction SNXT(09) est utilisée avec le même bit de contrôle que celui de STEP(08). Si SNXT(09) est exécutée avec une condition d’exécution à ON, le pas ayant le même bit de contrôle est exécuté. Si la condition d’exécution est à OFF, le pas n’est pas exécuté. L’instruction SNXT(09) doit être écrite dans le programme afin d’éviter que le programme ne recherche le début du pas. Elle peut être utilisée à différents endroits avant le pas pour en contrôler les deux conditions d’exécution (voir Exemple 2, ci–dessous). Les pas sans instruction SNXT(09) ne sont pas exécutés. Lorsque l’instruction SNXT(09) est utilisée dans le programme, l’exécution du pas se poursuit tant que l’instruction STEP(08) est exécutée sans bit de contrôle. Une instruction STEP(08) sans bit de contrôle doit être précédée d’une instruction SNXT(09) disposant d’un faux bit de contrôle. Le faux bit de contrôle peut être tout bit IR ou HR inutilisé. Par contre, il ne peut être un bit utilisé par l’instruction STEP(08). 249 Chapitre 5-15 Instructions de pas L’exécution d’un pas est effectuée soit par une instruction SNXT(09) soit en passat à OFF le bit de contrôle de ce pas (voir exemple 3 ci–dessous). A la fin du pas, tous les bits IR et HR dans le pas passent à OFF et toutes les temporisations sont réinitialisés à leur valeur de réglage. Les compteurs, les registres à décalage et les bits utilisés dans l’instruction KEEP(11) gardent leur état. Deux pas unitaires sont représentés ci–dessous. 00000 SNXT(09) LR 1500 Démarrage du pas STEP(08) LR 1500 Pas contrôlé par le LR 1500 1er pas 00001 SNXT(09) LR 1501 STEP(08) LR 1501 Pas contrôlé par le LR 1501 2ème pas 00002 SNXT(09) LR 1502 STEP(08) Adresse 00000 00001 00002 Instruction LD SNXT(09) STEP(08) Opérandes LR LR 00000 1500 1500 Pas contrôlé par le LR 1500. 00100 00101 LD SNXT(09) LR 00001 1501 Adresse Instruction 00102 STEP(08) Arrêt du pas Opérandes LR 1501 Pas contrôlé par le LR 1501. 00200 00201 00202 LD SNXT(09) STEP(08) LR --- 00002 1502 Plusieurs pas peuvent être programmés consécutivement. Chaque pas doit démarrer par l’instruction STEP(08) et en général se terminer par SNXT(09) (voir exemple 3, ci–dessous, pour une exception). Lorsque les pas sont programmés en série, trois types d’exécution sont possibles : séquentiel, par branchement ou en parallèle. Les conditions d’exécution et le positionnement de l’instruction SNXT(09) déterminent comment les pas sont exécutés. Les trois exemples donnés ci–après expliquent comment utiliser ces types d’exécution. Précautions Les verrouillages, les sauts et les instructions SBN(92) et END(01) ne peuvent pas être utilisés à l’intérieur d’un pas de programme. Les bits utilisés comme bits de contrôle ne doivent pas être utilisés ailleurs dans le programme sauf s’ils contrôlent le fonctionnement du pas (voir exemple 3, ci–dessous). Tous les bits de contrôle doivent être dans le même mot et être consécutifs. Si les bits IR ou LR sont utilisés comme bits de contrôle, leur état est perdu en cas d’interruption de l’alimentation. S’il est nécessaire de sauvegarder l’état d’exécution d’un pas, les bits HR doivent être utilisés. 250 Chapitre 5-16 Instructions de comptage et de temporisation Drapeaux 25407 : Drapeau de démarrage de pas ; à ON pendant un cycle pour une instruction STEP(08) et peut être utilisé, si nécessaire, pour réinitialiser les compteurs des pas comme montré ci–dessous. 00000 Démarrage SNXT(09) 01000 01000 STEP(08) 01000 00100 CP CNT 01 25407 Adresse 00000 00001 00002 00003 R Instruction LD SNXT(09) STEP(08) LD Opérandes 00000 01000 01000 00100 25407 #0003 Adresse 00004 00005 1 cycle Instruction Opérandes LD CNT # 25407 01 0003 5-16 Instructions de comptage et de temporisation TIM et TIMH(15) sont des instructions de temporisation à retard à ON décrémentales nécessitant un numéro TIM/CNT et une valeur de réglage (SV). STIM(69) est utilisée pour contrôler les temporisations cycliques, utilisées pour activer les programmes d’interruptions. CNT est une instruction de comptage décrémental et CNTR(12) est une instruction de comptage ou de décomptage. Les deux instructions nécessitent un numéro TIM/CNT et une valeur de réglage SV. Elles sont reliées à des lignes d’instructions multiples servant de signal(aux) d’entrée et de réinitialisation. Les instructions CTBL(63), INT(89) et PRV(62) permettent la gestion d’un compteur grande vitesse. INT(89) permet également d’interrompre une sortie d’impulsion. Tout numéro TIM/CNT ne peut être utilisé qu’une seule fois. Autrement dit, s’il est utilisé comme donnée d’opérande dans une instruction de comptage ou de temporisation, il ne peut être réutilisé. Une fois définis, les numéros TIM/CNT peuvent être utilisés, si nécessaire, comme opérandes dans une autre instruction à la condition qu’elle ne soit ni de comptage ni de temporisation. Les numéros TIM/CNT vont de 000 jusqu’à 511. Aucun préfixe n’est nécessaire pour un numéro TIM/CNT utilisé comme donnée d’opérande dans une instruction de comptage ou de temporisation. Une fois défini comme temporisation, un numéro TIM/CNT peut recevoir le préfixe TIM pour être utilisé, dans certaines instructions, comme opérande. Le préfixe TIM est utilisé indépendemment de l’instruction de temporisation utilisée pour définir la temporisation. Une fois défini comme compteur, un numéro TIM/CNT peuvent recevoir le préfixe CNT pour être utilisé, dans certaines instructions, comme opérande. Le préfixe CNT est utilisé indépendemment de l’instruction de comptage utilisée pour définir le compteur. Les numéros TIM/CNT peuvent être désignés comme opérandes nécessitant des données d’un bit ou d’un mot. Lorqu’il est désigné comme opérande pour données d’un bit, le numéro TIM/CNT accède au bit fonctionnant comme un ‘Drapeau de fin’ indiquant la fin du fonctionnement de la temporisation/compteur. Autrement dit, le bit normalement à OFF, passe à ON lorsque la valeur réglée (SV) est atteinte. Lorqu’il est désigné comme opérande pour données 251 Chapitre 5-16 Instructions de comptage et de temporisation d’un mot, le numéro TIM/CNT accède à l’emplacement mémoire de sauvegarde de la valeur courante (PV) de la temporisation ou du compteur. La valeur courante (PV) de la temporisation ou du compteur peut ainsi être utilisée comme opérande dans une instruction CMP(20) ou toute autre instruction pour laquelle la zone TIM/CNT est permise. Ceci est fait par désignation du numéro TIM/CNT utilisé pour définir quel compteur ou quelle temporisation accède à l’emplacement mémoire de sauvegarde de la valeur courante. Noter que “TIM 000” désigne l’instruction TEMPORISATION définie avec le numéro TIM/CNT 000, pour à la fois désigner le”drapeau de fin” de cette temporisation et pour désigner la valeur courante de cette temporisation. La signification en fonction du contexte doit être bien claire, c.à.d., que le premier est toujours une instruction, le second est toujours un bit opérande et le troisième est toujours un mot opérande. C’est également vrai pour les numéros TIM/CNT à préfixe TIM ou CNT. Une valeur de réglage (SV) peut être saisie comme constante ou comme adresse de mots dans une zone de données. Si un mot d’une zone IR assigné à une Unité d’entrée est désigné comme adresse de mot, l’Unité d’entrée peut être câblée afin que la SV puisse être réglée en externe par l’intermédiaire d’une roue codeuse ou d’un appareil équivalent. Les compteurs et les temporisations câblés de cette façon ne peuvent être réglés en externe qu’en mode RUN ou MONITOR. Toutes les SV, y compris celles réglées en externe, doivent être en BCD. 5-16-1 TEMPORISATION – TIM Symbole à contacts Valeurs de données d’opérande N : numéro TIM/CNT # TIM N SV Zones des données d’opérande SV : Valeur réglée (mot, BCD) IR, SR, AR, DM, EM, HR, LR, # Limitations SV doit être comprise entre 000.0 à 999.9. Le point décimale n’est pas saisi. La zone EM n’est disponible que sur les Unités centrales CQM1H-CPU61. Chaque numéro TIM/CNT ne peut être utilisé comme donnée d’opérande que dans une seule instruction TIMER ou COUNTER. Les TIM/CNT 000 à TIM/CNT 015 ne doivent pas être utilisés dans une instruction TIM s’il le sont déjà pour TIMH(15). Se reporter au 5-16-4 TEMPORISATION GRANDE VITESSE – TIMH(15) pour plus d’informations. Description Une temporisation est activée lorsque sa condition d’exécution est à ON. Il est réinitialisé (à SV) lorsque sa condition d’exécution est à OFF. Une fois activé, TIM mesure des unités de 0,1 seconde à partir de SV. Si la condition d’exécution reste assez longtemps à ON pour que TIM passe à zéro, le drapeau de fin pour le numéro TIM/CNT passe à ON et y reste jusqu’à la réinitialisation de TIM (c.-à-d. jusqu’à ce que la condition d’exécution passe à OFF). 252 Chapitre 5-16 Instructions de comptage et de temporisation Le schéma suivant montre la correspondance entre la condition d’exécution de TIM et son drapeau de fin associé. ON Condition d’exécution OFF ON Drapeau de fin OFF SV SV Précautions Les temporisations dans une section de programme verrouillée sont réinitialisées lorsque la condition d’exécution pour IL(02) est à OFF. Une interruption de l’alimentation réinitialise également les temporisations. Si une temporisation n’est pas réinitialisée par des conditions souhaitées, les bits des impulsions d’horloge de la zone SR peuvent être utilisés pour produire des temporisations avec CNT. Se reporter au 5-16-2 COMPTEUR – CNT pour plus d’informations. Drapeaux ER : SV n’est pas en BCD. Le canal EM/DM adressé indirectement n’existe pas. (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM est dépassée). 5-16-2 COMPTEUR – CNT Valeurs de donnée d’opérande Symbole à contacts N : numéro TIM/CNT # CP R CNT N SV Zones des données d’opérandes SV : valeur réglée (mot, BCD) IR, SR, AR, DM, EM, HR, LR, # Limitations Chaque numéro TIM/CNT ne peut être utilisé comme donnée d’opérande que dans une seule instruction TEMPORISATION ou COMPTEUR. La zone EM n’est disponible que sur les Unités centrales CQM1H-CPU61. Description CNT est utilisé pour décompter, à partir de la SV et lorsque la condition d’exécution, CP, passe de OFF à ON. Autrement dit, la valeur courante (PV) est décrémentée de un à chaque instruction CNT, lorsque la condition d’exécution est à ON pour CP et que la dernière condition d’exécution était à OFF. Si la condition d’exécution est inchangée ou si elle n’est pas passée de ON à OFF, la PV de CNT reste inchangée. Le drapeau de fin d’un compteur passe à ON lorsque la PV atteint zéro et reste à ON jusqu’à la réinitialisation du compteur. CNT est réinitialisé par l’entrée de réinitialisation, R. Lorsque R passe de OFF à ON, la PV est réinitialisée avec la valeur SV. La PV n’est pas décrémentée si R est à ON. Le décomptage à partir de SV est recommencé si R passe à OFF. La PV de CNT n’est pas réinitialisée dans une section de programme verrouillée ou par une interruption de l’alimentation. 253 Chapitre 5-16 Instructions de comptage et de temporisation Des changements des conditions d’exécution, du drapeau de fin et de la PV sont représentés ci–dessous. La hauteur des lignes pour la PV n’est représentée que pour en distinguer les changements. Condition d’exécution sur impulsion de comptage (CP) Condition d’exécution sur réinit. (R) ON OFF ON OFF ON Drapeau de fin OFF SV SV PV 0002 SV – 1 0001 SV – 2 0000 Précautions Le programme d’exécution se poursuit même si la SV n’est pas en BCD, mais la SV ne sera pas correct. Drapeaux ER : SV n’est pas en BCD. Le canal EM/DM adressé indirectement n’existe pas. (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM est dépassée). Exemple Dans l’exemple suivant, CNT est utilisé pour créer des temporisations étendues par comptage des bits d’impulsion de la zone SR. CNT 001 compte le nombre de fois où le bit d’impulsion d’horloge 1 seconde (SR 25502) passe de OFF à ON. Dans cet exemple, l’IR 00000 est utilisé pour contrôler le nombre de fois où CNT est en fonctionnement. Du fait que dans cet exemple la SV est de 700 pour CNT 001, le drapeau de fin pour CNT 002 passe à ON à l’expiration du temps 1 seconde x 700, ou 11 minutes et 40 secondes. Ceci entraînele passage à ON de l’IR 01602. 00000 25502 Adresse CP CNT 001 00001 R #0700 CNT 001 Instruction 00000 00001 00002 00003 LD AND LD NOT CNT 00004 00005 LD OUT 01602 Opérandes # CNT 00000 25502 00001 001 0700 001 01602 ! Attention Des impulsions d’horloge plus courtes ne produiront pas nécessairement des temporisations précises parce que leur court passage à ON ne pourrait pas être lue exactement pendant de plus longs cycles. En particulier, des impulsions d’horloge de 0,02 seconde et 0,1 seconde ne peuvent pas être utilisées pour créer des temporisations avec des instructions CNT. 254 Chapitre 5-16 Instructions de comptage et de temporisation 5-16-3 COMPTEUR REVERSIBLE – CNTR(12) Valeurs de donnée d’opérande Symbole à contacts N : nombre TIM/CNT # II DI R CNTR(12) N Zones des données d’opérandes SV SV : Valeur réglée (mot, BCD) IR, SR, AR, DM, EM, HR, LR, # Limitations Chaque nombre TIM/CNT ne peut être utilisé comme donnée d’opérande que dans une seule instruction TEMPORISATION ou COMPTEUR. La zone EM n’est disponible que sur les Unités centrales CQM1H-CPU61. Description L’instruction CNTR(12) peut réaliser 1 compteur/décompteur réversible ou un compteur en boucle haut/bas (up/down). Il est utilisé pour compter de zéro jusqu’à la SV avec une condition d’exécution d’incrémentation (II) ou une condition d’exécution de décrémentation (DI). La valeur courante (PV) est incrémentée de un si CNTR(12) est exécuté avec une condition d’exécution à ON pour II et si la dernière condition d’exécution pour II était à OFF. La valeur courante (PV) est décrémentée de 1 si CNTR(12) est exécuté avec une condition d’exécution à ON pour DI et si la dernière condition d’exécution pour DI était à OFF. Si II et DI sont passés ensemble de OFF à ON depuis leur dernière exécution, la PV reste inchangée. Si les conditions d’exécution restent inchangées ou sont passées de ON à OFF pour II et DI à la fois, la PV de CNT reste inchangée. Pour une décrémentation à partir de 0000, la valeur courante est réglée à SV et le drapeau de fin passe à ON jusqu’à la décrémentation suivante de la PV. Pour une incrémentation à partir de SV, la PV est réglée à 0000 et le drapeau de fin passe à ON jusqu’à la décrémentation suivante de la PV. CNTR(12) est réinitialisé par une entrée R de réinitialisation. Lorsque R passe de OFF à ON, la PV est réinitialisée à 0. La PV n’est ni incrémentée ni décrémentée lorsque R est à ON. Le comptage redémarre si R passe à OFF. La PV pour CNTR(12) n’est pas réinitialisée dans une section de programme verrouillée ou par une interruption de l’alimentation. Des changements des conditions d’exécution II et DI, du drapeau de fin et de la PV sont représentés ci–dessous en démarrant à partir du fonctionnement de CNTR(12) (c.à.d. à la réinitialisation et au début de comptage à partir de 0). La hauteur des lignes pour la PV n’est représentée que pour en distinguer les changements. Condition d’exécution sur l’incrémentation (II) ON Condition d’exécution sur la décrémentation (DI) ON OFF OFF ON Drapeau de fin OFF SV PV SV SV – 1 SV – 1 0001 SV – 2 0000 SV – 2 0000 255 Chapitre 5-16 Instructions de comptage et de temporisation Précautions Le programme se poursuit même si la SV n’est pas en BCD, mais la SV ne sera pas correcte. Drapeaux ER : SV n’est pas en BCD. Le canal EM/DM adressé indirectement n’existe pas. (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM est dépassée). 5-16-4 TEMPORISATION GRANDE VITESSE – TIMH(15) Valeurs de donnée d’opérande Symbole à contacts N : numéro TIM/CNT # TIMH(15) N SV Zones des données d’opérandes SV : réglage (mot, BCD) IR, SR, AR, DM, EM, HR, LR, # Limitations SV doit être comprise entre 00.00 et 99.99 (bien que 00.00 et 00.01 puisse être réglés, 00.00 désactive la temporisation, c.à.d. passe immédiatement à ON le drapeau de fin et 00.01 n’est pas sûrement balayé). Le point décimal n’est pas saisi. La zone EM n’est disponible que sur les Unités centrales CQM1H-CPU61. Chaque numéro TIM/CNT ne peut être utilisé comme donnée d’opérande que dans une seule instruction TEMPORISATION ou COMPTEUR. Utiliser les numéros TIM/CNT de 000 à 015. Des temporisations grande vitesse avec des numéros de temporisation de TIM/CNT 016 à TIM/CNT 511 ne peuvent pas être utilisées si le temps de cycle est supérieur à 10 ms. Description TIMH(15) fonctionne de la même manière que TIM à l’exception que TIMH mesure des unités de 0,01 seconde. Se reporter au 5-16-1 TEMPORISATION – TIM pour des détails fonctionnels. Précautions Des temporisations dans des sections de programme verrouillées sont réinitialisées lorsque la condition d’exécution IL(02) est à OFF. Des interruptions d’alimentation réinitialisent également les temporisations. Si une temporisation n’est pas réinitialisée par des conditions souhaitées, les bits des impulsions d’horloge de la zone SR peuvent être utilisés pour produire des temporisations avec CNT. Se reporter au 5-16-2 COMPTEUR – CNT pour plus d’informations. Les temporisations de sections de programme sautées ne sont pas réinitialisées lorsque la condition d’exécution JMP(04) est à OFF, mais les temporisations sont arrêtées si le numéro de saut 00 est utilisé. Les temporisations continuent de fonctionner si un numéro de saut de 01 à 99 est utilisé. Les temporisations à grande vitesse des TIM/CNT 000 à TIM/CNT 015 ne seront pas exactes si le Setup de l’API (DM 6629) est réglé pour réaliser un traitement d’interruption sur ces temporisations. Les temporisations à grande vitesse des TIM/CNT 016 à TIM/CNT 511 ne seront pas exactes si le temps de cycle est supérieur à 10 ms. Si le temps de cycle est supérieur à 10 ms, utiliser de TIM/CNT 000 à TIM/CNT 015 et régler le DM 6629 pour un traitement d’interruption du numéro de temporisation utilisé. Drapeaux 256 ER : SV n’est pas en BCD. Chapitre 5-16 Instructions de comptage et de temporisation Le canal EM/DM adressé indirectement n’existe pas. (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM est dépassée). Exemple L’exemple suivant montre une temporisation réglée avec une constante. 01600 passe à ON après le passage de 00000 à ON et y reste pendant au moins 1,5 secondes. Lorsque 00000 passe à OFF, la temporisation est réinitialisée et 01600 passe à OFF. 00000 TIMH(15) 000 #0150 Adresse 01.50 s Instruction 00000 00001 LD TIMH(15) 00002 00003 LD OUT TIM 000 01600 Opérandes # TIM 00000 000 0150 000 01600 5-16-5 TEMPORISATION ADDITION – TTIM(––) Symbole à contacts Valeurs de donnée d’opérande N : numéro TIM/CNT # (000 à 511) TTIM(––) N SV RB Zones des données d’opérandes SV : valeur réglée (mot, BCD) IR, AR, DM, EM, HR, LR RB : bit de réinitialisation IR, SR, AR, HR, LR Limitations SV doit être comprise entre 0000 à 9999 et en BCD. Le point décimal n’est pas saisi. La zone EM n’est disponible que sur les Unités centrales CQM1H-CPU61. Chaque nombre TIM/CNT ne peut être utilisé comme donnée d’opérande que dans une seule instruction TEMPORISATION ou COMPTEUR. Description TTIM(––) est utilisé pour créer une temporisation incrémentant la PV toutes les 0,1 s entre 0,1 seconde et 999,9 secondes. TTIM(––) incrémente par pas de 0,1 seconde à partir de zéro. TTIM(––) est inexact entre +0.0/–0.1 seconde. une temporisation TTIM(––) fonctionne aussi longtemps que sa condition d’exécution est à ON, tant que la valeur SV n’est pas atteinte ou jusqu’à ce que RB passe à ON et réinitialise la temporisation. Les temporisations TTIM(––) continuent aussi longtemps qu’elles sont exécutées à chaque cycle, c.-à-d., qu’ils s’arrêtent, mais conservent la valeur courante PV, dans des sections de programme verrouillées ou lorsqu’elles sont sautées dans le programme. Rem. Les PV des temporisations décrémentales, comme un TIM, indiquent le temps restant jusqu’à la fin de temporisation, mais les PV des temporisations de type TTIM(––) indiquent le temps passé. Les PV de TTIM(––) peuvent être utilisés “as is” pour représenter le temps passé dans un calcul ou un affichage. Précautions Les PV sont réinitialisées à 0000 et le drapeau de fin passe à OFF lors d’une interruption de l’alimentation ou quand l’API est commutée du mode PROGRAM au mode MONITOR ou RUN (ou vice-versa). La PV de TTIM(––) dans une section de programme verrouillée est maintenue tant que la condition d’exécution pour IL(02) est à OFF. La PV est également 257 Chapitre 5-16 Instructions de comptage et de temporisation maintenue dans une section de programme sautée, exceptés les compteurs et les temporisation grande vitesse qui continuent de fonctionner. TTIM(––) ne fonctionne pas correctement si le temps de cycle est supérieur à 0,1 s du fait que la PV est rafraîchie uniquement lorsque TTIM(––) est exécutée et que la PV est incrémentée d’un pas de 0,1 s. Un retard d’un cycle est quelque fois nécessaire pour le passage à ON d’un drapeau de fin à la fin de la temporisation du fait que le drapeau de fin n’est rafraîchi que si TTIM(––) est exécuté. TTIM(––) n’est pas redémarré à la fin de la temporisation à moins que la PV soit changée à une valeur inférieure à la SV ou que l’entrée de réinitialisation soit passé à ON. Drapeaux ER : N n’est pas un nombre TIM. SV n’est pas BCD. RB est un bit d’adresse invalide. Le canal EM/DM adressé indirectement n’existe pas. (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM est dépassée). Exemple Le schéma suivant montre la correspondance entre les conditions d’exécutions d’un temporisateur additionneur, une valeur réglée de 2 s, sa PV et le drapeau de fin. 00000 Adresse TTIM(––) TIM 000 #0100 00000 00001 Instruction Opérandes LD TTIM(––) 00000 TIM # 20000 000 0100 20000 Entrée temporisation (I : IR 00000) Bit de réinitialisation (RB : IR 20000) Drapeau de fin (TIM 000) Valeur courante (PV) : 0100 0000 5-16-6 TEMPORISATION DE TRAME – STIM(69) Zones des données d’opérandes Symboles à contacts C1 : donnée de contrôle #1 STIM(69) @STIM(69) C1 C1 C2 C2 C3 C3 000 à 008, 010 à 012 C2 : donnée de contrôle #2 IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # C3 : donnée de contrôle #3 IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # 258 Chapitre 5-16 Instructions de comptage et de temporisation Limitations C1 doit être compris entre 000 et 008 ou 010 et 012. Si C1 est compris entre 000 à 005, une constante plus grande que 0255 ne peut pas être utilisée pour C3. Si C1 est compris entre 006 à 008, les constantes ainsi que les DM 6143 à DM 6655 ne peuvent pas être utilisés pour C2 ou C3. Si C1 est compris entre 010 à 012, C2 et C3 doivent être réglés ensemble à 000. Description STIM(69) est utilisé pour contrôler les temporisations de trame par l’intermédiaire de quatre fonctions de base : démarrage de la temporisation par une interruption non-shot, démarrage de la temporisation par des interruptions planifiées, arrêt de la temporisation et lecture des PV des temporisations. Régler, comme indiqué dans le tableau suivant, la valeur de C1 pour spécifier laquelle de ces fonctions est effectuée et laquelle de ces trois temporisations de trame est utilisée. Se reporter au 1-4-4 Interruptions des temporisations de trames pour une description plus precise de l’utilisation des interruptions des temporisations de trames. STIM(69) est également décrite avec plus de détails après ce tableau. Fonction Démarrage des temporisations Démarrage des interruptions programmées Lecture de la PV des temporisations Arrêt des temporisations Rem. Interruptions de démarrage Temporisation Valeur C1 0 1 2 0 1 2 0 1 2 0 1 2 000 001 002 003 004 005 006 007 008 010 011 012 1. La temporisation de trame 0 ne peut être utilisée lorsqu’une sortie d’impulsion a été émise par une instruction SPED(64). 2. La temporisation de trame 2 ne peut être utilisée lorsqu’un fonctionnement du compteur grande vitesse 0 est autorisé dans le DM 6642 du Setup de l’API. Régler C1=000 à 002 pour démarrer les temporisations 0 à 2 activant une interruption one-shot. Régler C1=003 à 005 pour démarrer les temporisations 0 à 2 activant une interruption planifiée. C2 spécifiant la SV de la temporisation, ce peut être une constante pour le premier des deux mots de SV. Le réglage peut être légèrement différent selon la méthode utilisée. Si C2 est une constante, ceci spécifie la valeur initiale du compteur de décrémentation (BCD, 0000 à 9999). L’intervalle de temps de décrémentation est de 1 ms. Si C2 est une adresse de mot, C2 ceci spécifie la valeur initiale du compteur de décrémentation (BCD, 0000 à 9999), et C2+1 spécifie l’intervalle de temps de décrémentation (BCD, 0005 à 0320) par pas de 0,1 ms. L’intervalle de temps de décrémentation peut ainsi être de 0,5 à 32 ms. C3 spécifie le numéro de sous–programme 0000 à 0255. Rem. Le temps de l’intervalle entre le démarrage et l’instant final est : (contenu de C2) × (contenu de C2+1) × 0,1 ms Lecture des PV des temporisations Régler C1=006 à 008 pour lire les PV des temporisations 0 à 2. 259 Chapitre 5-16 Instructions de comptage et de temporisation C2 spécifie le premier mot des deux mots de destination recevant les PV des temporisations. C2 reçoit le nombre de fois pendant lequel le décompteur est décompté (BCD, 0000 à 9999) et C2+1 reçoit l’intervalle de temps de décrémentation (BCD par pas de 0,1 ms). C3 spécifie le mot de destination recevant le temps écoulé depuis la dernière décrémentation de la temporisation (BCD par pas de 0,1 ms). (ce temps doit être inférieur ou égal au temps de décrémentation réglé en C2+1.) Rem. le temps écoulé depuis le démarrage de la temporisation est calculé de la façon suivante : (Contenu de C2 × (Contenu of C2 + 1) + Contenu de C3) × 0,1 ms Arrêt des temporisations Régler C1=010 à 012 pour arrêter les temporisations 0 à 2. Ici, C2 et C3 sont inutilisés et peuvent être réglés à 000. Drapeaux ER : La temporisation de trame 0 est démarrée lorsqu’une sortie impulsion est opérationnelle. (C1=000 uniquement) La temporisation de trame 2 est démarrée lorsqu’un compteur grande vitesse 0 est activé (C1=002 uniquement) Le canal EM/DM adressé indirectement n’existe pas. (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM est dépassée). Une limite de zone de données est dépassée. 5-16-7 CHARGE TABLEAU DE COMPARAISON – CTBL(63) Symboles à contacts Zones des données d’opérandes P : sélecteur de port CTBL(63) @CTBL(63) P P C C TB TB 000 à 004 ou 101 à 104 C : données de contrôle 000 à 003 TB : premier mot du tableau de comparaison IR, SR, AR, DM, EM, HR, LR Limitations Le premier et le dernier mots du tableau de comparaison doivent être situés dans la même zone de données (la longueur du tableau de comparaison est fonction du paramétrage). CTBL(63) ne peuvent être utilisés si le Setup de l’API (DM 6611) est réglé pour le mode sortie d’impulsions. Description CTBL(63) est utilisé pour les tables de comparaison de registres et commence la comparaison pour des compteurs à grande vitesse. Le tableau suivant montre les fonction de CTBL(63). Unité/Carte Unité centrale 260 Fonction Carte de gestion d’axes Compteur grande vitesse 0 (IR 00004 à IR 00006) Compteurs grande vitesse 1 et 2 Carte codeur absolu Compteur grande vitesse absolu1 et 2 Carte compteur grande vitesse Compteurs grande vitesse 1 à 4 Chapitre 5-16 Instructions de comptage et de temporisation La description du fonctionnement de CTBL(63) est divisée en deux parties. Se reporter à la page 237 pour la description du fonctionnement de l’Unité Centrale, de la carte de gestion d’axes et de la carte codeur absolu. Se reporter à la page 266 pour plus de détail sur le fonctionnement de CTBL(63) avec une carte compteur grande vitesse. Unité centrale, carte de gestion d’axes et carte codeur absolu Lorsque la condition d’exécution est à OFF, CTBL(63) n’est pas exécutée. Lorsque la condition d’exécution est à ON, le tableau de comparaison de registres CTBL(63) est utilisé avec la PV du compteur grande vitesse. Selon la valeur de C, la comparaison avec la PV du compteur grande vitesse peut débuter immédiatement ou peut démarrer indépendemment de INI(61). Le sélecteur de port (P) spécifie le compteur grande vitesse utilisé pour la comparaison. Unité / Carte Unité centrale Carte de gestion d’axes (voir Rem. 1 and 2) Carte codeur absolu (voir Rem. 1) Rem. Fonction Sélecteur de port (P) Compteur grande vitesse 0 (intégré) Compteur grande vitesse 1 000 Compteur grande vitesse 2 002 Compteur grande vitesse 1 Compteur grande vitesse 2 001 002 001 1. Les cartes de gestion d’axes et codeur absolu doivent être installées dans l’emplacement 2. 2. Losqu’une carte de gestion d’axes est utilisée, le mode des ports 1 et 2 doit être réglé sur le mode pour compteur grande vitesse dans DM 6611 du Setup de l’API. CTBL(63) ne peut pas être utilisé si le mode est réglé pour un mode de positionnement simple. La fonction de CTBL(63) est déterminée par la donnée de contrôle C, comme indiqué dans le tableau suivant. Les fonctions sont indiquées après le tableau. C 000 001 002 003 Fonction CTBL(63) Charge un tableau de comparaison de valeurs spécifiées et débute la comparaison Charge un tableau de comparaison de plages et débute la comparaison Charge un tableau de comparaison de valeurs spécifiées. Débuter la comparaison par INI(61). Charge un tableau de comparaison de plages. Débuter la comparaison par INI(61). Lorsque la PV coincide avec la valeur spécifiée ou passe dans la plage permise, le sous–programme spécifié est appelé et exécuté. Se reporter au 1-4-5 Interruptions du compteur grande vitesse 0 pour plus d’informations sur le tableau de comparaison. Si le compteur grande vitesse est activé lors du Setup de l’API (DM 6642), son comptage part de zéro en début de fonctionnement du CQM1H. La PV n’est pas comparée à le tableau de comparaison jusqu’au chargement complet de le tableau et l’activation par INI(61) ou CTBL(63). La comparaison peut être arrêtée et démarrée ou la PV peut être réinitialisée par INI(61). Après le chargement de le tableau de comparaison, celle–ci n’est validée qu’à l’arrêt du CQM1H ou jusqu’à l’apparition d’une erreur due à l’essai de chargement d’un nouveau tableau. Afin de réduire le temps de cycle, la variante d’instruction de CTBL(63) est à préférer. Comparaison de valeurs spécifiées Pour le compteur grande vitesse 0 dans l’Unité centrale, 16 valeurs spécifiées maximales peuvent être chargées. A chaque valeur spécifiée, un numéro de sous–programme (de 1 à 16) est également chargé. Pour les compteurs grande 261 Chapitre 5-16 Instructions de comptage et de temporisation vitesse 1 et 2 de cartes de gestion d’axes ou de codeur absolu, 48 valeurs spécifiées maximales peuvent être chargées. A chaque valeur spécifiée, un numéro de sous–programme (de 1 à 48) est également chargé. Dans les deux cas, le sous–programme correspondant est appelé et exécuté lorsque la PV atteint la valeur spécifiée (lorsqu’un traitement d’interruption n’est pas nécessaire, un numéro quelconque de sous-programme peut être saisi). Atteinte PV de compteur grande vitesse Valeur spécifiée 1 Exécution sous–programme. Valeur spécifiée 2 Exécution sous–programme. Valeur spécifiée 16/48 Exécution sous–programme. Les comparaisons de valeurs spécifiées sont réalisées une par une dans l’ordre du tableau de comparaison. Lorsque la PV atteint la première spécifiée du tableau, le sous–programme est exécuté et la comparaison se poursuit jusqu’à la valeur suivante du tableau. Lorsque le traitement atteint la dernière valeur du tableau, la comparaison reprend à partir de la première valeur du tableau et le traitement est répété. Le schéma ci–dessous montre la structure d’un tableau de comparaison de valeurs spécifiées utilisée avec le compteur grande vitesse 0 intégré à l’Unité centrale ou des compteurs grande vitesse 1 ou 2 des cartes de gestion d’axes réglés pour un comptage linéaire. Le nombre de valeurs spécifiées peut être compris entre 0001 et 0048. TB TB+1 (BCD) TB+2 (BCD) TB+3 Nombre de valeurs spécifiées (BCD) Valeur spécifiée #1, inférieure à 4 digits Valeur spécifiée #1, supérieure à 4 digits Réglage d’une valeur spécifiée Numéro sous–programme (voir Rem. 1). Le schéma ci–dessous montre la structure d’un tableau de comparaison de valeurs spécifiées utilisé avec des compteurs grande vitesse 1 ou 2 des cartes de gestion d’axes réglés pour un comptage en boucle. Saisir les valeurs spécifiées dans un ordre croissant ou décroissant. La valeur de boucle spécifie le nombre de points dans la boucle et la valeur de comptage maximale (valeur de boucle = valeur de comptage max. +1). La valeur de boucle peut être comprise entre 0 et 65000. Ne pas modifier la valeur de boucle lorsqu’une comparaison est en cours. TB TB+1 TB+2 TB+3 TB+4 TB+5 Valeur boucle, inf. à 4 digits (BCD) Valeur boucle, sup. à 4 digits (BCD) Nombre de valeurs spécifiées (BCD) Valeur spécifiée #1, inf. à 4 digits (BCD) Valeur spécifiée #1, sup. à 4 digits (BCD) Numéro de sous–programme (voir Rem.1) Réglage de la valeur de boucle Réglage d’une valeur spécifiée Le schéma ci-dessous montre la structure d’un tableau de comparaison de valeurs spécifiées utilisée avec des compteurs grande vitesse 1 et 2 des cartes de codeur absolu. Saisir les valeurs spécifiées dans un ordre croissant ou 262 Chapitre 5-16 Instructions de comptage et de temporisation décroissant. Le nombre de valeur spécifiée peut être compris entre 0001 et 0048. TB TB+1 TB+2 Rem. Nombre de valeurs spécifiées (BCD) Valeur spécifiée #1 (BCD) Numéro de sous–programme (voir Rem.1) Réglage d’une valeur spécifiée 1. Le numéro de sous–programme peut être compris entre F000 et F255 pour une décrémentation et peut être comprise entre 0000 et 0255 pour une incrémentation. 2. Permettre un intervalle d’au moins 0,2 ms pour le traitement de l’interruption lors d’un réglage de valeur spécifiée avec les compteurs grande vitesse 1 et 2. Fonctionnement d’une comparaison de valeurs spécifiées Le schéma suivant détaille le fonctionnement d’une comparaison de valeurs spécifiées de 1 à 5 en suivant le tableau de comparaison. Comptage Interruptions Valeur initiale spécifiée 1 spécifiée 2 spécifiée 3 spécifiée 5 spécifiée 4 Dans le schéma ci–dessus, le comptage en cours est comparé à chaque valeur spécifiée en suivant l’ordre de leur chargement dans le tableau de comparaison de valeurs spécifiées. Lorsque la valeur de comptage est identique à la valeur spécifiée, une interruption est générée et la comparaison redémarre avec la valeur spécifiée suivante. Lorsque toutes les valeurs spécifiées sont atteintes et leur interruption respective générée, la valeur spécifiée est réinitialisée avec la première valeur de le tableau et le traitement est recommencé. Comparaison de plages Un tableau de comparaison de plages est constituée de 8 plages, définies par une limite inférieure de 8 digits et une limite supérieure de 8 digits, en respectant leur numéro de sous–programme correspondant. Le sous–programme correspondant est appelé et exécuté lorsque la PV atteint la plage permise (lorsqu’un traitement d’interruption n’est pas nécessaire, un numéro quelconque de sous–programme peut être saisi). Plage atteinte Limite inf. 1 ↔ Limite sup.1 PV de compteur grande vitesse Limite inf. 2 ↔ Limite sup. 2 Limite inf. 8 ↔ Limite sup. 8 Exécution sous–prog. Exécution sous–prog. Exécution sous–prog. Régler toujours 8 plages. Si moins de 8 plages sont nécessaires, régler les numéros de sous–programmes restant à FFFF. Si plus de 8 plages sont nécessaires, une autre instruction de comparaison, comme par exemple BCMP(68), peut être utilisée pour comparer les plages avec les PV de compteurs grande 263 Chapitre 5-16 Instructions de comptage et de temporisation vitesse entre les IR 230 et IR 235. Ne pas oublier que ces mots sont rafraîchis une seule fois par cycle. Des drapeaux dans la zone AR indiquent quand les PV des compteurs grande vitesse passent dans au moins une des 8 plages. Les drapeaux passent à ON lorsque la PV passe dans la plage correspondante. Compteur Compteur grande vitesse 0 Compteur grande vitesse 1 Compteur grande vitesse 2 Drapeaux de zone AR AR 1100 à AR 1107 correspondant aux plages 1 à 8. AR 0500 à AR 0507 correspondant aux plages 1 à 8. AR 0600 à AR 0607 correspondant aux plages 1 à 8. Le schéma ci–dessous montre la structure d’un tableau de comparaison de plages utilisé avec le compteur grande vitesse 0 intégré à l’Unité centrale ou des compteurs grande vitesse 1 ou 2 des cartes de gestion d’axes réglés pour un comptage linéaire. TB TB+1 TB+2 TB+3 TB+4 Limite inf. #1, inf. à 4 digits (BCD) Limite inf. #1, sup. à 4 digits (BCD) Limite sup. #1, inf. à 4 digits (BCD) Limite sup. #1, sup. à 4 digits (BCD) Numéro sous–prog. (voir Rem.1) Réglage première plage TB+35 TB+36 TB+37 TB+38 TB+39 Limite inf. #8, inf. à 4 digits (BCD) Limite inf. #8, sup. à 4 digits (BCD) Limite sup. #8, inf. à 4 digits (BCD) Limite sup. #8, sup. à 4 digits (BCD) Numéro sous–prog. (voir Rem.1) Réglage huitième plage Le schéma ci–dessous montre la structure d’un tableau de comparaison de plages utilisé avec des compteurs grande vitesse 1 ou 2 des cartes de gestion d’axes réglés pour un comptage en boucle. La valeur de boucle spécifie le nombre de points dans la boucle et la valeur de comptage maximale (valeur de boucle = valeur de comptage max. +1). La valeur de boucle peut être comprise entre 0 et 65000. Ne pas modifier la valeur de boucle lorsqu’une comparaison est en cours. 264 TB TB+1 TB+3 TB+4 TB+5 TB+6 TB+7 Valeur de boucle, inf. à 4 digits (BCD) Valeur de boucle, sup. à 4 digits (BCD) Limite inf. #1, inf. à 4 digits (BCD) Limite inf. #1, sup. à 4 digits (BCD) Limite sup. #1, inf. à 4 digits (BCD) Limite sup. #1, sup. à 4 digits (BCD) Numéro sous–prog. (voir Rem.1) TB+37 TB+38 TB+39 TB+40 TB+41 Limite inf. #8, inf. à 4 digits (BCD) Limite inf. #8, sup. à 4 digits (BCD) Limite sup. #8, inf. à 4 digits (BCD) Limite sup. #8, sup. à 4 digits (BCD) Numéro sous–prog. (voir Rem.1) Réglage valeur de boucle Réglage première plage Réglage huitième plage Chapitre 5-16 Instructions de comptage et de temporisation Le schéma ci–dessous montre la structure d’un tableau de comparaison de plages utilisé avec les compteurs grande vitesse 1 et 2 des cartes codeur absolu. Rem. TB TB+2 TB+4 Limite inf. #1(BCD) Limite sup. #1 (BCD) Numéro sous–prog. (voir Rem.1) Réglage première plage TB+21 TB+22 TB+23 Limite inf. #8 (BCD) Limite sup. #8 (BCD) Numéro sous–prog. (voir Rem.1) Réglage huitième plage 1. Le numéro de sous–programme peut être compris entre 0000 et 0255 et le sous–programme est exécuté tant que la PV du compteur est à l’intérieur de la plage spécifiée. Une valeur de FFFF indique qu’aucun sous–programme ne doit être exécuté. 2. Permettre un intervalle d’au moins 0,2 ms entre les limites inférieure et supérieure (Limite supérieure – Limite inférieure > 0,002 × fréquence d’impulsions d’entrée) dans les comparaisons de plages avec les compteurs grande vitesse 1 et 2. Le tableau suivant donne les valeurs permises pour les valeur spécifiées et les limite inférieure et supérieure. La valeur hexadécimale F du digit le plus significatif indique une valeur négative. Compteur Valeurs permises Compteur grande vitesse 0 (Unité centrale) Mode phases différentielles : F003 2768 à 0003 2767 Mode incrémental : 0000 0000 à 0006 5535 Compteurs grande vitesse 1 et 2 (carte de gestion d’axes) Compteur grande vitesse absolus 1 et 2 (Carte codeur absolu) Comptage linéaire : F838 8607 à 0838 8608 Comptage en boucle : 0000 0000 à 0006 4999 Mode BCD : 0000 à 4095 Mode 360° : 0000 à 0355 (par pas de 5°) Dans le mode 360° les valeurs angulaires des compteurs grande vitesse absolus sont converties en interne en valeurs binaires. La valeur binaire après la conversion est fonction de la résolution sélectionnée pendant le Setup de l’API (DM 6643 et/ou DM 6644). Le tableau suivant montre les conversions pour 5° à 45°. Résolution Valeurs converties 8 bits (0 à 255) 5° 4 10° 7 15° 11 20° 14 25° 18 30° 21 35° 25 40° 28 45° 32 10 bits (0 à 1023) 14 28 43 57 71 85 100 114 128 12 bits (0 à 4095) 57 114 171 228 284 341 398 455 512 Pour des valeurs plus grandes, rechercher la valeur convertie la plus proche de 45° et ajouter le reste à partir de le tableau. Par exemple, pour convertir 145° avec 8 bits de résolution : 32×3 (pour 135°) + 7 (pour 10°) = 103. ! Attention Avec 10 bits et 12 bits de résolution, l’interruption ne peut pas être déclenchée lorsque la valeur angulaire atteint la valeur de comparaison du fait que la valeur convertie ne l’atteint pas précisément. 265 Chapitre 5-16 Instructions de comptage et de temporisation Fonctionnement d’une comparaison de plage Le schéma suivant montre le fonctionnement d’une comparaison de plage pour des réglages de plages de 1 à 4 réglés consécutivement dans le tableau de comparaison. Comptage 0 Plage 3 Plage 1 Plage 2 Plage 4 Comme montré ci–dessus, le comptage en cours est comparé à toutes les plages de comparaison dans le même temps et le résultat est transmis en sortie. Drapeaux de zone AR Les drapeaux de zone AR suivants indiquent l’état de la comparaison pour un compteur grande vitesse 0 de l’Unité centrale et des compteurs grande vitesse 1 et 2 des cartes d’E/S impulsion ou d’interface codeur absolu. Mot AR 05 Bit(s) 00 à 07 08 09 AR 06 00 à 07 08 09 AR 11 Fonctionnement avec la carte compteur grande vitesse 00 à 07 Fonctionnement Drapeaux de comparaison de plage compteur grande vitesse 1 (Port 1) Les bits 00 à 07 passent à ON lorsque la PV du compteur est dans la plage correspondante (1 à 8). Drapeaux de comparaison compteur grande vitesse 1 (Port 1) Ce drapeau passe à ON pendant la comparaison de la PV. Drapeau de hors plage du compteur grande vitesse 1 (Port 1) Drapeau de dépassement positif/négatif Ce drapeau passe à ON en dehors de la plage. Drapeaux de comparaison de plage compteur grande vitesse 2 (Port 2) Les bits 00 à 07 passent à ON lorsque la PV du compteur est dans la plage correspondante (1 à 8). Drapeau de comparaison compteur grande vitesse 2 (Port 2) Ce drapeau passe à ON pendant la comparaison de PV. Drapeau de hors plage compteur grande vitesse 2 (Port 2) Ce drapeau passe à ON en dehors de la plage. Drapeaux de comparaison de plage compteur grande vitesse 0 Les bits 00 à 07 passent à ON lorsque la PV du compteur est dans la plage correspondante (1 à 8). Lorsque la condition d’exécution est à OFF, CTBL(63) n’est pas exécutée. Lorsque la condition d’exécution est à ON, CTBL(63) charge un tableau de comparaison utilisable avec la PV du compteur grande vitesse. Selon la valeur de C, la comparaison avec la PV du compteur grande vitesse débute immédiatement ou est démarrée séparément par INI(61). Le sélecteur de port (P) spécifie quel compteur des cartes compteurs grande vitesse est utilisé pour la comparaison. 266 Chapitre 5-16 Instructions de comptage et de temporisation Sélecteur de port (P) Fonction Pour une carte à l’emplacement 1 Compteur grande vitesse 1 Compteur grande vitesse 2 Compteur grande vitesse 3 Compteur grande vitesse 4 Pour une carte à l’emplacement 2 101 001 102 002 103 003 104 004 La fonction CTBL(63) est déterminée par les données de contrôle, C, comme indiqué dans le tableau suivant. Les fonctions sont décrites après le tableau. C 000 001 002 003 Fonction CTBL(63) Charge un tableau de comparaison de valeurs spécifiées et lance la comparaison. Charge un tableau de comparaison de plages et lance la comparaison. Charge un tableau de comparaison de valeurs spécifiées. Lancer la comparaison avec INI(61). Charge un tableau de comparaison de plages. Lancer la comparaison avec INI(61). Lorsque la PV correspond à la valeur spécifiée ou passe dans la plage spécifiée, une trame de bits est émise au mot IR alloué. Se reporter au 1-4-5 Interruptions compteur grande vitesse 0 pour plus d’informations sur le tableau de comparaison. Si le compteur grande vitesse est activé lors du Setup de l’API (DM 6642), son comptage part de 0 en début de fonctionnement du CQM1H. La PV n’est pas comparée à le tableau de comparaison jusqu’au chargement complet de le tableau et l’activation par INI(61) ou CTBL(63). La comparaison peut être arrêtée et démarrée ou la PV peut être réinitialisée par INI(61). Après le chargement de le tableau de comparaison, celle–ci n’est validée qu’à l’arrêt du CQM1H ou jusqu’à l’apparition d’une erreur due à l’essai de chargement d’un nouveau tableau. Afin de réduire le temps de cycle, la variante d’instruction de CTBL(63) est à préférer. Comparaison de valeurs spécifiées Jusqu’à 48 valeurs spécifiées peuvent être chargées. La trame de bits est également chargée à chaque valeur spécifiée. La trame de bits chargée est envoyé au mot IR alloué lorsque la PV atteint une valeur spécifiée. La carte compteur grande vitesse ne génére pas d’interruption ; la trame de bits chargée est dupliquée dans le mot IR alloué et sur les sorties externes. Comparaison PV compt. grande vitesse Egalité 11 0 Valeur spécifiée 1 Trame de bits 1 (voir Rem.) Valeur spécifiée 2 Trame de bits 2 (voir Rem.) Valeur spécifiée 48 Trame de bits 48 (voir Rem.) 267 Chapitre 5-16 Instructions de comptage et de temporisation Rem. Les trames de bits 1 à 48 sont configurées comme ceci : 11 87 0 IR 208 à IR 211 ou IR 240 à IR 243 Trame de bits externe Trame de bits (8 bits) interne Faire un OU logique des 4 bits identiques de l’IR 208 à l’IR 211 ou de l’IR 240 à l’IR 243 et transmettre le résultat aux 4 sorties externes Les comparaisons des valeurs spécifiées sont réalisées une par une à la fois dans l’ordre de le tableau de comparaison. Lorsque la PV atteint la première valeur spécifiée de le tableau, la trame de bits est envoyée au mot IR alloué et la comparaison se poursuit avec la valeur suivante de le tableau. Lorsque le traitement de la dernière valeur spécifiée de le tableau est terminé, la comparaison est reprise avec la première valeur spécifiée et le traitement est répété. Le schéma ci–dessous montre la structure d’un tableau de comparaison de valeurs spécifiées utilisé avec les compteurs grande vitesse 1 à 4 pour un comptage linéaire. TB TB+1 TB+2 TB+3 Nombre de valeurs spécifiées (BCD) Valeur spécifiée #1, inf. à 4 digits (BCD) Valeur spécifiée #1, sup. à 4 digits (BCD) Trame de bits #1 Réglage d’une valeur spécifiée Le schéma ci–dessous montre la structure d’un tableau de comparaison de valeurs spécifiées utilisé avec les compteurs grande vitesse 1 à 4 pour un comptage en boucle. Saisir les valeurs spécifiées dans l’ordre ascendant ou descendant. La valeur de boucle spécifie le nombre de points dans la boucle et la valeur maximale de comptage (valeur de boucle = valeur max. de comptage +1). Ne pas modifier la valeur de boucle lorsqu’un comptage est en cours. TB TB+1 TB+2 TB+3 TB+4 TB+5 Valeur de boucle, inf. à 4 digits (BCD) Valeur de boucle, sup. à 4 digits (BCD) Nombre de valeur spécifiée (BCD) Valeur spécifiée #1, inf. à 4 digits (BCD) Valeur spécifiée #1, sup. à 4 digits (BCD) Trame de bits #1 Réglage de la valeur de boucle Réglage d’une valeur spécifiée Les valeur spécifiées 1 à 48 et les trames de bits 1 à 48 sont sauvegardés dans le tableau de comparaison. Les bits 0 à 7 de la trame de bits sont sauvegardés comme la trame de bits interne. Les bits 8 à 11 sont sauvegardés comme la trame de bits externe, le OU logique de ces bits est calculé pour les quatre compteurs grande vitesses et le résultat est transmis aux sorties externes 1 à 4. 268 Chapitre 5-16 Instructions de comptage et de temporisation L’exemple suivant montre comment le OU logique est effectué sur les trames de bits des compteurs grande vitesse 1 à 4 avant la transmission du résultat aux sorties externes. Bit Emplacement 1 Emplacement 2 Résultat comparaison compteur grande vitesse 1 (IR 208 ou IR 240) Résultat comparaison compteur grande vitesse 2 (IR 209 ou IR 241) Résultat comparaison compteur grande vitesse 3 (IR 210 ou IR 242) 11 10 09 0 0 0 08 1 11 10 09 08 0 0 1 0 11 10 09 08 0 1 0 0 11 10 09 08 0 0 0 0 Calcul du OU logique puis transmission Résultat comparaison compteur grande vitesse 4 (IR 211 ou IR 243) Sortie externe 1 : ON Sortie externe 2 : ON Sortie externe 3 : ON Sortie externe 4 : OFF Fonctionnement d’une comparaison de valeurs spécifiées Le schéma suivant détaille le fonctionnement d’une comparaison de valeurs spécifiées consécutives comprise entre 1 et 5 en suivant le tableau de comparaison. Comptage Transmission trame de bits Valeur initiale spécifiée 1 spécifiée 2 spécifiée 3 spécifiée 4 spécifiée 5 Dans le schéma ci–dessus, le comptage en cours est comparé à chaque valeur spécifiée en suivant l’ordre de leur chargement dans le tableau de comparaison de valeurs spécifiées. Lorsque la valeur de comptage est identique à la valeur spécifiée, la trame de bits est transmise au mot IR alloué et la comparaison redémarre avec la valeur spécifiée suivante. Lorsque toutes les valeurs spécifiées sont atteintes et leur trame de bits transmise, la valeur spécifiée est réinitialisée avec la première valeur de le tableau et le traitement est recommencé. Comparaison de plages Un tableau de comparaison de plages est constitué de 8 plages, définies par une limite inférieure de 8 digits et une limite supérieure de 8 digits, comme la trame de bit. La trame de bits chargée est transmise au mot IR alloué lorsque la PV atteint la plage souhaitée. La carte compteur grande vitesse ne génère pas 269 Chapitre 5-16 Instructions de comptage et de temporisation d’interruption ; la trame de bits chargée est identique au mot IR alloué et aux sorties externes. Plage atteinte 11 Comparaison PV du compteur grande vitesse 0 Limite inf. 1 ↔ Limite sup. 1 Trame de bits 1 (voir Rem.) Limite inf. 2 ↔ Limite sup. 2 Trame de bits 2 (voir Rem.) Limite inf. 16 ↔ Limite sup. 16 Trame de bits 16 (voir Rem.) Rem. Les trames de bits de 1 à 16 sont configurées comme ceci : 11 87 0 IR 208 à IR 211 ou IR 240 à IR 243 Trame de bits interne (8 bits) Trame de bits externe Faire un OU logique des 4 bits identiques de l’IR 208 à l’IR 211 ou de l’IR 240 à l’IR 243 et transmettre le résultat aux 4 sorties externes Charger une limite inférieure, une limite supérieure et une trame de bits pour chaque plage (1 à 16) de le tableau de comparaison de plage. Les bits de 0 à 7 de la trame de bits sont sauvegardés comme la trame de bits interne. Les bits de 0 à 8 sont sauvegardés comme la trame de bits externe, le OU logique de ces bits est calculé pour les quatre compteurs grande vitesses et le résultat est transmis aux sorties externes 1 à 4. L’exemple suivant montre comment le OU logique est effectué sur les trames de bits des compteurs grande vitesse 1 à 4 avant la transmission du résultat aux sorties externes. Bit Emplacement 1 Emplacement 2 Résultat comparaison compteur grande vitesse 1 (IR 208 ou IR 240) Résultat comparaison compteur grande vitesse 2 (IR 209 ou IR 241) Résultat comparaison compteur grande vitesse 3 (IR 210 ou IR 242) 11 10 09 0 0 0 08 1 11 10 09 08 0 0 1 0 11 10 09 08 0 1 0 0 11 10 09 08 0 0 0 0 Calcul du OU logique puis transmission Résultat comparaison compteur grande vitesse 4 (IR 211 ou IR 243) Sortie externe 1 : ON Sortie externe 2 : ON Sortie externe 3 : ON Sortie externe 4 : OFF 270 Chapitre 5-16 Instructions de comptage et de temporisation Le schéma ci–dessous montre la structure d’un tableau de comparaison de plages utilisé avec les compteurs grande vitesse 1 à 4 pour un comptage linéaire. TB TB+1 TB+2 TB+3 TB+4 Limite inf. #1, inf. à 4 digits (BCD) Limite inf. #1, sup. à 4 digits (BCD) Limite sup. #1, inf. à 4 digits (BCD) Limite sup. #1, sup. à 4 digits (BCD) Trame de bits #1 Réglage première plage TB+75 TB+76 TB+77 TB+78 TB+79 Limite inf. #16, inf. à 4 digits (BCD) Limite inf. #16, sup. à 4 digits (BCD) Limite sup. #16, inf. à 4 digits (BCD) Limite sup. #16, sup. à 4 digits (BCD) Trame de bits #16 Réglage seizième plage Le schéma ci–dessous montre la structure d’un tablea de comparaison de plages utilisé avec les compteurs grande vitesse 1 à 4 pour un comptage linéaire en boucle. La valeur de boucle spécifie le nombre de points de la boucle et la valeur maximale de comptage (valeur de boucle = valeur max. de comptage +1). Ne pas modifier la valeur de boucle lorsqu’une comparaison est en cours. TB TB+1 TB+3 TB+4 TB+5 TB+6 TB+7 Valeur de boucle, inf. à 4 digits (BCD) Valeur de boucle, sup. à 4 digits (BCD) Limite inf. #1, inf. à 4 digits (BCD) Limite inf. #1, sup. à 4 digits (BCD) Limite sup. #1, inf. à 4 digits (BCD) Limite sup. #1, sup. à 4 digits (BCD) Trame de bits #16 TB+77 TB+78 TB+79 TB+80 TB+81 Limite inf. #16, inf. à 4 digits (BCD) Limite inf. #16, sup. à 4 digits (BCD) Limite sup. #16, inf. à 4 digits (BCD) Limite sup. #16, sup. à 4 digits (BCD) Trame de bits #16 Réglage valeur de boucle Réglage première plage Réglage seizième plage Le tableau suivant donne les valeurs possibles de réglage d’un compteurs grande vitesse 1 à 4 pour les valeurs spécifiées, les limites inférieures et les limites supérieures. La valeur hexadécimale F du bit le plus significatif indique une valeur négative (valeur de 7 digits négative). Valeurs possibles Format BCD Comptage linéaire F838 8608 à 0838 8607 Comptage en boucle 0000 0001 à 0838 8607 Hexadécimal F800 0000 à 07FF FFFF 0000 0001 à 07FF FFFF Fonctionnement d’une comparaison de plages Le schéma suivant montre le fonctionnement d’une comparaison de plages pour des réglages de plages de 1 à 4 réglés consécutivement dans le tableau de comparaison. Comptage 0 Plage 3 Plage 1 Plage 2 Plage 4 271 Chapitre 5-16 Instructions de comptage et de temporisation Comme montré ci–dessus, le comptage en cours est comparé à toutes les plages de comparaison dans le même temps et le résultat est transmis en sortie. Lorsque la carte compteur grande vitesse est installée dans l’emplacement 1, les trames de bits sont transmis de l’IR 208 à l’IR 211. Lorsque la carte compteur grande vitesse est installée dans l’emplacement 2, les trames de bits sont transmis de l’IR 240 à l’IR 243. Numéro de compteur Compteur grande vitesse 1 Compteur grande vitesse 2 Compteur grande vitesse 3 Compteur grande vitesse 4 Mot IR alloué Pour carte dans emplacement 1 IR 208 Pour carte dans emplacement 2 IR 240 IR 209 IR 241 IR 210 IR 242 IR 211 IR 243 Le tableau suivant montre la fonction des bits dans le mot IR alloué. Bit(s) Contient la trame de bit interne. 08 à 11 Contient la trame de bit externe. 12 Drapeau de fonctionnement du compteur (0 : Arrêté ; 1 : En fonction.) 13 Drapeau de comparaison (0 : Arrêté ; 1 : En fonctionnement) 14 Drapeau de dépassement positif/négatif de la PV (0 : Normal ; 1 : Dépassement soit positif soit négatif) Drapeau d’erreur de SV (0 : Normal ; 1 : SV en erreur) 15 Rem. Drapeaux Fonction 00 à 07 1. Pour une comparaison de valeurs spécifiées par les compteurs grande vitesse 1 à 4, régler les valeurs spécifiées afin que les trames de bits soient transmises avec un intervalle d’au moins 0,2 ms. 2. Pour une comparaison de plages par les compteurs grande vitesse 1 à 4, régler les limites afin que la PV des compteurs reste à l’intérieur des limites inférieure et supérieure de 0,5 ms (Limite sup. – Limite inf. > 0,0005 x fréquence d’entrée). 3. Pour une comparaison de valeurs spécifiées par les compteurs grande vitesse 1 à 4, ce n’est pas important si la valeur spécifiée est atteinte par incrémentation ou par décrémentation. C’est également vrai pour une comparaison de valeurs spécifiées par la carte compteur grande vitesse, mais non pour les compteurs grande vitesse 1 et 2, en mode de boucle, sur les cartes de gestion d’axes et codeur absolu. Les compteur grande vitesse 1 à 4 démarrent le comptage de 0 lorsque le programme du CQM1H débute, mais les trames de bits ne sont pas transmises au début de la comparaison. Utiliser INI(61) pour arrêter la comparaison. Un tableau de comparaison chargé avec une instruction CTBL(63) est valide jusqu’à l’arrêt du programme du CQM1H ou jusqu’au chargement d’un nouveau tableau de comparaison. Le temps de cycle peut être réduit, si nécessaire, en exécutant une variante d’instruction de CTBL(63). ER : Le port spécifié et la fonction ne sont pas compatibles. Il existe une autre instruction CTBL(63) avec une méthode de comparaison différente dans le sous–programme appelé par l’instruction CTBL(63). Une instruction CTBL(63) avec une méthode de comparaison différente est exécutée pendant la comparaison. 272 Chapitre 5-16 Instructions de comptage et de temporisation Le canal EM/DM adressé indirectement n’existe pas. (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM est dépassée). Les données du tableau de comparaison dépasse la limite ou il existe une erreur dans les réglages du tableau. L’instruction CTBL(63) n’est exécutée dans un sous–programme d’interruption que lorsque les conditions d’exécution ont été exécutées dans le programme principal. Le sous–programme ou la transmission des trames de bits n’est exécutée que lorsque les conditions d’exécution sont rencontrées en premier. L’état de l’AR n’est rafraîchit qu’une seule fois par cycle. Si les conditions sont rencontrées dans le tableau pour plus d’un article, la priorité est donnée au premier article du tableau. 5-16-8 CONTROLE DE MODE – INI(61) Symboles à contacts Zones des données d’opérandes P : Sélecteur de port INI(61) @INI(61) P P C C P1 P1 000 à 004 or 101 à 104 C : Données de contrôle 000 à 003 P1 : Premier mot PV IR, SR, AR, DM, EM, HR, LR Limitations P1 doit être à 000 sauf si C est 002. P1 et P1+1 doivent être dans la même zone de données les DM 6143 à DM 6655 ne peuvent pas être utilisés pour P1. Description INI(61) peut être utilisée avec les fonctions suivantes : Unite/Carte Fonction Unité centrale Unité de sortie à transistor carte de gestion d’axes Compteur grande vitesse 0 (IR 00004 à IR 00006) Sorties impulsions Carte codeur absolu Compteurs grande vitesse 1 et 2 Sorties impulsions 1 et 2 Compteurs grande vitesse absolu 1 et 2 Carte compteur grande vitesse Compteurs grande vitesse 1 à 4 Lorsque la condition d’exécution est à OFF, INI(61) n’est pas exécutée. Lorsque la condition d’exécution est à ON, INI(61) contrôle le fonctionnement du compteur grande vitesse et arrête la sortie impulsion. Le sélecteur de port (P) spécifie le compteur grande vitesse ou la sortie impulsion à contrôler. Unité Fonction Sélecteur de port (P) Unité centrale Compteur grande vitesse 0 000 Unité de sortie à transistor Sorties impulsions 000 273 Chapitre 5-16 Instructions de comptage et de temporisation Carte interne Carte de gestion d’axes Carte codeur absolu Carte compteur grande vitesse Sélecteur de port (P) Fonction Compteur grande vitesse 1 ou sortie impulsion 1 Compteur grande vitesse 2 ou sortie impulsion 2 Compteur grande vitesse absolu1 Compteur grande vitesse absolu 2 Compteur grande vitesse 1 Compteur grande vitesse 2 Compteur grande vitesse 3 Compteur grande vitesse 4 Emplace ment 1 --- Emplace ment 2 001 --- 002 --- 001 --- 002 101 102 103 104 001 002 003 004 La fonction de l’instruction INI(61) est déterminée par la donnée de contrôle, C. (P1 et P1+1 contient la nouvelle PV du compteur grande vitesse en cas de changement). C P1 Fonction INI(61) 001 000 002 Nouvelle PV du compteur grande vitesse 000 Démarrage CTBL(63) de le tableau de comparaison. Arrêt CTBL(63) de le tableau de comparaison. Modification de la PV du compteur grande vitesse. Arrêt de sortie impulsion 000 000 003 Le tableau suivant donne la valeur de C pour chaque fonction. Unité/carte Valeur de C Fonction Unité centrale Compteur grande vitesse 0 000 OUI 001 OUI 002 OUI 003 --- Unité de sortie à transistor Carte de gestion d’axes Sortie impulsion --- --- --- OUI Compteurs grande vitesse 1 et 2 Sorties impulsions 1 et 2 Compteurs grande vitesse absolus 1 et 2 Compteurs grande vitesse 1 à4 OUI OUI OUI --- --OUI --OUI ----- OUI --- OUI OUI OUI --- Carte codeur absolu Carte compteur grande vitesse Comparaison de tableau CTBL(63) Si C est à 000 ou à 001, INI(61) démarre ou arrête la comparaison de la PV du compteur grande vitesse du tableau comparaison chargée avec CTBL(63). Se reporter au 1-4-5 Interruptions du compteur grande vitesse 0 pour plus d’informations sur le tableau de comparaison. Modification de PV SI C est à 002, INI(61) modifie la PV du compteur grande vitesse à la valeur 8 digits de P1 et P1+1. Les 4 digits d’extrême gauche sont sauvegardés en P1+1 et les 4 digits d’extrême droite sont sauvegardés en P1. Une valeur hexadécimale de F dans le digit de PV le plus significatif indique une valeur négative. Unité centrale : Compteur grande vitesse 0 intégré Le tableau suivant donne les valeurs possibles des 8 digits BCD pour la PV d’un compteur grande vitesse 0. 274 Chapitre 5-16 Instructions de comptage et de temporisation Mode Valeurs possibles Mode phase différentielle F003 2768 à 0003 2767 Mode incrémental 0000 0000 à 0006 5535 Carte de gestion d’axes : Compteurs grande vitesse 1 et 2 Le tableau suivant donne les valeurs possibles des 8 digits BCD pour la PV des compteurs grande vitesse 1 et 2 d’une carte de gestion d’axes. Plage numérique Valeurs possibles Comptage linéaire F838 8608 à 0838 8607 Comptage en boucle 0000 0000 à 0006 4999 Carte codeur absolu : Compteurs grande vitesse 1 et 2 La PV des compteurs grande vitesse 1 et 2 ne peut être modifiée. Carte compteur grande vitesse : Compteurs grande vitesse 1 à 4 Le tableau suivant donne les valeurs possibles des 8 digits (BCD ou hexadécimal) pour la PV des compteurs grande vitesse 1 et 2 d’une carte compteur grande vitesse. Plage numérique Valeurs possibles Comptage linéaire Format BCD F838 8608 à 0838 8607 Format hexadécimal F800 0000 à 07FF FFFF Comptage en boucle 0000 0000 à 0838 8607 0000 0000 à 07FF FFFF Arrêt sortie impulsion Si C est à 003, INI(61) arrête la sortie impulsion. Se reporter au 1-5 Fonction sortie impulsions pour plus d’informations sur l’arrêt des sorties impulsions 1 et 2 des cartes de gestion d’axes. Drapeaux ER : Le port spécifié et la fonction ne sont pas compatibles. Le canal EM/DM adressé indirectement n’existe pas. (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM est dépassée). P1+1 dépasse la limite de la zone de donées (C=002). Il existe une erreur dans le réglage de l’opérande. L’instruction INI(61) est exécutée dans un sous–programme d’interruption pendant qu’une E/S d’impulsions ou une instruction d’un compteur grande vitesse s’exécute dans le programme principal. 5-16-9 LECTURE PV DU COMPTEUR GRANDE VITESSE – PRV(62) Symboles à contacts Zones des données d’opérandes P : Sélecteur de port PRV(62) @PRV(62) P P C C D D 000, 001, ou 002 C : Donnée de contrôle 000, 001, or 002 D : Premier mot de destination IR, SR, AR, DM, EM, HR, LR Limitations ID et D+1 doivent être dans la même zone. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour D. 275 Chapitre 5-16 Instructions de comptage et de temporisation Description PRV(62) peut être utilisée avec les fonctions du tableau suivant : Unité/Carte Fonction Unité centrale Carte codeur absolu Compteur grande vitesse 0 (IR 00004 à IR 00006) Compteurs grande vitesse 1 et 2 Sorties impulsions 1 et 2 Compteurs grande vitesse absolus 1 et 2 Carte compteur grande vitesse Compteurs grande vitesse 1 à 4 Carte de gestion d’axes Lorsque la condition d’exécution est à OFF, PRV(62) n’est pas exécutée. Lorsque la condition d’exécution est à ON, PRV(62) lit les données spécifies par P et C puis les écrit en D ou en D et D+1. Le sélecteur de port (P) spécifie le compteur grande vitesse ou la sortie impulsion à contrôler. Unité Fonction Sélecteur de port (P) Unité centrale Compteur grande vitesse 0 000 Unité de sortie à transistor Sortie impulsion 000 Carte interne Carte de gestion d’axes Carte codeur absolu Carte compteur grande vitesse Sélecteur de port (P) Fonction Compteur grande vitesse 1 ou sortie impulsion1 Compteur grande vitesse 2 ou sortie impulsion 2 Compteur grande vitesse absolu 1 Compteur grande vitesse absolu 2 Compteur grande vitesse 1 Compteur grande vitesse 2 Compteur grande vitesse 3 Compteur grande vitesse 4 Emplace ment 1 --- Emplace ment 2 001 --- 002 --- 001 --- 002 101 102 103 104 001 002 003 004 La donnée de contrôle C,détermine quels types de données sont accessibles C Données 000 Compteur grande vitesse PV D et D+1 001 Etat du compteur grande vitesse ou de la sortie impulsions Résultats de la comparaison de plages D 002 Mot(s) de destination D Le tableau suivant donne les fonctions utilisables avec les valeurs de C : Unité/Carte Unité centrale Compteur grande vitesse 0 000 OUI 001 --- 002 OUI Unité de sortie à transistor Carte de gestion d’axes Sortie impulsion --- --- --- Compteurs grande vitesse 1 et 2 Sorties impulsion 1 et 2 Compteurs grande vitesse absolu1 et 2 Compteurs grande vitesse 1à4 OUI OUI OUI --OUI OUI OUI --OUI OUI OUI --- Carte codeur absolu Carte compteur grande vitesse 276 Valeurs de C Fonction Chapitre 5-16 Instructions de comptage et de temporisation PV de compteur grande vitesse (C=000) Si C est à 000, PRV(62) lit la PV du compteur grande vitesse spécifié et écrit la valeur de 8 digits en D et D+1. Les 4 digits d’extrême gauche sont sauvegardés en D+1 et les 4 digits d’extrême droite sont sauvegardés en D. Une valeur hexadécimale de F dans le digit de PV le plus significatif indique une valeur négative. PRV(62) lit la même information de PV du compteur grande vitesse sauvegardé pour cela dans les mots IR alloués (IR 230 et IR 231 pour le compteur grande vitesse 0, IR 200 à IR 207 ou IR 232 à IR 239 pour les compteurs grande vitesse 1 à 4), mais les mots IR alloués sont rafraîchis une seule fois à chaque cycle lorsque PRV(62) lit la valeur la plus à jour. Unité centrale : Compteur grande vitesse 0 intégré Le tableau suivant donne les valeurs possibles des 8 digits BCD pour la PV d’un compteur grande vitesse 0. Mode Valeurs possibles Mode phase différentielle F003 2768 à 0003 2767 Mode incrémental 0000 0000 à 0006 5535 Carte de gestion d’axess : Compteurs grande vitesse 1 et 2 Le tableau suivant donne les valeurs possibles des 8 digits BCD pour la PV des compteurs grande vitesse 1 et 2 d’une carte de gestion d’axes. Plage numérique Valeurs possibles Comptage linéaire F838 8608 à 0838 8607 Comptage en boucle 0000 0000 à 0006 4999 Carte codeur absolu : Compteurs grande vitesse 1 et 2 Le tableau suivant donne les valeurs possibles pour la PV des compteurs grande vitesse absolus 1 et 2. Mode Valeurs possibles Mode BCD 0000 0000 à 0000 4095 Mode 360 0000 0000 à 0000 0359 Carte compteur grande vitesse : compteurs grande vitesse 1 à 4 Le tableau suivant donne les valeurs possibles des 8 digits (BCD ou hexadécimal) pour la PV des compteurs grande vitesse 1 et 2 d’une carte compteur grande vitesse. Plage numérique Compteur grande vitesse ou état de la sortie impulsion (C=001) Valeurs possibles Comptage linéaire Format BCD F838 8608 à 0838 8607 Format hexadécimal F800 0000 à 07FF FFFF Comptage en boucle 0000 0000 à 0838 8607 0000 0000 à 07FF FFFF Si C est à 001, l’instruction PRV(62) lit l’état de fonctionnement du compteur grande vitesse spécifié ou de la sortie impulsion et écrit la donnée en D. L’instruction PRV(62) lit les mêmes informations sauvegardées dans les mots AR et IR alloués pour cela (AR 05 et AR 06 pour les cartes de gestion d’axes ou d’interface de codeur absolu, IR 208 à IR 211 ou IR 240 à IR 243 pour la carte compteur grande vitesse), mais les mots AR et IR alloués sont rafraîchis une seule fois à chaque cycle lorsque PRV(62) lit les valeurs les plus à jour. Carte de gestion d’axes Le tableau suivant donne la fonction des bits en D pour les compteurs grande vitesse 1 et 2 ou pour les sorties impulsions des ports 1 et 2 d’une carte de gestion d’axes. Les bits non cités dans le tableau sont inutilisés et sont à 0 en permanence. 277 Chapitre 5-16 Instructions de comptage et de temporisation Bit 00 Fonction 04 Etat de comparaison compteur grande vitesse. (0 : Arrêté ; 1 : Comparaison en cours). Dépassement positif/négatif du compteur grande vitesse . (0 : Normal ; 1 : Dépassement positif/négatif) Déccélération de la fréquence d’impulsions (0 : Non spécifié ; 1 : Spécifié). 05 Nombre total d’impulsions spécifié (0 : Non spécifié ; 1 : Spécifié). 06 Sortie impulsion terminée (0 : Non terminée ; 1 : Terminée). 07 Etat de la sortie impulsion (0 : Arrêtée ; 1 : En cours de sortie). 01 Carte codeur absolu Pour les compteurs grande vitesse 1 et 2, le bit 00 de D indique l’état de comparaison (0 : Arrêté ; 1 : Comparaison en cours). Les autres bit en D (01 à 15) sont inutilisés et sont à 0 en permanence. Carte compteur grande vitesse Le tableau suivant donne la fonction des bits en D pour les compteurs grande vitesse 1 à 4 d’une carte compteur grande vitesse. Bit(s) Contient la trame de bit interne. 08 à 11 Contient la trame de bit externe. 12 Drapreau de fonctionnement du compteur (0 : Arrêté ; 1 : En fonction.) 13 Drapeau de comparaison (0 : Arrêté ; 1 : En fonctionnement) 14 Drapeau de dépassement positif/négatif de la PV (0 : Normal ; 1 : Dépassement soit positif soit négatif) Drapeau d’erreur de SV (0 : Normal ; 1 : SV en erreur) 15 Résultats des comparaison de plages (C=002) Fonction 00 à 07 SI C est à 002, PRV(62) lit le résultat de la comparaison de plage pour le compteur grande vitesse 0 intégré, pour les compteurs grande vitesse 1 et 2 des cartes de gestion d’axes ou pour les compteurs grande vitesse 1 et 2 absolu des cartes codeur absolu. Les bits 00 à 07 de D contiennent les drapeaux de résultat de comparaison pour les plages 1 à 8 (0 : Hors plage ; 1 : Dans la plage). L’instruction PRV(62) lit les mêmes informations sauvegardées dans les mots AR alloués pour cela (AR 05 et AR 06 pour les cartes de gestion d’axes ou d’interface de codeur absolu, AR 11 pour le compteur grande vitesse 0 intégré), mais les mots AR alloués sont rafraîchis une seule fois à chaque cycle lorsque PRV(62) lit les valeurs les plus à jour. Drapeaux ER : Le port spécifié et la fonction ne sont pas compatibles. Le canal EM/DM adressé indirectement n’existe pas. (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM est dépassée). D+1 dépasse la limite de la zone de données (C=000). Il existe une erreur dans les réglages de l’opérande. L’instruction PRV(62) est exécutée dans un sous–programme d’interruption pendant qu’une E/S impulsions ou une instruction d’un compteur grande vitesse s’exécute dans le programme principal. 278 Chapitre 5-17 Instructions de décalage 5-17 Instructions de décalage 5-17-1 REGISTRE A DECALAGE – SFT(10) Symbole à contacts Zones des données d’opérandes St : Mot de début I SFT(10) IR, SR, AR, HR, LR P St R E E : Mot de fin IR, SR, AR, HR, LR E doit être supérieur ou égal à St et St et E doivent être dans la même zone. Limitations Si une adresse de bit dans un des mots du registre à décalage est également utilisé dans une instruction de contrôle de l’état d’un bit individuel (comme OUT, KEEP(11)), une erreur (“COIL/OUT DUPL”) est générée lors de la vérification de la syntaxe du programme par une console de programmation ou tout autre appareil de programmation. Le programme est tout de même exécuté. Voir Exemple 2 : Bits de contrôle dans les registres à décalage pour un exemple de programmation réalisant ceci. L’instruction SFT(10) est contrôlée par trois conditions d’exécution, I, P et R. Si SFT(10) est exécutée et 1) la condition d’exécution P est àON et était à OFF dans la dernière exécution et que 2) R est à OFF, la condition d’exécution I est décalée dans le bit d’extrême droite du registre à décalage défini entre St et E, c.à.d. si I est à ON, un 1 est décalé dans le registre ; si I est à OFF, un 0 y est décalé. Lorsque I est décalée dans le registre, tous les bits précédants du registre sont décalés vers la gauche et le bit le plus à gauche du registre est perdu. Description E St+1, St+2, ... Donnée perdue St Condition I d’exécution La condition d’exécution sur P fonctionne comme une variante d’instruction, c.a.d., I est décalée dans le registre uniquement lorsque P est à ON et était à OFF lors de la dernière exécution de l’instruction SFT(10). Si la condition P est inchangée ou est passée de ON à OFF, le registre à décalage reste inchangé. St désigne le mot d’extrême droite du registre à décalage ; E le mot d’extrême gauche. Le registre à décalage est constitué de ces deux mots et de ceux intermédiaires. Le même mot peut être désigné pour St et E pour créer un registre à décalage de 16 bits (c.-à-d., 1 mot). Lorsque la condition d’exécution R passe à ON, tous les bits du registre à décalage passent à OFF (c.-à-d. passent à 0) et le registre reste inchangé tant que R ne repasse pas à OFF. Drapeaux Aucun drapeau n’est affecté par l’instruction SFT(10). Exemple L’exemple suivant utilise un bit d’impulsions d’horloge d’une seconde (25502) afin que la condition d’exécution générée par 00000 soit décalée dans l’IR 010 279 Chapitre 5-17 Instructions de décalage toutes les secondes. La sortie 10000 passe à ON chaque fois qu’un “1” est décalé dans 01007. 00000 Adresse I SFT(10) 25502 P 010 00001 R 010 01007 10000 Instruction 00000 00001 00002 00003 LD LD LD SFT(10) 00004 00005 LD OUT Opérandes 00000 25502 00001 010 010 01007 10000 5-17-2 DECALAGE DE MOT – WSFT(16) Symboles à contacts Zones des données d’opérandes St : Mot de début Limitations WSFT(16) @WSFT(16) St St E E IR, SR, AR, DM, EM, HR, LR E : Mot de fin IR, SR, AR, DM, EM, HR, LR St et E doivent être dans la même zone de données et E doit être supérieur ou égal à St. Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour St ou E. Description Lorsque la condition d’exécution est à OFF, WSFT(16) n’est pas exécutée. Lorsque la condition est à ON, l’instruction WSFT(16) décale les données entre St et E dans les mots unitaires. Des 0 sont écrits dans St et le contenu de E est perdu. E F 0 St + 1 C 2 3 4 5 St 2 1 0 2 9 Perdu 0000 E 3 Drapeaux ER : 4 St + 1 5 2 1 0 2 St 9 0 0 0 0 Les mots St et E sont dans des zones différentes ou St est plus grand que E. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM est dépassée). 280 Chapitre 5-17 Instructions de décalage 5-17-3 DECALAGE ARITHMETIQUE A GAUCHE – ASL(25) Symboles à contacts ASL(25) @ASL(25) Wd Wd Zones des données d’opérandes Wd : Décalage du mot IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd. Description Lorsque la condition d’exécution est à OFF, ASL(25) n’est pas exécutée. Lorsque la condition d’exécution est à ON, ASL(25) décale un 0 dans le bit 00 de Wd, décale les bits de Wd d’un bit vers la gauche et décale les états du bit 15 dans CY. CY Bit Bit 15 00 1 0 0 1 1 1 0 0 0 1 0 1 0 0 1 1 0 Précautions Si la forme standard de ASL(25) est utilisée, un 0 est décalé dans le bit 00 à chaque cycle. Utiliser la variante d’instruction (@ASL(25)) ou associer l’instruction ASL(25) à DIFU(13) ou DIFD(14) pour un seul décalage. Drapeaux ER : CY : EQ : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM est dépassée). Reçoit l’état du bit 15. A ON lorsque le contenu de Wd est zéro ; à OFFdans les autres cas. 5-17-4 DECALAGE ARITHMETIQUE A DROITE – ASR(26) Symboles à contacts ASR(26) @ASR(26) Wd Wd Zones des données d’opérandes Wd : Décalage du mot IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd. Description Lorsque la condition d’exécution est à OFF, ASR(25) n’est pas exécutée. Lorsque la condition d’exécution est à ON, ASR(25) décale un 0 dans le bit 15 de Wd, décale les bits de Wd d’un bit vers la droite et décale l’état du bit 00 dans CY. 0 Bit Bit 15 00 1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 0 CY Précautions Si la forme standard de ASL(26) est utilisée, un 0 est décalé dans le bit 15 à chaque cycle. Utiliser la variante d’instruction (@ASL(26)) ou associer l’instruction ASL(26) à DIFU(13) ou DIFD(14) pour un seul décalage. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM est dépassée). 281 Chapitre 5-17 Instructions de décalage CY : EQ : Reçoit les données du bit 00. A ON lorsque le contenu de Wd is zéro ; à OFF dans les autres cas. 5-17-5 ROTATION A GAUCHE – ROL(27) Symboles à contacts ROL(27) @ROL(27) Wd Wd Zones des données d’opérandes Wd : Rotation du mot IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd. Description Lorsque la condition d’exécution est à OFF, ROL(27) n’est pas exécutée. Lorsque la condition d’exécution est à ON, ROL(27) décale tous les bits Wd d’un bit vers la gauche, décalant CY dans le bit 00 de Wd et décalant le bit 15 de Wd dans CY. CY Bit 15 Bit 00 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1 Précautions Utiliser STC(41) pour régler l’état de CY ou CLC(41) pour remettre à 0 CY avant de faire une rotation ROL(27) afin de s’assurer que le contenu de CY est dans un état correct . Si la forme standard de ROL(27) est utilisée, CY est décalé dans le bit 00 à chaque cycle. Utiliser la variante d’instruction (@ROL(27)) ou associer l’instruction ROL(27) à DIFU(13) ou DIFD(14) pour un seul décalage. Drapeaux ER : CY : EQ : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM est dépassée). Reçoit la donnée du bit 15. A ON lorsque le contenu de Wd est zéro ; à OFF dans les autres cas. 5-17-6 ROTATION A DROITE – ROR(28) Symboles à contacts ROR(28) @ROR(28) Wd Wd Zones des données d’opérandes Wd : Rotation du mot IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd. Description Lorsque la condition d’exécution est à OFF, ROR(28) n’est pas exécutée. Lorsque la condition d’exécution est à ON, ROR(28) décale tous les bits Wd d’un bit vers la droite, décalant CY dans le bit 00 de Wd et décalant le bit 15 de Wd dans CY. 282 CY Bit 15 Bit 00 0 0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1 Chapitre 5-17 Instructions de décalage Précautions Utiliser STC(41) pour régler l’état de CY ou CLC(41) pour remettre à zéro CY avant de faire une rotation ROR(27) afin de s’assurer que le contenu de CY est dans un état correct . Si la forme standard de ROR(28) est utilisée, CY est décalé dans le bit 15 à chaque cycle. Utiliser la variante d’instruction (@ROR(28)) ou associer l’instruction ROR(28) à DIFU(13) ou DIFD(14) pour un seul décalage. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM est dépassée). CY : Reçoit les données du bit 00. EQ : A ON lorsque le contenu de Wd est zéro ; à OFF dans les autres cas. 5-17-7 DECALAGE A GAUCHE D’UN DIGIT – SLD(74) Symboles à contacts Zones des données d’opérandes St : Mot de début Limitations SLD(74) @SLD(74) St St E E IR, SR, AR, DM, EM, HR, LR E : Mot de fin IR, SR, AR, DM, EM, HR, LR St et E doivent être dans la même zone et E doit être supérieur ou égal à St. Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour St ou E. Description Lorsque la condition d’exécution est à OFF, SLD(74) n’est pas exécutée. Lorsque la condition d’exécution est à ON, SLD(74) décale à gauche les données entre St et E (inclusif) d’un digit (quatre bits). Un 0 est écrit dans le digit le plus à droite de St et le contenu du digit le plus à gauche de E est perdu. E ... 8 F C 5 Donnée perdue Précautions St D 7 9 1 0 Si une panne d’alimentation apparaît pendant un décalage effectué sur plus de 50 mots, le décalage risque de ne pas être complet. Si la forme standard de SLD(74) est utilisée, un 0 est décalé dans le digit le moins significatif de St à chaque cycle. Utiliser la variante d’instruction (@SLD(74)) ou associer l’instruction SLD(74) à DIFU(13) ou DIFD(14) pour un seul décalage. Drapeaux ER : Les mots St et E sont dans des zones différentes ou St est supérieur à E. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM est dépassée). 283 Chapitre 5-17 Instructions de décalage 5-17-8 DECALAGE A DROITE D’UN DIGIT – SRD(75) Symboles à contacts Zones des données d’opérandes E : Mot de fin SRD(75) @SRD(75) E E St St IR, SR, AR, DM, EM, HR, LR St : Mot de début IR, SR, AR, DM, EM, HR, LR Limitations St et E doivent être dans la même zone et E doit être inférieur ou égal à St. Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour St ou E. Description Lorsque la condition d’exécution est à OFF, SRD(75) n’est pas exécutée. Lorsque la condition d’exécution est à ON, SRD(75) décale à droite les données entre St et E (inclusif) d’un digit (quatre bits). Un 0 est écrit dans le digit le plus à gauche de St et le contenu du digit le plus à droite de E est perdu. St 3 4 5 2 ... E F 8 C 1 Donnée perdue 0 Précautions Si une panne d’alimentation apparaît pendant un décalage effectué sur plus de 50 mots, le décalage risque de ne pas être complet. Si la forme standard de SRD(75) est utilisée, un 0 est décalé dans le digit le moins significatif de St à chaque cycle. Utiliser la variante d’instruction (@SRD(75)) ou associer l’instruction SRD(75) à DIFU(13) ou DIFD(14) pour un seul décalage. Drapeaux ER : Les mots St et E sont des zones différentes ou St est supérieur à E. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM est dépassée). 5-17-9 REGISTRE A DECALAGE REVERSIBLE – SFTR(84) Symboles à contacts Zones des données d’opérandes C : Mot de contrôle SFTR(84) @SFTR(84) C C St St IR, SR, AR, DM, EM, HR, LR E E E : Mot de fin IR, SR, AR, DM, EM, HR, LR St : Mot de début IR, SR, AR, DM, EM, HR, LR Limitations St et E doivent être dans la même zone et St doit être inférieur ou égal à E. Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour C, St ou E. Description L’instruction SFTR(84) est utilisé pour créer un registre à décalage avec un mot unique ou multiple et le mot peut être décalé soit sur la droite soit sur la gauche. 284 Chapitre 5-17 Instructions de décalage Pour créer un registre à mot unique, désigner le même mot pour St et E. Le mot de contrôle indique le sens de décalage, l’état à mettre dans le registre, l’impulsion de décalage et l’entrée de réinitialisation. Le mot de contrôle est attribué de la façon suivante : 15 14 13 12 Non utilisé. Sens de décalage 1 (ON) : Gauche (LSB à MSB) 0 (OFF) : Droite (MSB à LSB) Etat d’entrée du registre Bit d’impulsion de décalage Remise à zéro Les données du registre sont décalées d’un bit dans le sens indiqué par le bit 12. Le décalage d’un bit vers CY et l’état du bit 13 vers l’autre extrémité du registre sont effectués lorsque l’instruction SFTR(84) est exécutée, avec une condition d’exécution à ON, tant que le bit de remise à zéro est à OFF et tant que le bit 14 est à ON. Si l’instruction SFTR(84) est exécutée avec une condition d’exécution à OFF ou si SFTR(84) est exécutée avec le bit 14 à OFF, le registre à décalage reste inchangé. Si SFTR(84) est exécutée avec une condition d’exécution à ON et que le bit de remise à zéro (bit 15) est à OFF, le registre à décalage complet et CY sont mis à zéro. Drapeaux ER : St et E ne sont pas dans la même zone de données ou ST est supérieur à E. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM est dépassée). CY : Reçoit l’état du bit 00 de St ou du bit 15 de E, selon le sens de décalage. Dans l’exemple suivant, les IR 00000, IR 00001, IR 00002 et IR 00003 sont utilisés pour contrôler les bits de C utilisés dans l’instruction @SFTR(84). Le registre à décalage est dans le DM 0010 et est contrôlé par l’IR 00004. Exemple Adresse 00000 03512 Sens 03513 Etat d’entrée 03514 Impulsion de décalage 03515 RAZ 00001 00002 00003 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 Instruction Opérandes LD OUT LD OUT LD OUT LD OUT LD @SFT(10) 00000 03512 00001 03513 00002 03514 00003 03515 00004 DM DM 00004 035 0010 0010 @SFTR(84) 035 DM 0010 DM 0010 285 Chapitre 5-17 Instructions de décalage 5-17-10 REGISTRE A DECALAGE ASYNCHRONE – ASFT(17) Zones des données d’opérandes Symboles à contacts C : Mot de contrôle ASFT(17) @ASFT(17) IR, SR, AR, DM, EM, HR, LR, # C C St : Mot de début St St IR, SR, AR, DM, EM, HR, LR E E E : Mot de fin IR, SR, AR, DM, EM, HR, LR Limitations St et E doivent être dans la même zone et E doit être supérieur ou égal à St. Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour St ou E. Description Lorsque la condition d’exécution est à OFF, ASFT(17) n’est pas exécutée et le programme passe à l’instruction suivante. Lorsque la condition d’exécution est à ON, l’instruction ASFT(17) est utilisée pour créer et contrôler un registre à décalage réversible de mots entre St et E. Le registre décale les mots uniquement lorsque le mot suivant dans le registre est zéro. Autrement dit, si aucun mot du registre ne contient 0, rien n’est décalé. Ainsi, seul un mot est décalé pour chaque mot dans le registre contenant zéro. Lorsque le contenu d’un mot est décalé vers le mot suivant, le contenu du mot initial est remis à zéro. En résumé lorsqu’un registre est décalé, chaque mot zéro échange sa place avec le mot suivant (voir Exemple ci–dessous). Le sens de décalage (c.à.d. si le “mot suivant” est le mot le plus grand ou le plus petit) est spécifié dans C. C est également utilisé pour remettre à zéro le registre. Toute autre partie du registre peut être remise à zéro par la désignation de la partie souhaitée avec St et E. Mot de contrôle Les bits 00 à 12 de C sont non utilisés. Le bit 13 donne le sens de décalage : mettre le bit 13 à ON pour un décalage descendant (vers les mots d’adresses les plus basses) et à OFF pour un décalage montant vers les mots d’adresses les plus hautes). Le bit 14 est le bit de validation du décalage : mettre le bit 14 à ON pour valider le fonctionnement du registre, spécifié par le bit 13 et à OFF pour inhiber le registre. Le bit 15 est le bit de remise à zéro : le registre est remis à zéro entre St et E lorsque ASFT(17) est exécutée avec un bit 15 à ON. Mettre le bit 15 à OFF pour un fonctionnement normal. Rem. Si une forme standard est utilisée pour ASFT(17), les données sont décalées à chaque cycle lorsque la condition d’exécution est à ON. Utiliser la variante d’instruction pour éviter cela. Drapeaux ER : Les mots St et E sont dans une zone différente ou St est supérieur à E. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM est dépassée). 286 Chapitre 5-18 Instructions de transfert de données Exemple L’exemple suivant montre une instruction ASFT(17) utilisée pour décaler des mots dans un registre à décalage de 11 mots créés entre le DM 0100 et le DM 0110 avec C=#6000. Des données non nulles sont décalées vers St (DM 0110). 00000 ASFT(17) #6000 DM 0100 Adresse Instruction 00000 00001 Opérandes LD ASFT(17) 00000 # DM DM DM 0110 Avant exécution Après une exécution DM 0100 1234 1234 1234 DM 0101 0000 0000 2345 DM 0102 0000 2345 3456 DM 0103 2345 0000 4567 DM 0104 3456 3456 5678 DM 0105 0000 4567 6789 DM 0106 4567 0000 789A DM 0107 5678 5678 0000 DM 0108 6789 6789 0000 6000 0100 0110 Après sept exécutions DM 0109 0000 789A 0000 DM 0110 789A 0000 0000 Rem. Les zéros sont décalés “vers le haut” si C=4000 et le registre à décalage en entier est remis à zéro si C=8000. 5-18 Instructions de transfert de données 5-18-1 TRANSFERT – MOV(21) Symboles à contacts Zones de données d’opérandes S : Mot d’origine MOV(21) @MOV(21) S S D D IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # D : Mot de destination IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne sont pas utilisées pour D. Description Lorsque la condition d’exécution est à OFF, MOV(21) n’est pas exécutée. Lorsque la condition d’exécution est à ON, MOV(21) copie le contenu de S dans D. Mot d’origine Mot de destination Etat du bit inchangé. Conseils d’utilisation Les numéros de TIM/CNT ne sont pas désignés comme D pour modifier la PV de la temporisation ou du compteur. Cependant, il est facilement possible de modifier la PV d’une temporisation ou d’un compteur en utilisant BSET(71). 287 Chapitre 5-18 Instructions de transfert de données Drapeaux Exemple ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée.) EQ : A ON lorsque tous les zéros sont transférés sur D. L’exemple suivant présente l’utilisation de @MOV(21) pour copier le contenu de l’IR 001 dans le HR 05 lorsque l’IR 00000 passe de OFF à ON. 00000 @MOV(21) 001 HR 05 Adresse Instruction 00000 00001 LD @MOV(21) Opérandes 00000 HR IR 000 0 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1 HR 05 0 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1 001 05 5-18-2 NON TRANSFERT – MVN(22) Symboles à contacts Zones de données d’opérandes S : Mot d’origine MVN(22) @MVN(22) S S D D IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # D : Mot de destination IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne sont pas utilisées pour D. Description Lorsque la condition d’exécution est à OFF, MVN(22) n’est pas exécutée. Lorsque la condition d’exécution est à ON, MVN(22) transfère le contenu inversé de S (mot spécifié ou constante hexadécimale à quatre digits) vers D, c’est-à-dire que pour chaque bit à ON dans S, le bit correspondant dans D est réglé à OFF et pour chaque bit à OFF dans S, le bit correspondant dans D est réglé à ON. Mot d’origine Mot de destination Etat du bit inversé. Conseils d’utilisation Les numéros de TIM/CNT ne sont pas désignés comme D pour modifier la PV de la temporisation ou du compteur. Cependant, ils peuvent facilement être modifiés en utilisant BSET(71). Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée.) EQ : A ON lorsque tous les zéros sont transférés sur D. 288 Chapitre 5-18 Instructions de transfert de données Exemple L’exemple suivant présente l’utilisation de @MVN(22) pour copier le complément de #F8C5 dans le DM 0010 lorsque l’IR 00001 passe de OFF à ON. 00001 @MVN(22) #F8C5 DM 0010 Adresse Instruction 00000 00001 LD @MOV(21) Opérandes 00001 # DM #F8C5 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 1 DM 0010 0 0 0 0 0 1 1 1 0 0 1 1 1 0 1 0 F8C5 0010 5-18-3 TRANSFERT PAR BLOCS – XFER(70) Symboles à contacts Zones de données d’opérandes N : Nombre de mots (BCD) XFER(70) @XFER(70) N N S : Mot d’origine de départ S S IR, SR, AR, DM, EM, HR, TIM/CNT, LR D D D : Mot de destination de départ IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations S et S+N doivent être dans la même zone de données, de même que D et D+N. Les DM 6144 à DM 6655 ne sont pas utilisées pour D. Description Drapeaux Lorsque la condition d’exécution est à OFF, XFER(70) n’est pas exécutée. Lorsque la condition d’exécution est à ON, XFER(70) copie le contenu de S, S+1, ..., S+N dans D, D+1, ..., D+N. ER : S D 3 4 5 2 3 4 5 2 S+1 D+1 3 4 5 1 3 4 5 1 S+2 D+2 3 4 2 2 3 4 2 2 S+N D+N 6 4 5 2 6 4 5 2 N n’est pas en BCD. S et S+N ou D et D+N ne sont pas dans la même zone de données. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée.) 289 Chapitre 5-18 Instructions de transfert de données 5-18-4 PARAMETRAGE DE BLOCS – BSET(71) Zones de données d’opérandes Symboles à contacts S : Données d’origine BSET(71) @BSET(71) S S St St E E IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # St : Mot de départ IR, SR AR, DM, EM, HR, TIM/CNT, LR E : Mot de fin IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations St doit être inférieure ou égale à E, et St et E doivent être dans la même zone de données. Les DM 6144 à DM 6655 ne sont pas utilisées pour St ou E. Description Lorsque la condition d’exécution est à OFF, BSET(71) n’est pas exécutée. Lorsque la condition d’exécution est à ON, BSET(71) copie le contenu de S dans tous les mots de St à E. S St 3 4 5 2 3 4 5 2 St+1 3 4 5 2 St+2 3 4 5 2 E 3 4 5 2 BSET(71) est utilisée pour modifier la PV de temporisation/compteur. (Ceci ne peut pas être effectué avec MOV(21) ou MVN(22).) BSET(71) peut également être utilisée pour supprimer des parties d’une zone de données, c’est-à-dire la zone DM, pour préparer l’exécution d’autres instructions. Elle peut être également utilisée pour supprimer des mots en transférant tous les zéros. Drapeaux ER : St et E ne sont pas dans la même zone de données ou St est supérieure à E. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée.) Exemple L’exemple suivant présente comment utiliser BSET(71) pour copier une constante (#0000) dans un bloc de la zone DM (DM 0000 à DM 0500) lorsque l’IR00000 est à ON. 00000 @BSET(71) #0000 DM 0000 DM 0500 290 Adresse Instruction 00000 00001 LD @BSET(71) Opérandes 00000 # DM DM 0000 0000 0500 Chapitre 5-18 Instructions de transfert de données 5-18-5 ECHANGE DE DONNEES – XCHG(73) Symboles à contacts Zones de données d’opérandes E1 : Mot 1 échangé XCHG(73) @XCHG(73) E1 E1 E2 E2 IR, SR, AR, DM, EM, HR, TIM/CNT, LR E2 : Mot 2 échangé IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations Les DM 6144 à DM 6655 ne sont pas utilisées pour E1 ou E2. Description Lorsque la condition d’exécution est à OFF, XCHG(73) n’est pas exécutée. Lorsque la condition d’exécution est à ON, XCHG(73) échange les contenus de E1 et E2. E1 E2 Pour échanger le contenu des blocs dont la taille est supérieure à 1 mot, utiliser les mots de travail comme un buffer intermédiaire pour contenir l’un des blocs en utilisant 70) trois fois. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée.) 5-18-6 DISTRIBUTION D’UN SEUL MOT – DIST(80) Zones de données d’opérandes Symboles à contacts S : Données d’origine DIST(80) @DIST(80) S S DBs DBs IR, SR, AR, DM, EM, HR, TIM/CNT, LR C C C : Mot de commande (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # DBs : Mot de base de destination IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Limitations C est en BCD. Les DM 6144 à DM 6655 ne sont pas utilisées pour DBs ou C. Description DIST(80) est utilisée pour la distribution de mots simples ou pour une opération utilisant une batterie selon le contenu du mot de commande, C. Distribution de mots simples Lorsque on a les bits 12 à 15 de C=0 à 8, DIST(80) est utilisée pour une opération de distribution de mots simples. Tout le contenu de C indique un décalage Of. Lorsque la condition d’exécution est à OFF, DIST(80) n’est pas exécutée. Lorsque la condition d’exécution est à ON, DIST(80) copie le contenu de S dans DBs+Of, c’est-à-dire que Of est ajouté à DBs pour déterminer le mot de destination. Rem. DBs et DBs+Of doivent être dans la même zone de données et ne peuvent pas être compris entre le DM 6144 et le DM 6655. 291 Chapitre 5-18 Instructions de transfert de données Exemple L’exemple suivant présente comment utiliser DIST(80) pour copier #00FF dans le HR 10 + Of. Le contenu de LR 10 est #3005, #00FF est ainsi copié dans le HR 15 (HR 10 + 5) lorsque l’IR 00000 est à ON. 00000 @DIST(80) #00FF Adresse Instruction 00000 00001 LD @DIST(80) HR 10 Opérandes 00000 # HR LR LR 10 LR 10 #00FF HR 10 3 0 0 5 0 0 F F 0 0 0 0 00FF 10 10 HR 15 0 0 F F Opération utilisant une batterie Lorsque on a les bits 12 à 15 de C=9, DIST(80) est utilisée pour une opération utilisant une batterie. Les 3 autres digits de C indiquent le nombre de mots de la batterie (000 à 999). Le contenu de DBs est l’indicateur de la batterie. Lorsque la condition d’exécution est à OFF, DIST(80) n’est pas exécutée. Lorsque la condition d’exécution est à ON, DIST(80) copie le contenu de S dans DBs+1+le contenu de DBs. En d’autres termes, 1 et le contenu de DBs sont ajoutés à DBs pour déterminer le mot de destination. Le contenu de DBs est alors incrémenté de 1. Rem. 1. DIST(80) est exécutée à chaque cycle sauf si la forme sans changement d’état (@DIST(80)) est utilisée ou si DIST(80) est utilisée avec DIFU(13) ou DIFD(14). 2. S’assurer d’initialiser l’indicateur de la batterie avant d’utiliser DIST(80) pour une opération utilisant une batterie. Exemple L’exemple suivant présente comment utiliser DIST(80) pour créer une batterie entre les DM 0001 et DM 0005. Le DM 0000 fait office d’indicateur de batterie. 00000 @DIST(80) 001 Adresse Instruction 00000 00001 LD @DIST(80) Opérandes 00000 DM 0000 216 292 IR 001 FFFF IR 216 9005 DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 0000 0000 0000 0000 0000 0000 Première exécution Indicateur de batterie incrémenté DM DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 0001 FFFF 0000 0000 0000 0000 Deuxième exécution Indicateur de batterie incrémenté DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 0002 FFFF FFFF 0000 0000 0000 001 0000 216 Chapitre 5-18 Instructions de transfert de données Drapeaux ER : Le décalage ou la longueur de la batterie dans le mot de commande n’est pas en BCD. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée.) Pendant une opération utilisant une batterie, la valeur de l’indicateur de batterie+1 est supérieure à la longueur de la batterie. EQ : A ON lorsque le contenu de S est zéro ; sinon à OFF. 5-18-7 COLLECTE DE DONNEES – COLL(81) Symboles à contacts Zones de données d’opérandes SBs : Mot de base d’origine COLL(81) @COLL(81) SBs SBs C : Mot de commande (BCD) C C IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # D D D : Mot de destination IR, SR, AR, DM, EM, HR, TIM/CNT, LR IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations C est en BCD. Les DM 6144 à DM 6655 ne sont pas utilisées pour D. Description COLL(81) est utilisée pour la collecte de données, une opération utilisant une batterie FIFO ou une opération utilisant une batterie LIFO selon le contenu du mot de commande C. Collecte de données Lorsque on a les bits 12 à 15 de C=0 à 7, COLL(81) est utilisée pour la collecte de données. Tout le contenu de C indique un décalage Of. Lorsque la condition d’exécution est à OFF, COLL(81) n’est pas exécutée. Lorsque la condition d’exécution est à ON, COLL(81) copie le contenu de SBs + Of dans D, c’est-à-dire que Of est ajouté à SBs pour déterminer le mot d’origine. Rem. SBs et SBs+Of doivent être dans la même zone de données. Exemple L’exemple suivant présente comment utiliser COLL(81) pour copier le contenu de DM 0000+Of dans l’IR 001. Le contenu de 010 est #0005, ainsi le contenu du DM 0005 (DM 0000 + 5) est copié dans l’IR 001 lorsque l’IR 00001 est à ON. 00001 @COLL(81) DM 0000 Adresse Instruction 00000 00001 LD @DIST(80) 010 Opérandes 00001 DM 001 010 DM 0000 001 0 0 0 5 0 0 0 0 0 0 F F 0000 010 001 DM 0005 0 0 F F 293 Chapitre 5-18 Instructions de transfert de données Opération utilisant une batterie FIFO Lorsque on a les bits 12 à 15 de C=9, COLL(81) est utilisée pour une opération utilisant une batterie FIFO. Les 3 autres digits de C indiquent le nombre de mots dans la batterie (000 à 999). Le contenu de SBs est l’indicateur de la batterie. Lorsque la condition d’exécution est à ON, COLL(81) décale le contenu de chaque mot dans la batterie d’une adresse vers le bas puis décale les données de SBs+1 (la première valeur écrite dans la batterie) vers le mot de destination (D). Le contenu de l’indicateur de batterie (SBs) est alors décrémenté de 1. Rem. COLL(81) est exécutée à chaque cycle sauf si la forme sans changement d’état (@COLL(81)) est utilisée ou si COLL(81) est utilisée avec DIFU(13) ou DIFD(14). Exemple L’exemple suivant présente comment utiliser COLL(81) pour créer une batterie entre les DM 0001 et DM 0005. Le DM 0000 fait office d’indicateur de batterie. Lorsque l’IR 00000 passe de OFF à ON, COLL(81) décale le contenu du DM 0002 dans le DM 0005 d’une adresse vers le bas et décale les données du DM 0001 vers l’IR 001. Le contenu de l’indicateur de batterie (DM 0000) est alors décrémenté de 1. 00000 @COLL(81) DM 0000 Adresse Instruction 00000 00001 LD @COLL(81) 216 Opérandes 00000 DM 001 Opération utilisant une batterie LIFO IR 216 9005 DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 0005 AAAA BBBB CCCC DDDD EEEE Indicateur de batterie décrémenté DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 0004 BBBB CCCC DDDD EEEE EEEE IR 001 0000 216 001 AAAA Lorsque on a les bits12 à 15 de C=8, COLL(81) est utilisée pour une opération utilisant une batterie LIFO. Les 3 autres digits de C indiquent le nombre de mots dans la batterie (000 à 999). Le contenu de SBs est l’indicateur de la batterie. Lorsque la condition d’exécution est à ON, COLL(81) copie les données du mot indiqué par l’indicateur de batterie (SBs+le contenu de SBs) dans le mot de destination (D). Le contenu de l’indicateur de batterie (SBs) est alors décrémenté de 1. L’indicateur de batterie est le seul mot changé dans la batterie. Rem. COLL(81) est exécutée à chaque cycle sauf si la forme sans changement d’état (@DIST(80)) est utilisée ou si DIST(80) est utilisée avec DIFU(13) ou DIFD(14). Exemple L’exemple suivant présente comment utiliser COLL(81) pour créer une batterie entre les DM 0001 et DM 0005. Le DM 0000 fait office d’indicateur de batterie. 294 Chapitre 5-18 Instructions de transfert de données Lorsque l’IR 00000 passe de OFF à ON, COLL(81) copie le contenu du DM 0005 (DM 0000 + 5) dans l’IR 001. Le contenu de l’indicateur de batterie (DM 0000) est alors décrémenté de 1. 00000 @COLL(81) DM 0000 Adresse Instruction 00000 00001 LD @COLL(81) 216 Opérandes 00000 DM 0000 216 001 001 Drapeaux IR 216 8005 DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 0005 AAAA BBBB CCCC DDDD EEEE ER : Indicateur de batterie décrémenté DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 0004 AAAA BBBB CCCC DDDD EEEE IR 001 EEEE Le décalage ou la longueur de la batterie dans le mot de commande n’est pas en BCD. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée.) Lors d’une opération utilisant une batterie, la valeur de l’indicateur de batterie est supérieure à la longueur de la batterie ; une tentative d’écriture d’un mot au-delà de la fin de la batterie a été réalisée. EQ : A ON lorsque le contenu de S est zéro ; sinon àOFF. 5-18-8 TRANSFERT DE BIT – MOVB(82) Zones de données d’opérandes Symboles à contacts S : Mot d’origine MOVB(82) @MOVB(82) S S Bi Bi IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # D D D : Mot de destination IR, SR, AR, DM, EM, HR, LR, # Bi : Indicateur de bit (BCD) IR, SR, AR, DM, EM, HR, LR Limitations Les deux digits de droite et les deux digits de gauche de Bi doivent chacun être compris entre 00 et 15. Les DM 6144 à DM 6655 ne sont pas utilisées pour Bi ou D. 295 Chapitre 5-18 Instructions de transfert de données Description Lorsque la condition d’exécution est à OFF, MOVB(82) n’est pas exécutée. Lorsque la condition d’exécution est à ON, MOVB(82) copie le bit spécifié de S dans le bit spécifié de D. Les bits dans S et D sont spécifiés par Bi. Les deux digits de droite de Bi indiquent le bit d’origine ; les deux bits de gauche indiquent le bit de destination. Bit 15 Bi Bi MSB 1 2 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 Bit 15 LSB S Bit 00 1 2 0 1 Bit 00 0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1 Bit d’origine (00 à 15) Bit 15 Bit de destination (00 à 15) D Drapeaux ER : Bit 00 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 1 Bi n’est pas en BCD ou il indique un bit inexistant (c’est-à-dire que les bits indiqués doivent être compris entre 00 et 15). Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée.) 5-18-9 TRANSFERT DE DIGIT – MOVD(83) Zones de données d’opérandes Symboles à contacts S : Mot d’origine MOVD(83) @MOVD(83) S S Di Di D D IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Di : Indicateur de digit (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # D : Mot de destination IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations 296 Les trois digits de droite de Di doivent chacun être compris entre 0 et 3. Les DM 6144 à DM 6655 ne sont pas utilisées pour Di ou D. Chapitre 5-18 Instructions de transfert de données Description Lorsque la condition d’exécution est à OFF, MOVD(83) n’est pas exécutée. Lorsque la condition d’exécution est à ON, MOVD(83) copie le contenu du(des) digit(s) spécifié(s) de S dans le(s) digit(s) spécifié(s) de D. Jusqu’à 4 digits sont transférés en même temps. Le premier digit à copier, le nombre de digits à copier et le premier digit à recevoir la copie sont désignés dans Di comme indiqué ci-dessous. Les digits de S sont copiés dans les digits successifs de D à partir du premier digit indiqué et ce pour le nombre de digits indiqué. Lorsque le dernier digit est atteint dans S ou D, d’autres digits sont utilisés en repartant du digit 0. Nombre de digits : 3 2 1 0 Premier digit dans S (0 à 3) Nombre de digits (0 à 3) 0 : 1 digit 1 : 2 digits 2 : 3 digits 3 : 4 digits Premier digit dans D (0 à 3) Non utilisé (régler à 0). Indicateur de digit Les exemples suivants présentent des transferts de données pour diverses valeurs de Di. Di : 0010 Di : 0030 S D S D 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 S D S D 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 Di : 0031 Drapeaux ER : Di : 0023 Au moins un des trois digits de droite de Di n’est pas compris entre 0 et 3. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée.) 5-18-10 BITS DE TRANSFERT – XFRB(––) Symboles à contacts Zones de données d’opérandes XFRB(––) @XFRB(––) C C S S D D C : Mot de commande IR, SR, AR, DM, EM, TIM/CNT, HR, LR, # S : Premier mot d’origine IR, SR, AR, DM, EM, TIM/CNT, HR, LR D : Premier mot de destination IR, SR, AR, DM, EM, HR, LR 297 Chapitre 5-18 Instructions de transfert de données Limitations Les bits d’origine spécifiés doivent être dans la même zone de données. Les bits de destination spécifiés doivent être dans la même zone de données. Les DM 6144 à DM 6655 ne sont pas utilisées pour D. Lorsque la condition d’exécution est à OFF, XFRB(––) n’est pas exécutée. Lorsque la condition d’exécution est à ON, XFRB(––) copie les bits d’origine spécifiés dans les bits de destination spécifiés. Les deux digits de droite de C indiquent les bits de départ dans S et D et les deux digits de gauche indiquent le nombre de bits copiés. Description C MSB LSB Premier bit de S (0 à F) Premier bit de D (0 à F) Nombre de bits (00 à FF) Rem. Jusqu’à 255 (FF) bits sont copiés en même temps. Exemple Dans l’exemple suivant, XFRB(––) est utilisée pour transférer 5 bits de l’IR 020 et l’IR 021 vers LR 00 et LR 01. Le bit de départ dans IR 020 est D (13) et le bit de départ dans le LR 00 est E (14), ainsi IR 02013 à l’IR 02101 sont copiés dans les LR0014 à LR 0102. 00001 XFRB(––) Adresse Instruction 00000 00001 LD XFRB(––) #05ED 020 Opérandes 00001 # LR 00 LR Bit 15 Drapeaux S+1 : 021 Bit 00 Bit 15 S : 020 05ED 020 00 Bit 00 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 Bit 15 Bit 15 D+1 : LR 01 ER : Bit 00 D : LR 00 Bit 00 Les bits d’origine spécifiés ne sont pas tous dans la même zone de données. Les bits de destination spécifiés ne sont pas tous dans la même zone de données. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée.) 298 Chapitre 5-19 Instructions de comparaison 5-19 Instructions de comparaison 5-19-1 COMPARAISON – CMP(20) Symboles à contacts Zones de données d’opérandes Cp1 : 1ère comparaison de mot CMP(20) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Cp1 Cp2 : 2ème comparaison de mot Cp2 IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Limitations Pour la comparaison d’une valeur à la PV de temporisation ou de comptage, cette valeur doit être une valeur BCD. Description Lorsque la condition d’exécution est à OFF, CMP(20) n’est pas exécuté. Lorsque la condition est à ON, CMP(20) compare Cp1 et Cp2 et génère les résultats dans les drapeaux GR, EQ et LE dans la zone SR. Conseils d’utilisation La mise en place d’autres instructions entre CMP(20) et l’opération d’accès aux drapeaux EQ, LE et GR peut modifer l’état de ces drapeaux. S’assurer d’y accéder avant la modification de l’état voulu. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque Cp1 est égal à Cp2. LE : A ON lorsque Cp1est plus petit que Cp2. GR : A ON lorsque Cp1 est plus grand que Cp2. Drapeau Adresse C1 < C2 C1 = C2 C1 > C2 GR 25505 OFF OFF ON EQ 25506 OFF ON OFF LE 25507 ON OFF OFF 299 Chapitre 5-19 Instructions de comparaison Exemple : Sauvegarde des résultats de CMP(20) 00000 L’exemple suivant montre comment sauvegarder immédiatement le résultat de la comparaison. Lorsque le contenu du HR 09 est supérieur à 010, 10200 passe à ON ; lorsque les deux sont égaux, 10201 passe à ON ; lorsque le contenu de HR 09 est inférieur à 010, 10202 passe à ON. Dans certaines applications, un seul des 3 OUT s’avère nécessaire, ce qui évite d’utiliser le TR 0 sans raison. Dans ce type de programmation, 10200, 10201 et 10202 ne sont modifiés que lorsque CMP(20) est exécuté. TR 0 CMP(20) HR 09 010 25505 10200 Plus grand 10201 Egal 10202 Plus petit 25506 25507 Adresse Instruction 00000 00001 00002 LD OUT CMP(20) 00000 0 TR HR 00003 00004 Adresse Instruction Opérande AND OUT 00005 00006 00007 00008 00009 00010 09 010 25505 10200 LD AND OUT LD AND OUT Opérande TR TR 0 25506 10201 0 25507 10202 5-19-2 TABLEAU DE COMPARAISON – TCMP(85) Symboles à contacts Zones de données d’opérandes CD : Données de comparaison TCMP(85) @TCMP(85) CD CD TB TB IR, SR, DM, EM, HR, TIM/CNT, LR R R R : Mot de résultat IR, SR, DM, EM, HR, TIM/CNT, LR, # TB : 1er mot du tableau de comp. IR, SR, DM, EM, HR, TIM/CNT, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, TCMP(85) n’est pas exécuté. Lorsque la condition d’exécution est à ON, TCMP(85) compare CD au contenu de TB, de TB+1, de TB+2, ..., et de TB+15. Lorsque le CD est égal au contenu de l’un de ces mots, le bit correspondant dans R passe à ON ; par exemple lorsque CD est égal au contenu de TB le bit 00 passe à ON ; lorsqu’il est égal au contenu de TB+1, le bit 01 passe à ON, ... ; les bits restants dans R passent à OFF. Drapeaux ER : 300 Le tableau de comparaison (de TB jusqu’à TB+ 15) dépasse la zone de données. Chapitre 5-19 Instructions de comparaison Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). Exemple L’exemple suivant indique les comparaisons effectuées et les résultats apportés pour TCMP(85). La comparaison est ici effectuée à chaque cycle lorsque l’IR 00000 passe à ON. 00000 TCMP(85) 001 Adresse Instruction 00000 00001 LD TCMP(85) Opérande 00000 DM 0000 216 CD : 001 DM Limites sup. IR 001 0210 Comparer les données dans IR 001 aux plages indiquées. DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 DM 0006 DM 0007 DM 0008 DM 0009 DM 0010 DM 0011 DM 0012 DM 0013 DM 0014 DM 0015 001 0000 216 R : 216 0100 0200 0210 0400 0500 0600 0210 0800 0900 1000 0210 1200 1300 1400 0210 1600 IR 21600 IR 21601 IR 21602 IR 21603 IR 21604 IR 21605 IR 21606 IR 21607 IR 21608 IR 21609 IR 21610 IR 21611 IR 21612 IR 21613 IR 21614 IR 21615 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 5-19-3 COMPARAISON DE BLOC – BCMP(68) Zones de données d’opérandes Symboles à contacts CD : Comparaison de données BCMP(68) @BCMP(68) CD CD CB CB IR, SR, DM, EM, HR, TIM/CNT, LR R R R : Mot de résultat IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # CB : 1er mot du bloc comparé IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations Chaque mot de limite inférieure du bloc comparé doit être inférieur ou égal à la limite supérieure. Les DM 6144 à DM 6655 ne sont pas utilisés pour R. Description Lorsque la condition d’exécution est à OFF, BCMP(68) n’est pas exécuté. Lorsque la condition est à ON, BCMP(68) compare CD aux plages définies par un bloc constitué de CB+1, CB+2, ..., CB+31. Chaque plage est définie par deux mots, le premier désignant la limite inférieure et le deuxième la limite supérieure. Lorsque CD se trouve dans l’une de ces plages (limites supérieures et infé- 301 Chapitre 5-19 Instructions de comparaison rieures incluses), le bit correspondant est placé dans R. Les comparaisons effectuées et le bit correspondant, dans R, positionné pour chaque comparaison à l’état vrai sont indiqués ci–dessous. Les bits restants dans R passent à l’état OFF. CB ≤ CD ≤ CB+1 Bit 00 CB+2 ≤ CD ≤ CB+3 Bit 01 CB+4 ≤ CD ≤ CB+5 Bit 02 CB+6 ≤ CD ≤ CB+7 Bit 03 CB+8 ≤ CD ≤ CB+9 Bit 04 CB+10 ≤ CD ≤ CB+11 Bit 05 CB+12 ≤ CD ≤ CB+13 Bit 06 CB+14 ≤ CD ≤ CB+15 Bit 07 CB+16 ≤ CD ≤ CB+17 Bit 08 CB+18 ≤ CD ≤ CB+19 Bit 09 CB+20 ≤ CD ≤ CB+21 Bit 10 CB+22 ≤ CD ≤ CB+23 Bit 11 CB+24 ≤ CD ≤ CB+25 Bit 12 CB+26 ≤ CD ≤ CB+27 Bit 13 CB+28 ≤ CD ≤ CB+29 Bit 14 CB+30 ≤ CD ≤ CB+31 Bit 15 Drapeaux ER : Le bloc comparé (entre CB et CB+31) dépasse la zone de données. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). Exemple L’exemple suivant illustre les comparaisons effectuées et les résultats obtenus pour BCMP(19). La comparaison est ici effectuée à chaque cycle lorsque l’IR 00000 est à ON. 00000 BCMP(68) 001 DM 0010 Adresse Instruction 00000 00001 LD BCMP(68) Opérandes 00000 LR 05 DM LR CD 001 001 Limites inférieures 0210 Comparer les données dans IR 001 (qui contient 0210) aux plages indiquées. 302 DM 0010 DM 0012 DM 0014 DM 0016 DM 0018 DM 0020 DM 0022 DM 0024 DM 0026 DM 0028 DM 0030 DM 0032 DM 0034 DM 0036 DM 0038 DM 0040 0000 0101 0201 0301 0401 0501 0601 0701 0801 0901 1001 1101 1201 1301 1401 1501 Limites supérieures DM 0011 DM 0013 DM 0015 DM 0017 DM 0019 DM 0021 DM 0023 DM 0025 DM 0027 DM 0029 DM 0031 DM 0033 DM 0035 DM 0037 DM 0039 DM 0041 0100 0200 0300 0400 0500 0600 0700 0800 0900 1000 1100 1200 1300 1400 1500 1600 001 0010 05 R : LR 05 LR 0500 LR 0501 LR 0502 LR 0503 LR 0504 LR 0505 LR 0506 LR 0507 LR 0508 LR 0509 LR 0510 LR 0511 LR 0512 LR 0513 LR 0514 LR 0515 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 Chapitre 5-19 Instructions de comparaison 5-19-4 DOUBLE COMPARAISON – CMPL(60) Symboles à contacts CMPL(60) Cp1 Zones de données d’opérandes Cp1 : 1er mot de la 1ère paire de mots comp. IR, SR, AR, DM, EM, HR, TIM/CNT, LR Cp2 Cp2 : 1er mot de la 2ème paire demots comp. –– IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations Cp1 et Cp1+1 doivent être dans la même zone de données. Cp2 et Cp2+1 doivent être dans la même zone de données. Régler le troisième opérande à 000. Description Lorsque la condition d’exécution est à OFF, CMPL(60) n’est pas exécuté. Lorsque la condition d’exécution est à ON, CMPL(60) associe le contenu hexadécimal à 4 digits de Cp1+1 à celui de Cp1 et celui de Cp2+1 à celui de Cp2, pour créer deux nombres hexadécimaux à 8 digits, Cp+1,Cp1 et Cp2+1,Cp2. Les deux nombres à 8 digits sont alors comparés et le résultat est transmis aux drapeaux GR, EQ et LE dans la zone SR. Conseils d’utilisation La mise en place d’autres instructions entre CMPL(60) et l’opération d’accès aux drapeaux peut modifer l’état de ces drapeaux. S’assurer d’y accéder avant la modification de l’état voulu. Drapeaux ER : GR : EQ : LE : Exemple : Résultat de sauvegarde de CMPL(60) 00000 Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). A ON lorsque Cp1+1,Cp1 est plus grand que Cp2+1,Cp2. A ON lorsque Cp1+1,Cp1 est égal Cp2+1,Cp2. A ON lorsque Cp1+1,Cp1 est plus petit que Cp2+1,Cp2. L’exemple suivant montre comment sauvegarder immédiatement le résultat de la comparaison. Lorsque le contenu des HR 10, HR 09 sont respectivement supérieurs à 011, 010, alors 10000 passe à ON ; lorsque les deux sont égaux, 10001 passe à ON ; lorsque le contenu des HR 10, HR 09 sont respectivement inférieurs à 011, 010, alors 10002 passe à ON. Dans certaines applications, un seul des 3 OUT est nécessaire, ce qui évite d’utiliser le TR 0. Dans ce type de programmation 10000, 10001 et 10002 ne sont modifiés que lorsque CMPL(60) est lancé. TR 0 CMPL(60) HR 09 010 Adresse Instruction 00000 00001 00002 LD OUT CMPL(60) Opérandes TR HR --- 00000 0 09 010 25505 10000 Plus grand que 10001 Egal à 10002 Plus petit que 25506 25507 00003 00004 00005 00006 00007 00008 00009 00010 AND OUT LD AND OUT LD AND OUT TR TR 25505 10000 0 25506 10001 0 25507 10002 303 Chapitre 5-19 Instructions de comparaison 5-19-5 COMPARAISON MULTI-MOTS – MCMP(19) Symboles à contacts Zones de données d’opérandes TB1 : 1er mot du tableau 1 MCMP(19) @MCMP(19) TB1 TB1 TB2 TB2 R R IR, SR, AR, DM, EM, HR, TIM/CNT, LR TB2 : 1er mot du tableau 2 IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Mot de résultat IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations TB1 et TB1+15 doivent se trouver dans la même zone de données. TB2 et TB2+15 doivent se trouver dans la même zone de données. Les DM 6144 à DM 6655 ne sont pas utilisés pour R. Description Lorsque la condition d’exécution est à OFF, MCMP(19) n’est pas exécuté. Lorsque la condition d’exécution est à ON, MCMP(19) compare TB1 à TB2, TB1+1 à TB2+1, TB1+2 à TB2+2, ... et TB1+15 à TB2+15. Lorsque la première pair est égale, le premier bit en R passe à OFF, etc., ainsi lorsque le contenu de TB1 est égal au contenu de TB2, le bit 00 passe à OFF ; lorsque le contenu de TB1+1 est égal au contenu de TB2+1, le bit 01 passe à OFF, etc. Le reste des bits en R passe à ON. Drapeaux ER : L’un des tableaux (de TB1 à TB1+15, ou de TB2 à TB2+15) dépasse la zone de données. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : 304 A ON lorsque la totalité des contenus des deux tableaux sont égaux et R=0000. Chapitre 5-19 Instructions de comparaison Exemple L’exemple suivant montre les comparaisons effectuées et les résultats fournis pour MCMP(19). La comparaison est effectuée ici durant chaque cycle lorsque 00000 est à ON. 00000 MCMP(19) 100 DM 0200 Adresse Instruction 00000 00001 LD MCMP(19) Opérandes 00000 DM 0300 DM DM TB1 : IR 100 IR 100 IR 101 IR 102 IR 103 IR 104 IR 105 IR 106 IR 107 IR 108 IR 109 IR 110 IR 111 IR 112 IR 113 IR 114 IR 115 TB2 : DM 0200 0100 0200 0210 ABCD ABCD ABCD ABCD 0800 0900 1000 ABCD ABCD ABCD 1400 0210 1212 DM 0200 DM 0201 DM 0202 DM 0203 DM 0204 DM 0205 DM 0206 DM 0207 DM 0208 DM 0209 DM 0210 DM 0211 DM 0212 DM 0213 DM 0214 DM 0215 0100 0200 0210 0400 0500 0600 0700 0800 0900 1000 0210 1200 1300 1400 0210 1600 100 0200 0300 R : DM 0300 DM 030000 DM 030001 DM 030002 DM 030003 DM 030004 DM 030005 DM 030006 DM 030007 DM 030008 DM 030009 DM 030010 DM 030011 DM 030012 DM 030013 DM 030014 DM 030015 0 0 0 1 1 1 1 0 0 0 1 1 1 0 0 1 5-19-6 COMPARAISON BINAIRE SIGNEE – CPS(––) Symboles à contacts Zones de données d’opérandes Cp1 : 1er mot comparé CPS(––) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Cp1 Cp2 : 2ème mot comparé Cp2 000 IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # 000 Non utilisé. Réglé à 000. Description Lorsque la condition d’exécution est à OFF, CPS(––) n’est pas exécutée. Lorsque la condition d’exécution est à ON, CPS(––) compare le contenu binaire signé de 16 bits (4 digits) en Cp1 et Cp2 et émet le résultat dans les drapeaux GR, EQ et LE de la zone SR. Conseils d’utilisation La mise en place d’autres instructions entre CPS(––) et l’opération accédant aux drapeaux EQ, LE et GR peut modifier l’état de ces drapeaux. S’assurer d’y accéder avant que l’état voulu ne soit modifié. 305 Chapitre 5-19 Instructions de comparaison Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque Cp1 est égal à Cp2. LE : A ON lorsque Cp1 est inférieur à Cp2. GR : A ON lorsque Cp1 est supérieur à Cp2. Etat des drapeaux Résultat de la comparaison Exemple Cp1 < Cp2 GR (SR 25505) EQ (SR 25506) 0 0 LE (SR 25507) 1 Cp1 = Cp2 0 1 0 Cp1 > Cp2 1 0 0 Dans l’exemple suivant, le contenu de 102 est supérieur à celui de DM 0020, ainsi 10000 passe à ON et les autres bits, 10001 et 10002, passent à OFF. 00500 Adresse TR 0 00000 00001 00002 CPS(––) 102 DM 0020 Instruction LD OUT CPS(––) 000 Opérandes TR DM 25505 10000 Plus grand que 10001 Egal à 25506 25507 10002 6 Plus petit que Cp1 : 102 F A 4 (28 580 décimal) > 00003 00004 00005 00006 00007 00008 00009 00010 AND OUT LD AND OUT LD AND OUT TR TR 00500 0 102 0020 000 25505 10000 0 25506 10001 0 25507 10002 Cp2 : DM 0020 A E 3 5 (–20 939 décimal) 5-19-7 COMPARAISON BINAIRE SIGNEE DOUBLE – CPSL(––) Symboles à contacts Zones de données d’opérandes Cp1 : 1er mot comparé CPSL(––) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Cp1 Cp2 : 2ème mot comparé Cp2 000 IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # 000 Non utilisé. Réglé à 000. Description 306 Lorsque la condition d’exécution est à OFF, CPSL(––) n’est pas exécutée. Lorsque le condition d’exécution est à ON, CPSL(––) compare le contenu binaire signé de 32 bits (8 digits) en Cp1+1, Cp1 et Cp2+1, Cp2 et émet le résultat dans les drapeaux GR, EQ et LE de la zone SR. Chapitre 5-19 Instructions de comparaison Conseils d’utilisation La mise en place d’autes instrucions entre CPSL(––) et l’opération accédant aux drapeaux EQ, LE et GR peut modifier l’état de ces drapeaux S’assurer d’y accéder avant que l’état voulu ne soit modifié. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque Cp1+1, Cp1 est égal à Cp2+1, Cp2. LE : A ON lorsque f Cp1+1, Cp1 est plus petit que Cp2+1, Cp2. GR : A ON lorsque f Cp1+1, Cp1 est plus grand que Cp2+1, Cp2. Etat des drapeaux Résultat de comparaison Exemple Cp1+1, Cp1 < Cp2+1, Cp2 GR (SR 25505) EQ (SR 25506) 0 0 LE (SR 25507) 1 Cp1+1, Cp1 = Cp2+1, Cp2 0 1 0 Cp1+1, Cp1 > Cp2+1, Cp2 1 0 0 Dans l’exemple suivant, le contenu de 103, 102 est plus petit que celui des DM 0021, DM 0020, ainsi 10002 passe à ON et les autres bits, 10000 et 10001, passent à OFF. 00500 Adresse TR 0 00000 00001 00002 CPSL(––) 102 DM 0020 Instruction LD OUT CPSL(––) 000 Opérandes TR DM 25505 10000 Plus grand que 25506 10001 Egal à 25507 10002 8 Cp1+1 : 103 2 B 6 F Plus petit que Cp1 : 102 5 7 B (–2 101 938 823 décimal) < 00003 00004 00005 00006 00007 00008 00009 00010 AND OUT LD AND OUT LD AND OUT Cp2+1 : DM 0021 0 5 6 A TR TR 00500 0 102 0020 000 25505 10000 0 25506 10001 0 25507 10002 Cp2 : DM 0020 9 9 D B (90 872 283 décimal) 307 Chapitre 5-19 Instructions de comparaison 5-19-8 COMPARAISON DE PLAGES DE ZONES – ZCP(––) Zones de données d’opérandes Symboles à contacts CD : Comparaison de données IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # ZCP(––) LL : Limite inférieure de la plage CD IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # LL UL : Limite supérieure de la plage UL IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Limitations LL doit être inférieur ou égal à UL. Description Lorsque la condition d’exécution est à OFF, ZCP(––) n’est pas exécutée. Lorsque la condition d’exécution est à ON, ZCP(––) compare CD à la plage définie par la limite inférieure LL et la limite supérieure UL et émet le résultat dans les drapeaux GR, EQ et LE de la zone SR. L’état résultant de ces drapeaux est présenté dans le tableau suivant : Etat des drapeaux Résultat de la comparaison CD < LL GR (SR 25505) EQ (SR 25506) 0 0 LE (SR 25507) 1 LL ≤ CD ≤ UL 0 1 0 UL < CD 1 0 0 Conseils d’utilisation La mise en place d’autres instructions entre ZCP(––) et l’opération accédant aux drapeaux EQ, LE et GR peut modifier l’état de ces drapeaux. S’assurer d’y accéder avant que l’état voulu ne soit modifié. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). LL est supérieur à UL. 308 EQ : A ON lorsque LL ≤ CD ≤ UL LE : A ON lorsque CD < LL. GR : A ON lorsque CD > UL. Chapitre 5-19 Instructions de comparaison Exemple Dans l’exemple suivant, le contenu de l’IR 002 (#6FA4) est comparé à la plage #0010 à #AB1F. Puisque #0010 ≤ #6FA4 ≤ #AB1F, le drapeau EQ et l’IR 10001 passent à ON. 00000 TR 0 ZCP(––) 002 #0010 #AB1F 25505 10000 Plus grand que (au-delà de la plage) 25506 10001 Egal à (dans la plage) 25507 10002 Adresse Instruction 00000 00001 00002 LD OUT ZCP(––) 00000 0 TR AND LL : #0010 0 0 1 0 < 00004 00005 00006 00007 00008 00009 00010 002 0010 AB1F 25505 # # 00003 Adresse Instruction Opérandes 6 CD : 002 F A 4 < Plus petit que (en-deça de la plage) Opérandes OUT LD AND OUT LD AND OUT TR TR UL : #AB1F A B 1 F 10000 0 25506 10001 0 25507 10002 10000 : O FF 10001 : ON 10002 : OFF 5-19-9 COMPARAISON DE PLAGES DE ZONES DOUBLES – ZCPL(––) Symboles à contacts Zones de données d’opérandes CD : Comparaison de données IR, SR, AR, DM, EM, HR, LR ZCPL(––) LL : Limite inférieure de la plage CD LL UL IR, SR, AR, DM, EM, HR, LR UL : Limite supérieure de la plage IR, SR, AR, DM, EM, HR, LR Limitations La valeur à 8 digits contenue dans LL+1, LL doit être inférieure ou égale à UL+1,UL. Description Lorsque la condition d’exécution est à OFF, ZCPL(––) n’est pas exécutée. Lorsque la condition d’exécution est à ON, ZCPL(––) compare la valeur à 8 digits dans CD, CD+1 à la plage définie par la limite inférieure LL+1, LL et la limite supérieure UL+1, UL et émet le résultat dans les drapeaux GR, EQ et LE de la zone SR. L’état résultant de ces drapeaux est indiqué dans le tableau suivant. 309 Chapitre 5-20 Instructions de conversion Etat des drapeaux Résultat de la comparaison GR (SR 25505) EQ (SR 25506) LE (SR 25507) CD, CD+1< LL+1,LL 0 0 1 LL+1,LL ≤ CD, CD+1 ≤ UL+1,UL 0 1 0 UL+1,UL < CD, CD+1 1 0 0 Conseils d’utilisation La mise en place d’autres instructions entre ZCP(––) et l’opération accédant aux drapeaux EQ, LE et GR peut modifier l’état de ces drapeaux. S’assurer d’y accéder avant que l’état voulu ne soit modifié. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). LL+1, LL est supérieur à UL+1,UL. EQ : LE : GR : A ON si LL+1,LL ≤ CD, CD+1 ≤ UL+1,UL. A ON si CD, CD+1 < LL+1,LL. A ON si CD, CD+1 > UL+1,UL. 5-20 Instructions de conversion 5-20-1 BCD EN BINAIRE – BIN(23) Symboles à contacts Zones de données d’opérandes S : Mot d’origine (BCD) BIN(23) @BIN(23) S S R R IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations DM 6144 à DM 6655 ne sont pas utilisées pour R. Description Lorsque la condition d’exécution est OFF, BIN(23) n’est pas exécutée. Lorsque la condition d’exécution est ON, BIN(23) convertit le contenu BCD de S en bits binaires de valeur numérique équivalente et émet cette valeur bianaire vers R. Seul le contenu de R est modifié ; le contenu de S reste inchangé. BCD S Binaire R BIN(23) est utilisée pour convertir BCD en binaire de manière à ce que toute valeur affichée sur la console de programmation ou sur tout autre périphérique de programmation apparaisse sous forme hexadécimale plutôt que décimale. Cette instruction est également utilisée pour convertir en binaire afin d’exécuter des opérations arithmétiques binaires plutôt que des opérations arithmétiques BCD, par exemple pour additionner des valeurs BCD et binaires. Drapeaux 310 ER : Le contenu de S n’est pas en BCD. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). Chapitre 5-20 Instructions de conversion EQ : A ON lorsque le résultat est zéro. 5-20-2 BINAIRE EN BCD – BCD(24) Symboles à contacts Zones de données d’opérandes S : Mot d’origine (binaire) BCD(24) @BCD(24) S S R R IR, SR, AR, DM, EM, HR, LR R : Mot de résultat Limitations IR, SR, AR, DM, EM, HR, LR Si le contenu de S dépasse 270F, le résultat converti dépasse 9999 et BCD(24) n’est pas exécutée. Lorsque l’instruction n’est pas exécutée, le contenu de R reste inchangé. Les DM 6144 à DM 6655 ne sont pas utilisées pour R. Description BCD(24) convertit le contenu binaire (hexadécimal) de S en bits BCD de valeur numérique équivalente et émet les bits BCD vers R. Seul le contenu de R est modifié ; le contenu de S reste inchangé. Binaire S BCD R BCD(24) est utilisée pour convertir binaire en BCD de manière à ce que toute valeur affichée sur la console de programmation ou sur tout autre périphérique de programmation apparaisse sous forme décimale plutôt qu’hexadécimale. Cette instruction est également utilisée pour convertir en BCD afin d’exécuter des opérations arithmétiques BCD plutôt que des opérations arithmétiques binaires, par exemple pour additionner des valeurs BCD et binaires. Drapeaux 5-20-3 ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat est zéro. BCD DOUBLE EN BINAIRE DOUBLE – BINL(58) Symboles à contacts Zones de données d’opérandes S : Premier mot d’origine (BCD) BINL(58) @BINL(58) S S R R IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Premier mot de résultat Limitations IR, SR, AR, DM, EM, HR, LR Les DM 6143 à DM 6655 ne sont pas utilisées pour R. 311 Chapitre 5-20 Instructions de conversion Description Drapeaux Lorsque la condition d’exécution est à OFF, BINL(58) n’est pas exécutée. Lorsque la condition d’exécution est à ON, BINL(58) convertit un nombre à huit digits dans S et S+1 en données binaires à 32 bits et émet les données converties vers R et R+1. ER : BCD S+1 S Binaire R+1 R Le contenu des mots S et/ou S+1 n’est pas en BCD. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat est zéro. 5-20-4 BINAIRE DOUBLE EN BCD DOUBLE – BCDL(59) Symboles à contacts Zones de données d’opérandes S : Premier mot d’origine (binaire) BCDL(59) @BCDL(59) S S R R IR, SR, AR, DM, EM, HR, LR R : Premier mot de résultat Limitations IR, SR, AR, DM, EM, HR, LR Si le contenu de S dépasse 05F5E0FF, le résultat converti dépasse 99999999 et BCDL(59) n’est pas exécutée. Lorsque l’instruction n’est pas exécutée, le contenu de R et R+1 reste inchangé. Les DM 6143 à DM 6655 ne sont pas utilisées pour R. Description Drapeaux BCDL(59) convertit le contenu binaire à 32 bits de S et S+1 en huit digits de données BCD et émet les données converties vers R et R+1. ER : Binaire S+1 S BCD R+1 R Le contenu de R et R+1 dépasse 99999999. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : 312 A ON lorsque le résultat est zéro. Chapitre 5-20 Instructions de conversion 5-20-5 DECODEUR 4 A 16 – MLPX(76) Zones de données d’opérandes Symboles à contacts S : Mot d’origine IR, SR, AR, DM, EM, HR, TIM/CNT, LR MLPX(76) @MLPX(76) S S Di Di R R Di : Indicateur de digit IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les deux digits à l’extrême droite de Di doivent chacun être compris entre 0 et 3. Tous les mots de résultat doivent être dans la même zone de données. Les DM 6144 à DM 6655 ne sont pas utilisées pour R. Description Lorsque la condition d’exécution est à OFF, MLPX(76) n’est pas exécutée. Lorsque la condition d’exécution est à ON, MLPX(76) convertit jusqu’à 4 digits hexadécimaux de quatre bits de S en valeurs décimales de 0 à 15, dont chacune est utilisée pour indiquer la position d’un bit. Le bit dont le numéro correspond à chaque valeur convertie est alors à ON dans un mot de résultat. Si plus d’un digit est spécifié, alors un bit est à ON dans chacun des mots successifs en commençant par R (voir exemples ci-dessous). L’exemple suivant concerne une opération de décodage à un digit à partir du digit numéro 1 de S, c’est-à-dire que dans ce cas Di est égal à 0001. Mot d’origine C Bit C (c.–à–d. bit numéro12) à ON. Premier mot de résultat 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Le premier digit et le nombre de digits à convertir sont indiqués dans Di. Si plus de digits sont indiqués que ceux restant en S (en comptant à partir du premier digit indiqué), les digits restant sont pris en recommençant au début de S. Le dernier mot nécessaire pour sauvegarder le résultat converti (R plus le nombre de digits à convertir) doit être dans la même zone de données que R, par exemple si deux digits sont convertis, l’adresse du dernier mot d’une zone de données n’est pas indiquée ; si trois digits sont convertis, les deux derniers mots d’une zone de données ne sont pas indiqués. Indicateur de digit Les digits de Di sont définis comme indiqué ci-dessous. Nombre de digits : 3 2 1 0 Indique le premier digit à convertir (0 à 3) Nombre de digits à convertir (0 à 3) 0 : 1 digit 1 : 2 digits 2 : 3 digits 3 : 4 digits Non utilisé (réglé à zéro) 313 Chapitre 5-20 Instructions de conversion Des exemples de valeurs Di et les conversions obtenues de digit en mot sont présentés ci-dessous. Di : 0010 Di : 0030 S S 0 R 0 R 1 R+1 1 R+1 2 2 R+2 3 3 R+3 Di : 0031 Di : 0023 S Drapeaux ER : S 0 R 0 R 1 R+1 1 R+1 2 R+2 2 R+2 3 R+3 3 L’indicateur de digits n’est pas défini ou R plus le nombre de digits dépasse une zone de données. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). Exemple Le programme suivant convertit les digits 1 à 3 des données du DM 0020 en positions de bits et règle à ON les bits correspondants dans trois mots successifs en commençant avec le HR 10. Le digit 0 n’est pas converti. 00000 MLPX(76) Adresse Instruction DM 0020 00000 00001 LD MLPX(76) #0021 R : HR 10 DM 0020 DM 0020 DM 0020 DM 0020 DM 0020 DM 0020 DM 0020 DM 0020 DM 0020 DM 0020 DM 0020 DM 0020 DM 0020 DM 0020 DM 0020 DM 0020 HR 1000 HR 1001 HR 1002 HR 1003 HR 1004 HR 1005 HR 1006 HR 1007 HR 1008 HR 1009 HR 1010 HR 1011 HR 1012 HR 1013 HR 1014 HR 1015 314 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 Non converti 1 1 1 1 0 1 1 0 0 0 0 0 15 6 0 R+1 : HR 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 00000 DM # HR HR 10 S : DM 0020 Opérandes HR 1100 HR 1101 HR 1102 HR 1103 HR 1104 HR 1105 HR 1106 HR 1107 HR 1108 HR 1109 HR 1110 HR 1111 HR 1112 HR 1113 HR 1114 HR 1115 0020 0021 10 R+2 : HR 12 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 HR 1200 HR 1201 HR 1202 HR 1203 HR 1204 HR 1205 HR 1206 HR 1207 HR 1208 HR 1209 HR 1210 HR 1211 HR 1212 HR 1213 HR 1214 HR 1215 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Chapitre 5-20 Instructions de conversion 5-20-6 CODEUR 16 A 4 – DMPX(77) Zones de données d’opérandes Symboles à contacts SB : Premier mot d’origine IR, SR, AR, DM, EM, HR, TIM/CNT, LR DMPX(77) @DMPX(77) SB SB R R Di Di R : Mot de résultat Limitations IR, SR, AR, DM, EM, HR, LR Di : Indicateur de digit IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Les deux digits à l’extrême droite de Di doivent chacun être compris entre 0 et 3. Tous les mots d’origine doivent être dans la même zone de données. Les DM 6144 à DM 6655 ne sont pas utilisées pour SB, R ou Di. Description Lorsque la condition d’exécution est à OFF, DMPX(77) n’est pas exécutée. Lorsque la condition d’exécution est à ON, DMPX(77) détermine la position du bit à l’état ON le plus haut dans S, le code sous forme d’une valeur hexadécimale à 1 digit correspondant au numéro de bit à l’état ON le plus haut puis transfère cette valeur hexadécimale vers le digit spécifié dans R. Les digits devant recevoir les résultats sont spécifiés dans Di, spécifiant également le nombre de digits à coder. L’exemple suivant concerne une opération de codage à un digit vers le digit numéro 1 de R, c’est-à-dire que dans ce cas Di est égal à 0001. Premier mot d’origine 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 C transféré pour indiquer le bit numéro 12 comme le bit à l’état ON le plus haut. Mot de résultat C Jusqu’à 4 digits de 4 mots d’origine successifs en commençant avec S sont codés et les digits sont écrits dans R dans l’ordre à partir du premier digit indiqué. Si plus de digits sont indiqués que ceux restant en R (en comptant à partir du premier digit indiqué), les digits restants sont placés sur les digits en recommençant au début de R. Le dernier mot à convertir (S plus le nombre de digits à convertir) doit être dans la même zone de données que SB. Indicateur de digit Les digits de Di sont définis comme indiqué ci-dessous. Nombre de digits : 3 2 1 0 Indique le premier digit à recevoir les données converties (0 à 3). Nombre de mots à convertir (0 à 3) 0 : 1 mot 1 : 2 mots 2 : 3 mots 3 : 4 mots Non utilisé. 315 Chapitre 5-20 Instructions de conversion Des exemples de valeurs Di et les conversions obtenues de mot en digits sont présentés ci-dessous. Di : 0011 Di : 0030 R R S 0 S 0 S+1 1 S+1 1 2 S+2 2 3 S+3 3 Di : 0013 Di : 0032 R Drapeaux ER : R 0 S 0 S S+1 1 S+1 1 2 S+2 2 3 S+3 3 L’indicateur de digits n’est pas défini ou le nombre de digits de S dépasse une zone de données. Le contenu d’un mot d’origine est zéro. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). 316 Chapitre 5-20 Instructions de conversion Lorsque 00000 est à ON, le schéma suivant code les mots IR 010 et IR 011 dans les deux premiers digits du HR 10 puis code les LR 10 et LR 11 dans les deux derniers digits du HR 10. Bien que l’état de chaque bit de mot d’origine ne soit pas présenté, il est supposé que le bit à l’état 1 (ON) présenté est le bit à l’état ON le plus haut dans le mot. Exemple 00000 DMPX(77) Adresse Instruction 010 00000 00001 LD DMPX(77) HR 10 Opérandes 00000 HR # 010 10 0010 LR HR # 10 10 0012 #0010 DMPX(77) 00002 LR 10 DMPX(77) HR 10 #0012 IR 010 IR 011 01000 01100 : : 01011 1 01109 1 01012 0 01110 0 : : : : : : 01015 0 01115 0 HR 10 LR 11 LR 10 LR 1100 LR 1000 LR 1001 1 : LR 1002 0 LR 1108 1 : : : LR 1109 0 : : : : : Digit 0 B Digit 1 9 Digit 2 1 Digit 3 8 : LR 1115 0 LR 1015 0 5-20-7 DECODEUR A 7 SEGMENTS – SDEC78) Symboles à contacts Zones de données d’opérandes S : Mot d’origine (binaire) IR, SR, AR, DM, EM, HR, TIM/CNT, LR SDEC(78) @SDEC(78) S S Di Di D D Di : Indicateur de digit Limitations IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # D : Premier mot de destination IR, SR, AR, DM, EM, HR, LR Di est compris dans les valeurs données ci-dessous. Tous les mots de destination doivent être dans la même zone de données. Les DM 6144 à DM 6655 ne sont pas utilisées pour D. Description Lorsque la condition d’exécution est à OFF, SDEC(78) n’est pas exécutée. Lorsque la condition d’exécution est à ON, SDEC(78) convertit le(s) digit(s) indiqué(s) de S en code d’affichage à 7 segments équivalent à 8 bits et le place dans le(s) mot(s) de destination à partir de D. 317 Chapitre 5-20 Instructions de conversion Tous les digits de S sont convertibles dans l’ordre à partir du premier digit indiqué. Le premier digit, le nombre de digits à convertir et la moitié de D à recevoir le premier code d’affichage à 7 segments (les 8 bits à l’extrême droite ou à l’extrême gauche) sont indiqués dans Di. Si plusieurs digits sont indiqués, ils sont placés dans l’ordre à partir de la moitié indiquée de D, chacun nécessitant deux digits.Si plus de digits sont indiqués que ceux restant en S (en comptant à partir du premier digit indiqué), les digits restant sont utilisés en recommençant au début de S. Indicateur de digit Les digits de Di sont définis comme indiqué ci-dessous. Nombre de digits : 3 2 1 0 Indique le premier digit de S à convertir (0 à 3). Nombre de digits à convertir (0 à 3) 0 : 1 digit 1 : 2 digits 2 : 3 digits 3 : 4 digits Première moitié de D à utiliser. 0 : 8 bits à l’extrême droite (1ère moitié) 1 : 8 bits à l’extrême gauche (2ème moitié) Non utilisé ; réglé à 0. Des exemples de valeurs Di et les conversions obtenues de binaires à 4 bits en affichage à 7 segments sont présentés ci-dessous. Di : 0011 Digits S 0 1 Di : 0030 D Digits S D 1ère moit. 0 1ère moit. 2ème moit. 1 2ème moit. 2 2 3 3 D+1 1ère moit. 2ème moit. Di : 0112 Digits S D 0 1ère moit. 1 2ème moit. 2 3 D+1 Di : 0130 Digits S 0 1 2 3 D 1ère moit. 2ème moit. D+1 1ère moit. 1ère moit. 2ème moit. 2ème moit. D+2 1ére moit. 2ème moit. 318 Chapitre 5-20 Instructions de conversion Exemple L’exemple suivant présente les données pour émettre un 8. Les lettres en minuscules indiquent quels bits correspondent à quels segments de l’affichage à 7 segments. Le tableau ci-dessous présente les données initiales et le code de conversion pour tous les digits hexadécimaux. 00000 @ SDEC(78) DM 0010 LR 07 100 LR 07 a IR 100 DM 0010 f 1 a 1 1 b 22 0 1 c 0 23 0 1 d 0 20 0 1 e 21 0 1 f 0 22 0 1 g 0 23 1 0 20 0 21 1 22 1 0 23 1 0 20 1 0 21 0 0 22 1 0 23 1 0 20 0 1 21 0 x100 0 x101 0 x102 0 x103 1 : Deuxième digit 0 0 : Un digit 1 2 0 ou 1 : 0 Bits 00 à 07 1 Bits 08 à 15. 3 Non utilisé. Digit Bit 00 8 Bit 07 Données initiales Bits – g b g e c d 0 Code converti (segments) f e d c b Affichage a 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 2 0 0 1 0 0 0 1 1 0 0 1 1 3 0 0 1 1 0 0 1 1 0 0 1 1 4 0 1 0 0 0 0 1 1 0 1 0 0 5 0 1 0 1 0 0 1 1 0 1 0 1 6 0 1 1 0 0 0 1 1 0 1 0 1 7 0 1 1 1 0 0 1 1 0 1 1 1 8 1 0 0 0 0 0 1 1 1 0 0 0 9 1 0 0 1 0 0 1 1 1 0 0 1 A 1 0 1 0 0 1 0 0 0 0 0 1 B 1 0 1 1 0 1 0 0 0 0 1 0 C 1 1 0 0 0 1 0 0 0 0 1 1 D 1 1 0 1 0 1 0 0 0 1 0 0 E 1 1 1 0 0 1 0 0 0 1 0 1 F 1 1 1 1 0 1 0 0 0 1 1 0 319 Chapitre 5-20 Instructions de conversion Drapeaux ER : Indicateur de digit incorrect ou dépassement de la zone de données pour la destination. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). 5-20-8 CONVERSION ASCII – ASC(86) Symboles à contacts Zones de données d’opérandes S : Mot d’origine IR, SR, AR, DM, EM, HR, TIM/CNT, LR ASC(86) @ASC(86) S S Di Di D D Di : Indicateur de digit Limitations IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # D : Premier mot de destination IR, SR, AR, DM, EM, HR, LR Di est compris dans les valeurs données ci-dessous. Tous les mots de destination doivent être dans la même zone de données. Les DM 6144 à DM 6655 ne sont pas utilisées pour D. Description Lorsque la condition d’exécution est à OFF, ASC(86) n’est pas exécutée. Lorsque la condition d’exécution est à ON, ASC(86) convertit le(s) digit(s) indiqué(s) de S en code ASCII de 8 bits équivalent et le place dans le(s) mot(s) de destination commençant par D. Tous les digits de S sont convertibles dans l’ordre à partir du premier digit indiqué. Le premier digit, le nombre de digits à convertir et la moitié de D à recevoir le premier code ASCII (les 8 bits à l’extrême droite ou à l’extrême gauche) sont indiqués dans Di. Si plusieurs digits sont indiqués, ils sont placés dans l’ordre à partir de la moitié indiquée de D, chacun nécessitant deux digits. Si plus de digits sont indiqués que ceux restant en S (en comptant à partir du premier digit indiqué), les digits restant sont utilisés en recommençant au début de S. Rem. Se reporter à l’Annexe H pour obtenir un tableau des caractères ASCII. Indicateur de digit Les digits de Di sont définis comme indiqué ci-dessous. Nombre de digits : 3 21 0 Indique le premier digit à convertir (0 à 3). Nombre de digits à convertir (0 à 3) 0 : 1 digit 1 : 2 digits 2 : 3 digits 3 : 4 digits Première moitié de D à utiliser. 0 : 8 bits à l’extrême droite (1ère moitié) 1 : 8 bits à l’extrême gauche (2ème moitié) Parité 320 0 : aucune 1 : paire 2 : impaire Chapitre 5-20 Instructions de conversion Des exemples de valeurs Di et les conversions obtenues de binaire à 4 bits vers le code ASCII à 8 bits sont présentés ci-dessous. Di : 0011 Di : 0030 S D S D 0 1ère moit. 0 1ère moit. 1 2ème moit. 1 2ème moit. 2 2 3 3 D+1 1ère moit. 2ème moit. Di : 0112 Di : 0130 S 0 1 D 1ère moit. 2ème moit. S 0 1 D 1ère moit. 2ème moit. 2 2 D+1 3 3 D+1 1ère moit. 1ère moit. 2ème moit. 2ème moit. D+2 1ère moit. 2ème moit. Parité Le bit à l’extrême gauche de chaque caractère ASCII (2 digits) est automatiquement ajusté à la parité paire ou impaire. Si aucune parité n’est indiquée, le bit à l’extrême gauche est toujours zéro. Lorsque la parité paire est indiquée, le bit à l’extrême gauche est ajusté de sorte que le nombre total de bits à ON soit pair, par exemple lorsqu’il est ajusté à la parité paire, ASCII “31” (00110001) est “B1” (10110001 : bit de parité à ON pour créer un nombre pair de bits à ON) ; ASCII “36” (00110110) est “36” (00110110 : bit de parité réglé à OFF puisque le nombre de bits à ON est déjà pair). L’état du bit de parité n’influe pas sur la signification du code ASCII. Lorsque la parité impaire est indiquée, le bit à l’extrême gauche de chaque caractère ASCII est ajusté de sorte qu’il y ait un nombre impair de bits à ON. Drapeaux ER : Indicateur de digit incorrect ou dépassement de la zone de données pour la destination. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). 5-20-9 ASCII EN HEXADECIMAL – HEX(––) Symboles à contacts Zones de données d’opérandes S : Premier mot d’origine HEX(––) @HEX(––) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # S S Di : Indicateur de digit Di Di IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # D D D : Mot de destination IR, SR, AR, DM, EM, HR, LR 321 Chapitre 5-20 Instructions de conversion Limitations Di est compris dans les valeurs données ci-dessous. Tous les mots d’origine doivent être dans la même zone de données. Les octets dans les mots d’origine doivent contenir le code ASCII équivalent aux valeurs hexadécimales, c’est-à-dire 30 à 39 (0 à 9) ou 41 à 46 (A à F). Les DM 6144 à DM 6655 ne sont pas utilisées pour D. Description Lorsque la condition d’exécution est à OFF, HEX(––) n’est pas exécutée. Lorsque la condition d’exécution est à ON, HEX(––) convertit le(s) octet(s) indiqué(s) du code ASCII du(des) mot(s) d’origine en hexadécimal équivalent et le(s) place(nt) en D. Jusqu’à 4 codes ASCII sont convertibles à partir du premier octet indiqué par S. Les valeurs hexadécimales converties sont ensuite placées dans D dans l’ordre à partir du digit indiqué. Le premier octet (8 bits à l’extrême droite ou à l’extrême gauche), le nombre d’octets à convertir et le digit de D à recevoir la première valeur hexadécimale sont indiqués dans Di. Si plusieurs octets sont indiqués, ils sont convertis dans l’ordre à partir de la moitié indiquée de S et jusqu’à S+1 et S+2, si nécessaire. Si plus de digits sont indiqués que ceux restant dans D (en comptant à partir du premier digit indiqué), les digits restant sont utilisés en recommençant au début de D. Les digits de D n’ayant pas reçu les données converties restent inchangés. Indicateur de digit Les digits de Di sont définis comme indiqué ci-dessous. Nombre de digits : 3 2 1 0 Indique le premier digit de D à utiliser (0 à 3). Nombre d’octets à convertir (0 à 3) 0 : 1 octet (code ASCII à 2 digits) 1 : 2 octets 2 : 3 octets 3 : 4 octets Premier octet de S à utiliser. 0 : 8 bits à l’extrême droite (1er octet) 1 : 8 bits à l’extrême gauche (2ème octet) Parité 322 0 : aucune 1 : paire 2 : impaire Chapitre 5-20 Instructions de conversion Des exemples de valeurs Di et de conversion de 8 bits ASCII en 4 bits hexadécimaux sont présentés ci-dessous. Di : 0011 Di : 0030 S D 1er octet 0 D 1er octet 0 2ème octet 1 2ème octet 1 S 2 2 S+1 3 3 1er octet 2ème octet Di : 0023 Di : 0133 D S S 1er octet 0 1er octet D 2ème octet 1 2ème octet 0 2 S+1 1 S+1 3 2 3 1er octet 1er octet 2ème octet 2ème octet S+2 1er octet 2ème octet Tableau de code ASCII Le tableau suivant indique les codes ASCII avant conversion et les valeurs hexadécimales après conversion. Se reporter à l’Annexe H pour obtenir un tableau des caractères ASCII. Données initiales Code ASCII Données converties Etat du bit (voir Rem.) Digit Bits 30 * 0 1 1 0 0 0 0 0 0 0 0 0 31 * 0 1 1 0 0 0 1 1 0 0 0 1 32 * 0 1 1 0 0 1 0 2 0 0 1 0 33 * 0 1 1 0 0 1 1 3 0 0 1 1 34 * 0 1 1 0 1 0 0 4 0 1 0 0 35 * 0 1 1 0 1 0 1 5 0 1 0 1 36 * 0 1 1 0 1 1 0 6 0 1 1 0 37 * 0 1 1 0 1 1 1 7 0 1 1 1 38 * 0 1 1 1 0 0 0 8 1 0 0 0 39 * 0 1 1 1 0 0 1 9 1 0 0 1 41 * 1 0 1 0 0 0 1 A 1 0 1 0 42 * 1 0 1 0 0 1 0 B 1 0 1 1 43 * 1 0 1 0 0 1 1 C 1 1 0 0 44 * 1 0 1 0 1 0 0 D 1 1 0 1 45 * 1 0 1 0 1 0 1 E 1 1 1 0 46 * 1 0 1 0 1 1 0 F 1 1 1 1 Rem. Le bit à l’extrême gauche de chaque code ASCII est ajusté à la parité. Parité Le bit à l’extrême gauche de chaque caractère ASCII (2 digits) est automatiquement ajusté à la parité paire ou impaire. Sans parité, le bit à l’extrême gauche est toujours zéro. Avec la parité impaire ou paire, le bit à l’extrême gauche de chaque caractère ASCII est ajusté de sorte qu’il y ait un nombre impair ou pair de bits à ON. Si la parité du code ASCII dans S ne correspond pas à la parité indiquée dans Di, le drapeau ER (SR 25503) est réglé à ON et l’instruction n’est pas exécutée. 323 Chapitre 5-20 Instructions de conversion Drapeaux ER : Indicateur de digit incorrect ou dépassement de la zone de données pour la destination. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). Exemple Dans l’exemple suivant, le 2ème octet du LR 10 et le 1er octet du LR 11 sont convertis en valeurs hexadécimales écrites dans le 1er et 2ème octets de l’IR 010. 00000 @HEX(––) LR 10 HR 10 Adresse Instruction 00000 00001 LD @HEX(––) Opérandes 00000 LR HR 010 10 10 010 HR 10 0 1 1 0 LR 12 3 5 3 4 LR 11 4 2 3 2 LR 10 3 1 3 0 Conversion en hexadécimal 010 0 0 2 1 5-20-10 MISE A L’ECHELLE – SCL(66) Symboles à contacts Zones de données d’opérandes S : Mot d’origine SCL(66) @SCL(66) S S P1 P1 R R IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # P1 : Premier mot de paramètres IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations S est en BCD. P1 à P1+3 doivent être dans la même zone de données. Les DM 6144 à DM 6655 ne sont pas utilisées de P1 à P1+3 ou R. Description SCL(66) est utilisée pour convertir linéairement une valeur hexadécimale à 4 digits en valeur BCD à 4 digits. Contrairement à BCD(24), qui convertit une valeur hexadécimale à 4 digits en son équivalent BCD à 4 digits (Shex → SBCD), SCL(66) convertit la valeur hexadécimale selon un rapport linéaire indiqué. La ligne de conversion est définie par deux points indiqués dans les mots de paramètre P1 à P1+3. Lorsque la condition d’exécution est à OFF, SCL(66) n’est pas exécutée. Lorsque la condition d’exécution est à ON, SCL(66) convertit la valeur hexadécimale à 4 digits dans S en valeur BCD à 4 digits sur la ligne définie par les points (P1, P1+1) et (P1+2, P1+3) et place les résultats dans R. Les résultats sont arrondis au nombre entier le plus proche. Si les résultats sont inférieurs à 0000, alors 0000 est écrit dans R et si les résultats sont supérieurs à 9999, alors 9999 est écrit dans R. 324 Chapitre 5-20 Instructions de conversion Le tableau suivant présente les fonctions et les plages des mots de paramètre : Paramètre Fonction Plage Commentaires P1 Point BCD #1 (AY) 0000 à 9999 --- P1+1 Point Hex. #1 (AX) 0000 à FFFF P1+2 Point BCD #2 (BY) 0000 à 9999 Ne pas définir P1+1=P1+3. --- P1+3 Point Hex. #2 (BX) 0000 à FFFF Ne pas définir P1+3=P1+1. Le schéma suivant indique le mot d’origine, S, converti en D selon la ligne définie par les points (AY, AX) et (BY, BX). Valeur après conversion (BCD) BY R AY AX S Valeur avant conversion (Hexadécimale) BX Les résultats sont calculés tout d’abord en convertissant toutes les valeurs en BCD puis en utilisant la formule suivante : Résultats = BY – [(BY – AY)/(BX – AX) X (BX – S)] Drapeaux ER : La valeur de P1+1 est égale à celle de P1+3. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). P1 et P1+3 ne sont pas dans la même zone de données ou autre erreur de réglage. EQ : Exemple A ON lorsque le résultat, R, est 0000. Lorsque 00000 est réglé à ON dans l’exemple suivant, les données d’origine BCD dans le DM 0100 (#0100) sont converties en hexadécimales selon les paramètres dans les DM 0150 à DM 0153. Le résultat (#0512) est alors écrit dans le DM 0200. 00000 @SCL(66) DM 0100 DM 0150 Instruction 00000 00001 LD @SCL(66) Opérandes 00000 DM DM DM DM 0200 DM 0150 DM 0151 DM 0152 DM 0153 Adresse 0010 0005 0050 0019 0100 0150 0200 DM 0100 0100 DM 0200 0512 325 Chapitre 5-20 Instructions de conversion 5-20-11 MISE A L’ECHELLE DE VALEUR BINAIRE SIGNEE VERS BCD – SCL2(––) Zones de données d’opérandes Symboles à contacts S : Mot d’origine SCL2(––) @SCL2(––) S S P1 P1 R R IR, SR, AR, DM, EM, HR, LR P1 : 1er mot de paramètre IR, SR, AR, DM, EM, HR, LR R : Mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations S doit être BCD. P1 jusqu’à P1+2 doivent être dans la même zone de données. Les DM 6144 à DM 6655 ne peuvent pas être utilisées en R. Description SCL2(––) est utilisé pour convertir linéairement une valeur hexadécimale signée à 4 digits en valeur à 4 digits en BCD. A la différence de BCD(24), convertissant une valeur hexadécimale à 4 digits en son équivalent à 4 digits en BCD (Shex → SBCD), SCL2(––) peut convertir la valeur hexadécimale signée selon un rapport linéaire indiqué. La ligne de conversion est définie par l’interception sur l’axe x et la pente de la ligne indiquée dans les mots de paramètre P1 à P1+2. Lorsque la condition d’exécution est à OFF, SCL2(––) n’est pas exécutée. Lorsque la condition d’exécution est à ON, SCL2(––) convertit la valeur hexadécimale signée à 4 digits dans S en valeur à 4 digits en BCD sur la ligne définie par l’interception sur l’axe x, (P1, 0) et la pente (P1+2 ÷ P1+1) et place les résultats en R. Le résultat est arrondi au nombre entier supérieur le plus proche. Lorsque le résultat est négatif, alors CY est placée à 1. Lorsque le résultat est inférieur à –9999, alors –9999 est écrit dans R. Lorsque le résultat est plus grand que 9999, alors 9999 est écrit dans R. Le tableau suivant montre les fonctions et les plages des mots de paramètre : Paramètre P1 326 Fonction Plage 8000 à 7FFF (–32 768 à 32 767) P1+1 Interception sur l’axe x (hex. signé) ∆X (hex. signé) P1+2 ∆Y (BCD) 0000 à 9999 8000 à 7FFF (–32 768 à 32 767) Chapitre 5-20 Instructions de conversion Le diagramme suivant montre le mot d’origine, S, converti en R selon la ligne définie par le point (P1, 0) et la pente ∆Y/∆X. Valeur après conversion (BCD) ∆Y ∆X R Valeur avant conversion (hexadécimale signé) S Interception sur l’axe x Le résultat peut être calculé en convertissant d’abord toutes les valeurs hexadécimales signées en BCD et en utilisant ensuite la formule suivante. R+ Drapeaux ER : Y X (S–P1) Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). P1 et P1+2 ne sont pas dans la même zone de données ou d’autre erreur de paramétrage. Exemple CY : A ON lorsque le résultat, R, est négatif. EQ : A ON lorsque le résultat, R, est 0000. Lorsque 05000 est à ON dans l’exemple suivant, les données de base binaires signées dans 001 (#FFE2) sont converties en BCD selon les paramètres des DM 0000 à DM 0002. Le résultat (#0018) est alors écrit dans le LR 00 et CY est à ON parce que le résultat est négatif. 05000 Adresse Instruction @SCL2(––) 00000 00001 001 DM 0000 Opérandes LD @SCL2(––) 05000 LR 00 DM LR 2 DM 0000 DM 0001 DM 0002 FFFD 0003 0002 FFFD IR 001 FFE2 LR 00 0018 001 0000 00 3 FFE2 CY=1 –0018 R+ + 0002 0003 2 3 (FFE2–FFFD) (–1B) + Le drapeau CY de ON est allumé parce que le résultat de conversion est négatif. –18 327 Chapitre 5-20 Instructions de conversion 5-20-12 MISE A L’ECHELLE DE VALEUR BCD VERS VALEUR BINAIRE SIGNEE – SCL3(––) Symboles à contacts Zones de données d’opérandes S : Mot d’origine SCL3(––) @SCL3(––) S S P1 P1 R R IR, SR, AR, DM, EM, HR, LR P1 : 1er mot de paramètre IR, SR, AR, DM, EM, HR, LR R : Mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations P1+1 doit être BCD. P1 jusqu’à P1+4 doivent être dans la même zone de données. Les DM 6144 à DM 6655 ne peuvent pas étre utilisées en R. Description SCL3(––) est utilisé pour convertir linéairement une valeur à 4 digits en BCD en hexadécimale signée à 4 digits. SCL3(––) convertit la valeur en BCD selon un rapport linéaire indiqué. La ligne de conversion est définie par l’interception sur l’axe y et la pente de la ligne indiquée dans les mots P1 à P1+2. Lorsque la condition d’exécution est à OFF, SCL3(––) n’est pas exécutée. Lorsque la condition d’exécution est à ON, SCL3(––) convertit la valeur à 4 digits en BCD dans S en valeur hexadécimale signée à 4 digits sur la ligne définie par l’interception sur l’axe y (0, P1) et la pente (P1+2 ÷ P1+1) et place le résultat en R. Il est arrondi au nombre entier supérieur le plus proche. Le contenu de S peut être de 0000 à 9999, mais S sera traité comme valeur négative si CY=1, ainsi la portée utile de S est réellement comprise entre –9999 et 9999. S’assurer de placer le signe désiré dans CY en utilisant STC(40) ou CLC(41). Les mots P1+3 et P1+4 de paramètre définissent des limites supérieures et inférieures pour le résultat. Lorsque le résultat est supérieur à la limite supérieure dans P1+3, alors la limite supérieure est écrite dans R. Lorsque le résultat est inférieur à la limite inférieure dans P1+4, alors la limite inférieure est écrite dans R. Rem. Les limites supérieures et inférieures pour une Unité d’entrée analogique de 12 bits seraient 07FF et F800. Le tableau suivant montre les fonctions et les plages des mots de paramètre : Paramètre P1 Fonction Plage 8000 à 7FFF (–32 768 à 32 767) P1+1 Interception sur l’axe x (hex. signé) ∆X (BCD) P1+2 ∆Y (hex. signé) 8000 à 7FFF (–32 768 à 32 767) P1+3 Limite supérieure (hex. signé) Limite inférieure (hex. signé) 8000 à 7FFF (–32 768 à 32 767) P1+4 0001 à 9999 8000 à 7FFF (–32 768 à 32 767) Rem. Ne pas régler 0000 pour X (BCD à 4 digits) dans le deuxième mot (P1+1). Le contenu de P1+1 est utilisé pour diviser et pour corriger la conversion ne pouvant pas être obtenue lors de la division par 0000. De plus les bons résultats ne peuvent pas être obtenus si une valeur hexadécimale est utilisée. Utiliser toujours les données BCD entre 0001 et 9999 pour P1+1. 328 Chapitre 5-20 Instructions de conversion Le diagramme suivant montre le mot d’origine, S, converti en R selon la ligne définie par le point (0, P1) et la pente ∆Y/∆X. Valeur après conversion (hexadécimale signé) Limite supérieure ∆Y ∆X R Interception sur l’axe y Valeur avant conversion (BCD) S Limite inférieure Le résultat peut être calculé en convertissant d’abord toutes les valeurs de BCD en binaire signé et en utilisant ensuite la formule suivante : R+ Drapeaux ER : ǒ Y X Ǔ S ) P1 Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). Le contenu de S n’est pas en BCD. CY : CY n’est pas modifiée par SCL3(––). CY montre le signe de S avant exécution. EQ : A ON lorsque le résultat, R, est 0000. 329 Chapitre 5-20 Instructions de conversion Exemple L’état de 00101 détermine le signe du mot d’origine de BCD dans l’exemple suivant. Lorsque 00101 est à ON, alors le mot de source est négatif. Lorsque 00100 est mis à ON, les données de base en BCD dans le LR 02 sont converties en binaire signé selon les paramètres des DM 0000 à DM 0004. Le résultat est alors écrit dans le DM 0100. Dans la deuxième conversion, l’équivalent binaire signé de –1035 est inférieur à la limite inférieure indiquée dans le DM 0004, ainsi la limite inférieure est écrite dans le DM 0100. 25313 (toujours à ON) Adresse CLC(41) 00000 00001 00002 00101 00004 00005 00101 STC(40) 00100 @SCL3(––) Instruction Opérandes LD CLC(41) LD STC(40) LD SCL3(––) LR 02 25313 00101 00100 LR DM DM DM 0000 DM 0100 02 0000 0100 Hex. signé CY=1 CY=0 DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 6 3 0005 BCD 0005 0003 0006 07FF F800 LR 02 0100 LR 02 1035 DM 0100 00CD DM 0100 F800 5-20-13 HEURES EN SECONDES – SEC(––) Symboles à contacts Zones de données d’opérandes SEC(––) @SEC(––) S S R R 000 000 S : Début mot d’origine (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Début mot de résultat (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR 000 : Aucune fonction 000 Limitations S et S+1 doivent être dans la même zone de données. R et R+1 doivent être dans la même zone de données. S et S+1 doivent être BCD et doivent être dans le format approprié de heures/minutes/secondes. Les DM 6143 à DM 6655 ne peuvent pas être utilisés en R. Description SEC(––) est utilisée pour convertir la notation de temps dans heures/minutes/ secondes en équivalent juste S en secondes . Pour les données de base, les secondes sont indiquées dans les bits 00 jusqu’à 07 et les minutes sont indiquées dans les bits 08 à 15 de S. Les heures sont indiquées dans S+1. Le maximum est ainsi de 9 999 heures, 59 minutes et 59 secondes. Le résultat est émis en R et R+1. La valeur maximale obtenue est 35 999 999 secondes. 330 Chapitre 5-20 Instructions de conversion Drapeaux ER : S et S+1 ou R et R+1 ne sont pas dans la même zone de données. S et/our S+1 ne contiennent pas le BCD. Le nombre de secondes et/ou de minutes dépassent 59. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : Exemple A ON lorsque le résultat est zéro. Lorsque 00000 est à OFF (c.-à–d. lorsque la condirtion d’exécution est à ON), l’instruction suivante convertit les heures, minutes et secondes données dans les HR 12 et HR 13 en secondes et sauvegarde les résultats dans les DM 0100 et DM 0101 comme montré. 00000 Adresse SEC(––) HR 12 DM 0100 00000 00001 Instruction Opérandes LD NOT SEC(––) 00000 HR DM 000 HR 12 HR 13 3 2 2 8 0 1 7 5 2 815 h, 32 mn, 07 s DM 0100 DM 0101 5 1 9 0 2 1 7 3 10 135 927 s 12 0100 000 5-20-14 SECONDES EN HEURES – HMS(––) Zones de données d’opérandes Symboles à contacts HMS(––) @HMS(––) S S R R 000 000 S : Début mot d’origine (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Début mot de résultat (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR 000 : Aucune fonction 000 Limitations S et S+1 doivent être dans la même zone de données. R et R+1 doivent être dans la même zone de données. S et S+1 doivent être BCD et doivent être compris entre 0 et 35 999 999 secondes. Les DM 6143 à DM 6655 ne peuvent pas être utilisées en R. Description HMS(––) est utilisée pour convertir la notation de temps en secondes en son équivalent en heures/minutes/secondes. Le nombre de secondes désignée en S et S+1 est converti en heures/minutes/ secondes et placé en R et R+1. Pour les résultats, les secondes sont placées dans les bits 00 à 07 et les minutes sont placées dans les bits 08 à 15 de R. Les heures sont placées dans R+1. Les maximum est : pour les heures 9 999, pour les minutes 59 et pour les secondes 59. Drapeaux ER : S et S+1 ou R et R+1 ne sont pas dans la même zone de données. 331 Chapitre 5-20 Instructions de conversion S et/ou S+1 n’est pas en BCD ou dépasse 36 000 000 secondes. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : Exemple A ON lorsque le résultat est zero. Lorsque 00000 est à OFF (c.-à-d. lorsque la condition d’exécution est à ON), l’instruction suivante convertit les secondes données dans les HR 12 et HR 13 en heures, minutes et secondes, et sauvegarde les résultats dans les DM 0100 et DM 0101 comme montrés. 00000 Adresse HMS(––) HR 12 DM 0100 00000 00001 Instruction Opérandes LD NOT HMS(––) 00000 HR DM 000 HR 12 HR 13 5 1 9 0 2 1 7 3 DM 0100 DM 0101 3 2 2 8 0 1 7 5 10 135 927 s 12 0100 000 2 815 h, 32 mn, 07 s 5-20-15 LIGNE – LINE(––) Zones de données d’opérandes Symboles à contacts S : 1er mot ensb. de 16 mots d’origine LINE(––) @LINE(––) S S C C D D IR, SR, AR, DM, EM, HR, TIM/CNT, LR C : Indicateur de bit en colonne (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # D : Mot de destination IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations S et S+15 doivent se trouver dans la même zone de données. C doit être un BCD compris entre #0000 et #0015. Les DM 6144 à DM 6655 ne peuvent pas être utilisée pour D. Description Lorsque la condition d’exécution est à OFF, LINE(––) n’est pas exécuté. Lorsque la condition d’exécution est à ON, LINE(––) copie la colonne C de bit à partir de l’ensemble à 16 mots (S à S+15) jusqu’aux 16 bits de mot D (00 à 15). C Bit 15 Bit 00 S S+1 S+2 S+3 . . . 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 S+15 0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0 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 . . . . . . . . . Bit 15 D 332 0 Bit 00 . . . 0 1 1 1 Chapitre 5-20 Instructions de conversion Drapeaux ER : L’indicateur C de bit en colonne n’est pas en BCD, ou le bit non existent est spécifié (c.-à–d. la caractéristique de bit doit être comprise entre 00 et 15). Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). S et S+15 ne sont pas dans la même zone de données. EQ : Exemple A ON lorsque le contenu de D est zéro ; sinon à OFF. L’exemple suivant montre comment utiliser LINE(––) pour déplacer la colonne de bit 07 de l’ensemble (IR 100 to IR 115) au DM 0100. 00000 Adresse LINE(––) 00000 00001 100 #0007 Instruction Opérandes LD LINE(––) 00000 DM 0100 # DM 100 0007 0100 5-20-16 LIGNE EN COLONNE – COLM(––) Zones de données d’opérandes Symboles à contacts S : Mot d’origine COLM(––) @COLM(––) S S D D C C IR, SR, AR, DM, EM, HR, TIM/CNT, LR D : 1er mot de l’ensemble de destination IR, SR, AR, DM, EM, HR, TIM/CNT, LR C : Indicateur de bit en colonne (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Limitations D et D+15 doit se trouver dans la même zone de données. Les DM 6129 à DM 6655 ne peuvent pas être utilisé pour D. C doit être un BCD compris entre #0000 et #0015. Description Lorsque la condition d’exécution est à OFF, COLM(––) n’est pas exécutée. Lorsque la condition d’exécution est à ON, COLM(––) copie les 16 bits de mot S (00 à 15) dans la colonne de bits, C, de l’ensemble 16 mots (D à D+15). Bit 15 S 0 Bit 00 . . . . . . . 0 1 1 1 C Bit 15 Bit 00 D D+1 D+2 D+3 . . . 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 D+15 0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0 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 . . . . . . . . . 333 Chapitre 5-20 Instructions de conversion Drapeaux ER : L’indicateur de bit C n’est pas BCD, ou il est caractérisé par un bit non existant (c.–à–d. la caractéristique de bit doit être compris entre 00 et 15). Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). Les D et D+15 ne sont pas la même zone de données. EQ : Exemple A ON lorsque le contenu de S est zéro ; sinon à OFF. L’exemple suivant montre comment utiliser COLM(––) pour déplacer les contenus du mot DM 0100 (00 à 15) dans la colonne de 15 bits de l’ensemble (DM 0200 à DM 0215). 00000 COLM(––) DM 0100 DM 0200 Adresse Instruction 00000 00001 LD COLM(––) 00000 DM DM # #0015 5-20-17 Opérandes 0100 0200 0015 COMPLEMENT A 2 – NEG(––) Symboles à contacts Zones de données d’opérandes NEG(––) @NEG(––) S S R R 000 000 S : Mot d’origine IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Mot de résultat IR, SR, AR, DM, EM, HR, LR 000 Non utilisé. Réglé à 000. Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisées pour R. Description Convertit le contenu hexadécimal à quatre digits du mot d’origine (S) en complément à 2 et émet le résultat au mot de résultat (R). Cette opération est identique en soustrayant S de 0000 et produisant le résultat dans R ; elle calculera la valeur absolue des données binaires signées négatives. Lorsque le contenu de S est 0000, le contenu de R est également 0000 après exécution et EQ (SR 25506) passe à ON. Lorsque le contenu de S est 8000, le contenu de R est également 8000 après exécution et UF (SR 25405) passe à ON. Rem. Se reporter au paragraphe 1-7 Calcul avec données binaires signées pour plus d’informations. Drapeaux 334 ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le contenu de R est zéro après exécution ; autrement à OFF. UF : A ON lorsque le contenu de S est 8000 ; sinon à OFF. Chapitre 5-20 Instructions de conversion Exemple L’exemple suivant montre comment utiliser NEG(––) pour trouver le complément à 2 du contenu du DM 0005 et émettre le résultat dans l’IR 105. 00100 NEG(––) DM 0005 105 Adresse Instruction 00000 00001 Opérandes LD NEG(––) 00100 DM 000 0005 105 000 #0000 – 5-20-18 #001F Contenu du DM 0005. #FFE1 Sortie vers l’IR 105. COMPLEMENT A 2 DOUBLE – NEGL(––) Symboles à contacts Zones de données d’opérandes NEGL(––) @NEGL(––) S S R R 000 000 S : 1er mot d’origine IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : 1er mot de résultat IR, SR, AR, DM, EM, HR, LR 000 Non utilisé. Réglé à 000. Limitations Les DM 6143 à DM 6655 ne peuvent pas être utilisées pour R. S et S+1 doivent se trouver dans la même zone de données, de même pour R et R+1. Description Convertit le contenu hexadécimal à huit digits des mots d’origine (S et S+1) en complément à 2 et émet le résultat aux mots de résultat (R et R+1). Cette opération est identique à la soustraction du contenu à huit digits de S et S+1 du 0000 0000 et produisant le résultat à R et R+1 ; elle calculera la valeur absolue des données binaires signées négatives. Lorsque le contenu de S est 0000 0000, le contenu de R est également 0000 0000 après exécution et EQ (SR 25506) sera à ON. Lorsque le contenu de S est 8000 0000, le contenu de R est également sur 8000 0000 après exécution et UF (SR 25405) sera à ON. Rem. Se reporter au paragraphe 1-7 Calcul avec données binaires signées pour plus d’informations. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le contenu de R+1, R est zéro après exécution ; sinon à OFF. UF : A ON lorsque le contenu de S+1, S est 8000 0000 ; sinon à OFF. 335 Chapitre 5-20 Instructions de conversion Exemple L’exemple suivant montre comment utiliser NEGL(––) pour trouver le complément à 2 du contenu des IR 151, IR 150 (001F FFFF) et émet le résultat des HR 04, HR 03. 00000 NEGL(––) 150 LR 03 Adresse Instruction 00000 00001 LD NEGL(––) Opérandes 00000 000 LR 0000 S+1 : IR 151 – 001F R+1 : LR 04 FFE0 336 0000 S : IR 150 FFFF R : LR 03 0001 150 03 000 Chapitre 5-21 Instructions de calcul BCD 5-21 Instructions de calcul BCD 5-21-1 REPORT DE DEFINITION – STC(40) Symboles à contacts STC(40) @STC(40) Lorsque la condition d’exécution est à OFF, STC(40) ne s’exécute pas. Lorsque la condition d’exécution est à ON, STC(40) passe CY (SR 25504) à ON. Rem. Se reporter à Annexe B – Utilisation des drapeaux d’erreurs et mathématiques où se trouve un tableau listant les instructions allouées à CY. 5-21-2 ANNULATION REPORT – CLC(41) Symboles à contacts CLC(41) @CLC(41) Lorsque la condition d’exécution est à OFF, STC(41) ne s’exécute pas. Lorsque la condition d’exécution est à ON, STC(41) passe CY (SR 25504) à OFF. CLEAR CARRY (ANNULATION REPORT) est utilisé pour mettre CY (SR 25504) à “0” (mettre à l’état OFF). Rem. Se reporter à Annexe B – Utilisation des drapeaux d’erreurs et mathématiques où se trouve un tableau listant les instructions allouées à CY. 5-21-3 ADDITION VALEUR BCD – ADD(30) Symboles à contacts Zones de données d’opérandes Au : Mot cumulative (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # ADD(30) @ADD(30) Au Au Ad Ad R R Ad : Mot cumulateur (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque l’état d’exécution est à OFF, ADD(30) ne s’exécute pas. Lorsque la condition d’exécution est à ON, ADD(30) additionne le contenu de Au, Ad et CY, et insère le résultat dans R. CY est sélectionné si le résultat est supérieur à 9999. Au + Ad + CY Drapeaux ER : CY R Au et/ou Ad n’est pas une valeur BCD. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). 337 Chapitre 5-21 Instructions de calcul BCD Exemple CY : A ON lorsque le résultat contient un report. EQ : A ON lorsque le résultat est égal à 0. Lorsque 00002 est égal à ON, le programme représenté par le schéma suivant met CY à zéro avec CLC(41), ajoute le contenu de l’IR 030 à une constante (6103), insère le résultat dans le DM 0100, et transfère tous les zéros ou 0001 dans le DM 0101 selon l’état de CY (25504). Ceci garantit que tout report depuis le dernier digit est préservé dans R+1 afin que tout le résultat puisse ensuite être traité comme une donnée à huit digits. Adresse TR 0 00002 CLC(41) ADD(30) 00000 00001 00002 00003 Instruction LD OUT CLC(41) et(30) TR 030 # DM #6103 DM 0100 25504 MOV(21) 00004 00005 et MOV(21) #0001 DM 0101 25504 MOV(21) Opérandes 00006 00007 00008 LD et NOT MOV(21) #0000 DM 0101 00002 0 030 6103 0100 25504 # DM TR 0001 0101 0 25504 # DM 0000 0101 Bien que deux ADD(30) puissent être utilisés ensemble pour exécuter une addition BCD à 8 digits, ADDL(54) a été conçu spécialement dans cette intention. 5-21-4 SOUSTRACTION VALEUR BCD – SUB(31) Symboles à contacts Zones de données d’opérandes Mi : Mot diminutive (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # SUB(31) @SUB(31) Mi Mi Su Su R R Su : Mot diminuteur (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, SUB(31) ne s’exécute pas. Lorsque la condition d’exécution est à ON, SUB(31) soustrait le contenu du Su et CY de Mi, et insère le résultat dans R. Si le résultat est négatif, CY est sélectionné et le complément à 10 du résultat réel est inséré dans R. Pour convertir le complément à 10 vers le vrai résultat, soustraire le contenu de R à zéro (voir exemple ci-dessous). Mi – Su – CY Drapeaux 338 ER : CY Mi et/ou Su n’est pas une valeur BCD. R Chapitre 5-21 Instructions de calcul BCD Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). CY : A ON lorsque le résultat est négatif, c.-à-d. lorsque Mi est inférieur à Su plus CY. EQ : A ON lorsque le résultat est égal à 0. ! Attention Veiller à supprimer le drapeau de report avec CLC(41) avant d’exécuter SUB(31) si son état précédent n’est pas nécessaire, et à vérifier l’état de CY après une soustraction avec SUB(31). Si CY est à l’état ON suite à l’exécution de SUB(31) (c.-à-d., si le résultat est négatif), le résultat est émis en complément à 10 du résultat réel. Pour convertir cette valeur en résultat réel, soustraire la valeur contenue dans R de 0. Exemple Lorsque 00002 est à ON, le programme à contacts qui suit met CY à zéro, soustrait le contenu du DM 0100 et CY du contenu de 010 et insère le résultat dans HR 10. Si CY est sélectionné en exécutant SUB(31), le résultat du HR 10 est soustrait de zéro (à noter que CLC(41) est nécessaire, ici également, pour obtenir un résultat précis), le résultat est réinséré dans les HR 10 et HR 1100 passe à ON pour indiquer un résultat négatif. Si CY n’est pas sélectionné en exécutant SUB(31), le résultat est positif, la seconde soustraction n’est pas exécutée, et HR 1100 ne passe pas à ON. Le HR 1100 est programmé comme un bit d’auto–maintien de façon à ce qu’une modification de l’état de CY ne le passera pas à OFF lorsque du prochain balayage du programme. Cet exemple utilise des formes sans changement d’état de SUB(31) afin de n’exécuter l’opération de soustraction que lorsque 00002 passe à ON. Lorsqu’une autre opération de soustraction est exécutée, 00002 doit passer à OFF sur au moins un cycle (en remettant à zéro le HR 1100) puis repasse à ON. TR 0 00002 CLC(41) @SUB(31) 010 Première soustraction DM 0100 HR 10 25504 CLC(41) @SUB(31) #0000 Seconde soustraction HR 10 HR 10 25504 HR 1100 HR 1100 Mis sur ON pour indiquer un résultat négatif. 339 Chapitre 5-21 Instructions de calcul BCD Adresse Instruction 00000 00001 00002 00003 LD OUT CLC(41) @SUB(31) Opérandes TR DM HR 00004 00005 00006 00007 00008 00009 00010 00011 et CLC(41) @SUB(31) LD LD OR et LD OUT # HR HR TR 00002 0 010 0100 10 25504 HR 0000 10 10 0 25504 1100 HR 1100 La première et la seconde soustraction indiquées dans ce schéma sont illustrées ci–dessous en utilisant des exemples de données pour le DM 0100 et 010 . Rem. L’opération SUB(31) implique la soustraction de Su et de CY de 10 000 plus Mi. Pour des résultats positifs, le digit de gauche est tronqué. Pour des résultats négatifs, le complément à 10 est calculé. La procédure utilisée pour l’obtention du résultat approprié est la suivante : Première soustraction IR 010 1029 DM 0100 – 3,52 CY –0 HR 10 7577 (1029 + (10000 – 3,52)) CY 1 (résultat négatif) Seconde soustraction 0000 HR 10 –7577 CY –0 HR 10 2423 (0000 + (10000 – 7577)) CY 1 (résultat positif) Dans le cas qui précède, le programme doit passer le HR 1100 à ON pour indiquer que la valeur contenue dans le HR 10 est négative. 5-21-5 MULTIPLICATION VALEUR BCD – MUL(32) Symboles à contacts Zones de données d’opérandes Md : multiplicative (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # MUL(32) @MUL(32) Md Md Mr Mr R R Mr : Multiplicateur (BCD) Limitations 340 IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Chapitre 5-21 Instructions de calcul BCD Description Lorsque la condition d’exécution est à OFF, MUL(32) ne s’exécute pas. Lorsque la condition d’exécution est à ON, MUL(32) multiplie Md par le contenu de Mr, et insère le résultat en R et R+1. Md X R +1 Exemple Mr R Lorsque l’IR 00000 est à ON avec le programme suivant, les contenus de l’IR 013 et du DM 0005 sont multipliés et le résultat est inséré dans lesHR 07 et HR 08. Des exemple des données et de calculs sont montrés dans le programme suivant. 00000 MUL(32) 013 DM 0005 Adresse 00000 00001 Instruction HR 07 0 Drapeaux 0 R+1 : HR 08 0 0 8 ER : 00000 DM HR 013 0005 07 Md : IR 013 3,5 6 3 X Opérandes LD MUL(32) Mr : DM 0005 0 2 5 3 R : HR 07 9 0 0 Md et/ou Mr n’est pas une valeur BCD. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). CY : A ON lorsque le résultat contient un report. EQ : A ON lorsque le résultat est égal à 0. 5-21-6 DIVISION VALEUR BCD – DIV(33) Symboles à contacts DIV(33) Zones de données d’opérandes Dd : Mot dividende (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Dd Dr : Mot diviseur (BCD) Dr IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R R : Premier mot de résultat (BCD) IR, SR, AR, DM, EM, HR, LR Limitations R et R+1 doivent se trouver dans la même zone de données. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. 341 Chapitre 5-21 Instructions de calcul BCD Lorsque la condition d’exécution est à OFF, DIV(33) ne s’exécute pas et le programme passe à l’instruction suivante. Lorsque la condition d’exécution est à ON, Dd est divisé par Dr et le résultat est inséré dans R et R + 1 : le quotient dans R et le reste dans R + 1. Description Reste Quotient R+1 R Dr Drapeaux ER : Dd Dd ou Dr n’est pas une valeur BCD. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat est égal à 0. Lorsque l’IR 00000 est à ON avec le programme suivant, le contenu de l’IR 216 est divisé par le contenu du HR 09 et le résultat est inséré dans les DM 0017 et DM 0018. Des exemples de données et de calculs sont montrés dans le programme suivant. Exemple 00000 Adresse DIV(33) 216 Instruction 00000 00001 Opérandes LD DIV(33) 00000 HR 09 DM 0017 Quotient 1 0 R : DM 0017 1 5 0 Dd : HR 09 0 0 3 3 HR DM Reste 216 09 0017 R + 1 : DM 0018 0 0 0 2 Dd : IR 216 4 5 2 5-21-7 ADDITION VALEUR BCD DOUBLE – ADDL(54) Zones de données d’opérandes Symboles à contacts Au : 1er mot cululande (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR ADDL(54) @ADDL(54) Au Au Ad Ad R R Ad : 1er mot cumulateur (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, ADDL(54) ne s’exécute pas. Lorsque la condition d’exécution est à ON, ADDL(54) additionne le contenu de CY aux valeurs à 8 digits dans Au et Au+1 à la valeur à 8 digits dans Ad et Ad+1, et 342 Chapitre 5-21 Instructions de calcul BCD insère le résultat dans R et R+1. CY n’est sélectionné que si le résultat est supérieur à 99999999. Au + 1 Au Ad + 1 Ad + CY Drapeaux ER : CY R+1 R Au et/ou Ad n’est pas une valeur BCD. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). Exemple CY : A ON lorsque le résultat contient un report. EQ : A ON lorsque le résultat est égal à 0. Lorsque 00000 est à ON, la section du programme suivant additionne les deux nombres à 12 digits, le premier contenu des LR 00 à LR 02 et le deuxième des DM 0010 à DM 0012. Le résultat est inséré dans les HR 10 à HR 13. Les 8 premiers chiffres en partant de la droite des deux nombres sont ajoutés en utilisant ADDL(54), c.-à-d., les contenus des LR 00 et LR 01 sont ajoutés aux DM 0010 et DM 0011 et le résultat est inséré dans les HR 10 et HR 11. La seconde addition additionne les 4 digits en partant de la gauche de chaque nombre en utilisant ADD(30), et inclut la retenue de la première addition. La dernière instruction, ADB(50) (voir 5-22-1 ADDITION VALEUR BINAIRE – ADB(50)) additionne deux constantes toutes à zéro et place la retenue de la deuxième addition dans le HR 13. 00000 Adresse Instruction 00000 00001 00002 LD CLC(41) @ADDL(54) Opérandes CLC(41) @ADDL(54) LR 00 DM 0010 HR 10 @ADD(30) 00003 DM 0012 HR 12 #0000 #0000 HR 13 00004 LR DM HR 00 0010 10 LR DM HR 02 0012 12 # # HR 0000 0000 13 @ADD(30) LR 02 @ADB(50) 00000 @ADB(50) 343 Chapitre 5-21 Instructions de calcul BCD 5-21-8 SOUSTRACTION VALEUR BCD DOUBLE – SUBL(55) Symboles à contacts Zones de données d’opérandes Mi : 1er diminutive (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # SUBL(55) @SUBL(55) Mi Mi Su Su R R Su : 1er diminuteur (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, SUBL(55) ne s’exécute pas. Lorsque la condition d’exécution est à ON, SUBL(55) soustrait CY et le contenu à 8 digits de Su et Su+1 de la valeur à 8 digits de Mi et Mi+1, et insère le résultat dans R et R+1. Si le résultat est négatif, CY il est sélectionné et le complément à 10 du résultat est inséré dans R. Pour convertir le complément à 10 du résultat réel, soustraire le contenu de R de 0. Puisqu’une constante à 8 digits ne peut pas être directement saisie, utiliser l’instruction BSET(71) (voir 5–18–4 PARAMETRAGE DE BLOCS – BSET(71)) pour créer une constante à 8 digits. Mi + 1 Mi Su + 1 Su – CY Drapeaux ER : CY R+1 R Mi, M+1,Su, ou Su+1 ne sont pas des valeurs BCD. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). Exemple 344 CY : A ON lorsque le résultat est négatif, c.-à-d., lorsque Mi est inférieur à Su. EQ : A ON lorsque le résultat est égal à 0. L’exemple qui suit est très similaire à une soustraction à un seul mot. Dans cet exemple, toutefois, BSET(71) est nécessaire pour supprimer le contenu des Chapitre 5-21 Instructions de calcul BCD des DM 0000 et DM 0001 de façon à permettre de soustraire un résultat négatif de 0 (l’entrée d’une constante à 8 digits est impossible). TR 0 00003 CLC(41) Première soustraction @SUBL(55) HR 00 120 DM 0100 25504 @BSET(71) #0000 DM 0000 DM 0001 CLC(41) Seconde soustraction @SUBL(55) DM 0000 DM 0100 DM 0100 25504 HR 0100 HR 0100 Adresse 00000 00001 00002 00003 Passe à ON pour indiquer un résultat négatif Instruction Opérandes LD OUT CLC(41) @SUBL(55) TR HR DM 00004 00005 et @BSET(71) # DM DM 00003 0 00 120 0100 25504 0000 0000 0001 Adresse 00006 00007 00008 00009 00010 00011 00012 Instruction Opérandes CLC(41) @SUBL(55) LD LD OR et LD OUT DM DM DM TR HR 0000 0100 0100 0 25504 0100 HR 0100 5-21-9 MULTIPLICATION VALEUR BCD DOUBLE – MULL(56) Symboles à contacts Zones de données d’opérandes Md : 1er mot multiplicative (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR MULL(56) @MULL(56) Md Md Mr Mr R R Mr : 1er mot multiplicateur (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR 345 Chapitre 5-21 Instructions de calcul BCD Limitations Les DM 6141 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, MULL(56) ne s’exécute pas. Lorsque la condition d’exécution est à ON, MULL(56) multiplie le contenu à 8 digits de Md et Md+1 par les contenus de Mr et Mr+1, et insère le résultat dans R à R+3. x R+3 Drapeaux ER : R+2 Md + 1 Md Mr + 1 Mr R+1 R Md, Md+1,Mr, ou Mr+1 n’est pas une valeur BCD. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). CY : A ON lorsque le résultat contient un report. EQ : A ON lorsque le résultat est égal à 0. 5-21-10 DIVISION VALEUR BCD DOUBLE – DIVL(57) Symboles à contacts Zones de données d’opérandes Dd : 1er mot dividende (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR DIVL(57) @DIVL(57) Dd Dd Dr Dr R R Dr : 1er mot diviseur (BCD) IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6141 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, DIVL(57) ne s’exécute pas. Lorsque la condition d’exécution est à ON, DIVL(57) le contenu à 8 digits de Dd et D+1 est divisé par le contenu de Dr et Dr+1 et le résultat est inséré dans R et R+3 : le quotient dans R et R+1, le reste dans R+2 et R+3. Reste R+3 Dr+1 Drapeaux ER : Quotient R+2 Dr R+1 R Dd+1 Dd Dr et Dr+1 contiennent 0. Dd, Dd+1, Dr, ou Dr+1 n’est pas une valeur BCD. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : 346 A ON lorsque le résultat est égal à 0. Chapitre 5-21 Instructions de calcul BCD 5-21-11 RACINE CARREE – ROOT(72) Symboles à contacts Zones de données d’opérandes Sq : Premier mot source (BCD) ROOT(72) @ROOT(72) Sq Sq R R IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, ROOT(72) ne s’exécute pas. Lorsque la condition d’exécution est à ON, ROOT(72) calcule la racine carrée des contenus à 8 digits de Sq et Sq+1 et insère le résultat dans R. La partie fractionnée est tronquée. R Sq+1 Drapeaux ER : Sq Sq n’est pas une valeur BCD. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat est égal à 0. L’exemple suivant montre comment extraire la racine carrée d’un nombre à 8 digits. Le résultat est un nombre à 4 digits, avec le reste arrondi et donc le résultat est arrondi. Exemple Dans cet exemple, √63250561 = 7953,0221..., qui est arrondi à 7953. 00000 Adresse @ROOT(72) DM 0000 001 DM 0001 6 3 2 5 0 00000 00001 Instruction Opérandes LD @ROOT(72) 00000 DM 0000 001 DM 0000 5 6 1 63 250 561 = 7953,0221 (Le reste est arrondi). 7 9 001 5 3 347 Chapitre 5-22 Instructions de calcul binaire 5-22 Instructions de calcul binaire 5-22-1 ADDITION VALEUR BINAIRE – ADB(50) Symboles à contacts Zones de données d’opérandes Au : Mot cumulative (binaire) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # ADB(50) @ADB(50) Au Au Ad Ad R R Ad : Mot cumulateur (binaire) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, ADB(50) ne s’exécute pas. Lorsque la condition d’exécution est à ON, ADB(50) additionne les contenus de Au, Ad et CY, et insère le résultat dans R. CY est sélectionné si le résultat est supérieur à FFFF. Au + Ad + CY CY R ADB(50) peut aussi être utilisé pour additionner des données binaires signées. Les drapeaux de dépassement positif et négatif (SR 25404 et SR 25405) indiquent quand le résultat a dépassé la plus basse ou la plus haute limite de la plage de données binaires signées 16 bits. Drapeaux ER : CY : EQ : OF : UF : Exemple Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). A ON lorsque le résultat est plus grand que FFFF. A ON lorsque le résultat est égal à 0. A ON lorsque le résultat dépasse +32 767 (7FFF). A ON lorsque le résultat est inférieur à –32 768 (8000). L’exemple suivant montre une addition à 4 digits avec CY utilisé pour insérer #0000 ou #0001 dans R+1pour veiller à ce que chaque report soit préservé. Adresse TR 0 00000 00000 00001 00002 00003 CLC(41) ADB(50) Instruction LD OUT CLC(41) ADB(50) Opérandes TR 010 DM 0100 HR 10 =R 25504 00004 00005 MOV(21) #0000 HR 11 DM HR et NOT MOV(21) = R+1 25504 MOV(21) #0001 HR 11 348 = R+1 00006 00007 00008 LD et MOV(21) 00000 0 010 0100 10 25504 # HR TR 0000 11 0 25504 # HR 00001 11 Chapitre 5-22 Instructions de calcul binaire Dans les cases ci–dessous, A6E2 + 80C5 = 127A7. Le résultat est un numéro à 5 digits, ainsi CY (SR 25504) = 1, et le contenu de R + 1 devient #0001. A + 0 8 R+1 : HR 11 0 0 1 Au : IR 010 6 E 2 Ad : DM 0100 0 C 5 2 R : HR 10 7 A 7 Rem. Pour les calculs binaires signés, l’état des drapeaux UF et OF indique quand le résultat a dépassé la plage de données binaires signées (de –32 768 (8000) à +32 767 (7FFF)). 5-22-2 SOUSTRACTION VALEUR BINAIRE – SBB(51) Zones de données d’opérandes Symboles à contacts Mi : Mot diminutive (binaire) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # SBB(51) @SBB(51) Mi Mi Su Su R R Su : Mot cumulateur (binaire) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, SBB(51) ne s’exécute pas. Lorsque la condition d’exécution est à ON, SBB(51) soustrait les contenus de Su et CY de Mi et insère le résultat dans R. Si le résultat est négatif, CY est sélectionné et le complément de 2 du résultat réel est inséré dans R. Mi – Su – CY CY R SBB(51) peut aussi être utilisé pour soustraire des données binaires signées. Les drapeaux de dépassement positif et négatif (SR 25404 et SR 25405) indiquent quand le résultat a dépassé les valeurs supérieures ou inférieures de la plage de données binaires signées 16 bits. Drapeaux Exemple ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). CY : A ON lorsque le résultat est négatif, c.-à-d., lorsque Mi est inférieur à Su plus CY. EQ : A ON lorsque le résultat est égal à 0. OF : A ON lorsque le résultat dépasse +32 767 (7FFF). UF : A ON lorsque le résultat est inférieur à –32 768 (8000). L’exemple suivant montre une soustraction à 4 digits. Lorsque l’IR 00001 est à ON, les contenus du LR 00 et CY sont soustraits du contenu de l’IR 002 et le résultat est écrit dans le HR 01. 349 Chapitre 5-22 Instructions de calcul binaire CY est mis sur ON lorsque le résultat est négatif. Lorsque des données normales sont utilisées, un résultat négatif (binaire signé) doit être transformé en utilisation de données normales NEG(––). Se reporter à 5–20–17 COMPLEMENT DE 2 – NEG(––) pour plus de détails. Adresse 00001 00000 00001 00002 00003 CLC(41) SBB(51) Instruction LD OUT CLC(41) SBB(51) Opérandes TR 00001 1 LR HR 002 00 01 002 LR00 HR 01 Dans le cas suivant, les contenus du LR 00 (#7A03) et CY sont soustraits de l’IR 002 (#F8C5). Puisque le résultat est positif, CY est mis à 0. Si le résultat est négatif, CY est placé à 1. Pour les données normales (non signées), le résultat doit être converti en complément à 2. F Mi : IR 002 8 C 5 – 7 Su : LR 00 A 0 3 – 0 0 0 CY = 0 (de CLC(41)) 0 R : HR 01 E C 2 7 Rem. Pour les calculs binaires signés, l’état des drapeaux UF et OF indique quand le résultat a dépassé la plage de données binaires signées (de –32 768 (8000) à +32 767 (7FFF)). 5-22-3 MULTIPLICATION BINAIRE – MLB(52) Zones de données d’opérandes Symboles à contacts Md : Mot multiplicative (binaire) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # MLB(52) @MLB(52) Md Md Mr Mr R R Mr : Mot multiplicateur (binaire) Limitations IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. MLB(52) ne peut pas être utilisé pour multiplier des données binaires signées, mais MBS(––) doit être utilisé. Se reporter à 5-22-7 MULTIPLICATION BINAIRE SIGNEE – MBS(––). 350 Chapitre 5-22 Instructions de calcul binaire Description Lorsque la condition d’exécution est à OFF, MLB(52) ne s’exécute pas. Lorsque la condition d’exécution est à ON, MLB(52) multiplie le contenu de Md par le contenu de Mr, insère le résultat à 4 digits de droite dans R, et insère les 4 digits de gauche dans R+1. Md X Mr R +1 Drapeaux R ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat est égal à 0. 5-22-4 DIVISION BINAIRE – DVB(53) Symboles à contacts Zones de données d’opérandes Dd : Mot dividende (binaire) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # DVB(53) @DVB(53) Dd Dd Dr Dr R R Dr : Mot diviseur (binaire) Limitations IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. DVB(53) ne peut pas être utilisé pour diviser des données binaires signées, mais DBS(––) doit être utilisé. Se reporter à 5-22-9 DIVISION BINAIRE SIGNEE – DBS(––) pour plus de détails. Description Lorsque la condition d’exécution est à OFF, DVB(53) ne s’exécute pas. Lorsque la condition d’exécution est à ON, DVB(53) divise le contenu de Dd par le contenu de Dr et le résultat est inséré dans R et R+1 : le quotient dans R, le reste dans R+1. Dr Drapeaux ER : Quotient Reste R R+1 Dd Dr contient 0. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat est égal à 0. 351 Chapitre 5-22 Instructions de calcul binaire 5-22-5 ADDITION VALEUR BINAIRE DOUBLE – ADBL(––) Symboles à contacts Zones de données d’opérandes Au : Premier mot cumulative (binaire) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # ADBL(––) @ADBL(––) Au Au Ad Ad R R Ad : Premier mot cumulateur (binaire) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Au et Au+1 doivent être dans la même zone de données, alors que Ad et Ad+1, et R et R+1 doivent l’être. Les DM 6142 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, ADBL(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, ADBL(––) additionne les 8 digits du contenu de Au+1 et Au, les 8 digits du contenu de Ad+1 et Ad, et CY, et insère le résultat dans R. CY est sélectionné si le résultat est supérieur à FFFF FFFF. Au + 1 Au Ad + 1 Ad + CY CY R+1 R ADBL(––) peut aussi être utilisé pour additionner les données binaires signées. Les drapeaux de dépassement positif et négatif (SR 25404 et SR 25405) indiquent quand le résultat a dépassé les valeurs supérieures ou inférieures aux plages de 32 bits de données binaires signées. Drapeaux 352 ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). CY : A ON lorsque le résultat est plus grand que FFFF FFFF. EQ : A ON lorsque le résultat est égal à 0. OF : A ON lorsque le résultat dépasse +2 147 483 647 (7FFF FFFF). UF : A ON lorsque le résultat est inférieur à –2 147 483 648 (8000 0000). Chapitre 5-22 Instructions de calcul binaire Exemple L’exemple suivant montre une addition à 8 digits avec CY (SR 25504) utilisé pour représenter l’état du 9ème digit. L’état des drapeaux UF et OF indique quand le résultat a dépassé la plage de données binaires signées (–2 147 483 648 (8000 0000) à +2 147 483 647 (7FFF FFFF)). Adresse 00100 00000 00001 00002 CLC(41) ADBL(––) Instruction LD CLC(41) ADBL(––) LR 00 DM 0020 Au : LR 00 0 0 0 Ad + 1 : DM 0011 Ad : DM 0010 F F F 0 F F F F CY 1 R + 1 : DM 0021 7 F F F Rem. 20 0010 0020 0 0 + 00100 LR DM DM DM 0010 Au + 1 : LR 01 8 0 0 0 Opérandes CY (Effacé avec CLC(41)) R : DM 0020 F F F 0 1 UF (SR 25405) 0 OF (SR 25404) 1. Pour une addition binaire non-signée, CY indique que la somme des deux valeurs excède FFFF FFFF (UF et OF peuvent être ignorés). 2. Pour une addition binaire signée, le drapeau UF indique que la somme des deux valeurs est inférieure à –2 147 483 648 (8000 0000) (CY peut être ignoré). 5-22-6 SOUSTRACTION VALEUR BINAIRE DOUBLE – SBBL(––) Symboles à contacts Zones de données d’opérandes Mi : 1er diminutive (binaire) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # SBBL(––) @SBBL(––) Mi Mi Su Su R R Su : 1er diminuteur (binaire) Limitations IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Mi et Mi+1 doivent être dans la même zone de données, alors que Su et Su+1, et R et R+1 doivent l’être. Les DM 6142 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, SBBL(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, SBBL(––) soustrait CY et la valeur des 8 digits de Su et Su+1 de la valeur des 8 digits de Mi et Mi+1, et insère le résultat dans R et R+1. Si le résultat est négatif, CY est sélectionné et le complément à 2 du résultat réel est inséré dans R+1 et R. Utiliser NEGL(––) pour convertir le complément à 2 au résultat exact. 353 Chapitre 5-22 Instructions de calcul binaire Mi + 1 Mi Su + 1 Su – CY CY R+1 R SBBL(––) peut aussi être utilisé pour soustraire des données binaires signées. Les drapeaux de dépassement positif et négatif (SR 25404 et SR 25405) indiquent quand le résultat a dépassé les valeurs supérieures ou inférieures des plages de 32 bits de données binaires signées. Drapeaux Exemple ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). CY : A ON lorsque le résultat est négatif, c.-à-d., lorsque Mi est inférieur à Su plus CY. EQ : A ON lorsque le résultat est égal à 0. OF : A ON lorsque le résultat dépasse +2 147 483 647 (7FFF FFFF). UF : A ON lorsque le résultat est inférieur à –2 147 483 648 (8000 0000). L’exemple suivant montre une soustraction à 8 digits avec CY (SR 25504) utilisé pour indiquer un résultat négatif (avec donnée non-signée). L’état des drapeaux UF et OF indique quand le résultat a dépassé la plage de données binaires signées (–2 147 483 648 (8000 0000) à +2 147 483 647 (7FFF FFFF)). Adresse 00101 00000 00001 00002 CLC(41) SBBL(––) Instruction LD CLC(41) SBBL(––) LR 02 DM 0022 – Mi : LR 02 F F F Su + 1 : DM 0023 Su : DM 0022 F F F 0 F F F F CY 1 R + 1 : LR 03 8 0 0 0 Rem. R : LR 02 0 0 0 22 0012 0022 0 0 – 00101 LR DM DM DM 0012 Mi + 1 : LR 03 7 F F F Opérandes CY (Effacé avec CLC(41)) 0 0 UF (SR 25405) 1 OF (SR 25404) 1. Pour des données binaires non-signées, CY indique que le résultat est négatif. Prendre le complément à 2 en utilisant NEGL(––) pour obtenir la valeur absolue du résultat réel (UF et OF peuvent être ignorés). 2. Pour des données binaires signées, le drapeau OF indique que le résultat excède +2 147 483 647 (7FFF FFFF) (CY peut être ignoré). 354 Chapitre 5-22 Instructions de calcul binaire 5-22-7 MULTIPLICATION BINAIRE SIGNEE – MBS(––) Symboles à contacts Zones de données d’opérandes Md : Mot multiplicative IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # MBS(––) @MBS(––) Md Md Mr Mr R R Mr : Mot multiplicateur IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description MBS(––) multiplie le binaire signé contenu dans 2 mots et place le résultat signé binaire de 8 digits dans R+1 et R. Les 4 digits d’extrême droite du résultat sont placés dans R, et les 4 digits d’extrême gauche sont placés dans R+1. Rem. Se reporter à 1-7 Calcul avec des données binaires signées pour plus de détails. Md X Mr R +1 Drapeaux Exemple R ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat est 0000 0000, à OFF dans les autres cas. Dans l’exemple suivant, MBS(––) est utilisé pour multiplier le binaire signé contenu dans le DM 0010 avec le binaire signé contenu dans le DM 0012 et place le résultat dans les DM 0100 et DM 0101. Adresse 00100 00000 00001 MBS(––) DM 0010 Instruction LD MBS(––) DM 0100 R+1 : DM 0101 F F A A 00100 DM DM DM DM 0012 X Opérandes Md : DM 0010 1 5 B 1 (5 553) Mr : DM 0012 F C 1 3 (–1 005) D R : DM 0100 8 2 3 0010 0012 0100 (–5 580 765) 355 Chapitre 5-22 Instructions de calcul binaire 5-22-8 MULTIPLICATION VALEUR BINAIRE SIGNEE DOUBLE – MBSL(––) Symboles à contacts Zones de données d’opérandes Md : 1er mot multiplicative IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # MBSL(––) @MBSL(––) Md Md Mr Mr R R Mr : 1er mot multiplicateur IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Md et Md+1 doivent être dans la même zone de données, comme Mr et Mr+1. R et R+3 doivent être dans la même zone de données. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description MBSL(––) multiplie les 32 bits (8 digits) de données binaires signées dans Md+1 et Md avec les 32 bits de données binaires signées dans Mr+1 et Mr, et place le résultat 16 bits signés binaire de R+3 à R. Rem. Se reporter à 1-7 Calcul avec des données binaires signées pour plus de détails. x R+3 Drapeaux Exemple Md + 1 Md Mr + 1 Mr R+1 R R+2 ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat est zéro (contenus de R+3 à R tous à zéro), à OFF dans les autres cas. Dans l’exemple suivant, MBSL(––) est utilisé pour multiplier le binaire signé contenu dans les IR 101 et IR 100 avec le binaire signé contenu dans les DM 0021 et DM 0020 et place le résultat du LR 24 au LR 01. 00000 Adresse Instruction 00000 00001 LD MBSL(––) MBSL(––) 100 Opérandes 00000 DM 0020 DM LR LR 01 X F 356 R+3 : LR 04 F F F F R+2 : LR 03 F 7 D Md+1 : IR 101 0 0 0 8 7 Mr+1 : DM 0021 F F F 0 Mr : DM 0020 A 8 1 2 F R+1 : LR 02 C A 5 4 Md : IR 100 9 3 8 R : LR 01 5 F 0 (555 320) (–1 005 550) (–55 840 206 000) 100 0020 21 Chapitre 5-22 Instructions de calcul binaire 5-22-9 DIVISION BINAIRE SIGNEE – DBS(––) Symboles à contacts Zones de données d’opérandes Dd : Mot dividende IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # DBS(––) @DBS(––) Dd Dd Dr Dr R R Dr : Mot diviseur IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description DBS(––) divise le binaire signé contenu dans Dd par le binaire signé contenu dans Dr, et place le résultat 8 digits signé binaire dans R+1 et R. Le quotient est inséré dans R, et le reste est inséré dans R+1. Rem. Se reporter à 1-7 Calcul avec des données binaires signées pour plus de détails. Quotient R Dr Drapeaux ER : Reste R+1 Dd Dr contient 0. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : Exemple A ON lorsque le contenu de R (le quotient) est 0000, à OFF dans les autres cas. Dans l’exemple suivant, DBS(––) est utilisé pour diviser le binaire signé contenu dans le DM 0010 avec le binaire signé contenu dans le DM 0020 et place le résultat dans les LR 21 et LR 02. Adresse 00000 00000 00001 DBS(––) DM 0010 Instruction LR 01 Dd : DM 0010 D D D A 0 F R+1 : LR 02 F F A Reste (–6) 00000 DM DM LR DM 0020 ÷ Opérandes LD DBS(––) Dr : DM 0020 0 1 A F R : LR 01 E B 0 0010 0020 21 (–8 742) (26) (–336 et –6/26) Quotient (–336) 357 Chapitre 5-22 Instructions de calcul binaire 5-22-10 DIVISION VALEUR BINAIRE SIGNEE DOUBLE – DBSL(––) Symboles à contacts Zones de données d’opérandes Dd : Premier mot dividende (binaire) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # DBSL(––) @DBSL(––) Dd Dd Dr Dr R R Dr : Premier mot diviseur (binaire) IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Dd et Dd+1 doivent être dans la même zone de données, comme Dr et Dr+1. R et R+3 doivent être dans la même zone de données. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description DBS(––) divise les 32 bits (8 digits) de données binaires signées dans Dd+1 et Dd par les 32 bits de données binaires signées dans Dr+1 et Dr, et place le résultat 16 bits signé binaire de R+3 à R. Le quotient est inséré dans R+1 et R, et le reste est inséré dans R+3 et R+2. Rem. Se reporter à 1-7 Calcul avec des données binaires signées pour plus de détails. Reste R+3 Dr+1 Drapeaux ER : Quotient R+2 Dr R+1 R Dd+1 Dd Dr+1 et Dr contiennent 0. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : 358 A ON lorsque le contenu de R+1 et R (le quotient) est 0, à OFF dans les autres cas. Chapitre 5-23 Instructions mathématiques spéciales Exemple Dans l’exemple suivant, DBSL(––) est utilisé pour diviser le binaire signé contenu dans les IR 101 et IR 100 avec le binaire signé contenu dans les DM 0021 et DM 0020 et place le résultat du LR 24 au LR 01. Adresse 00000 00000 00001 DBSL(––) 100 Instruction Opérandes LD DBSL(––) 00000 DM 0020 DM LR LR 01 ÷ F R+3 : LR 04 F F F F R+2 : LR 03 F F C Dd+1 : IR 101 F F 7 A B Dr+1 : DM 0021 0 0 0 0 0 R+1 : LR 02 F F A D F Reste (–4) Dd : IR 100 1 5 C Dr : DM 0020 0 1 A R : LR 01 F 7 0 100 0020 21 (–8 736 420) (26) (–336 016 et –4/26) Quotient (–336) 5-23 Instructions mathématiques spéciales 5-23-1 TROUVER MAXIMUM – MAX(––) Symboles à contacts Zones de données d’opérandes C : Données de contrôle MAX(––) @MAX(––) C C R1 R1 D D IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R1 : Premier mot de la plage IR, SR, AR, DM, EM, HR, TIM/CNT, LR D : Mot de destination IR, SR, AR, DM, EM, HR, LR Limitations N doit être une valeur BCD comprise entre 0001 et 9999. R1 et R1+N–1 doivent être dans la même zone de données. Les DM 6144 à DM 6655 ne peuvent pas être utilisé pour D. Description Lorsque la condition d’exécution est à OFF, MAX(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, MAX(––) recherche les plages de mémoire depuis R1 jusqu’à R1+N–1 pour l’adresse qui contient la valeur maximale et sort la valeur maximale dans le mot de destination (D). Si le bit 15 de C est à ON, MAX(––) identifie l’adresse du mot contenant la valeur maximale dans D+1. L’adresse s’identifie différemment dans la zone DM : 1, 2, 3... 1. Pour une adresse dans la zone DM, l’adresse de mot écrite dans C+1. Par exemple, si l’adresse contenant la valeur maximale est le DM 0114, alors #0114 est écrit dans D+1. 2. Pour une adresse dans une autre zone de données, le nombre d’adresses depuis le début de la recherche est écrit dans D+1. Par exemple, si l’adresse contenant la valeur maximale est l’IR 114 et le premier mot de la plage de recherche est l’IR 014, alors #0100 est écrit dans D+1. 359 Chapitre 5-23 Instructions mathématiques spéciales Si le bit 14 de C est à ON et plus d’une adresse contient la même valeur maximale, la position de la plus basse des adresses est émise à D+1. La position est émise comme une adresse de DM pour une zone DM, mais comme une position absolue relative au premier mot de la plage pour toutes les autres zones. Le nombre de mots dans cette plage (N) est contenu dans les 3 digits de droite de C, qui doivent être des valeurs BCD comprises entre 001 et 999. Lorsque le bit 15 de C est à OFF, les données dans la plage sont traitées comme des binaires non-signés et lorsqu’elle est à ON les données sont traitées comme des binaires signés. C : 15 14 13 12 11 00 Nombre de mots dans la plage (N) Non utilisé – mis à zéro. Type de données 1 (ON) : Binaire signé 0 (OFF) : Binaire non-signé Adresse de sortie du D+1? 1 (ON) : Oui. 0 (OFF) : Non. ! Attention Si le bit 14 de C est à ON, les valeurs au delà de #8000 sont traîtés comme des nombres négatifs, alors le résultat est différent selon le type de données spécifiés. Veiller à ce que le type de données correct soit spécifié. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). R1 et R1+N–1 ne sont pas dans la même zone de données. EQ : A ON lorsque la valeur maximale est #0000. 5-23-2 TROUVER MINIMUM – MIN(––) Symboles à contacts Zones de données d’opérandes C : Données de contrôle MIN(––) @MIN(––) C C R1 R1 D D IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R1 : Premier mot de la plage IR, SR, AR, DM, EM, HR, TIM/CNT, LR D : Mot de destination IR, SR, AR, DM, EM, HR, LR Limitations N doit être une valeur BCD comprise entre 0001 et 9999. R1 et R1+N–1 doivent être dans la même zone de données. Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour D. Description Lorsque la condition d’exécution est à OFF, MIN(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, MIN(––) recherche les plages de mémoire depuis R1 jusqu’à R1+N–1 pour l’adresse qui contient la valeur minimale et sort la valeur minimale dans le mot de destination (D). Si le bit 15 de C est à ON, MIN(––) identifie l’adresse du mot contenant la valeur minimale dans D+1. L’adresse s’identifie différemment dans la zone DM : 360 Chapitre 5-23 Instructions mathématiques spéciales 1, 2, 3... 1. Pour une adresse dans la zone DM, l’adresse de mot est écrite C+1. Par exemple, si l’adresse contenant la valeur minimale est le DM 0114, alors #0114 est écrit dans D+1. 2. Pour une adresse dans une autre zone de données, le nombre d’adresses depuis le début de la recherche est écrit dans D+1. Par exemple, si l’adresse contenant la valeur minimale est l’IR 114 et le premier mot de la plage de recherche est l’IR 014, alors #0100 est écrit dans D+1. Si le bit 14 de C est à ON et plus d’une adresse contient la même valeur minimale, la position de la plus basse des adresses est émise à D+1. La position est émise comme une adresse de DM pour une zone DM, mais comme une position absolue relative au premier mot de la plage pour toutes les autres zones. Le nombre de mots dans cette plage (N) est contenu dans les 3 digits de droite de C, qui doivent être une valeur BCD comprise entre 001 et 999. Lorsque le bit 15 de C est à OFF, les données dans la plage sont traitées comme des binaires non-signés et lorsqu’elle est à ON les données sont traitées comme des binaires signés. C : 15 14 13 12 11 00 Nombre de mots dans la plage (N) Non utilisé – mis à zéro. Type de données 1 (ON) : Binaire signé 0 (OFF) : Binaire non-signé Adresse de sortie du D+1? 1 (ON) : Oui. 0 (OFF) : Non. ! Attention Si le bit 14 de C est à ON, les valeurs au delà de #8000 sont traîtés comme des nombres négatifs, alors le résultat est différent selon le type de données spécifiés. Veiller à ce que le type de données correct soit spécifié. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). R1 et R1+N–1 ne sont pas dans la même zone de données. EQ : A ON lorsque la valeur minimale est #0000. 5-23-3 VALEUR MOYENNE – AVG(––) Symboles à contacts AVG(––) Zones de données d’opérandes S : Mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR S N : Nombre de cycles N IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # D D : Premier mot de destination IR, SR, AR, DM, EM, HR, LR Limitations S doit être hexadécimal. N doit être une valeur BCD comprise entre #0001 et #0064. 361 Chapitre 5-23 Instructions mathématiques spéciales D et D+N+1 doivent être dans la même zone de données. Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour S, N ou D à D+N+1. Description AVG(––) est utilisé pour calculer la valeur moyenne de S après N cycles. Lorsque la condition d’exécution est à OFF, AVG(––) ne s’exécute pas. Chaque fois que AVG(––) s’exécute, le contenu de S est enregistré dans les mots D+2 à D+N+1. Lors de la première opération, AVG(––) écrit le contenu de S à D+2 ; lors de la seconde opération il écrit le contenu de S à D+3, etc. Lors de la Nième opération, AVG(––) écrit le contenu de S enregistré dans D+N+1, AVG(––) calcule la valeur moyenne des valeurs enregistrées dans D+2 à D+N+1, et écrit la moyenne dans D. Le schéma suivant présente la fonction des mots D à D+N+1. D D+1 D+2 D+3 Valeur moyenne (après N opérations ou plus) Utilisé par le système Contenu de S depuis la 1ère op. de AVG(––) Contenu de S depuis la 2ème op. de AVG(––) D+N+1 Contenu de S depuis la Nième op. de AVG(––) Précautions La valeur moyenne est calculée en binaire. Veiller à ce que le contenu de S soit en binaire. N doit être une valeur BCD comprise entre #0001 et #0064. Lorsque le contenu de N ≥ #0065, AVG(––) fonctionne avec N=64. La valeur moyenne est arrondie à la valeur du nombre entier le plus proche (0.5 est arrondi à 1). Positionner les contenus de D+1 à #0000 après la première exécution de AVG(––). Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). Une ou plusieurs opérandes ont été positionnées incorrectement. D et D+N+1 ne sont pas dans la même zone de données. Exemple 362 Dans l’exemple suivant, le contenu de l’IR 040 est défini à #0000 et donc augmenté de 1 à chaque cycle. Pour les deux premiers cycles, AVG(––) déplace le contenu de l’IR 040 dans le DM 1002 et DM 1003. Lors du troisième cycle et des Chapitre 5-23 Instructions mathématiques spéciales suivants AVG(––) calcule la valeur moyenne du contenus des DM 1002 à DM 1004 et écrit cette valeur moyenne dans le DM 1000. 00001 @MOV(21) Adresse Instruction 00000 00001 LD @MOV(21) Opérandes #0000 040 00001 # AVG(––) 040 00002 AVG(––) #0003 # DM DM 1000 00003 00004 CLC(41) 0000 040 040 0003 1000 CLC(41) ADB(50) ADB(50) # 040 040 0001 040 #0001 040 IR 040 DM 1000 DM 1001 DM 1002 DM 1003 DM 1004 1er cycle 0000 2ème cycle 3ème cycle 4ème cycle 0001 0002 0003 1er cycle 0000 2ème cycle 3ème cycle 4ème cycle 0001 0001 0002 Moyenne Utilisé par le système. 0000 0000 0003 Valeurs 0001 0001 0001 précédentes --0002 0002 de l’IR 40 0000 ----- 5-23-4 SOMME – SUM(––) Symboles à contacts SUM(––) @SUM(––) C C R1 R1 D D Zones de données d’opérandes C : Données de contrôle IR, SR, AR, DM, EM, HR, LR, # R1 : Premier mot de la plage IR, SR, AR, DM, EM, HR, TIM/CNT, LR D : Premier mot de destination IR, SR, AR, DM, EM, HR, LR Limitations Les 3 digits de droite de C doivent être une valeur BCD comprise entre 001 et 999. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour D. Si le bit 14 de C est à OFF (sélectionné pour une valeur BCD), toutes les données dans cette plage R1 à R1+N–1 doivent être des valeurs BCD. Description Lorsque la condition d’exécution est à OFF, SUM(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, SUM(––) additionne l’un ou l’autre des contenus des mots R1 à R1+N–1 ou les octets dans les mots R1 à R1+N/2–1 et émet cette valeur aux mots de destinations (D et D+1). Les données peuvent être ajoutées comme binaire ou BCD et sont émises dans le même format. Les données binaires peuvent être à la fois signées ou non-signées. 363 Chapitre 5-23 Instructions mathématiques spéciales Les fonctions des bits dans C sont indiquées dans le schéma suivant et expliquées plus en détails ensuite. C : 15 14 13 12 11 00 Nombre d’éléments dans la plage (N, BCD) Nombre de mots ou nombre d’octets 001 à 999 Premier octet (lorsque le bit 13 est à ON) 1 (ON) : Extrême droite 0 (OFF) : Extrême gauche Type de données 1 (ON) : Binaire 0 (OFF) : BCD Unités d’addition 1 (ON) : Octets 0 (OFF) : Mots Type de données 1 (ON) : Binaire signé 0 (OFF) : Binaire non-signé Nombre d’éléments dans la plage Le nombre d’éléments dans la plage (N) est contenu dans les 3 digits de droite de C, qui doit être une valeur BCD comprise entre 001 et 999. Ce nombre indique le nombre des mots ou le nombre d’octets selon les éléments ajoutés. Unités d’addition Les mots sont additionnés lorsque le bit 13 est à OFF et les octets sont ajoutés lorsque le bit 13 est à ON. Lorsque les octets sont spécifiés, la plage peut commencer avec l’octet à l’extrême gauche ou à l’extrême droite de R1. L’octet à l’extrême gauche de R1 n’est pas ajouté lorsque le bit 12 est à ON. R1 R1+1 R1+2 R1+3 MSB 1 3 5 7 LSB 2 4 6 8 Les octets sont ajoutés dans cet ordre lorsque le bit 12 est à OFF : 1+2+3+4.... Les octets sont ajoutés dans cet ordre lorsque le bit 12 est à ON : 2+3+4.... Type de données Les données dans la plage sont traitées comme des binaires non-signés lorsque le bit 14 de C est à ON et lorsque le bit 15 est à OFF, et elle est traitée comme binaire signée lorsque les deux bits 14 et 15 sont à ON. Les données dans la plage sont traitées comme une valeur BCD lorsque le bit 14 de C est à OFF, indépendamment de l’état du bit 15. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). R1 et R1+N–1 ne sont pas dans la même zone de données. Le nombre d’éléments dans C n’est pas une valeur BCD comprise entre 001 et 999. Les données ajoutées ne sont pas des valeurs BCD lorsque BCD est désigné. EQ : 364 A ON lorsque le résultat est zéro. Chapitre 5-23 Instructions mathématiques spéciales Exemple Dans l’exemple suivant, les contenus BCD des 8 mots de DM 0000 à DM 0007 sont ajoutés lorsque l’IR 00001 est à ON et le résultat est écrit dans les DM 0010 et DM 0011. 00001 @SUM(––) #0008 DM 0000 Adresse Instruction 00000 00001 LD @SUM(––) 00001 # DM DM DM 0010 DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 DM 0006 DM 0007 Opérandes 0001 0002 0003 0004 0005 0006 0007 0008 DM 0010 DM 0011 0008 0000 0010 0036 0000 5-23-5 PROCESSUS ARITHMETIQUE – APR(––) Zones de données d’opérandes Symboles à contacts C : Mot de contrôle APR(––) @APR(––) C C S S D D IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # S : Mot source de données d’entrée IR, SR, AR, DM, EM, HR, TIM/CNT, LR D : Mot de destination du résultat IR, SR, AR, DM, EM, HR,TIM/CNT, LR Limitations Pour les fonctions trigonométriques S doit être une valeur BCD comprise entre 0000 et 0900 (0°≤ ≤ 90°). Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour D. Description Lorsque la condition d’exécution est à OFF, APR(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, l’opération de APR(––) dépend du mot de contrôle C. Lorsque C est #0000 ou #0001, APR(––) calcule sin( ) ou cos( )*. La valeur BCD de S spécifie en dixième de degrés. Lorsque C est une adresse, APR(––) calcule f(x) de la fonction entrée à l’avance commençant au mot C. La fonction est une série de segments de ligne (qui peut approximer une courbe) déterminée par l’opérateur. La valeur BCD ou hexadécimale de S spécifie x. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). Pour les fonctions trigonométriques, x > 0900 (x est le contenu de S). Une constante autre que #0000 ou #0001 est désignée pour C. Les données d’approximation linéaire ne sont pas lisibles. EQ : Le résultat est 0000. 365 Chapitre 5-23 Instructions mathématiques spéciales Exemples Fonction sinus L’exemple suivant présente l’utilisation de la fonction sinus APR(––) pour calculer le sinus de 3,5. La fonction sinus est spécifiée lorsque C est à #0000. Adresse 00000 APR(––) 00000 00001 #0000 Instruction 00000 DM 0000 # DM DM DM 0100 Données d’entrée, x 0 0 S : DM 0000 101 100 3 0 10–1 0 Saisir les données d’entrée n’excédant pas #0900 en valeur BCD. Fonction cosinus 10–1 5 D : DM 0100 10–2 10–3 0 0 10–4 0 Les données de résultat possèdent 4 digits significatifs, le 5ème et les digits suivants sont ignorés. Le résultat de sin(90) est 0,9999, et non 1. L’exemple suivant présente l’utilisation de la fonction cosinus APR(––) pour calculer le cosinus de 3,5. La fonction cosinus est spécifiée lorsque C est #0001. Adresse APR(––) 00000 00001 #0001 DM 0010 Données d’entrée, x 10–1 0 Saisir les données d’entrée n’excédant pas #0900 en valeur BCD. Approximation linéaire Opérandes LD APR(––) 00000 0001 0010 0110 Données de résultat 10–1 8 D : DM 0110 10–2 10–3 6 6 10–4 0 Les données de résultat possèdent 4 digits significatifs, le 5ème et les digits suivants sont ignorés. Le résultat de cos (0) est 0,9999, et non 1. L’approximation linéaire APR(––) est spécifiée lorsque C est une adresse mémoire. Le mot C est le premier mot du bloc continu de mémoire contenant les données d’approximation linéaire. Le contenu du mot C spécifie le numéro de segments de ligne dans l’approximation, et l’entrée et la sortie sont des valeurs BCD ou au format BIN. Les bits 00 à 07 contiennent les nombres de segments de ligne moins 1, m–1, comme donnée binaire. Les bits 14 et 15 déterminent, respectivement, les formats des sorties et entrées : 0 spécifie BCD et 1 spécifie BIN. C : 15 14 13 Non utilisé. 07 06 05 04 03 02 01 00 Forme des données sources 1 (ON) : f(x)=f(Xm–S) 0 (OFF) : f(x)=f(S) Forme de la sortie Forme de l’entrée 366 Instruction # DM DM DM 0110 S : DM 0010 101 100 3 0 0000 0000 0100 Données de résultat 00000 0 0 Opérandes LD APR(––) Nombre de coordonnées moins 1 (m–1) Chapitre 5-23 Instructions mathématiques spéciales Entrer les coordonnées du dernier point m+1, qui définit le segment de ligne m, comme présenté dans la tableau suivant : Entrer toutes les coordonnées au format BIN. Toujours entrer les coordonnées en commençant par la plus petite valeur X (X1) jusqu’à la plus grande (Xm). X0 est à 0000, et n’a pas à être entré. Y Mot Coordonnée Ym C+1 Y4 C+2 Xm (Valeur X max). Y0 C+3 X1 Y3 C+4 Y1 Y1 C+5 X2 C+6 Y2 ↓ ↓ C+(2m+1) Xm C+(2m+2) Ym Y2 Y0 X X0 X1 X2 X3 X4 Xm Si le bit 13 de C est défini à 1, le graphique se reflète de gauche à droite, comme présenté dans le schéma suivant. Y Y X0 Xm X Xm X X0 L’exemple suivant présente la construction d’une approximation linéaire avec 12 segments de ligne. Le bloc de données est continu, comme il doit l’être, du DM 0000 au DM 0026 (C à C + (2 × 12 + 2)). La donnée d’entrée est prise dans l’IR 010, et le résultat est inséré dans l’IR 011. Adresse 00000 APR(––) DM 0000 00000 00001 Instruction Opérandes LD APR(––) 00000 010 DM 011 Contenu Coordonnée Bit 15 0000 010 011 Bit 00 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 DM 0006 $C00B $05F0 $0000 $0005 $0F00 $001A $0402 ↓ ↓ ↓ DM 0025 DM 0026 $05F0 $1F20 X12 Y12 X12 Y0 X1 Y1 X2 Y2 (Sortie et entrée tous deux BIN) (m–1 = 11 : 12 segments de ligne) 367 Chapitre 5-24 Instructions mathématiques à virgule flottante Dans ce cas, le mot de données d’entrée, l’IR 010, contient #0014, et f(0014) = #0726 est placé dans R, l’IR 011. Y $1F20 $0F00 (x,y) $0726 $0402 (0,0) $0005 $0014 $001A $05F0 X 5-24 Instructions mathématiques à virgule flottante Les instructions mathématiques à virgule flottante convertissent des données et effectuent des opérations arithmétiques à virgule flottante. Les séries CQM1H prennent en charge les instructions suivantes. Instruction Format de donnée 368 Mnémonique Code fonction Page VIRGULE FLOTTANTE VERS 16 BITS VIRGULE FLOTTANTE VERS 32 BITS 16 BITS VERS VIRGULE FLOTTANTE 32 BITS VERS VIRGULE FLOTTANTE ADDITION DE VIRGULE FLOTTANTE SOUSTRACTION DE VIRGULE FLOTTANTE MULTIPLICATION DE VIRGULE FLOTTANTE DIVISION DE VIRGULE FLOTTANTE DEGRES EN RADIANS FIX –– 373 FIXL –– 374 FLT –– 375 FLTL –– 376 +F –– 377 –F –– 378 *F –– 379 /F –– 381 RAD –– 382 RADIANS EN DEGRES DEG –– 383 SINUS SIN –– 384 COSINUS COS –– 385 TANGENTE TAN –– 386 ARC SINUS ASIN –– 387 ARC COSINUS ACOS –– 388 ARC TANGENTE ATAN –– 389 RACINE CARRÉE SQRT –– 391 EXPONENTIELLE EXP –– 392 LOGARITHME LOG –– 393 Les données à virgule flottante expriment des nombres réels utilisant un signe, un exposant, et une mantisse. Lorsque les données sont exprimées en format à virgule flottante, la formule suivante s’applique. Nombre réel = (–1)s 2e–127 (1.f) Chapitre 5-24 Instructions mathématiques à virgule flottante s: Signe e: Exposant f: Mantisse Le format des données à virgule flottante est conforme au standard IEEE754 . Les données sont exprimées en 32 bits, comme suit : Signe Exposant s 31 Données s : signe Mantisse e f 30 23 22 Nombre de bits 1 0 Contenu 0 : positif ; 1 : négatif e : exposant 8 La plage des valeurs d’exposants est comprise entre 0 à 255. L’exposant réel est la valeur restant après soustraction de 127 à e, avec une plage de –127 à 128. “e=0” et “e=255” expriment des nombres spéciaux. f : mantisse 23 La portion mantisse portion d’une donnée binaire à virgule flottante donne le formal 2.0 > 1.f y 1.0. Numéro de digits Le numéro de digit effectifs pour des données à virgule flottante décimale. Données à virgule flottante Les données suivantes peuvent être exprimées en données à virgule flottante : • –R • –3,402823 x 1038 x •0 valeur x –1,175494 x 10–38 • 1,175494 x 10–38 x valeur x 3,402823 x 1038 • +R • N’est pas un nombre (not a number, NaN) –1,175494 x 10–38 –R –3,402823 x 1038 –1 1,175494 x 10–38 0 1 3,402823 x 1038 +R Nombres spéciaux Les formats pour les NaN, ±R , et 0 sont comme suit : NaN* : e = 255, f ≠ 0 +R : e = 255, f = 0, s= 0 –R : e = 255, f = 0, s= 1 0: e=0 *NaN n’est pas un nombre à virgule flottante. L’exécution d’instructions de calcul à virgule flottante ne donne pas de résultat pour un NaN. Ecriture de données à virgule flottante Lorsqu’une virgule flottante est spécifiée pour le format de la donnée dans la mémoire d’E/S de l’affichage éditée dans le programme CX, les nombres décimaux standards entrés sur l’affichage sont automatiquement convertis au format à virgule flottante montré ci–dessus (format IEEE754) et écrits dans la mémoire d’E/S. Les données écrites au format IEEE754 sont automatiquement converties au format décimal standard lors de l’affichage à l’écran. 15 7 6 n n+1 s 0 f e Il n’est pas nécessaire pour l’utilisateur d’être conscient du format des données IEEE754 lors de la lecture et de l’écriture de données à virgule flottante. Il est 369 Chapitre 5-24 Instructions mathématiques à virgule flottante seulement nécessaire de se rappeler que les valeurs à virgule flottante occupent 2 mots chacun. Nombres exprimés en valeurs à Virgule flottante Les différents types de nombres à virgule flottante sont utilisés. Exposant Mantisse (f) 0 0 Différent de 0 0 Pas un nombre normal Différent de 0 et non tous à 1 Nombre normal Tous à 1 (255) Nombre infini NaN Rem. Un nombre non normal est un nombre pour lequel la valeur absolue est trop petite pour être exprimée comme un nombre normal. Les nombres non normaux ont moins de digits significatifs. Lorsque le résultat du calcul est un nombre non normal (y compris les résultats intermédiaires), le nombre de digits significatif est réduit. Nombres normaux Les nombres normaux sont exprimés en nombres réels. Le bit du signe doit être à 0 pour un nombre positif et à 1 pour un nombre négatif. L’exposant est exprimé de 1 à 254, et l’exposant réel doit être inférieur à 127, c.-à-d., de –126 à 127. La mantisse (f) est exprimée de 0 à 233 – 1, et il est supposé que, dans la mantisse réelle, le bit 233 est à 1 et que le point binaire suit immédiatement après. Les nombres normaux sont exprimés comme suit : (–1)(signe s) x 2(exposant e)–127 x (1 + mantisse x 2–23) Exemple 3130 2322 0 1 1 0 0 0 0 0 0 0 01 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Signe : Exposant : Mantisse : Valeur : Nombres non normaux – 128 – 127 = 1 1 + (222 + 221) x 2–23 = 1 + (2–1 + 2–2) = 1 + 0,75 = 1,75 –1,75 x 21 = –3,5 Les nombres non normaux sont exprimés en nombres réels avec une très petite valeur absolue. Le bit de signe doit être à 0 pour un nombre positif et à 1 pour un nombre négatif. L’exposant doit être à 0, et l’exposant réel doit être –126. La mantisse (f) est exprimée de 1 à 233 – 1, et il est supposé que, dans la mantisse réelle, le bit 233 est à 0 et que le point binaire suit immédiatement après. Les nombres non normaux sont exprimés comme suit : (–1)(signe s) x 2–126 x (mantisse x 2–23) Exemple 3130 2322 0 0 0 0 0 0 0 0 0 0 01 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Signe : Exposant : Mantisse : Valeur : Zero 370 – –126 0 + (222 + 221) x 2–23 = 0 + (2–1 + 2–2) = 0 + 0,75 = 0,75 –0,75 x 2–126 Les valeurs +0,0 et –0,0 sont exprimées en paramétrant le signe à 0 pour les valeurs positives ou à 1 pour les valeurs négatives. L’exposant et la mantisse doivent être tous deux à 0. Les deux valeurs +0,0 et –0,0 sont équivalentes à 0,0. Se reporter au Résultats arithmétiques à virgule flottante, ci–après, pour les différences produites par le signe de 0,0. Instructions mathématiques à virgule flottante Chapitre 5-24 Nombre infini Les valeurs de +R et –R sont exprimées en paramétrant le signe à 0 pour les valeurs positives ou à 1 pour les valeurs négatives. L’exposant doit être à 255 (28 – 1) et la mantisse doit être à 0. NaN NaN est produit lorsque le résultat du calcul, tel que 0,0/0,0, R /R , ou R –R , ne correspond pas à un nombre ou à un nombre infini. L’exposant doit être à 255 (28 – 1) et la mantisse ne doit pas être à 0. Rem. Il n’y a pas de spécification pour le signe de NaN ou pour la valeur du champ de la mantisse (les autres ne doivent pas être à 0). Résultats arithmétiques à virgule flottante Résultats arrondis Les méthodes suivantes sont utilisées pour arrondir les résultats lorsque le nombre de digits dans le résultat précis de la virgule flottante arithmétique dépasse le digit significatif des expressions de traitement interne. Lorsque le résultat est proche d’une ou de deux expressions internes à virgule flottante, l’expression proche doit être utilisée. Lorsque le résultat est au milieu de deux expressions internes à virgule flottante, le résultat doit être arrondi pour que le dernier digit de la mantisse soit à 0. Dépassements positifs, Dépassements négatifs et Calculs non autorisés Les dépassements positifs sont émis comme un nombre infini positif ou négatif, selon le signe du résultat. Les dépassements négatifs sont émis comme 0 positif ou négatif, selon le signe du résultat. Le résultat des calculs non autorisés est émis dans NaN. Les calculs non autorisés incluent l’addition d’un nombre infini à un nombre du signe opposé, la soustraction d’un nombre infini d’un nombre du signe opposé, la multiplication d’un nombre infini à un nombre du signe opposé, la multiplication de 0 et d’un nombre infini, la division de 0 par 0 ou la division d’un nombre infini par un nombre infini. La valeur du résultat ne peut pas être correcte lorsqu’un dépassement positif se produit au cours d’une conversion d’un nombre à virgule flottante en un nombre entier. Conseils d’utilisation à prendre pour les valeurs spéciales Les conseils d’utilisation suivants s’appliquent pour les zéros, nombres infinis et NaN. • La somme d’un 0 positif et d’un 0 négatif est un 0 positif. • La différence entre des 0 de même signe est un 0 positif. • Lorsque n’importe lequel des opérandes est un NaN, les résultats sont des NaN. • Les 0 positifs et les 0 négatifs sont considérés comme équivalents lors de comparaisons. • Les essais d’équivalence ou de comparaison sur un NaN ou plus sont toujours vrais pour ! = et sont toujours faux pour toutes les autres instructions. Résultats de calculs à virgule flottante Lorsque la valeur absolue du résultat est plus grande que la valeur maximale exprimée pour des données à virgule flottante, le drapeau de dépassement positif (SR 25404) passe à ON et le résultat est émis comme ±R . Lorsque le résultat est positif, il est émis comme +R ; lorsqu’il est négatif, comme –R . Le drapeau d’égalité passe à ON lorsque l’exposant et la mantisse (f) sont tous deux à 0 après un calcul. Le résultat du calcul peut aussi être mis à 0 lorsque la valeur absolue du résultat est plus petite que la valeur minimale exprimée pour les données à virgule flottante. Dans ce cas, le drapeau de dépassement négatif (SR 25405) passe à ON. Exemple Dans cet exemple de programme, les coodonnées (x,y) dans les axes X et Y sont fournie s en BCD à 4 digits contenues dans les DM 0000 à DM 0001. La distance (r) à partir de l’origine et l’angle (θ, en degrés) sont trouvés et émis dans 371 Chapitre 5-24 Instructions mathématiques à virgule flottante les DM 0100 et DM 0101. Dans le résultat, tout ce qui est à la droite de la virgule décimale est tronqué. P (100, 100) y r θ 0 x DM 0000 DM 0200 (1) DM 0001 DM 0201 DM 0200 DM 0202 DM 0201 DM 0204 (2) DM 0202 DM 0202 DM 0206 DM 0204 DM 0204 DM 0208 DM 0206 DM 0208 DM 0210 DM 0210 DM 0212 (3) DM 0204 DM 0202 DM 0214 DM 0214 DM 0216 DM 0216 DM 0218 (4) DM 0212 DM 0220 DM 0218 DM 0221 DM 0220 DM 0100 DM 0221 DM 0101 372 Chapitre 5-24 Instructions mathématiques à virgule flottante Calculs Exemple Distance r = Ǹx ) 2 y Angle θ = tan–1 ( x y Distance r = Ǹ100 2 ) 2 ) 100 2 = 141,4214 100 Angle θ = tan–1 ( 100 ) = 45.0 Contenu des DM DM 0000 0100 (BCD) x DM 0100 0141 r DM 0001 0100 (BCD) y DM 0101 0045 θ 1. Cette partie du programme convertit les données du BCD à virgule flottante. a) La zone de données à partir du DM 0200 est utilisée comme zone de travail. b) BIN(23) est utilisé en premier pour convertir temporairement la donnée BCD en donnée binaire, et FLT(––) est ensuite utilisé pour convertir la donnée binaire en données à virgule flottante. c) La valeur x convertie en données à virgule flottante est émise des DM 0203 et DM 0202. d) La valeur y convertie en données à virgule flottante est émise des DM 0205 et DM 0204. 2. Afin de trouver la distance r, les instructions mathématiques à virgule flottante sont utilisées pour calculer la racine carrée de x2+y2. Le résultat est alors émis des DM 0213 et DM 0212 comme données à virgule flottante. 3. Afin de trouver l’angle θ, les instructions mathématiques à virgule flottante sont utilisées pour calculer tan–1 (y/x). ATAN(––) émet le résultat en radians, ainsi DEG(––) est utilisé pour convertir en degrés. Le résultat est alors émis des DM 0219 et DM 0218 comme données à virgule flottante. 4. Les données sont reconverties à partir de la virgule flottante vers BCD. a) FIX(––) est utilisé en premier pour convertir temporairement les données à virgule flottante en données binaires, et BCD(024) est ensuite utilisé pour convertir les données binaires en données BCD. b) La distance r est émise au DM 0100. c) L’angle θ est émis au DM 0101. 5-24-1 VIRGULE FLOTTANTE VERS 16 BITS : FIX(––) Symboles à contacts Zones de données d’opérandes S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR FIX(––) @FIX(––) S S R R 000 000 R : Mot de résultat Limitations IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Le contenu de S+1 et S doit être des données à virgule flottante et la partie entière doit être comprise dans la plage (de –32 768 à 32 767). Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour R. 373 Chapitre 5-24 Instructions mathématiques à virgule flottante Description Lorsque la condition d’exécution est à OFF, FIX(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, FIX(––) convertit la partie entière des nombres de 32 bits à virgule flottante dans S+1 et S (format IEEE754) en données binaires signées à 16 bits et insère le résultat dans R. S+1 S Données à virgule flottante (32 bits) R Données binaires signées (16 bits) Seule la partie entière des données à virgule flottante est convertie, et la partie fractionnée est tronqué. La partie entière des données à virgule flottante doit être dans la plage (–32 768 à 32 767). Exemple de conversions : Une valeur à virgule flottante de 3,5 est convertie en 3. Une valeur à virgule flottante de –3,5 est convertie en –3. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée dans S+1 et S n’est pas un nombre (NaN). A ON lorsque la partie entière de S+1 et S n’est pas dans la plage (–32 768 à 32 767). EQ : A ON lorsque le résultat est 0000. 5-24-2 VIRGULE FLOTTANTE VERS 32 BITS : FIXL(––) Symboles à contacts Zones de données d’opérandes S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR FIXL(––) @FIXL(––) S S R R 000 000 R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Limitations Le contenu de S+1 et S doit être des données à virgule flottante et la partie entière doit être dans la plage (–2 147 483 648 à 2 147 483 647). Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, FIXL(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, FIXL(––) convertit la partie entière des nombres à virgule flottante 32 bits dans S+1 et S (format IEEE754) en donnée binaire signée à 32 bits et insère le résultat dans R+1 et R. S+1 S Données à virgule flottante (32 bits) R+1 R Données binaires signées (16 bits) Seule la partie entière des données à virgule flottante est convertie, et la partie fractionnée est tronqué (la partie entière des données à virgule flottante doit être dans la plage (–2 147 483 648 à 2 147 483 647). 374 Chapitre 5-24 Instructions mathématiques à virgule flottante Exemple de conversions : La valeur à virgule flottante de 2 147 483 640,5 est convertie en 2 147 483 640. La valeur à virgule flottante de –2 147 483 640,5 est convertie en –2 147 483 640. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée dans S+1 et S n’est pas un nombre (NaN). A ON lorsque la partie entière de S+1 et S n’est pas dans la plage (–2 147 483 648 à 2 147 483 647). EQ : A ON lorsque le résultat est 0000 0000. 5-24-3 16 BITS VERS VIRGULE FLOTTANTE : FLT(––) Symboles à contacts Zones de données d’opérandes S : Mot source FLT(––) @FLT(––) S S R R 000 000 IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Limitations Le contenu de S doit contenir des données binaires signées avec une valeur (décimale) dans la plage de –32 768 à 32 767. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, FLT(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, FLT(––) convertit les valeurs binaires signées 16 bits dans S en données à virgule flottante 32 bits (format IEEE754) et insère le résultat dans R+1 et R. Un simple 0 est ajouté après la virgule décimale dans le résultat de la virgule flottante. R+1 S Données binaires signées (16 bits) R Données à virgule flottante (32 bits) Seules les valeurs dans la plage (–32 768 à 32 767) sont spécifiées pour S. Pour convertir les données binaires signées en dehors de la plage, utiliser FLTL(––). Exemple de conversions : Une valeur binaire signée de 3 est convertie en 3,0. Une valeur binaire signée de –3 est convertie en –3,0. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. 375 Chapitre 5-24 Instructions mathématiques à virgule flottante 5-24-4 32 BITS VERS VIRGULE FLOTTANTE : FLTL(––) Symboles à contacts Zones de données d’opérandes S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR FLTL(––) @FLTL(––) S S R R 000 000 R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Limitations Le résultat n’est pas exact lorsqu’un nombre avec une valeur absolue plus grande que 16 777 215 (la valeur maximale pouvant être exprimée en 24 bits) est converti. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, FLTL(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, FLTL(––) convertit la valeur signée binaire 32 bits dans S+1 et S en données à virgule flottante 32 bits (format IEEE754) et insère le résultat dans R+1 et R. Un simple 0 est ajouté après la virgule décimale dans le résultat à virgule flottante. S+1 S Données binaires signées (32 bits) R+1 R Données à virgule flottante (32 bits) Les données binaires signées dans la plage (–2 147 483 648 à 2 147 483 647) peut être spécifiée pour S+1 et S. La valeur de la virgule flottante possède 24 digits binaires significatifs (bits). Le résultat n’est pas exact lorsqu’un nombre plus grand que 16 777 215 (la valeur maximale pouvant être exprimée en 24 bits) est converti par FLTL(––). Exemple de conversions : Une valeur binaire signée de 16 777 215 est convertie en 16 777 215,0. Une valeur binaire signée de –16 777 215 est convertie en –16 777 215,0. Drapeaux 376 ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. Chapitre 5-24 Instructions mathématiques à virgule flottante 5-24-5 ADDITION DE VIRGULE FLOTTANTE : +F(––) Zones de données d’opérandes Symboles à contacts Au : Premier mot cumulative IR, SR, AR, DM, EM, HR, TIM/CNT, LR +F(––) @+F(––) Au Au Ad Ad R R Ad : Premier mot cumulateur IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les données cumulative (Au+1 et Au) et cumulateur (Ad+1 et Ad) doivent être au format des données à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, +F(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, +F(––) additionne le nombre à virgule flottante 32 bits dans Ad+1 et Ad au nombre à virgule flottante 32 bits dans Au+1 et Au et insère le résultat dans R+1 et R (les données à virgule flottante doivent être au format IEEE754). + Au+1 Au cumulative (données à virgule flottante, 32 bits) Ad+1 Ad Cumulateur (données à virgule flottante, 32 bits) R+1 R Résultat (données à virgule flottante, 32 bits) Lorsque la valeur absolue du résultat est plus grande que la valeur maximale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement positif (SR 25404) est à ON et le résultat est émis comme ±R . Lorsque la valeur absolue du résultat est plus petite que la valeur minimale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement négatif (SR 25405) est à ON et le résultat est émis est à 0. Les diverses combinaisons de données cumulative et cumulateur produisent les résultats présentés dans le tableau suivant : Cumulative Cumula– teur 0 Numéral Drapeaux Numéral +R –R 0 Numéral Numéral +R +R –R –R Voir Rem. 1. +R +R +R –R –R –R NaN Rem. 0 +R Voir Rem. 2. NaN Voir Rem. 2. –R Voir Rem. 2. 1. Le résultat peut être 0 (y compris les dépassements négatifs), un numéral, + , ou – . 2. Le drapeau d’erreur passe à ON et l’instruction n’est pas exécutée. ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). 377 Chapitre 5-24 Instructions mathématiques à virgule flottante A ON lorsque la donnée cumulative ou cumulateur n’est pas reconnue comme données à virgule flottante. EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. OF : A ON lorsque la valeur absolue du résultat est trop grande pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est émis comme étant ±R ). UF : A ON lorsque la valeur absolue du résultat est trop petite pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est à 0). 5-24-6 SOUSTRACTION DE VIRGULE FLOTTANTE : –F(––) Zones de données d’opérandes Symboles à contacts Mi : Premier mot diminutive IR, SR, AR, DM, EM, HR, TIM/CNT, LR –F(––) @–F(––) Mi Mi Su Su R R Su : Premier mot diminuteur Limitations IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Les données diminutive (Mi+1 et Mi) et diminuteur (Su+1 et Su) doivent être au format de données à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, –F(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, –F(––) soustrait le nombre à virgule flottante 32 bits dans Su+1 et Su à partir du nombre à virgule flottante 32 bits dans Mi+1 et Mi et insère le résultat dans R+1 et R (les données à virgule flottante doivent être au format IEEE754). – Mi+1 Mi diminutive (données à virgule flottante, 32 bits) Su+1 Su Diminuteur (données à virgule flottante, 32 bits) R+1 R Résultat (données à virgule flottante, 32 bits) Lorsque la valeur absolue du résultat est plus grande que la valeur maximale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement positif (SR 25404) est à ON et le résultat est émis comme étant ±R . Lorsque la valeur absolue du résultat est plus petite que la valeur minimale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement négatif (SR 25405) est à ON et le résultat est à 0. Les diverses combinaisons de données diminutive et diminuteur produisent les résultats présentés dans le tableau suivant : 378 Chapitre 5-24 Instructions mathématiques à virgule flottante Diminutive Diminuteur 0 Numéral +R –R 0 Numéral 0 Numéral Numéral +R +R –R –R Voir Rem. 1. +R –R –R –R +R +R Voir Rem. 2. +R –R Voir Rem. 2. NaN Rem. NaN Voir Rem. 2. 1. Les résultats peuvent être 0 (y compris les dépassements négatifs), un numéral, + , ou – . 2. Le drapeau d’erreur est mis à ON et l’instruction n’est pas exécutée. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée diminutive ou diminuteur n’est pas reconnue comme données à virgule flottante. EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. OF : A ON lorsque la valeur absolue du résultat est trop grande pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est émis comme2TANT ±R ). UF : A ON lorsque la valeur absolue du résultat est trop petite pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est à 0). 5-24-7 MULTIPLICATION DE VIRGULE FLOTTANTE : *F(––) Zones de données d’opérandes Symboles à contacts Md : 1er mot multiplicative IR, SR, AR, DM, EM, HR, TIM/CNT, LR *F(––) @*F(––) Md Md Mr Mr R R Mr : 1er mot multiplicateur Limitations IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Les données multiplicative (Md+1 et Md) et multiplicateur (Mr+1 et Mr) doivent être en données à virgule flottante au format IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, *F(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, *F(––) multiplie le nombre à virgule flottante 32 bits dans Md+1 et Md par le nombre à virgule flottante 32 bits dans Mr+1 et Mr et 379 Chapitre 5-24 Instructions mathématiques à virgule flottante insère le résultat dans R+1 et R (les données à virgule flottante doivent être au format IEEE754). × Md+1 Md multiplicative (données à virgule flottante, 32 bits) Mr+1 Mr Multiplicateur (données à virgule flottante, 32 bits) R+1 R Résultat (données à virgule flottante, 32 bits) Lorsque la valeur absolue du résultat est plus grande que la valeur maximale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement positif (SR 25404) est à ON et le résultat est émis comme étant ±R . Lorsque la valeur absolue du résultat est plus petite que la valeur minimale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement négatif (SR 25405) est à ON et le résultat est à 0. Les diverses combinaisons de donnée multiplicative et multiplicateur produisent les résultats présentés dans le tableau suivant : Multiplicative Multipli– cateur 0 0 Numéral 0 0 Numéral 0 Voir +R Voir Rem. 2. +/–R –R NaN Voir Rem. 2. +/–R Rem. 1. +R –R NaN Rem. Voir Rem. 2. Voir Rem. 2 +/–R +R –R +/–R –R +R Voir Rem. 2. 1. Les résultats peuvent être 0 (y compris les dépassements négatifs), un numéral, + , ou – . 2. Le drapeau d’erreur passe à ON et l’instruction n’est pas exécutée. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée multiplicative ou multiplicateur n’est pas reconnue comme données à virgule flottante. 380 EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. OF : A ON lorsque la valeur absolue du résultat est trop grande pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est émis comme étant ±R ). UF : A ON lorsque la valeur absolue du résultat est trop petite pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est à 0). Chapitre 5-24 Instructions mathématiques à virgule flottante 5-24-8 DIVISION DE VIRGULE FLOTTANTE : /F(––) Symboles à contacts Zones de données d’opérandes Dd : Premier mot dividende IR, SR, AR, DM, EM, HR, TIM/CNT, LR /F(––) @/F(––) Dd Dd Dr Dr R R Dr : Premier mot diviseur Limitations IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Les données dividende (Dd+1 et Dd) et diviseur (Dr+1 et Dr) doivent être au format des donnés à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, /F(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, /F(––) divise le nombre à virgule flottante 32 bits dans Dd+1 et Dd par le nombre à virgule flottante 32 bits dans Dr+1 et Dr et insère le résultat dans R+1 et R (les données à virgule flottante doivent être au format IEEE754). ÷ Dd+1 Dd Dividende (données à virgule flottante, 32 bits) Dr+1 Dr Diviseur (données à virgule flottante, 32 bits) R+1 R Résultat (données à virgule flottante, 32 bits) Lorsque la valeur absolue du résultat est plus grande que la valeur maximale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement positif (SR 25404) est à ON et le résultat est émis comme étant ±R . Lorsque la valeur absolue du résultat est plus petite que la valeur minimale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement négatif (SR 25405) est à ON et le résultat est à 0. Les diverses combinaisons de données dividende et diviseur produisent les résultats présentés dans le tableau suivant : Dividende Diviseur 0 0 Voir Rem. 3. 0 Numéral Numéral +/–R Voir Rem. 1. +R 0 Voir Rem. 2. –R 0 Voir Rem. 2. +R –R +R –R +/–R +/–R Voir Rem. 3. Voir Rem. 3. Voir Rem. 3. Voir Rem. 3. NaN Rem. NaN Voir Rem. 3. 1. Les résultats peuvent être 0 (y compris les dépassements négatifs), un numéral, + , ou – . 2. Le résultat peut être 0 pour les dépassements négatifs. 3. Le drapeau d’erreur passe à ON et l’instruction n’est pas exécutée. 381 Chapitre 5-24 Instructions mathématiques à virgule flottante Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée dividende ou diviseur n’est pas reconnue comme données à virgule flottante. EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. OF : A ON lorsque la valeur absolue du résultat est trop grande pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est émis comme étant ±R ). UF : A ON lorsque la valeur absolue du résultat est trop petite pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est à 0). 5-24-9 DEGRES EN RADIANS : RAD(––) Symboles à contacts Zones de données d’opérandes S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR RAD(––) @RAD(––) S S R R 000 000 R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Limitations Les données sources dans S+1 et S doivent être au format de données à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, RAD(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, RAD(––) convertit le nombre à virgule flottante 32 bits dans S+1 et S de degrés en radians et insère le résultat dans R et R+1 (les données sources à virgule flottante doivent être au format IEEE754). S+1 S Source (degrés, données à virgule flottante 32 bits) R+1 R Résultat (radians, données à virgule flottante 32 bits) Les degrés sont convertis en radians au moyen de la formule suivante : Degrés × π/180 = radians Lorsque la valeur absolue du résultat est plus grande que la valeur maximale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement positif (SR 25404) est à ON et le résultat est émis comme étant ±R . Lorsque la valeur absolue du résultat est plus petite que la valeur minimale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement négatif (SR 25405) est à ON et le résultat est à 0. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée source n’est pas reconnue comme données à virgule flottante. 382 Chapitre 5-24 Instructions mathématiques à virgule flottante EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. OF : A ON lorsque la valeur absolue du résultat est trop grande pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est émis comme étant ±R ). UF : A ON lorsque la valeur absolue du résultat est trop petite pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est à 0). 5-24-10 RADIANS EN DEGRES : DEG(––) Symboles à contacts Zones de données d’opérandes S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR DEG(––) @DEG(––) S S R R 000 000 R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Limitations Les données sources dans S+1 et S doivent être au format de données à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, DEG(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, DEG(––) convertit le nombre à virgule flottante 32 bits dans S+1 et S de radians en degrés et insère le résultat dans R+1 et R (les données sources à virgule flottante doivent être au format IEEE754). S+1 S Source (radians, données à virgule flottante 32 bits) R+1 R Résultat (degrés, données à virgule flottante 32 bits) Les radians sont convertis en degrés au moyen de la formule suivante : Radians × 180/π = degrés Lorsque la valeur absolue du résultat est plus grande que la valeur maximale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement positif (SR 25404) est ON et le résultat est émis comme étant ±R . Lorsque la valeur absolue du résultat est plus petite que la valeur minimale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement négatif (SR 25405) est ON et le résultat est à 0. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée source n’est pas reconnue comme données à virgule flottante. EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. OF : A ON lorsque la valeur absolue du résultat est trop grande pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est émis comme étant ±R ). UF : A ON lorsque la valeur absolue du résultat est trop petite pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est à 0). 383 Chapitre 5-24 Instructions mathématiques à virgule flottante 5-24-11 SINUS : SIN(––) Symboles à contacts Zones de données d’opérandes S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR SIN(––) @SIN(––) S S R R 000 000 R : Premier mot de résultat Limitations IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Les données sources dans S+1 et S doivent être au format de données à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, SIN(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, SIN(––) calcule le sinus de l’angle (en radians) exprimés comme valeur à virgule flottante 32 bits dans S+1 et S et insère le résultat dans R+1 et R (les données sources à virgule flottante doivent être au format IEEE754). SIN S+1 S Source (données à virgule flottante 32 bits) R+1 R Résultat (données à virgule flottante 32 bits) L’angle désiré doit être spécifié (–65 535 à 65 535) en radians dans S+1 et S. Lorsque la valeur absolue de l’angle dépasse 65 535, une erreur apparaît et l’instruction n’est pas exécutée. Pour des informations sur la conversion de degrés à radians, voir 5-24-9 DEGRES EN RADIANS : RAD(––). Le schéma suivant présente les liaisons entre l’angle et le résultat. R Drapeaux ER : S : Données de l’angle (radians) R : Résultat (sinus) Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée source n’est pas reconnue comme données à virgule flottante. A ON lorsque la valeur absolue de la donnée source excède 65 535. EQ : 384 A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. Chapitre 5-24 Instructions mathématiques à virgule flottante 5-24-12 COSINUS : COS(––) Zones de données d’opérandes Symboles à contacts S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR COS(––) @COS(––) S S R R 000 000 R : Premier mot de résultat Limitations IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Les données sources dans S+1 et S doivent être au format de données à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, COS(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, COS(––) calcule le cosinus de l’angle (en radians) exprimé comme valeur à virgule flottante 32 bits dans S+1 et S et insère le résultat dans R+1 et R (les données sources à virgule flottante doivent être au format IEEE754). COS S+1 S Source (données à virgule flottante 32 bits) R+1 R Résultat (données à virgule flottante 32 bits) L’angle désiré doit être spécifié (–65 535 à 65 535) en radians dans S+1 et S. Lorsque la valeur absolue de l’angle dépasse 65 535, une erreur apparaît et l’instruction n’est pas exécutée. Pour des informations sur la conversion de degrés en radians, voir 5-24-9 DEGRES EN RADIANS : RAD(––). Le schéma suivant présente les liaisons entre l’angle et le résultat. R Drapeaux ER : S : Données de l’angle (radians) R : Résultat (cosinus) Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée source n’est pas reconnue comme données à virgule flottante. A ON lorsque la valeur absolue de la donnée source excède 65 535. EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. 385 Chapitre 5-24 Instructions mathématiques à virgule flottante 5-24-13 TANGENTE : TAN(––) Zones de données d’opérandes Symboles à contacts S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR TAN(––) @TAN(––) S S R R 000 000 R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Limitations Les données sources dans S+1 et S doivent être au format de données à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, TAN(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, TAN(––) calcule la tangente de l’angle (en radians) exprimée comme valeur à virgule flottante 32 bits dans S+1 et S et insère le résultat dans R+1 et R (les données sources à virgule flottante doivent être au format IEEE754). TAN S+1 S Source (données à virgule flottante 32 bits) R+1 R Résultat (données à virgule flottante 32 bits) L’angle désiré doit être spécifié (–65 535 à 65 535) en radians dans S+1 et S. Lorsque la valeur absolue de l’angle dépasse 65 535, une erreur apparaît et l’instruction n’est pas exécutée. Pour des informations sur la conversion de degrés à radians, voir 5-24-9 DEGRES EN RADIANS : RAD(––). Lorsque la valeur absolue du résultat est plus grande que la valeur maximale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement positif (SR 25404) est à ON et le résultat est émis comme étant ±R . Le schéma suivant présente les liaisons entre l’angle et le résultat. R S : Données de l’angle (radians) R : Résultat (tangente) 386 Chapitre 5-24 Instructions mathématiques à virgule flottante Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée source n’est pas reconnue comme données à virgule flottante. A ON lorsque la valeur absolue de la donnée source excède 65 535. EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. 5-24-14 ARC SINUS : ASIN(––) Symboles à contacts Zones de données d’opérandes S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR ASIN(––) @ASIN(––) S S R R 000 000 R : Premier mot de résultat Limitations IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Les données sources dans S+1 et S doivent être au format de données à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description ASIN(––) calcule l’arc sinus du nombre à virgule flottante 32 bits et place le résultat dans le mot de résultat spécifié (la fonction arc sinus est l’inverse de la fonction sinus ; il retourne l’angle produit par une valeur sinus donnée entre –1 et 1). Lorsque la condition d’exécution est à OFF, ASIN(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, ASIN(––) calcule l’angle (en radians) pour une valeur sinus exprimée comme nombre à virgule flottante 32 bits dans S+1 et S et insère le résultat dans R+1 et R (les données sources à virgule flottante doivent être au format IEEE754). SIN–1 S+1 S Source (données à virgule flottante 32 bits) R+1 R Résultat (données à virgule flottante 32 bits) Les données source doivent être entre –1,0 et 1,0. Lorsque la valeur absolue des données sources dépasse 1,0, une erreur apparaît et l’instruction n’est pas exécutée. Le résultat est émis dans les mots R+1 et R comme un angle (en radians) dans la plage de –π/2 à π/2. Le schéma suivant présente les liaisons entre la donnée d’entrée et le résultat. 387 Chapitre 5-24 Instructions mathématiques à virgule flottante R S : Données d’entrée ( valeur sinus) R : Résultat (radians) Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée source n’est pas reconnue comme données à virgule flottante. A ON lorsque la valeur absolue de la donnée source excède 1,0. EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. 5-24-15 ARC COSINUS : ACOS(––) Symboles à contacts Zones de données d’opérandes S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR ACOS(––) @ACOS(––) S S R R 000 000 R : Premier mot de résultat Limitations IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Les données sources dans S+1 et S doivent être au format de données à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description ACOS(––) calcule l’arc cosinus du nombre à virgule flottante 32 bits et place le résultat dans le mot de résultat spécifié (la fonction arc cosinus est l’inverse de la fonction cosinus ; elle retourne l’angle produit par une valeur cosinus donnée entre –1 et 1). Lorsque la condition d’exécution est à OFF, ACOS(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, ACOS(––) calcule l’angle (en radians) pour une valeur cosinus exprimée comme un nombre à virgule flottante 32 bits dans S+1 et S et insère le résultat dans R+1 et R (les données sources à virgule flottante doivent être au format IEEE754). 388 Chapitre 5-24 Instructions mathématiques à virgule flottante COS–1 S+1 S Source (données à virgule flottante 32 bits) R+1 R Résultat (données à virgule flottante 32 bits) Les données source doivent être entre –1,0 et 1,0. Lorsque la valeur absolue des données sources dépasse 1,0, une erreur apparaît et l’instruction n’est pas exécutée. Le résultat est émis dans les mots R+1 et R comme un angle (en radians) dans la plage de 0 à π. Le schéma suivant présente les liaisons entre la donnée d’entrée et le résultat. R Drapeaux ER : S : Données d’entrée (valeur cosinus) R : Résultat (radians) Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée source n’est pas reconnue comme données à virgule flottante. A ON lorsque la valeur absolue de la donnée source excède 1,0. EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. 5-24-16 ARC TANGENTE : ATAN(––) Symboles à contacts Zones de données d’opérandes S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR ATAN(––) @ATAN(––) S S R R 000 000 R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Limitations Les données sources dans S+1 et S doivent être au format de données à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description ATAN(––) calcule l’arc tangente du nombre à virgule flottante 32 bits et place le résultat dans le mot de résultat spécifié (la fonction arc tangente est l’inverse de la fonction tangente ; il retourne l’angle produit par une valeur tangente). 389 Chapitre 5-24 Instructions mathématiques à virgule flottante Lorsque la condition d’exécution est à OFF, ATAN(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, ATAN(––) calcule l’angle (en radians) pour une valeur tangente exprimée comme un nombre à virgule flottante 32 bits dans S+1 et S et insère le résultat dans R+1 et R (les données sources à virgule flottante doivent être au format IEEE754). TAN–1 S+1 S Source (données à virgule flottante 32 bits) R+1 R Résultat (données à virgule flottante 32 bits) Le résultat est émis dans les mots R+1 et R comme un angle (en radians) dans la plage de –π/2 à π/2. Le schéma suivant présente les liaisons entre les données d’entrée et le résultat. R S : Données d’entrée (tangente) R : Résultat (radians) Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée source n’est pas reconnue comme données à virgule flottante. EQ : 390 A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. Chapitre 5-24 Instructions mathématiques à virgule flottante 5-24-17 RACINE CARREE : SQRT(––) Symboles à contacts Zones de données d’opérandes S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR SQRT(––) @SQRT(––) S S R R 000 000 R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Limitations Les données sources dans S+1 et S doivent être au format de données à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, SQRT(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, SQRT(––) calcule la racine carrée des nombres à virgule flottante de 32 bits dans S+1 et S et insère le résultat dans R+1 et R (les données sources à virgule flottante doivent être au format IEEE754). S+1 S Source (données à virgule flottante 32 bits) R+1 R Résultat (données à virgule flottante 32 bits) Les données sources doivent être positives ; lorsqu’elles sont négatives, une erreur apparaît et l’instruction n’est pas exécutée. Lorsque la valeur absolue du résultat est plus grande que la valeur maximale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement positif (SR 25404) est à ON et le résultat est émis comme étant +R . Le schéma suivant présente les liaisons entre les données d’entrée et le résultat. R S : Données d’entrée R : Résultat Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée source n’est pas reconnue comme données à virgule flottante. 391 Chapitre 5-24 Instructions mathématiques à virgule flottante A ON lorsque la donnée source est négative. EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. OF : A ON lorsque la valeur absolue du résultat est trop grande pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est émis comme étant +R ). 5-24-18 EXPONENTIELLE : EXP(––) Symboles à contacts Zones de données d’opérandes S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR EXP(––) @EXP(––) S S R R 000 000 R : Premier mot de résultat Limitations IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Les données sources dans S+1 et S doivent être au format de données à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, EXP(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, EXP(––) calcule l’exponentiel naturel (base e) des nombres à virgule flottante de 32 bits dans S+1 et S et insère le résultat dans R+1 et R. Dans les autres mots, EXP(––) calcule ex (x = source) et insère le résultat dans R+1 et R. S+1 S Source (données à virgule flottante 32 bits) e R+1 R Résultat (données à virgule flottante 32 bits) Lorsque la valeur absolue du résultat est plus grande que la valeur maximale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement positif (SR 25404) est à ON et le résultat est émis comme étant +R . Lorsque la valeur absolue du résultat est plus petite que la valeur minimale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement négatif (SR 25405) est à ON et le résultat est à 0. Rem. La constante e est 2,718282. Le schéma suivant présente les liaisons entre les données d’entrée et le résultat. 392 Chapitre 5-24 Instructions mathématiques à virgule flottante R S : Données d’entrée R : Résultat Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée source n’est pas reconnue comme données à virgule flottante. EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. OF : A ON lorsque la valeur absolue du résultat est trop grande pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est émis comme +R ). UF : A ON lorsque la valeur absolue du résultat est trop petite pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est émis comme 0). 5-24-19 LOGARITHME : LOG(––) Symboles à contacts Zones de données d’opérandes S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR LOG(––) @LOG(––) S S R R 000 000 R : Premier mot de résultat IR, SR, AR, DM, EM, HR, LR Troisième opérande : Toujours 000 ––– Limitations Les données sources dans S+1 et S doivent être au format de données à virgule flottante IEEE754. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, LOG(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, LOG(––) calcule le logarithme naturel (base e) des nombres à virgule flottante de 32 bits dans S+1 et S et insère le résultat dans R+1 et R. loge S+1 S Source (données à virgule flottante 32 bits) R+1 R Résultat (données à virgule flottante 32 bits) 393 Chapitre 5-25 Instructions Logiques Les données source doivent être positive ; lorsqu’elles sont négatives, une erreur apparaît et l’instruction n’est pas exécutée. Lorsque la valeur absolue du résultat est plus grande que la valeur maximale pouvant être exprimée comme données à virgule flottante, le drapeau de dépassement positif (SR 25404) est à ON et le résultat est émis comme étant ±R . Rem. La contante e est 2,718282. Le schéma suivant présente les liaisons entre la donnée d’entrée et le résultat. R S : Données d’entrée R : Résultat Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque la donnée source n’est pas reconnue comme données à virgule flottante. EQ : A ON lorsque l’exposant et la mantisse du résultat sont tous deux à 0. OF : A ON lorsque la valeur absolue du résultat est trop grande pour être exprimée comme valeur à virgule flottante 32 bits (le résultat est émis comme étant ±R ). 5-25 Instructions Logiques 5-25-1 COMPLEMENT – COM(29) Symboles à contacts COM(29) @COM(29) Wd Wd Zones de données d’opérandes Wd : Mot complément IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd. Description Lorsque la condition d’exécution est à OFF, COM(29) ne s’exécute pas. Lorsque la condition d’exécution est à ON, COM(29) efface tous les bits à ON et positionne tous les bits à OFF dans Wd. Précautions Le complément de Wd est calculé à chaque cycle lorsque la forme simple de COM(29) est utilisée. Utiliser la forme sans changement de front (@COM(29)) 394 Chapitre 5-25 Instructions Logiques ou combiner COM(29) avec DIFU(13) ou DIFD(14) pour calculer une seule fois le complément. 15 Exemple Original 00 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 15 00 Complément 0 Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat est égal à 0. 5-25-2 ET LOGIQUE – ANDW(34) Zones de données d’opérandes Symboles à contacts I1 : Entrée 1 ANDW(34) @ANDW(34) I1 I1 I2 I2 R R IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # I2 : Entrée 2 IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, ANDW(34) ne s’exécute pas. Lorsque la condition d’exécution est à ON, ANDW(34) effectue un ET LOGIQUE entre les contenus de I1 et I2 bit par bit et insère le résultat dans R. 15 Exemple I1 1 00 0 0 1 1 0 0 1 1 0 0 1 1 0 0 15 I2 0 00 1 0 1 0 1 0 1 0 1 0 1 0 1 0 15 R Drapeaux 0 1 1 00 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat est égal à 0. 395 Chapitre 5-25 Instructions Logiques 5-25-3 OU LOGIQUE – ORW(35) Zones de données d’opérandes I1 : Entrée 1 Symboles à contacts IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # ORW(35) @ORW(35) I1 I1 I2 I2 R R I2 : Entrée 2 IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, ORW(35) ne s’exécute pas. Lorsque la condition d’exécution est à ON, ORW(35) effectue un OU LOGIQUE entre les contenus de I1 et I2 bit par bit et insère le résultat dans R. 15 Exemple I1 1 00 0 0 1 1 0 0 1 1 0 0 1 1 0 0 15 I2 0 00 1 0 1 0 1 0 1 0 1 0 1 0 1 0 15 R Drapeaux 396 1 1 1 00 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat est égal à 0. Chapitre 5-25 Instructions Logiques 5-25-4 OU EXCLUSIF – XORW(36) Symboles à contacts Zones de données d’opérandes XORW(36) @XORW(36) I1 I1 I2 I2 R R I1 : Entrée 1 IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # I2 : Entrée 2 IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Mot de résultat IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour R. Description Lorsque la condition d’exécution est à OFF, XORW(36) ne s’exécute pas. Lorsque la condition d’exécution est à ON, XORW(36) effectue un OU EXCLUSIF entre les contenus de I1 et I2 bit par bit et insère le résultat dans R. 15 Exemple I1 1 00 0 0 1 1 0 0 1 1 0 0 1 1 0 0 15 I2 0 00 1 0 1 0 1 0 1 0 1 0 1 0 1 0 15 R Drapeaux 1 1 1 00 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat est égal à 0. 5-25-5 NON OU EXCLUSIF – XNRW(37) Zones de données d’opérandes Symboles à contacts I1 : Entrée 1 IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # XNRW(37) @XNRW(37) I1 I1 I2 I2 R R I2 : Entrée 2 Limitations IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Mot de résultat IR, SR, AR, DM, EM, HR, LR Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour R. 397 Chapitre 5-26 Instructions d’incrémentation/décrémentation Description Lorsque la condition d’exécution est à OFF, XNRW(37) ne s’exécute pas. Lorsque la condition d’exécution est à ON, XNRW(37) effectue un OU EXCLUSIF entre les contenus de I1 et I2 bit par bit et insère le résultat dans R. 15 I1 1 00 0 0 1 1 0 0 1 1 0 0 1 1 0 0 15 I2 0 00 1 0 1 0 1 0 1 0 1 0 1 0 1 0 15 R Drapeaux 0 1 1 00 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 ER : Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat est égal à 0. 5-26 Instructions d’incrémentation/décrémentation 5-26-1 INCREMENT BCD – INC(38) Symboles à contacts INC(38) @INC(38) Wd Wd Zones de données d’opérandes Wd : Mot incrémenté (BCD) IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd. Description Lorsque la condition d’exécution est à OFF, INC(38) ne s’exécute pas. Lorsque la condition d’exécution est à ON, INC(38) incrémente Wd, sans affecter la retenue (CY). Précautions Le contenu de Wd est incrémenté à chaque cycle lorsque la forme simple de INC(38) est utilisée. Utiliser la forme sans changement de front (@INC(38)) ou combiner INC(38) avec DIFU(13) ou DIFD(14) pour incrémenter une seule fois Wd. Drapeaux ER : Wd n’est pas une valeur BCD Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : 398 A ON lorsque le résultat incrémenté est 0. Chapitre 5-26 Instructions d’incrémentation/décrémentation 5-26-2 DECREMENT BCD – DEC(39) Symboles à contacts DEC(39) @DEC(39) Wd Wd Zones de données d’opérandes Wd : Mot décrémenté (BCD) IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour Wd. Description Lorsque la condition d’exécution est à OFF, DEC(39) ne s’exécute pas. Lorsque la condition d’exécution est à ON, DEC(39) décrémente Wd, sans affecter CY. DEC(39) fonctionne de la même manière que INC(38) à part qu’il décrémente la valeur au lieu de l’incrémenter. Précautions Le contenu de Wd est décrémenté à chaque cycle lorsque la forme simple de DEC(39) est utilisée. Utiliser la forme sans changement de front (@DEC(39)) ou combiner DEC(39) avec DIFU(13) ou DIFD(14) pour décrémenter une seule fois Wd. Drapeaux ER : Wd n’est pas une valeur BCD. Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). EQ : A ON lorsque le résultat décrémenté est 0. 399 Chapitre 5-27 Instructions de sous–programme 5-27 Instructions de sous–programme Les sous–programmes décomposent de grandes tâches de commande en des plus petites et permettent de réutiliser un ensemble donné d’instructions. Lorsque le programme principal appelle un sous–programme, la commande est transférée au sous–programme et les instructions de sous–programme sont exécutées. Les instructions dans un sous–programme sont écrites de la même façon qu’un code de programme principal. Lorsque toutes les instructions de sous–programme sont exécutées, la commande redémarre dans le programme principal juste après le point d’insertion du sous–programme (sauf indication contraire dans le sous–programme). 5-27-1 SAISIE DU SOUS–PROGRAMME – SBS(91) Symbole à contacts Zones de données de définer N : Nombre de sous–programme SBS(91) N 000 à 255 Description Un sous–programme peut être exécuté en plaçant l’instruction SBS(91) dans le programme principal à l’endroit où l’on désire le sous–programme. Le numéro de sous–programmes utilisé dans l’instruction SBS(91) indique le sous–programme souhaité. Lorsque l’instruction SBS(91) est exécutée (c.à.d., lorsque sa condition d’exécution est à ON), les instructions situées après SBN(92) possédant le même numéro de sous–programme et avant RET(93) sont réalisées avant que l’exécution ne retourne à l’instruction qui suit le SBS(91) demandeur. Programme principal SBS(91) 00 Programme principal SBN(92) 00 Sous–programme RET(93) END(01) L’instruction SBS(91) peut être utilisée autant de fois que souhaité dans le programme, c.à.d., que le même sous–programme peut être appelé en différents emplacements du programme). 400 Chapitre 5-27 Instructions de sous–programme L’instruction SBS(91) peut également être placée dans un sous–programme pour décaler l’exécution du programme d’un sous–programme à un autre, c.-à-d., que des sous–programmes peuvent s’emboîter. Lorsque le second sous–programme a été accompli (c.-à-d., lorsque l’instruction RET(93) a été atteinte), l’exécution du programme redémarre à partir du sous–programme source qui est accompli avant de revenir au programme principal. L’emboîtement est possible jusqu’à seize niveaux. Un sous–programme ne peut pas s’appeler (par exemple, l’instruction SBS(91) 000 ne peut pas être programmée dans un sous–programme défini par l’instruction SBN(92) 000). Le schéma suivant illustre deux niveaux d’emboîtements. SBS(91) 010 SBN(92) 010 SBN(92) 011 SBS(91) 011 SBS(91) 012 RET(93) RET(93) SBN(92) 012 RET(93) Le schéma suivant illustre le déroulement d’exécution des programmes pour différentes conditions d’exécution de deux instructions SBS(91). A SBS(91) 000 A B Programme principal SBS(91) Conditions d’exécution à OFF pour les sous–programmes 000 et 001 B C 001 Condition d’exécution à ON pour le seul sous–programme 000 A C SBN(92) 000 D B C Condition d’exécution à ON pour le seul sous–programme 001 A B E C D Sous– programmes RET(93) SBN(92) 001 Conditions d’exécution à ON pour les sous–programmes 000 et 001 A D B E C E RET(93) END(01) Drapeaux ER : Un sous–programme n’existe pas pour le nombre indiqué de sous–programmes. Un sous–programme s’est auto–appelé. Un sous–programme actif a été appelé. ! Attention L’instruction SBS(91) ne s’exécute pas et le sous–programme n’est pas appelé lorsque ER est à ON. 401 Chapitre 5-28 Instructions spéciales 5-27-2 DEBUT DE SOUS–PROGRAMME et RETOUR AU PROGRAMME PRINCIPAL – SBN(92)/RET(93) Symboles à contacts SBN(92) N Zones de données de definer N : Nombre de sous–programmes 000 à 255 RET(93) Limitations Chaque nombre de sous–programmes ne peut être utilisé qu’une fois dans l’instruction SBN(92). Description L’instruction SBN(92) est utilisée pour marquer le commencement d’un sous–programme ; l’instruction (93) pour en marquer la fin. Chaque sous–programme est identifié par un nombre de sous–programmes. N, qui est programmé comme definer pour l’instruction SBN(92). Ce même nombre de sous–programmes est utilisé dans toute l’instruction SBS(91) qui appelle le sous–programme (voir le paragraphe 5-27-1 SAISIE DU SOUS–PROGRAMME – SBS(91)). Aucun nombre de sous–programmes n’est requis pour l’instruction RET(93). Tous les sous–programmes doivent être programmés à la fin du programme principal. Lorsqu’un sous–programme ou plus a été programmé, le programme principal sera exécuté à partir de la première instruction SBN(92) avant le renvoi à l’adresse 00000 pour le prochain cycle. Des sous–programmes ne sont pas exécutés à moins qu’appelés par l’instruction SBS(91). L’instruction END(01) doit être placée à la fin du dernier programme de sous–programme, c.à.d., après la dernière instruction RET(93). Elle n’est requise à aucun autre emplacement dans le programme. Précautions Si l’instruction SBN(92) est placée par erreur dans le programme principal, elle empêche l’exécution du programme après ce point, c.à.d., que le programme se ré–exécute depuis le début lorsque l’instruction SBN(92) se produit. Si les instructions DIFU(13) ou DIFU(14) sont placées dans un sous–programme, le bit d’opérande n’est pas à OFF jusqu’à la prochaine exécution du sous–programme, c.à.d., que le bit d’opérande peu rester à ON plus longtemps qu’un cycle. Drapeaux Aucun drapeau n’est directement affecté par ces instructions. 5-28 Instructions spéciales 5-28-1 ECHANTILLONNAGE DE MEMOIRE DE TRACAGE – TRSM(45) Le traçage de données peut être utilisé pour faciliter la mise au point des programmes. Le réglage et l’utilisation du traçage de données nécessitent un ordinateur hôte qui fait fonctionner le SYSWIN ; aucun traçage de données n’est possible d’une console de programmation. Le traçage de données est décrit en détail dans le Manuel de fonctionnement SSSl : API séries C. Ce chapitre montre le symbole à contacts pour l’instruction TRSM(45) et donne un programme d’exemple. Symbole à contacts TRSM(45) 402 Chapitre 5-28 Instructions spéciales Description L’instruction TRSM(45) est utilisée pour marquer les emplacements du programme où les données spécifiées doivent être stockées dans la Mémoire de Traçage. 12 bits et 3 mots au maximum peuvent être indiqués pour le traçage. (Se référer au Manuel d’Utilisation du logiciel CX–programmer pour de plus amples détails.) L’instruction TRSM(45) n’est pas contrôlée par une condition d’exécution, mais plutôt par deux bits dans la zone AR : AR 2515 et AR 2514. L’AR 2515 est le bit de départ d’échantillonnage. Ce bit est à ON pour débuter les processus d’échantillonnage pour le traçage. Le bit de départ prélevé ne doit pas être à ON à partir du programme, c.à.d., il doit être à ON seulement à partir du périphérique. L’AR 2514 est le bit de départ de traçage. Lorsqu’il est placé, les données spécifiées sont enregistrées dans la mémoire de traçage. Le bit de départ de traçage peut provenir du programme ou du dispositif de programmation. Une avance ou un retard de temps peuvent être pris pour changer le point actuel à partir duquel le traçage commence. Les données peuvent être enregistrées selon trois manières. L’instruction TRSM(45) peut être mise à un emplacement ou plus du programme pour indiquer où les données spécifiées sont tracées. Si l’instruction TRSM(45) n’est pas utilisée, les données spécifiées sont tracées lorsque l’instruction END(01) est exécutée. La troisième méthode implique de placer un intervalle de temps à partir des périphériques pour que les données soient tracées à intervalles réguliers indépendamment de la durée du cycle. (Se référer au Manuel d’utilisation SSS l : API de séries C.) L’instruction TRSM(45) peut être insérée dans un programme en tout emplacement et autant de fois que souhaité. Les données dans la mémoire de traçage peuvent alors être surveillées par l’intermédiaire d’une console de programmation, d’un ordinateur hôte, etc. Bits de contrôle AR et drapeaux Les drapeaux et les bits de contrôle suivants sont utilisés pendant le traçage des données. Le drapeau de traçage sera à ON pendant les opérations de traçage. Le drapeau accompli de traçage sera à ON lorsque suffisamment de données ont été tracées pour remplir la mémoire de traçage. Drapeau AR 2515 Fonction AR 2514 Bit de départ d’échantillonnage* Bit de départ de traçage AR 2513 Drapeau de traçage AR 2512 Drapeau de fin de traçage Rem. *Ne pas changer l’état de l’AR 2515 à partir du programme. Précautions Si l’instruction TRSM(45) se produit, l’instruction TRSM(45) ne s’exécute pas dans un bloc JMP(08) – JME(09) lorsque la condition de saut est à OFF. Exemple L’exemple suivant montre le programme et l’opération de base pour le traçage des données. Insérer le bit de départ d’échantillonnage (AR 2515) pour commencer l’échantillonnage. Le bit de départ d’échantillonnage du programme ne doit pas être à ON. les données sont lues et enregistrées dans la mémoire de traçage. Lorsque l’instruction IR 00000 est à ON, le bit de départ de traçage (AR 2514) est aussi à ON, et l’Unité centrale examine le retard et marque la mémoire de traçage en conséquence. Ceci peut signifier que certains des échantillons déjà effectués sont enregistrés comme mémoire de traçage (retard négatif), ou que plus d’échantillons sont réalisés avant qu’ils soient enregistrés (retard positif). 403 Chapitre 5-28 Instructions spéciales Les données échantillonnées sont écrites dans la mémoire de traçage, sautent au début de la zone mémoire dès que la fin est atteinte et continuent jusqu’au marqueur de départ. Celà peut signifier que les données enregistrées précédemment (c.à.d., les données de cet échantillon qui tombent avant le marqueur de départ) sont recouvertes (c’est spécialement vrai en cas d’avance). Le retard ne peut pas être tel que les données requises ont été exécutées avant que l’échantillonnage ait commencé. 00000 AR 2514 TRSM(45) AR 2513 à ON lors du traçage Instruction 00000 00001 00002 00003 LD OUT TRSM(45) LD Opérandes AR 0000 2514 AR 2513 Adresse 00004 00005 00006 Indique que le traçage est en cours. 00201 Indique que le traçage est terminé. Instruction OUT LD OUT Désigne un point pour le traçage. 00200 AR 2512 à ON lorsque le traçage est terminé Adresse Traçage des données de départ. Opérandes AR 00200 2512 00201 5-28-2 MESSAGE – MSG(46) Symboles à contacts MSG(46) @MSG(46) FM FM Zones de données d’opérandes FM : Premier mot de message IR, SR, AR, DM, EM, HR, LR Limitations Les instructions des DM 6649 à DM 6655 ne peuvent être utilisées pour FM. Description L’instruction MSG(46), lorsque réalisée avec une condition d’exécution à ON, lit huit mots de code ASCII étendu de FM à FM+7 et affiche le message sur la console de programmation. Le message affiché peut comporter jusqu’à 16 caractères, c.-à-d., que chaque code de caractère ASCII nécessite huit bits (deux digits). Se référer à l’Annexe H pour les codes ASCII. Des caractères katakana japonais sont inclus dans ce code. Si les 8 mots n’ont pas tous été requis pour le message, celui–ci peut être arrêté en n’importe quel point en mettant “OD.” Lorsque OD paraît dans un message, aucun autre mot n’est lu et les mots qui seraient normalement utilisés pour le message peuvent être utilisés pour d’autres buts. Mise en mémoire tampon du message et priorité 404 Jusqu’à 3 messages peuvent être enregistrés dans la mémoire tampon. Une fois stockés dans la mémoire tampon, ils sont affichés selon le principe du premier entré est le premier sorti. Depuis qu’il est possible que plus de 3 instructions MSG(46) soient exécutées dans un simple cycle, il y a un arrangement prioritaire, basé sur la zone de stockage des messages, pour la sélection de ces messages à mettre en mémoire tampon. Chapitre 5-28 Instructions spéciales La priorité des zones de données est la suivante pour l’affichage du message : LR > IR > HR > AR > TIM/CNT > DM En manipulant des messages provenant de la même zone, ceux avec les plus basses valeurs d’adresses ont une priorité plus élevée. En manipulant les messages indirectement adressés (c.-à-d. *DM), ceux avec les plus basses adresses DM finales ont une priorité plus élevée. Effacement des messages Pour effacer un message, exécuter l’instruction FAL(06) 00 ou l’effacer par l’intermédiaire d’une console de programmation ou de SYSWIN. Si les données du message changent pendant l’affichage du message, l’affichage change également. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). Exemple L’exemple suivant montre l’affichage qui serait produit pour l’instruction et les données fournies lorsque 00000 est à ON. Si 00001 reste à ON, un message est effacé. 00000 Adresse Instruction Opérandes MSG(46) DM 0010 00001 00000 00001 LD MSG(46) 00002 00003 LD FAL(06) DM FAL(06) 00 Contenus DM DM 0010 4 1 4 2 ASCII équivalent A B DM 0011 4 3 4 4 C D DM 0012 4 5 4 6 E F DM 0013 4 7 4 8 G H DM 0014 4 9 4 A I J DM 0015 4 B 4 C K L DM 0016 4 D 4 E M N DM 0017 4 F 5 0 O P 00000 0010 00001 00 MSG ABCDEFGHIJKLMNOP 5-28-3 RAFRAICHISSEMENT E/S – IORF(97) Symbole à contacts Zones de données d’opérandes St : Mot de départ IORF(97) IR 000 à IR 115 St E : Mot de fin E IR 000 à IR 115 Limitations St doit être inférieur ou égal à E. Description Pour rafraîchir des mots d’E/S, spécifier les premiers (St) et les derniers (E) mots d’E/S à régénérer. Lorsque l’exécution pour l’instruction IORF(97) est à 405 Chapitre 5-28 Instructions spéciales ON, tous les mots entre St et E sont rafraîchis, ceci en plus du rafraîchissement des E/S normal accompli pendant le cycle de l’Unité centrale. Rem. Cette instruction n’a aucun effet sur les mots inutilisés pour les E/S. Drapeaux Aucun drapeau n’est affecté par cette instruction. 5-28-4 MACRO – MCRO(99) Symboles à contacts Zones de données d’opérandes N : Nombre de sous–programmes 000 à 127 MCRO(99) @MCRO(99) N N I1 I1 O1 O1 I1 : Premier mot d’entrée IR, SR, AR, DM, EM, HR, TIM/CNT, LR O1 : Premier mot de sortie IR, SR, AR, DM, EM, HR, LR Limitations Les instructions des DM 6144 à DM 6655 ne peuvent être utilisées pour O1. Description L’instruction MACRO permet à un sous–programme unique de remplacer plusieurs sous–programmes qui ont une structure identique mais des opérandes différents. 4 mots d’entrée, de l’IR 096 à l’IR 099, et 4 mots de sortie, IR 196 à IR 199, sont assignés à l’instruction MCRO(99). Ces 8 mots sont utilisés dans le sous–programme et prennent leur contenu de I1 à I1+3 et O1 à O1+3 lorsque le sous–programme est exécuté. Lorsque l’exécution est à OFF, l’instruction MCRO(99) ne s’exécute pas. Lorsque l’exécution est à ON, l’instruction MCRO(99) copie les contenus de I1 à I1+3 de l’IR 096 à l’IR 099, O1 à O1+3 de l’IR 196 à l’IR 199, et exécute alors le sous–programme spécifié dans N. Lorsque le sous–programme est accompli, le contenu de l’IR 196 à l’IR 199 est alors transféré de nouveau à O1 à O1+3 avant que l’instruction MCRO(99) soit accomplie. La fonction macro permet à un sous–programme unique (modèle de programmation) d’être utilisé en changeant simplement le mot d’entrée/sortie. Un numéro de sections de programme identiques peut être géré avec juste un sous–programme, réduisant de ce fait considérablement le nombre d’étapes du programme et en facilitant la compréhension. Utilisation de Macros Pour utiliser une macro, appeler un sous–programme au moyen de l’instruction MACRO, comme montré ci–dessous, au lieu de l’instruction SBS(91) (SAISIE DU SOUS–PROGRAMME). MCRO(99) Sous–programme n° Premier mot d’entrée Premier mot de sortie Lorsque l’instruction MCRO(99) est exécutée, l’opération se poursuit comme suit : 1, 2, 3... 406 1. Les contenus de 4 mots consécutifs commençant par le premier mot d’entrée sont transférés aux instructions IR 096 à IR 099. Les contenus de quatre mots consécutifs commençant par le premier mot de sortie sont transférés aux instructions IR 196 à IR 199. Instructions spéciales Chapitre 5-28 2. Le sous–programme spécifié est réalisé jusqu’à ce que l’instruction RET(93) (retour au sous–programme) soit exécutée. 3. Les contenus des IR 196 à IR 199 sont transférés aux 4 mots consécutifs commençant par le permier mot de sortie. 4. L’instruction MCRO(99) est alors terminée. Lorsque l’instruction MCRO(99) est exécutée, la même trame d’instructions peut être utilisée en changeant simplement le premier mot d’entrée et le premier mot de sortie. Les restrictions suivantes s’appliquent quand la macro–fonction est employée. • Les seuls mots qui peuvent être utilisés pour chaque exécution de la macro sont les 4 mots consécutifs commençant par le premier nombre de mots d’entrée (pour les entrées) et les 4 mots consécutifs commençant par le premier mot de sortie (pour les sorties). • Les entrées et sorties spécifiées doivent correspondre correctement aux mots utilisés dans le sous–programme. • Même lorsque la méthode de sortie directe est utilisée pour les sorties, les résultats de sous–programme sont désormais renvoyés dans les mots de sortie indiqués seulement lorsque le sous–programme a été accompli (étape 3 ci–dessus). Rem. Les instructions IR 096 à IR 099 et IR 196 à IR 199 peuvent être utilisées en tant que bits de travail lorsque l’instruction MCRO(99) est inutilisée. Les premiers mots d’E/S peuvent être indiqués non seulement avec des bits d’E/S mais également avec d’autres bits (comme des bits HR, de travail, etc.) ou avec des mots DM. Les sous–programmes appelés par l’instruction MCRO(99) sont définis par les instructions SBN(92) et RET(93), juste comme des sous–programmes standards. 407 Instructions spéciales Chapitre 5-28 Exemple d’application Lorsqu’une macro est utilisée, le programme peut être simplifiée comme montré ci–dessous. Macro inutilisée Macro utilisée 25313 (Toujours à ON) 00000 10001 MCRO(99) 10000 090 10000 000 100 00001 00002 MCRO(99) 10001 00200 090 002 10501 105 10500 MCRO(99) 10500 090 00201 005 00202 10501 00500 120 MCRO(99) 12001 12000 090 010 12000 150 00501 00502 SBN(92) 12001 01000 09600 15001 19601 19600 15000 19600 15000 01001 090 01002 15001 Sous–programme utilisé pour définir la macro 09601 19602 19601 RET(93) Drapeaux ER : Un sous–programme n’existe sous–programmes indiqués. pas pour le numéro de Un opérande a dépassé une limite de zone de données. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). Un sous–programme s’appelle lui–même. Un sous–programme actif a été appelé. 5-28-5 COMPTEUR DE BITS – BCNT(67) Symboles à contacts Zones de données d’opérandes N : Nombre de mots (BCD) BCNT(67) @BCNT(67) N N SB SB R R IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # SB : Mot de commencement source IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Mot de destination IR, SR, AR, DM, EM, HR, TIM/CNT, LR 408 Chapitre 5-28 Instructions spéciales Limitations N ne peut pas être nul. DM 6144 à DM 6655 ne peuvent pas être utilisées pour R. Description Lorsque la condition d’exécution est à OFF, l’instruction BCNT(67) ne s’exécute pas. Lorsque la condition d’exécution est à ON, l’instruction BCNT(67) compte le nombre total de bits qui sont à ON dans tous les mots entre SB et SB+(N–1) et place le résultat dans R. Drapeaux ER : EQ : N n’est pas BCD, ou N est nul ; les instructions SB et SB+(N–1) ne sont pas dans la même zone. La valeur de comptage totale excède 9999. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). A ON lorsque le résultat est nul. 5-28-6 CONTROL DE TRAME – FCS(––) Zones de données d’opérandes Symboles à contacts FCS(––) @FCS(––) C C R1 R1 D D C : Données de contrôle IR, SR, AR, DM, EM, HR, LR, # R1 : Premier mot de la plage IR, SR, AR, DM, EM, HR, TIM/CNT, LR D : Premier mot de destination IR, SR, AR, DM, EM, HR, LR Limitations Les 3 digits à l’extrême droite de C doivent être des valeurs BCD entre 001 et 999. Les instructions du DM 6143 au DM 6655 ne peuvent pas être utilisées pour D. Description L’instruction FCS(––) peut être utilisée pour rechercher les erreurs lors du transfert de données par les ports de communication. Lorsque l’exécution est à OFF, l’instruction FCS(––) ne s’exécute pas. Lorsque l’exécution est à ON, l’instruction FCS(––) calcule le checksum de trame de la plage spécifiée en exécutant un OU exclusif sur le contenu des mots R1 à R1+N–1 ou sur les octets contenus dans les mots R1 à R1+N–1. La valeur de checksum de trame (hexadécimale) est alors convertie en ASCII et transmise aux mots de destination (D et D+1). Le rôle des bits de C est indiqué dans le schéma suivant et est expliqué plus en détail ci–après. C: 15 14 13 12 11 00 Nombre d’élém. dans plage (N, BCD) 001 à 999 mots ou octets Premier octet (lorsque le bit 13 est à ON) 1 (ON) : A l’extrême–droite 0 (OFF) : A l’extrême gauche Inutilisé. Réglé sur zéro. Nombre d’éléments dans la plage Unités de calcul 1 (ON) : Octets 0 (OFF) : Mots Le nombre d’éléments dans la plage (N) est contenu dans les 3 digits à l’extrême–droite de C, qui doivent être des valeurs BCD comprises entre 001 et 999. 409 Chapitre 5-28 Instructions spéciales Unités de calcul Le checksum de trame des mots est calculé lorsque le bit 13 est à OFF et le checksum de trame des octets est calculé lorsque le bit 13 est à ON. Si les octets sont spécifiés, la plage peut commencer par l’octet à l’extrême gauche ou à l’extrême droite de R1. L’octet à l’extrême gauche de R1 n’est pas inclus lorsque le bit 12 est à ON. R1 R1+1 R1+2 R1+3 MSB 1 3 5 7 LSB 2 4 6 8 Lorsque le bit 12 est à OFF, un OU logique est exécuté sur les octets dans l’ordre 1, 2, 3, 4, .... Lorsque le bit 12 est à ON, un OU logique est exécuté sur les octets dans l’ordre 2, 3, 4, 5, .... Conversion en ASCII Le calcul du checksum de trame des octets donne une valeur hexadécimale à 2 digits qui est convertie en son équivalent ASCII à 4 digits. Le calcul du checksum de trame des mots donne une valeur hexadécimale à 4 digits qui est convertie en son équivalent ASCII à 8 digits, comme indiqué ci–dessous. Checksum de trame des octets Checksum de trame des mots 4A D Drapeaux ER : F10B 3 4 4 1 D 4 6 3 1 D+1 3 0 4 2 Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). Le nombre d’éléments n’est pas une valeur BCD comprise entre 001 à 999. Exemple Lorsque l’instruction IR 00000 est à ON dans l’exemple suivant, le checksum de trame (0008) est calculé pour les 8 mots du DM 0000 au DM 0007 et l’équivalent ASCII (30 30 30 38) est écrit dans les DM 0010 et DM 0011. 00000 @FCS(––) #0008 DM 0000 Adresse Instruction 00000 00001 LD @FCS(––) Opérandes 00000 # DM DM DM 0010 DM 0000 DM 0001 DM 0002 DM 0003 DM 0004 DM 0005 DM 0006 DM 0007 410 0001 0002 0003 0004 0005 0006 0007 0008 Calcul de FCS 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 8 Conversion en code ASCII DM 0010 3 0 3 0 DM 0011 3 0 3 8 0008 0000 0010 Chapitre 5-28 Instructions spéciales 5-28-7 DETECTION DE POINT DE PANNE – FPD(––) Symboles à contacts Zones de données d’opérandes C : Données de contrôle FPD(––) # C T : Temps de surveillance (BCD) T IR, SR, AR, DM, EM, HR, TIM/CNT. LR, # D D : Premier mot du registre IR, SR, AR, DM, EM, HR, LR Limitations D et D+8 doivent être dans la même zone de données lorsque le bit 15 de C est à ON. Les instructions du DM 6144 au DM 6655 ne peuvent pas être utilisées pour T ou D. C doit être insérée en tant que constante. Description L’instruction FPD(––) peut être utilisée dans le programme autant de fois que souhaité, mais un mot différent pour D doit être utilisé à chaque fois. Elle est utilisée pour surveiller le temps entre l’exécution de l’instruction FPD(––) et l’exécution d’une sortie de diagnostic. Si le temps excède T, une erreur non–fatale d’instruction FAL(06) se produit avec le nombre FAL indiqué en C. Les sections du programme marquées par des lignes en pointillés dans le schéma suivant peuvent être écrites selon les besoins de l’application particulière de programme. La section de programme de traitement déclenchée par CY est facultative et peut utiliser toutes les instructions sauf LD et LD NOT. Les instructions de diagnostic logiques et la condition d’exécution peuvent se composer de n’importe quelle combinaison de NC ou des conditions NO désirés. Condition d’exécution Raccordement FPD(––)(50) C T D SR 25504 (Drapeau CY) Instructions de diagnostic logiques Traitement après détection d’erreurs. Diagnostic de sortie Lorsque la condition d’exécution est à OFF, l’instruction FPD(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, l’instruction FPD(––) surveille le temps jusqu’à ce que la condition de diagnostics logiques passe à ON, mettant ainsi la sortie diagnostic à ON. Si ce temps excède T, il se produit : 1, 2, 3... 1. Une erreur d’instruction FAL(06) est générée avec le nombre FAL spécifié dans les deux premiers digits de C. Toutefois, si 00 est indiqué, une erreur n’est pas générée. 2. Les instructions de diagnostic logique sont recherchées depuis la première condition d’entrée à OFF et l’adresse de bit de la condition est transférée aux mots de destination commençant à D. 3. Le drapeau CY (SR 25504) passe à ON. Une section de programme de traitement d’erreurs peut être exécutée à l’aide du drapeau CY si souhaité. 411 Chapitre 5-28 Instructions spéciales 4. Si le bit 15 de C est à ON, un message préréglé comprenant jusqu’à 8 caractères ASCII est affiché sur l’unité périphérique avec l’adresse de bit mentionnée dans l’étape 2. Données de contrôle Le rôle des bits de données de contrôle de C est montré dans le schéma suivant. C: 15 14 08 07 00 Inutilisés. Remis à zéro. Nombre FAL (2-digit BCD, 00 à 99) Sortie de diagnostics 0 (OFF) : Sortie d’adresse de bit (binaire) 1 (ON) : Sortie de message et d’adresse de bit (ASCII) Instructions de diagnostic logique Si le temps de passage à ON de la condition de diagnostic logique dépasse T, les instructions de diagnostic logique sont recherchées depuis la condition d’entrée à OFF. Si plus d’une condition d’entrée est à OFF, la condition d’entrée sur la ligne d’instruction la plus élevée et la plus proche de la gauche de la barre de bus est choisie. 00000 00002 00001 00003 Sortie de diagnostic Lorsque les instructions IR 00000 à IR 00003 sont à ON, la condition normalement fermée IR 00002 n’est pas trouvée comme cause d’une sortie de dignostic qui ne passe pas à ON. Sortie de diagnostics 1, 2, 3... Il y a deux manières d’extraire l’adresse de bit de la condition à OFF détectée dans la condition de diagnostic logique. 1. Sortie d’une adresse de bit (utilisée lorsque le bit 15 de C est à OFF). Le bit 15 de D indique si l’information d’adresse de bit est stockée dans D+1 ou pas. Si elle est stockée, le bit 14 de D indique si la condition d’entrée est normalement ouverte ou fermée. D: 15 14 13 00 Inutilisés. Condition d’entrée 0 (OFF) : Normalement ouverte 1 (ON) : Normalement fermée Information d’adresse de bit 0 (OFF) : Non chargé dans D+1. 1 (ON) : Chargé dans D+1. D+1 contient le code d’adresse de bit de la condition d’entrée, comme montré ci-dessous. Les adresses de mot, les numéros de bits et les numéros TIM/CNT sont binaires. Zone de données 15 14 13 12 11 IR, SR 1 0 0 0 Adresse de mot Numéro de bit HR 1 0 0 1 1 Adresse de mot Numéro de bit LR 1 0 0 1 0 0 Adresse de mot Numéro de bit TIM/CNT* 1 0 0 1 0 1 * Etat du bit D+1 10 09 08 07 06 05 04 03 02 01 00 Numéro de temporisation ou de compteur Rem. a) *Pour la zone TIM/CNT, le bit 09 de D+1 indique si le numéro est de temporisation ou de compteur. Un 0 indique un numéro de temporisation et un 1 un numéro de compteur. 412 Chapitre 5-28 Instructions spéciales b) L’état du bit le plus à gauche du numéro de bit (bit 03) s’inverse. Exemple : Si D + 1 contient 1000 0110 0100 1000, IR 10000 est indiqué comme suit : 1000 0110 0100 1000 IR $64 = 100 Bit 00 (état inversé du bit 03) 2. Adresse de bit et sortie de message (sélectionné lorsque le bit 15 de C est à ON). Le bit 15 de D indique si l’information d’adresse de bit est stockée en D+1 à D+3 ou non. Si elle est stockée, le bit 14 de D indique si la condition d’entrée est normalement ouverte ou fermée. Se référer au tableau suivant. Les mots D+5 à D+8 contiennent l’information en ASCII qui est affichée sur l’unité périphérique avec l’adresse de bit lorsque l’instruction FPD(––) s’exécute. Les mots D+5 à D+8 contiennent le message pré–réglé par l’utilisateur comme montré dans le tableau suivant. Mot Bits 15 à 08 Bits 07 à 00 D+1 20 = espace Premier caractère ASCII D+2 Second caractère ASCII Troisième caractère ASCII D+3 Quatrième caractère ASCII Cinquième caractère ASCII D+4 2D = “–” “0”= normalement ouvert, “1”= normalement fermé D+5 Premier caractère ASCII Second caractère ASCII D+6 Troisième caractère ASCII Quatrième caractère ASCII D+7 Cinquième caractère ASCII Sixième caractère ASCII D+8 Septième caractère ASCII Huitième caractère ASCII Rem. Si les 8 caractères ne sont pas tous utilisés dans le message, mettre “0D” après le dernier caractère. Détermination du temps de surveillance 1, 2, 3... La procédure ci–dessous peut être utilisée pour régler automatiquement l’heure de surveillance, T, dans des conditions de fonctionnement réelles lorsqu’il est spécifié un opérande de mot pour T. Cette opération ne peut se faire si une constante est mise pour T. 1. 2. 3. 4. Commuter le CQM1H dans le mode de fonctionnement MONITOR. Connecter une unité périphérique, comme une console de programmation. Utiliser l’unité périphérique pour mettre le bit de contrôle de l’AR 2508 à ON. Exécuter le programme avec l’AR 2508 passe à ON. Si le temps de surveillance actuellement en T est dépassé, 1,5 fois le temps de surveillance actuel est stocké dans T. Les erreurs de l’instruction FAL(06) ne se produisent pas tant que l’AR 2508 est à ON. 5. Mettre l’AR 2508 à OFF lorsqu’une valeur acceptable a été stockée dans T. 413 Chapitre 5-28 Instructions spéciales Exemple Dans l’exemple suivant, l’instruction FPD(––) est réglée pour afficher l’adresse de bit et le message (“ABC”) lorsque un temps de surveillance de 123,4 s est dépassé. SR 25315 MOV(21) Adresse Instruction Opérandes #4142 00000 00001 HR 15 LD MOV(21) SR 25315 MOV(21) #430D 00002 00003 HR 16 FPD(––) 00004 00005 #1234 LD FPD(––) HR 10 SR 25504 (Drapeau CY) INC(38) DM 0100 10000 10001 00006 00007 AND INC(38) 00008 00009 00010 00011 00012 00013 LD OR LD NOT OR NOT AND LD OUT 10002 LR 0015 10003 # HR 4142 15 25315 # HR LR 430D 16 0000 # # HR 0010 1234 10 25504 DM 0100 10000 10001 10002 10003 LR 0015 LD MOV(21) LR 0000 #8010 25315 L’instruction FPD(––) s’exécute et débute la surveillance lorsque le LR 0000 passe à ON. Si le LR 0015 ne passe pas à ON en 123,4 secondes et que les instructions IR 10000 à IR 10003 sont toutes à ON, l’instruction IR 10002 est définie comme la cause de l’erreur, une erreur d’instruction FAL(06) est générée avec un nombre FAL de 10, et l’adresse de bit et le message pré–réglé (“10002–1ABC”) s’affichent sur l’unité périphérique. HR 10 HR 11 HR 12 HR 13 HR 14 HR 15 HR 16 HR 17 HR 18 Drapeaux 0000 0000 0000 0000 0000 4142 430D 0000 0000 HR 10 HR 11 HR 12 HR 13 HR 14 HR 15 HR 16 HR 17 HR 18 ER : C000 2031 3030 3032 2D31 4142 430D 0000 0000 Indique une information, une condition normalement fermée “1” “00” “02” “–1” “AB” “C”, et code CR Les deux derniers mots sont ignorés. (Affichés en tant qu’espaces). T n’est pas BCD. C n’est pas une constante ou n’est pas une valeur BCD comprise entre 00 et 99. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). CY : 414 A ON lorsque le temps entre l’exécution de l’instruction FPD(––) et l’exécution d’une sortie de diagnostic dépasse T. Chapitre 5-28 Instructions spéciales 5-28-8 COMMANDE D’INTERRUPTION – INT(89) Zones de données d’opérandes Symboles à contacts CC : Code de contrôle INT(89) @INT(89) CC CC 000 000 D D # (000 to 003, 100, or 200) 000 : Aucune fonction # (000) D : Données de contrôle IR, SR, AR, DM, EM, HR, TIM/CNT, LR, TR, # Limitations Les instructions DM 6644 à DM 6655 ne peuvent pas être utilisées pour D lorsque CC=002. Description Lorsque la condition d’exécution est à OFF, l’instruction INT(89) n’est pas exécutée. Lorsque la condition d’exécution est à ON, l’instruction INT(89) est utilisée pour commander des interruptions et exécuter l’une des six fonctions montrées dans le tableau suivant selon la valeur de C.C. Rem. Se référer à 1-4 Fonctions d’interruption pour de plus amples détails. Fonction INT(89) CC Masquer/démasquer les interruptions d’entrée Enlever les interruptions d’entrée 000 Lire l’état masqué en cours 002 Remplacer le compteur SV 003 Masquer toutes les interruptions 100 Démasquer toutes les interruptions 200 001 Ces 6 fonctions sont décrites en plus amples détails ci–dessous. Se référer à la page 39 pour plus d’informations sur ces fonctions. Interruptions d’E/S masquées/démasquées (CC=000) Cette fonction est utilisée pour masquer/démasquer des entrées d’interruption d’E/S 00000 à 00003. Des entrées masquées sont enregistrées, mais ignorées. Lorsqu’une entrée est masquée, son programme d’interruption fonctionne dès que le bit est démasqué (jusqu’à ce qu’il soit effacé au préalable en exécutant l’instruction INT(89) avec CC=001). Mettre le bit correspondant de D à 0 ou à 1 pour démasquer ou cacher une entrée d’interruption d’E/S. Les bits 00 à 03 correspondent à 00000 jusqu’à 00003. Les bits 04 à 15 doivent être réglés à 0. Bits D de mots: 3 2 1 0 Entrée d’interruption 00000 (0: démasquée, 1: masquée) Entrée d’interruption 00001 (0: démasquée, 1: masquée) Entrée d’interruption 00002 (0: démasquée, 1: masquée) Entrée d’interruption 00003 (0: démasquée, 1: masquée) Enlever les interruptions d’E/S (CC=001) Cette fonction est utilisée pour effacer des entrées d’interruption d’E/S de 00000 à 00003. Depuis que les entrées d’interruption sont enregistrées, les interruptions masquées sont gérées après l’enlèvement du masque à moins qu’elles soient effacées en premier. 415 Chapitre 5-28 Instructions spéciales Mettre le bit correspondant de D à 1 pour effacer l’entrée d’interruption d’E/S. Les bits 00 à 03 correspondent à la plage 00000 à 00003. Les bits 04 à 15 devraient être remis à 0. Bits D de mot : 3 2 1 0 Entrée d’interruption 00000 (0 : non effacé, 1 : effacé) Entrée d’interruption 00001 (0 : non effacé, 1 : effacé) Entrée d’interruption 00002 (0 : non effacé, 1 : effacé) Entrée d’interruption 00003 (0 : non effacé, 1 : effacé) Lire l’état masqué en cours (CC=002) Cette fonction est utilisée pour écrire l’état masqué actuel pour des entrées d’interruption d’E/S de 00000 à 00003 au mot D. Le bit correspondant pase à ON si l’entrée est masquée. (Les bits de 00 à 03 correspondent à la plage 00000 à 00003.) Bits D de mot : 3 2 1 0 Entrée d’interruption 00000 (0 : démasquée, 1 : masquée) Entrée d’interruption 00001 (0 : démasquée, 1 : masquée) Entrée d’interruption 00002 (0 : démasquée, 1 : masquée) Entrée d’interruption 00003 (0 : démasquée, 1 : masquée) Remplacer le compteur SV (CC=003) Cette fonction est utilisée pour remplacer le compteur SV pour des entrées d’interruption d’E/S de 00000 à 00003 au mot D. Mettre le bit correspondant de D dans 1 pour remplacer le compteur d’entrées SV. (Les bits 00 à 03 correspondent à la plage 00000 à 00003). Bits D de mot : 3 2 1 0 Entrée d’interrupt. 00000 compteur SV (0 : changer, 1: ne pas changer) Entrée d’interrupt. 00001 compteur SV (0 : changer, 1 : ne pas changer) Entrée d’interrupt. 00002 compteur SV (0 : changer, 1 : ne pas changer) Entrée d’interrupt. 00003 compteur SV (0 : changer, 1 : ne pas changer) Masquer/démasquer toutes les interruptions (CC=100/200) Cette fonction est utilisée pour masquer ou démasquer toutes les interruptions. Des entrées masquées sont enregistrées, mais ignorées. Se référer à la page 26 pour de plus amples détails. Les données de contrôle, D, ne sont pas utilisées pour cette fonction. Mettre D à #0000. Drapeaux ER : Une SV de compteur est incorrecte. (CC=003 seulement) Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). CC=100 ou 200 pendant qu’un programme d’interruption est exécuté. CC=100 lorsque toutes les entrées sont déjà masquées. CC=200 lorsque toutes les entrées sont déjà démasquées. CC et/ou D ne sont pas dans les valeurs spécifiées. 416 Chapitre 5-28 Instructions spéciales 5-28-9 PARAMETRAGE DES IMPULSIONS – PULS(65) Symboles à contacts Zones de données d’opérandes P : Sélecteur de port PULS(65) @PULS(65) P P C C N N 000, 001 C : Données de contrôle 000 à 005 N : Nombre d’impulsions IR, SR, AR, DM, EM, HR, LR Limitations N et N+1 doivent être dans la même zone de données. Les DM 6143 à DM 6655 ne peuvent pas être utilisés pour N. Description L’instruction PULS(65) peut être utilisée avec les fonctions listées dans le tableau suivant. Unité/Carte Fonction Unité de sortie à transistor Sorties d’impulsions carte de gestion d’axes Sorties d’impulsions 1 et 2 L’instruction PULS(65) est utilisée pour placer des paramètres pour les sorties d’impulsions qui démarrent plus tard dans le programme en utilisant SPED(64) ou ACC(––). Les paramètres qui peuvent être placés sont le nombre d’impulsions qui seront émises en mode indépendant, la direction des sorties d’impulsions des ports 1 et 2, et le point de décélération pour des sorties d’impulsions commandées par ACC(– –) mode 0. Puisque PULS(65) a un temps d’exécution relativement long, la durée de cycle peut être réduite en exécutant la version différenciée (@PULS(65)) de cette instruction seulement lorsqu’elle est nécessaire. Rem. Se référer à 1-5 Fonctions de sortie d’impulsions pour de plus amples détails. Sélecteur de port (P) Le sélecteur de port indique l’emplacement de sortie des impulsions. Les paramètres placés dans C et N s’appliquent aux prochaines instructions SPED(64) ou ACC(––) dans lesquelles le même emplacement de sortie de port est indiqué. Emplacement de sortie d’impulsions Bits de sortie 00 à 15 P 000 (Voir Rem.) Port 1 001 Port 2 002 Rem. Le bit entre 00 et 15 qui est émis en tant qu’impulsion de contact est indiqué par l’opérande P dans l’instruction SPED(64), 417 Chapitre 5-28 Instructions spéciales Données de contrôle (C) Les données de contrôle déterminent la direction des sorties d’impulsions jusqu’aux ports 1 et 2 et indiquent si le nombre d’impulsions et/ou le point de décélération sont indiqués de N à N+3. Cet opérande doit être réglé à 000 lorsqu’un bit de sortie est indiqué dans P (P=0). C Direction Nombre d’impulsions Point de décélération 000 CW Réglé en N et N+1 Non réglé. 001 CCW Réglé en N et N+1 Non réglé. 002 CW Réglé en N et N+1 Réglé en N+2 et N+3 003 CCW Réglé en N et N+1 Réglé en N+2 et N+3 004 CW Non réglé. Non réglé. 005 CCW Non réglé. Non réglé. Le réglage de la direction est valide jusqu’à ce que l’exécution du programme soit arrêtée ou que l’instruction PULS(65) soit de nouveau exécutée. Nombre d’impulsions (C=000 ou C=001) Lorsque C=000 ou 001, N+1, N contiennent le nombre d’impulsions à 8 digits réglé pour des sorties d’impulsions en mode indépendant. N+1, N peuvent être compris entre 0000 0001 et 1677 7215. La sortie d’impulsion qui démarre par les instructions SPED(64) ou ACC(––) s’arrête automatiquement lorsque ce nombre d’impulsions est atteint. 4 digits à 4 digits à l’extrême gauche l’extrême droite Nombre d’impulsions : N+1 N Plage possible 0000 0001 à 1677 7215 Nombre d’impulsions et point de décélération (C=002 ou C=003) Lorsque C=002 ou 003, N+1, N contiennent le nombre d’impulsions à 8 digits réglé pour des sorties d’impulsions en mode indépendant. N+1, N peuvent être compris entre 0000 0001 et 1677 7215. La sortie d’impulsion qui démarre par l’instruction ACC(––) s’arrête automatiquement lorsque ce nombre d’impulsions est atteint. 4 digits à 4 digits à l’extrême gauche l’extrême droite Nombre d’impulsions : N+1 N Plage possible 0000 0001 à 1677 7215 N+3, N+2 contiennent la nombre d’impulsions à 8 digits réglé pour le point de décélération utilisé dans l’instruction ACC(––) mode 0. N+3, N+2 peuvent être compris entre 0000 0001 et 1677 7215. La sortie d’impulsions qui démarre par l’instruction ACC(––) démarre la décélération lorsque ce nombre d’impulsions est atteint. 4 digits à l’extrême gauche Point de décélération : N+3 4 digits à l’extrême droite N+2 Plage possible 0000 0001 à 1677 7215 Destination de sortie de changement (C=004 ou C=005) Lorsque C=004 ou 005, ni le nombre d’impulsions ni le point de décélération ne sont réglés. Régler N=000 lorsque C=004 ou 005. Utiliser ces réglages pour changer la destination de sortie pour des sorties d’impulsions en mode continu à partir des ports 1 ou 2. Changements de fréquence 418 Le nombre d’impulsions réglé pour être atteint est utilisé même si l’instruction SPED(64) est utilisée pour changer la fréquence d’impulsions pendant l’utilisation. (Le nombre d’impulsions ne peut être changé pendant l’utilisation). Par exemple, si le nombre d’impulsions est réglé à 2100 et la fréquence est changée de 1 KHz à 100 Hz, l’impulsion de sortie s’arrête à : Chapitre 5-28 Instructions spéciales 12 s si la fréquence d’impulsion est changée après 1 s à 1 KHz. 3 s si la fréquence d’impulsions est changée après 2 s à 1 KHz. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). Une limite de zone de données a été dépassée. Il y a une erreur dans les réglages de l’instruction. L’instruction PULS(65) est exécutée dans un sous–programme d’interruption pendant qu’une impulsion d’E/S ou une instruction de compteur grande vitesse est exécutée dans le programme principal. 5-28-10 SORTIE DE VITESSE– SPED(64) Zones de données d’opérandes Symboles à contacts P : Port spécificateur SPED(64) @SPED(64) P P M M F F 001, 002, ou 010 à 150 M : Mode de sortie 000 ou 001 F : Fréquence d’impulsion IR, SR, AR, DM, EM, HR, LR, # Limitations F doit être une valeur BCD, comprise entre #0000 et #5000 lorsqu’un port est indiqué, comprise entre #0000 et #0002 à #0100 lorsqu’un bit de sortie est indiqué. Les DM 6144 à DM 6655 ne peuvent être utilisés pour F. Description L’instruction SPED(64) peut être utilisée avec les fonctions listées dans le tableau suivant. Unité/Carte Fonction Unité de sortie à transistor Sorties d’impulsions carte de gestion d’axes Sorties d’impulsions 1 et 2 L’instruction SPED(64) est utilisée pour régler, changer ou arrêter la sortie d’impulsions à partir du port spécifié ou du bit de sortie. Lorsqu’une condition d’exécution est à OFF, l’instruction SPED(64) ne s’exécute pas. Lorsqu’une condition d’exécution est à ON, l’instruction SPED(64) règle la fréquence d’impulsions F pour le port ou le bit de sortie indiqués par P. M détermine le mode de sortie. Puisque le temps d’exécution de l’instruction (64) est relativement long, le temps de cycle peut être réduit en exécutant la version modifiée (@SPED(64)) de cette instruction seulement si nécessaire. Rem. Se référer à 1-5 Fonctions de sortie d’impulsions pour de plus amples détails. Sélecteur de port (P) Le sélecteur de port spécifie le port ou le bit de sortie d’où les impulsions proviendront. P Emplacement de sortie des impulsions 001 Port 1 002 Port 2 000 à 150 Bits de sortie de l’IR 10000 à l’IR 10015. Les 2 premiers digits de P spécifient quel bit de l’IR 100 est le bit de sortie et le 3 digit de P est toujours à 0. Par exemple, P=000 spécifie l’IR 10000, P=010 spécifie l’IR 10001, ... et P=150 spécifie l’IR 10015. 419 Chapitre 5-28 Instructions spéciales Mode de sortie (M) La valeur de M détermine le mode de sortie. M Mode de sortie 000 Mode indépendant, réglage de la fréquence par pas de 10 Hz 001 Mode continu, réglage de la fréquence par pas de 10 Hz 002 Mode indépendant, réglage de la fréquence par pas de 1 Hz (Voir Rem.) 003 Mode continu, réglage de la fréquence par pas de 1 Hz (Voir Rem.) Rem. Les réglages de 002 et 003 peuvent être indiqués seulement pour les ports 1 et 2 d’une carte de gestion d’axes (P=001 ou P=002). En mode indépendant, la sortie d’impulsions continue jusqu’à ce qu’une des conditions suivantes se produise : 1, 2, 3... 1. Le nombre d’impulsions indiqué par l’instruction PULS(65) est atteint. (Exécuter l’instruction PULS(65) avant l’instruction SPED(64) en mode indépendant spécifié). 2. L’instruction INI(61) est exécutée avec C=003. 3. L’instruction SPED(64) est de nouveau exécutée avec la fréquence de sortie F réglée à 000. Lorsque des impulsions sont émises en mode indépendant, specifier le nombre d’impulsions préalable en exécutant l’instruction PULS(65). Lors de la production à partir des ports 1 ou 2, spécifier aussi la direction (CW ou CCW). En mode indépendant, le nombre d’impulsions émis des ports 1 et 2 sont contenus dans les IR 236 et 237 (port 1) et dans les IR 238 et IR 239 (port 2). 4 digits à l’extrême gauche PV de sortie d’impulsions port 1 : IR 237 PV de sortie d’impulsions port 2 : IR 239 4 digits à l’extrême droite IR 236 IR 238 En mode continu, les impulsions sont émises jusqu’à ce que l’instruction INI(61) s’exécute avec C=003 ou l’instruction SPED(64) s’exécute de nouveau avec F=0000. Si la direction (CW ou CCW) n’est pas spécifiée lors de la sortie des ports 1 ou 2, les impulsions se font en CW. Fréquence d’impulsions (F) La valeur de F règle la fréquence d’impulsion, comme montré ci-dessous. Le réglage de F à 0000 arrête la sortie d’impulsions à l’emplacement indiqué. Sortie Units Bits de sortie Port 1 ou 2 10 Hz 0000 (Arrêt des sorties) ou 0002 à 0100 (20 Hz à 1 kHz) Valeurs possibles de F 10 Hz 1 Hz 0000 (Arrêt des sorties) ou 0001 à 5000 (10 Hz à 50 kHz) 0000 (Arrêt des sorties) ou 0010 à 9999 (10 Hz à 9,999 Hz) Précautions au regard de la sortie d’impulsions La fréquence d’impulsions provenant de la carte de gestion d’axes CQM1HPLB21 est générée en divisant l’impulsion d’horloge 500 kHz par un nombre entier, qui résulte d’une différence entre la fréquence réglée et la fréquence en cours. Se référer à l’équation suivante pour calculer une fréquence en cours. 420 Fréquence réglée : Fréquence de sortie réglée dans l’instruction par l’utilisateur Unité de division : Un réglage complet dans le circuit de division pour générer une impulsion de sortie de la fréquence de réglage. Chapitre 5-28 Instructions spéciales Fréquence en cours : Fréquence d’impulsions de sortie actuellement émise à partir du circuit de division. L’unité de division est réglée à la fréquence définie par l’utilisateur Horloge de génération d’impulsions Impulsions de sortie (fréquence en cours) 500 kHz Circuit de division Equation : Fréquence en cours (KHz) = 500 (KHz)/INT (500 (kHz)/Fréquence réglée (kHz)) INT : Fonction pour obtenir un nombre entier INT (500/Fréquence réglée) : Unité de division La différence entre la fréquence réglée et la fréquence en cours s’accentue lorsque la fréquence augmente. Exemple: Précautions Fréquence réglée (kHz) 45,46 à 50,00 Fréquence en cours (kHz) 50,00 41,67 à 45,45 45,45 38,47 à 41,66 41,67 : : 31,26 à 33,33 33,33 29,42 à 31,25 31,25 27,78 à 29,41 29,41 : : 20,01 à 20,83 20,83 19,24 à 20,00 20,00 18,52 à 19,23 19,23 : : 10,01 à 10,20 10,20 9,81 à 10,00 10,00 9,62 à 9,80 9,80 : : 5,01 à 5,05 5,05 4,96 à 5,00 5,00 4,90 à 4,95 4,95 : : 3,02 à 3,03 3,03 3,00 à 3,01 3,01 2,98 à 2,99 2,99 : : La sortie d’impulsions ne peut pas être utilisée pendant que la temporisation de la trame 0 est active. Lorsqu’une sortie d’impulsions avec une fréquence de 500 Hz ou plus est émise à partir d’un bit de sortie, régler le traitement d’interruptions pour les nombres TIM/CNT 000 à 003 de l’instruction TIMH(15) en réglant #0104 dans le DM 6629 du Setup de l’API. Seul un bit de sortie à la fois peut avoir une impulsion de sortie. 421 Chapitre 5-28 Instructions spéciales Drapeaux ER : L’instruction SPED(64) s’exécute pendant que la temporisation de la trame 0 est active. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). Il y a une erreur dans les réglages de l’instruction. L’instruction SPED(64) s’exécute dans un sous–programme d’interruption pendant qu’une impulsion d’E/S ou une instruction de compteur grande vitesse s’exécute dans le programme principal. 5-28-11 SORTIE D’IMPULSION – PLS2(––) Symboles à contacts Zones de données d’opérandes P : Port de communications PLS2(––) @PLS2(––) P P D D C C 001 ou 002 D : Sélecteur de direction 000 ou 001 C : Premier mot de contrôle IR, SR, AR, DM, EM, HR, LR Limitations L’instruction PLS2(––) ne peut être utilisée si le setup de l’API (DM 6611) est réglé en mode compteur grande vitesse. P doit être à 001 ou à 002 et D doit être à 000 ou à 001. C à C+3 doivent être dans la même zone de données. Description L’instruction PLS2(––) peut être utilisée avec les fonctions listées dans le tableau suivant. Unité/Carte carte de gestion d’axes Fonction Sorties d’impulsions 1 et 2 (Le mode pour les ports 1 et 2 doit être réglé en mode de positionnement simple dans le DM 6611 du setup de l’API. L’instruction PLS2(––) ne peut pas être utilisée si le mode est réglé en mode compteur grande vitesse). L’instruction PLS2(––) est utilisée pour émettre un nombre indiqué d’impulsions CW ou CCW à partir des ports 1 ou 2. La sortie d’impulsions s’accélère jusqu’à la fréquence de la spécifiée à un taux indiqué et se ralentit au même taux (la sortie d’impulsions cesse à 100 Hz). Fréquence de la valeur spécifiée 100 Hz T1 422 T2 T1 Chapitre 5-28 Instructions spéciales Les équations suivantes montrent comment calculer le temps approximatif T1 d’accéleration/décéleration et le temps T2 de fonctionnement. Les deux temps sont en secondes. Rem. Fréquence de cible Taux dȀaccélérationńdécélération T1 ^ 0, 004 T2 ^ Nombre dȀimpulsions * (T 1 Fréquence de cible) Fréquence de cible 1. Bien que T1 et T2 changent légèrement selon les conditions de fonctionnement, le nombre de sortie d’impulsions sera précis. 2. L’instruction PLS2(––) ne fonctionnera pas si des impulsions sont déjà émises du port spécifié. Vérifier les drapeaux de sortie d’impulsions (AR 0515 à partir du port 1 et AR 0615 du port 2) avant d’exécuter l’instruction PLS2(––). 3. Se référer à 1-5 Fonctions de sortie d’impulsions pour de plus amples détails. Réglages d’opérandes P spécifie le port d’où les impulsions sont émises. Les impulsions sont émises du port 1 lorsque P=001, et du port 2 lorsque P=002. D spécifie si le signal de sortie se fait dans le sens horaire (CW) ou anti–horaire (CCW). La sortie est CW lorsque D=000 et CCW lorsque D=001. Le contenu de C détermine le taux d’accélération/décélération. Pendant l’accélération ou la décélération, la fréquence de sortie est augmentée ou diminuée par le réglage croissant de C chaque 4,08 ms. C doit être une valeur BCD comprise entre 0001 et 0200 (10 Hz et 2 kHz). Le contenu de C+1 détermine la fréquence spécifiée. C+1 doit être une valeur BCD comprise entre 0010 et 5000 (100 Hz et 50 kHz). Le contenu à 8 digits de C+3,C+2 détermine le nombre d’impulsions qui est émis. C+3, C+2 doivent être des valeurs BCD comprises entre 0000 0001 et 1677 7215. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). Il y a une erreur dans les réglages de l’opérande. L’instruction PLS2(––) s’exécute sans carte de gestion d’axes installée. Le setup de l’API n’est pas réglé pour une sortie d’impulsions. La fréquence spécifiée, le taux d’accélération/décéleration, et le nombre d’impulsions sont incorrects. (Nombre d’impulsions < T1 × Fréquence spécifiée) L’instruction PLS2(––) s’exécute dans un sous–programme d’interruption pendant qu’une impulsion d’E/S ou une instruction de compteur grande vitesse s’exécute dans le programme principal. AR 0515 : Drapeau de sortie du port 1. A ON lorsque les impulsions sont émises à partir du port 1. AR 0615 : Drapeau de sortie du port 2. A ON lorsque les impulsions sont émises à partir du port 2. 423 Chapitre 5-28 Instructions spéciales ! Attention Avec l’instruction PLS2(––), des conditions telles que la vitesse d’accélération/décélération et la vitesse spécifiée peuvent permettre aux sorties d’impulsions basse vitesse (100 Hz) de continuer à être émises pendant une période de temps prolongée lorsqu’elles s’arrêtent. Même lorsque ceci arrive, le nombre correct d’impulsions sera émis. Temps requis pour un arrêt complet 100 Hz Corriger le système en ajustant la vitesse d’accélération/décélération et/ou la vitesse spécifiée ou en utilisant l’instruction ACC(––) (mode 0) pour augmenter la vitesse (fréquence spécifiée de décélération) lors de l’arrêt. 5-28-12 COMMANDE D’ACCELERATION – ACC(––) Symboles à contacts Zones de données d’opérandes P : Port de communications ACC(––) @ACC(––) P P M M C C 001 ou 002 M : Mode spécificateur 000 à 003 C : Premier mot de contrôle IR, SR, AR, DM, EM, HR, LR Limitations Le mode 0 de l’instruction ACC(––) ne peut pas être utilisé si le setup de l’API (DM 6611) est réglé en mode compteur grande vitesse. P doit être à 001 ou à 002 et M doit être compris entre 000 et 003. C à C+3 doivent être dans la même zone de données. Description L’instruction ACC(––) peut être utilisée avec les fonctions listées dans le tableau suivant. Unité/Carte Carte de gestion d’axes Fonction Sorties d’impulsions 1 et 2 (Pour utiliser l’instruction ACC(––) mode 0, les ports 1 et 2 doivent être réglés en mode postionnement simple dans DM 6611 du setup de l’API. L’instruction ACC(––) ne peut pas être utilisée si le mode est réglé en mode compteur grande vitesse). L’instruction ACC(––) est utilisée conjointement à l’instruction PULS(65) pour contrôler l’accélération et/ou la décélération des sorties d’impulsions à partir des ports 1 ou 2. Les 4 modes disponibles sont décrits brièvement ci–dessous. La fonction des mots de contrôle varie dans les 4 modes, mais P spécifie toujours le port d’où les impulsions sont émises et M spécifie toujours le mode. Régler P à 001 ou à 002 pour indiquer les ports 1 ou 2. Régler M à 000 ou à 003 pour indiquer les modes de 0 à 3. Rem. Se référer à 1-5 Fonctions de sortie d’impulsions pour de plus amples détails. Mode 0 (M=000) 424 Le mode 0 est utilisé pour émettre un nombre spécifié d’impulsions CW ou CCW à partir des ports 1 ou 2. Le taux d’accélération, la fréquence après Chapitre 5-28 Instructions spéciales l’accélération, le point de décélération, le taux de décélération, et la fréquence après la décélération peuvent tous être contrôlés. Taux de décélération Fréquence après l’accélération Fréquence après la décélération Taux d’accélération Point de décélération Arrêt de sortie Réglages d’opérande de l’instruction PULS(65) L’instruction PULS(65) doit être exécutée avant l’instruction ACC(––) pour spécifier la direction, le nombre total d’impulsions à émettre, et le point de décélération. La fonction des opérandes de l’instruction PULS(65) est décrite ci–dessous. Se référer à 5-28-9 PARAMETRAGE DES IMPULSIONS – PULS(65) pour de plus amples détails. 1, 2, 3... 1. Le premier opérande de l’instruction PULS(65) spécifie le port de sortie. Les impulsions sont émises à partir du port 1 lorsque P=001, et à partir du port 2 lorsque P=002. 2. Le second opérande spécifie la direction. La sortie se fait en sens horaire (CW) lorsque C=002 et en sens anti–horaire (CCW) lorsque C=003. 3. Le troisième opérande spécifie le premier des 4 mots de contrôle. a) Le contenu à 8 digits de N+1, N (0000 0001 à 1677 7215) détermine le nombre total d’impulsions à émettre. b) Le contenu à 8 digits de N+3, N+2 (0000 0001 à 1677 7215) détermine le point de décélération. Mots de commande de l’instruction ACC(––) Les 4 mots de commande indiquent le taux d’accélération, la fréquence après l’accélération, le taux de décélération, et la fréquence après la décélération. 1, 2, 3... 1. Le contenu de C détermine le taux d’accélération. Pendant l’accélération, la fréquence de sortie est augmentée par le réglage croissant de C chaque 4,08 ms. C doit être une valeur BCD de 0001 à 0200 (10 Hz à 2 kHz). 2. Le contenu de C+1 détermine la fréquence après l’accélération. C+1 doit être une valeur BCD comprise entre 0000 et 5000 (0 Hz à 50 kHz). 3. Le contenu de C+2 détermine le taux de décélération. Pendant la décélération, la fréquence de sortie est diminuée par le réglage croissant de C+2 chaque 4,08 ms. C doit être une valeur BCD comprise entre 0001 et 0200 (10 Hz à 2 kHz). 4. Le contenu de C+3 détermine la fréquence après la décélération. C+3 doit être une valeur BCD comprise entre 0000 et 5000 (0 Hz à 50 kHz). Mode 1 (M=001) Le mode 1 est utilisé pour augmenter la fréquence émise jusqu’à une fréquence spécifiée au taux indiqué. La sortie d’impulsions continue jusqu’à ce qu’elle soit arrêtée. Fréquence spécifiée Fréquence avant l’accélération Taux d’accélération Exécution de l’instruction ACC(––) 425 Chapitre 5-28 Instructions spéciales Les 2 mots de contrôle indiquent le taux d’accélération et la fréquence spécifiée. 1, 2, 3... Mode 2 (M=002) 1. Le contenu de C détermine le taux d’accélération. Pendant l’accélération, la fréquence de sortie est augmentée par le réglage croissant de C chaque 4,08 ms. C doit être une valeur BCD comprise entre 0001 et 0200 (10 Hz à 2 kHz). 2. Le contenu de C+1 détermine la fréquence spécifiée. C+1 doit être une valeur BCD comprise entre 0000 et 5000 (0 Hz à 50 kHz). Le mode 2 est utilisé pour diminuer la fréquence émise jusqu’à une fréquence spécifiée au taux indiqué. La sortie s’arrête lorsque le nombre total d’impulsions spécifié dans l’instruction PULS(65) est atteint. Fréquence avant la décélération Taux de décélération Fréquence spécifiée Exécution de l’instruction ACC(––) Arrêt de la sortie. Les 2 mots de contrôle indiquent le taux de décélération et la fréquence spécifiée. 1, 2, 3... Mode 3 (M=003) 1. Le contenu de C détermine le taux de décélération. Pendant la décélération, la fréquence de sortie est diminuée par le réglage croissant de C chaque 4,08 ms. C doit être une valeur BCD compris entre 0001 et 0200 (10 Hz à 2 kHz). 2. Le contenu de C+1 spécifie la fréquence spécifiée. C+1 doit être une valeur BCD compris entre 0000 et 5000 (0 Hz à 50 kHz). Le mode 3 est utilisé pour diminuer la fréquence émise jusqu’à une fréquence spécifiée au taux indiqué. La sortie d’impulsions continue jusqu’à ce qu’elle soit arrêtée. Fréquence avant la décélération Taux de décélération Fréquence spécifiée Exécution de l’instruction ACC(––) Les 2 mots de contrôle indiquent le taux d’accélération et la fréquence spécifiée. 1, 2, 3... Drapeaux 1. Le contenu de C détermine le taux d’accélération. Pendant l’accélértion, la fréquence de sortie est augmentée par le réglage croissant de C chaque 4,08 ms. C doit être une valeur BCD compris entre 0001 et 0200 (10 Hz à 2 kHz). 2. Le contenu de C+1 détermine la fréquence spécifiée. C+1 doit être une valeur BCD compris entre 0000 et 5000 (0 Hz à 50 kHz). ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). Il y a une erreur dans les réglages de l’opérande. L’instruction ACC(––) s’exécute sans que soit installée une carte de gestion d’axes. 426 Chapitre 5-28 Instructions spéciales Le setup de l’API n’est pas réglé pour une sortie d’impulsions. L’instruction ACC(––) s’exécute avec M=000 et le port de sortie spécifié est déjà utilisé. L’instruction ACC(––) s’exécute dans un sous–programme d’interruption pendant qu’une impulsion E/S ou une instruction de compteur grande vitesse s’exécute dans le programme principal. AR 0515 : Drapeau de sortie port 1. A ON lorsque les impulsions sont émises à partir du port 1. AR 0615 : Drapeau de sortie port 2. A ON lorsque les impulsions sont émises à partir du port 2. 5-28-13 IMPULSION A RAPPORT CYCLIQUE VARIABLE – PWM(––) Symboles à contacts Zones de données d’opérandes P : Port de communications PWM(––) @PWM(––) P P F F D D 001 ou 002 F : Fréquence 000, 001, ou 002 D : Rapport cyclique variable IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Limitations L’instruction PWM(––) ne peut pas être utilisée jusqu’à ce que le setup de l’API (DM 6643 ou DM 6644) soit réglé pour des impulsions de sortie à rapport cyclique variable. P doit être à 001 ou à 002 et F doit être à 000, à 001 ou à 002. D doit être une valeur BCD comprise entre 0001 et 0099. Description L’instruction PWM(––) peut être utilisée avec les fonctions listées dans le tableau suivant. Unité/Carte Carte de gestion d’axes Fonction Sorties d’impulsions 1 et 2 L’instruction PWM(––) est utilisée pour émettre des impulsions avec le rapport cyclique spécifié à partir des ports 1 ou 2. La sortie peut être réglée en 1 à 3 fréquences : 5,9 kHz, 1,5 kHz, ou 91,6 Hz. La sortie d’impulsions continue jusqu’à ce que l’instruction INI(61) s’exécute pour l’arrêter. Pour que l’instruction PWM(––) soit exécutée, le port spécifié doit être réglé pour des sorties d’impulsions à rapport cyclique variable dans le setup de l’API. Régler le digit le plus à gauche duDM 6643 à 1 pour permettre la sortie d’impulsions à rapport cyclique variable du port 1, et régler le digit le plus à gauche du DM 6644 à 1 pour permettre la sortie d’impulsions à rapport cyclique variable du port 2. L’émission des impulsions normales à partir d’un port qui est réglé pour des sorties à rapport cyclique variable est impossible. Rem. Se référer à 1-5 Fonctions de sortie des impulsions pour de plus amples détails. Réglages d’opérandes P spécifie le port d’où les impulsions sont émises. Les impulsions sont émises du port 1 lorsque P=001, et du port 2 lorsque P=002. F spécifie la fréquence de sortie des impulsions, comme montré dans le tableau suivant. 427 Chapitre 5-28 Instructions spéciales F Fréquence 000 5,9 kHz 001 1,5 kHz 002 91,6 Hz D spécifie le rapport cyclique de la sortie des impulsions, c.à.d., le pourcentage de temps avec une sortie à ON. D doit être une valeur BCD comprise entre 0001 et 0099 (1% à 99%). Le rapport cyclique est 75% dans le schéma suivant. ton ton + T D (1% à 99%) T Drapeaux ER : Il y a une erreur dans les réglages de l’opérande. L’instruction PWM(––) s’exécute sans que soit installée une carte de gestion d’axes. Le setup de l’API n’est pas réglé pour une sortie d’impulsions à rapport cyclique variable. L’instruction PWM(––) s’exécute dans un sous–programme d’interruption pendant qu’une impulsion E/S ou une instruction compteur grande vitesse s’exécute dans le programme principal. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). 5-28-14 RECHERCHE DE DONNEE – SRCH(––) Symboles à contacts Zones de données d’opérandes N : Nombre de mots SRCH(––) @SRCH(––) N N R1 R1 C C IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R1 : Premier mot dans la plage IR, SR, AR, DM, EM, HR, TIM/CNT, LR C : Données de comparaison, mot résultant IR, SR, AR, DM, EM, HR, LR Limitations N doit être une valeur BCD comprise entre 0001 et 9999. R1 et R1+N–1 doivent être dans la même zone de données. DM 6143 à DM 6655 ne peuvent pas être utilisés pour C. Description Lorsque la condition d’exécution est à OFF, l’instruction SRCH(––) ne s’exécute pas. Lorsque la condition d’exécution est à ON, l’instruction SRCH(––) cherche la plage de mémoire de R1 à R1+N–1 pour les adresses qui contiennent les données de comparaison de C. Si une adresse ou plus contient les données de comparaison, le drapeau EQ (SR 25506) passe à ON et l’adresse la plus basse qui contient les données de comparaison est identifiée en C+1. L’adresse est identifiée différemment pour la zone DM : 1, 2, 3... 428 1. Pour une adresse dans la zone DM, l’adresse de mot est écrite en C+1. Par exemple, si l’adresse la plus basse contenant les données de comparaison est le DM 0114, alors #0114 est écrit en C+1. Chapitre 5-28 Instructions spéciales 2. Pour une adresse dans une autre zone de données, le nombre d’adresses à partir du début de la recherche est écrit en C+1. Par exemple, si l’adresse la plus basse contenant les données de comparaison est l’IR 114 et le premier mot dans la plage de recherche est l’IR 014, alors #0100 est écrit en C+1. Si aucune adresse de la plage ne contient les données de comparaison, le drapeau EQ (SR 25506) passe à OFF et C+1 est laissé inchangé. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). N n’est pas une valeur BCD comprise entre 0001 et 9999. EQ : Exemple A ON lorsque les données de comparaison ont été appariées dans la plage de recherche. Dans l’exemple suivant, la plage à 10 mots des DM 0010 à DM 0019 est recherchée pour des adresses qui contiennent les mêmes données que le DM 0000 (#FFFF). Depuis que le DM 0012 contient les mêmes données, le drapeau EQ (SR 25506) passe à ON et #0012 est écrit dans le DM 0001. 00001 @SRCH(––) #0010 DM 0010 Instruction 00000 00001 LD @SRCH(––) Opérandes 00001 # DM DM DM 0000 DM 0010 DM 0011 DM 0012 DM 0013 DM 0014 DM 0015 DM 0016 DM 0017 DM 0018 DM 0019 Adresse 0000 9898 FFFF 9797 AAAA 9595 1414 0000 0000 FFFF DM 0000 DM 0001 0010 0010 0000 FFFF 0012 5-28-15 COMMANDE PID – PID(––) Symbole à contacts Zones de données d’opérandes IW : Mot de données d’entrée PID(––) IR, SR, AR, DM, EM, HR, LR IW P1 : Premier mot de paramètre P1 OW IR, SR, DM, EM, HR, LR OW : Mot de données de sortie IR, SR, AR, DM, EM, HR, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour IW, P1 à P1+32 ou OW. P1 à P1+32 doivent être dans la même zone de données. 429 Chapitre 5-28 Instructions spéciales ! Attention Un total de 33 mots continus commençant avec P1 doit être apporté pour l’instruction PID(––) afin qu’elle fonctionne correctement. Aussi, l’instruction PID(––) peut ne pas fonctionner d’une manière sûre dans n’importe quelle des situations suivantes : Dans les programmes d’interruption, les sous–programmes, entre les instructions IL(02) et ILC(03), JMP(04) et JME(05), et dans la programmation de pas (STEP(08)/SNXT(09)). Ne pas programmer l’instruction PID(––) dans ces situations. Description Mot L’instruction PID(––) effectue une commande PID basée sur les paramètres indiqués dans P1 par P1+6. Les données dans IW sont utilisées pour calculer les données de sortie écrites en OW. Le tableau suivant montre la fonction des mots de paramètre. Bits Nom de paramètre Fonction/Chaîne de réglage P1 00 à 15 Valeur réglée (SV). C’est la valeur spécifiée pour la commande PID. Elle peut être réglée en n’importe quel nombre binaire avec le nombre de bits réglé par le paramètre de plage d’entrée. P1+1 00 à 15 Largeur de bande proportionnelle. Ce paramètre spécifie la largeur de la bande proportionnelle/ le ratio de plage d’entrée de 0,1% à 999,9%. Ce doit être une valeur BCD comprise entre 0001 et 9999. P1+2 00 à 15 Temps intégral Règle le temps intégral/le ratio de période d’échantillonnage utilisé en contrôle intégral. Ce doit être une valeur BCD comprise entre 0001 et 8191, ou 9999. (commande intégrale de 9999 désactivations) P1+3 00 à 15 Temps dérivatif Règle le temps intégral/le ratio de période d’échantillonnage utilisé en contrôle dérivatif. Ce doit être une valeur BCD comprise entre 0001 et 8191, ou 0000. P1+4 00 à 15 Période de prélèvement Règle l’intervalle entre des échantillonnages des données d’entrée de 0,1 à 102,3 s. Ce doit être une valeur BCD comprise entre 0001 et 1023. P1+5 00 à 03 Spécificateur d’opération 04 à 15 Coefficient de filtre d’entrée Règle l’opération normale ou contraire. Régler à 0 pour spécifier l’opération contraire ou à 1 pour spécifier l’opération normale. Détermine la pente du filtre d’entrée. Plus le coefficient est bas, plus le filtre est faible. Ce réglage doit être une valeur BCD comprise entre 100 à 199, ou 000. Un réglage à 000 correspond à la valeur par défaut (0,65) et un réglage de 100 à 199 correspond à un coefficient de 0,00 à 0,99. P1+6 P1+7 à P1+32 00 à 07 Plage de sortie Détermine le nombre de bits des données de sortie. Ce réglage doit être compris entre 00 et 08, lequel correspond à une plage de sortie comprise entre 8 et 16 bits. 08 à 15 Plage d’entrée Détermine le nombre de bits des données d’entrée. Ce réglage doit être compris entre 00 et 08, lequel correspond à une plage d’entrée entre 8 et 16 bits. 00 à 15 Zone de travail Ne pas utiliser. (Utilisée par le système). Lorsque la condition d’exécution est à OFF, l’instruction PID(––) ne s’exécute pas et les données de l’instruction sont maintenues. Pendant que la condition d’exécution est à OFF, les données de sortie souhaitées peuvent être écrites directement en OW pour le contrôle manuel. Lorsque la condition d’exécution va en premier de OFF à ON, l’instruction PID(––) lit les paramètres et initialise la zone de travail. Il y a une fonction intégrée pour changer les données de sortie continûment au démarrage parce que des changements soudains dans les données de sortie pourraient compromettre le système commandé. ! Attention Les changements faits aux paramètres ne sont pas effectifs jusqu’à ce que la condition d’exécution pour l’instruction PID(––) passe de OFF à ON. Rem. Ne pas utiliser l’instruction PID(––) dans les situations suivantes ; il se peut qu’elle ne soit pas exécutée correctement. 430 Chapitre 5-29 Instructions de réseau Dans les programmes d’interruption Dans les programmes de sous–programme Dans les sections de programme verrouillées (entre IL et ILC) Dans les sections de programme de saut (entre JMP et JME) Dans la section de programme à contacts d’étape (créée avec STEP) Lorsque la condition d’exécution est à ON, l’instruction PID(––) exécute le calcul PID sur les données d’entrée lorsque la période d’échantillonnage a commencé. La période d’échantillonnage est le temps passé avant que les données d’entrée soient lues pour traitement. Le schéma suivant montre la relation entre la période d’échantillonnage et le traitement PID. Le traitement PID est effectué seulement lorsque la période d’échantillonnage (100 ms dans ce cas) s’est écoulée. 1 cycle 60 ms 70 ms 70 ms 70 ms Traitement PID (70+30=100 ms, aucun transfert) Traitement PID Aucun traitement (130 ms, transfert 30 ms) (60 ms) Aucun traitement (70 ms) Traitement PID avec des valeurs initiales (0 ms) Drapeaux ER : Il y a une erreur dans les réglages du paramètre. Le temps de cycle est plus de 2 fois supérieur à la période d’échantillonnage, alors l’instruction PID(–) ne peut pas être exécutée correctement. L’instruction PID(––) s’exécute dans ce cas. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). CY : A ON lorsque le traitement PID a été effectué. A OFF lorsque la période d’échantillonnage n’a pas été effectuée. 5-29 Instructions de réseau Les instructions de réseau sont utilisées pour communiquer avec d’autres ordinateurs reliés par le système de liaison contrôleur. 5-29-1 TRANSMISSION RESEAU – SEND(90) Symboles à contacts Zone de données d’opérandes S : Mot de début d’origine SEND(90) @SEND(90) S S D D C C IR, SR, AR, DM, EM, HR, TIM/CNT, LR D : Mot de début de destination IR, SR, AR, DM, EM, HR, TIM/CNT, LR C : 1er mot de données de commande IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations C à C+2 doivent être dans la même zone de données et doivent être dans les valeurs indiquées ci-dessous. Pour pouvoir uyiliser SEND(90), le système doit avoir une unité de liaison contrôleur installée. 431 Chapitre 5-29 Instructions de réseau Description @SEND(90) S D C Lorsque la condition d’exécution est à OFF, SEND(90) n’est pas exécutée. Lorsque la condition d’exécution est à ON, SEND(90) transfère les données en commençant au mot S, aux adresses indiquées par D dans la station indiquée sur le système de liaison contrôleur. Les mots de commande, commençant par C, indiquent le nombre de mots à envoyer, la station de destination et d’autres paramètres. Mots de commande SEND(90) transmet “n” mots commençant par S (le premier mot d’origine pour la transmission de données à la station d’origine) vers les “n” mots commençant par D (le premier mot de destination pour la réception de données à la station de destination N). S : Station d’origine commençant l’envoi de mots D : Station de destination commençant la réception de mots C : Premier mot de données de commande de la station d’origine 15 14 C 000 15 Station d’origine 0 S L “n” nombre de mots envoyés n Station de destination N 0 15 D n L 0 “n” nombre de mots envoyés 000 à 3DE (Hex) : 0 à 990 mots 0 : Adresse réseau de destination non spécifiée (réseau local) 1 : Adresse réseau de destination spécifiée. 1514131211 C +1 1 1 87 0 Nombre de tentatives 0 à F (Hex) : 0 à 15 tentatives Direct/Indirect 0 : Direct ; 1 : Indirect 0 : Réponse nécessaire 1 : Réponse non nécessaire Toujours “1” Toujours “1” 15 87 Temps de surveillance de la réponse 00 (Hex) : 2 s (pour 2 Mbps) 4 s (pour 1 Mbps) 8 s (pour 500 Kbps) 01 à FE (Hex) : 0,1 à 25,4 s (unité : 0,1 s) FF (Hex) : Pas de surveillance de la réponse 0 C+2 Adresse de l’unité de destination 00 (Hex) : UC de l’API 01 (Hex) : Ordinateur (programme utilisateur) 10 à 1F (Hex) : Unités numéro 0 à 15 FE (Hex) : Unité connectée au réseau 15 C+3 Numéro de station de destination (N) 01 à 20 (Hex): 1 à 32 Les mêmes données peuvent être diffusées à toutes les stations du réseau en paramétrant le numéro de station de destination sur FF (Hex). La plage de numéros de stations varie pour les réseaux autres que les réseaux de liaison contrôleur. 0 0 0 Adresse réseau de destination 00 (Hex) : Réseau local 01 à 7F (Hex) : 1 à 127 Ce paramétrage n’est activé que lorsque “Adresse réseau de destination spécifiée” est paramétrée dans le mot C. Lors de la spécification d’une adresse réseau de destination, définir toutes les stations dans les tableaux de routage. Pour plus d’informations sur les tableaux de routage, se reporter au chapitre sur les interconnections de réseau dans le Manuel de programmation de l’unité de liaison automate (W309). L’exécution de SEND(90) débute la transmission de données via l’Unité de communications. Pour vérifier si la transmission a été réellement accomplie, vérifier 432 Chapitre 5-29 Instructions de réseau que le drapeau activé d’instruction de réseau (AR 0209) est passé de OFF à ON et le drapeau d’erreur d’instruction de réseau (AR 0208) est à OFF. Le traitement de transmission est achevé lorsque END(01) est exécutée. Si une réponse est exigée mais pas reçue dans le temps de surveillance de réponse, la transmission de données est tentée jusqu’à ce qu’une réponse soit reçue ou que le nombre indiqué de tentatives (jusqu’à 15) soit atteint. Lorsque le numéro de station de destination est réglé à FF, les mêmes données sont émises vers toutes les stations sur le réseau indiqué. Lorsque la transmission d’émission est indiquée, aucune réponse n’est retournée et aucune nouvelle tentative de transmission n’est effectuée. Si le drapeau activé d’instruction de réseau (AR 0209) est à OFF lorsque SEND(90) est exécutée, l’instruction est traitée comme NOP(00) et n’est pas exécutée. Une erreur se produit et le drapeau d’erreur passe à ON. Si le drapeau activé d’instruction de réseau (AR 0209) est à ON lorsque SEND(90) est exécutée, le drapeau d’erreur d’instruction de réseau (AR 0208) et le drapeau activé d’instruction de réseau (AR 0209) passent à OFF, le code de réalisation d’instruction de réseau est réglé à 00 et les données sont envoyées à la (aux) station(s) sur le réseau. Lorsqu’une adresse de la zone EM de zone courante est indiquée pour le premier mot de destination (D), les données transmises sont écrites dans la zone EM courante de la station de destination. L’adressage indirect peut être utilisé pour le premier mot de destination (D) lors de la transmission aux API ayant de plus grandes zones de données que le CQM1H tel que les API série CS1 ou série CV. L’adressage indirect peut également être utilisé pour modifier le premier mot de destination en fonction des circonstances. Si des données sont transmises à des stations dans d’autres réseaux, les tableaux de routage doivent être enregistrés dans les API (Unités centrales) dans chaque réseau (les tableaux de routage indiquent les cheminements itinéraires vers d’autres réseaux dans lesquels des stations de destination sont connectées). Seule une instruction de réseau peut être exécutée à la fois. Pour s’assurer qu’une deuxième instruction de réseau n’est pas exécutée tant que la première n’est pas terminée, programmer le drapeau activé d’instruction de réseau (AR 0209) comme une condition normalement ouverte. Ne jamais changer les données de commande (C à C+3) alors que des données sont transmises et que le drapeau activé d’instruction de réseau est à OFF. Le parasitage et d’autres facteurs peuvent causer la corruption ou la perte de la transmission ou de la réponse, il est donc recommandé de définir le nombre de tentatives à une valeur différente de 0, causant une nouvelle exécution de SEND(90) si la réponse n’est pas reçue dans le temps de surveillance de réponse. Indications de premiers mots de destination indirects D est utilisé pour indiquer le premier mot de destination comme suit lorsqu’une indication indirecte est spécifiée : Mot Bits 12 à 15 D Type de zone D+1 Adresse de mot (4ème digit) Bits 08 à 11 Bits 04 à 07 0 Adresse de mot (3ème digit) Adresse de mot (2ème digit) Bits 00 à 03 Adresse de mot (5ème digit) Adresse de mot (1er digit) 433 Chapitre 5-29 Instructions de réseau Les API série CS1 et les API série CV ont des zones de données plus grandes que le CQM1H, ainsi les mots de début pour transmettre et recevoir vers les stations de destination ne sont pas toujours directement spécifiés à l’aide des opérandes SEND(90) et RECV(98). De plus, selon les circonstances, il est préférable de modifier le mot de début des stations de destination. Dans ces cas, régler l’indication de données de commande “Directe/Indirecte” à “1” (Indirecte) et spécifier les mots de début pour la transmission comme indiqué ci-dessous. Le mot de réception de début est déterminé par le contenu des mots D et D+1 de la station de destination. @SEND(90) S : Mot d’émission de début de la station d’origine D : Mot de réception de début de la station de destination C : Premier mot de données de commande de la station d’origine S D C 15 D 12 11 876543210 Code zone* 0 0 0 0 Adresse de mot (5ème digit) D+1 Adresse de mot (1er digit) Adresse de mot (2ème digit) Adresse de mot (3ème digit) Adresse de mot (4ème digit) Rem. Indiquer le code zone en fonction du tableau suivant. Station de destination : API série CS1 Zone Code Station de destination : API CQM1H, C200HX/HG/HE Zone Code Station de destination : API série CV Zone Code CIO 00 IR 00 CIO 00 Temporisation(voir Rem. 1) Compteur (voir Rem. 2) DM EM Zones 0 à 7 Zones 8 à 15 Zone courante 03 LR 06 01 04 HR 07 Liaison omnibus de l’UC Auxiliaire 05 10 à 17 A8 à AC 18 AR 08 Temporisation 03 Temporisation/ compteur DM EM Zones 0 à 7 Zones 8 à 15 Zone courante 03 Compteur 04 05 10 à 17 28 à 2F 18 DM EM 05 10 à 17 18 Rem. 434 Zones 0 à 7 Zone courante 02 1. Les mots 0 à 2555 de la zone IR transmettent et reçoivent des données. 2. Les numéros 0 à 2047 de temporisation/compteur transmettent et reçoivent des données. Chapitre 5-29 Instructions de réseau Exemples 00000 Dans l’exemple suivant, lorsque les IR 00000 et AR 0209 (le drapeau activé d’instruction de réseau) sont à ON, les 10 mots des DM 0100 à DM 0109 sont transmis vers la station numéro 3 dans le réseau local où ils sont écrits dans les 10 mots des DM 0200 à DM 0209. Les données sont retransmises jusqu’à trois fois si une réponse n’est pas reçue dans les dix secondes. AR 0209 Adresse Instruction 00000 00001 00002 LD AND SEND(90) Opérandes SEND(90) DM 0100 DM 0200 DM 0300 AR 00000 0209 DM DM DM 0100 0200 0300 Station 3 15 0 C : DM 0300 0 0 0 A C+1 : DM 0301 C 3 6 4 C+2 : DM 0302 0 0 0 3 C+3 : DM 0303 0 0 0 0 Drapeaux ER : DM 0100 DM 0200 DM 0101 DM 0201 DM 0109 DM 0209 Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). Le nombre de mots d’émission dépasse 990 mots pour une Unité de liaison contrôleur. Aucune Unité de liaison contrôleur n’est installée. 5-29-2 RECEPTION RESEAU – RECV(98) Zones de données d’opérandes Symboles à contcts S : Mot de début d’origine RECV(98) @RECV(98) S S D D C C IR, SR, AR, DM, EM, HR, TIM/CNT, LR D : Mot de début de destination IR, SR, AR, DM, EM, HR, TIM/CNT, LR C : 1er mot de données de commande IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations C à C+2 doivent être dans la même zone de données et doivent être compris dans les valeurs indiquées ci–dessous. Pour pouvoir utiliser RECV(98), le système doit avoir une Unité de liaison de contrôleur de montée. Description Lorsque la condition d’exécution est à OFF, RECV(98) n’est pas exécutée. Lorsque la condition d’exécution est à ON, RECV(98) transfère les données de début à S à partir d’une station du système de liaison contrôleur aux mots de début à D. Les mots de commande, débutant par C, fournissent le nombre de mots à recevoir, la station d’origine et les autres paramètres de transfert. Mots de commande RECV(98) reçoit “m” mots débutant avec S (le mote de début des données de 435 Chapitre 5-29 Instructions de réseau transmission à la station de destination, M) pour les mots de D (mot de début pour les données de réception à la station d’origine) et mots suivants. Station d’origine 15 D m @RECV(98) S D C Station de destination M 0 0 15 S L “m” nombre de mots émis L S : Mot de début émis de la station de destination D : Mot de début reçu de la station d’origine C : 1er mot de données de commande de la station d’origine 15 14 C 000 0 “n” nombre de mots émis 000 à 3DE (Hex) : 0 à 990 mots 0 : Adresse réseau d’origine non spécifiée (réseau local) 1 : Adresse réseau d’origine spécifiée. 1514131211 C+1 1 87 0 Nombre de tentatives 0 à F (Hex) : 0 à 15 tentatives Directe/Indirecte 0 : Directe ; 1 : Indirecte 0 : Résponse requise 1 : Résponse non requise Toujour “1” Temps de surveillance de réponse 00 (Hex) : 2 s (pour 2 Mbps) 4 s (pour 1 Mbps) 8s (pour 500 Kbps) 01 à FE (Hex) : 0,1 à 25,4 s (unité : 0,1 s) FF (Hex) : Aucune réponse de surveillance Toujours “1” 15 87 0 C+2 Adresse d’unité de destination (origine de transmission) 00 (Hex) : UC d’API 01 (Hex) : Ordinateur (programme de l’utilisateur) 10 to 1F (Hex) : Nombre d’Unité 0 à 15 FE (Hex) : Unité connecté au réseau 15 C+3 Nombre de station (M) de destination (origine de transmission) 01 à 20 (Hex) : 1 à 32 La plage du nombre de station varie pour les réseaux autres que les réseau de liaison contrôleur. 0 0 0 Adresse de réseau de destination 00 (Hex) : Réseau local 01 à 7F (Hex) : 1 à 127 Le paramétrage est seulement activé lorsque “l’adresse réseau de destination” est réglé en mot C. Lors de la spécification de l’adresse réseau de destination, régler toutes les stations des tableaux de programme. Pour plus d’informations concernant les tableaux de programme, se reporter au chapitre sur les interconnexions réseau du Manuel de programmation de l’unité de liaison contrôleur (W309). La première exécution de RECV(98) démarre la réception des données par l’intermédiaire de l’Unité de communication. Pour vérifier si la réception est effectivement terminée, vérifier que le drapeau activé d’instruction réseau (AR 0209) est passé de OFF à ON et que le drapeau erreur d’instruction réseau (AR 0208) est à OFF. Le traitement de réception est terminé lorsque END(01) est activée. 436 Instructions de réseau Chapitre 5-29 Une réponse est requise avec RECV(098) car la réponse contient les données reçues, ainsi régler le bit 13 de C+1 à “0” pour indiquer qu’une réponse est requise. Si la réponse n’est pas reçue au sein du temps de surveillance de la réponse réglé en C+4, la requête de transfert de données est retransmise jusqu’à ce qu’une réponse soit reçue ou que le nombre de tentatives spécifiées (jusqu’à 15) soit atteint. Si le drapeau activé d’instruction réseau (AR 0209) est à OFF lorsque RECV(98) est exécutée, l’instruction est traitée comme NOP(00) et n’est pas exécutée. Une erreur survient et le drapeau d’erreur passe à ON. Si le drapeau activé d’instruction réseau (AR 0209) est à ON lorsque RECV(98) est exécutée, le drapeau activé d’instruction réseau (AR 0208) et le drapeau activé d’instruction réseau (AR 0209) passent à OFF, le code terminé d’instruction réseau est réglé à 000 et les données sont reçues d’une autre station. Seul une instruction réseau peut être exécutée à la fois. S’assurer que la deuxième instruction réseau n’est pas exécutée tant que la première n’est pas terminée, programmer le drapeau activé d’instruction réseau (AR 0209) en tant que condition normalement ouverte. Ne jamais modifier les données de commande (c jusqu’à C+3) lorsque les données sont en cours de réception et le drapeau activé d’instruction réseau est à OFF. Les parasites et autres facteurs risquent de provoquer la requête de corruption ou de perte de transmission ou de réponse, il est donc recommandé de paramétrer le nombre de tentatives en une valeur différente de 0 ce qui provoque une nouvelle exécution de RECV(98) lorsque la réponse n’est pas reçue dans le temps de surveillance de réponse. L’adressage indirect est utilisé pour le mot de début d’origine (S) lorsque les données recues des API possédant des zones de données plus grandes que celles du CQM1H tel que les API série CS1 ou série CV. L’adressage indirect est également utilisé pour modifier le mot de début d’origine pour convenir aux circonstances. Designations de mot de début de source indirecte S est utilisé pour caractériser le mot de début d’origine lorsque la carctéristique indirecte est requise. Utiliser les mêmes désignations que ceux utilisées pour le mot de début de destination pour SEND(90). 437 Chapitre 5-29 Instructions de réseau Exemples 00000 Lorsque les IR 00000 et AR 0209 (le drapeau activé d’instruction réseau) sont à ON dans l’exemple suivant, les données en 10 mots des DM 0100 à DM 0109 dans la station numéro 3 du réseau local sont reçues et écrites dans les 10 mots à partir des DM 0200 à DM 0209. La requête de données transferées est retransmise jusqu’à 3 fois lorsque la réponse n’est pas reçue dans un délai de 10 secondes. AR 0209 Adresse Instruction 00000 00001 00002 LD AND RECV(98) Opérandes RECV(98) DM 0100 DM 0200 DM 0300 AR 00000 0209 DM DM DM 0100 0200 0300 Station 3 15 0 C : DM 0300 0 0 0 A C+1 : DM 0301 C 3 6 4 C+2 : DM 0302 0 0 0 3 C+3 : DM 0303 0 0 0 0 Drapeaux ER : DM 0100 DM 0200 DM 0101 DM 0201 DM 0109 DM 0209 Le canal EM/DM indirectement adressé n’existe pas (le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). Le nombre de mots émis dépasse les 990 mots pour une Unité de liaison contrôleur. Aucune Unité de liaison contrôleur est installée. Les données reçues dépassent la limite de zone de données. Les mots d’origine dépassent la limite de la zone de données. 5-29-3 COMMANDE LIVREE : CMND(––) Symboles à contacts Zones de données d’opérandes S : Premier mot de commande CMND(––) @CMND(––) S S D D C C IR, SR, AR, DM, EM, HR, TIM/CNT, LR D : Premier mot de réponse IR, SR, AR, DM, EM, HR, TIM/CNT, LR C : Premier mot de contrôle IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations C à C+5 doivent être dans le même zone de données et doivent être dans les valeurs indiquées ci–dessous. Pour pouvoir utiliser CMND(––), le système doit avoir une unité de liaison contrôleur montée. Description Lorsque la condition d’exécution est OFF, CMND(––) n’est pas exécutée. Lorsque la condition d’exécution est ON, CMND(––) tranmet les commandes 438 Chapitre 5-29 Instructions de réseau FINS en commencant au mot S de la station spécifiée sur le système de liaison contrôleur et reçoit la réponse. Station locale Station de destination Commande Interprète Données de commande (n octets) Réponse Données de réponse (m octets) Exécute Mots de contrôle Les 6 mots de contrôle C à C+5 spécifient le nombre d’octets des données de commande et des données de réponse, la destination et les autres paramétrages présentés dans le tableau suivant : Mot C C+1 C+2 Rem. Bits 00 à 07 Bits 08 à 15 Octets des données de commande : hexadécimaux 0000 à 07C6 (octets 0 à 1 990) Octets des données de réponses : hexadécimaux 0000 à 07C6 (octets 0 à 1 990 ) Adresse du réseau de destination Toujours 00. 00 : Réseau local 01 à 7F : Réseau 1 à 127 C+3 Adresse de l’unité de destination 00 : Unité centrale 01 : Ordinateur (programme de l’utilisateur) 10 à 1F : Unités 0 à 15 E1 : Carte interne FE : Unité connectée au réseau Numéro de la station de destination 01 à 20 : 1 à 32 (Voir Rem. 1) FF : Emission (Voir Rem. 2) C+4 Numéro des nouvelles tentatives : 00 Paramétrage de la réponse à 0F (0 à 15) 00 : Réponse demandée. 80 : Aucune réponse demandée. C+5 Temps de surveillance de la réponse 0000 : 2 s de 2 Mbps, 4 s de 1 Mbps ou 8 s de 500 Kbps 0001 à FFFF : 0,1 à 6 553,5 secondes (unités de 0,1 s) 1. La plage autorisée est en hexadécimale de 01 à 20 (1 à 32) pour une liaison contrôleur, mais le nombre maximal de station diffère pour d’autres réseaux. 2. Régler le numéro de la station de destination à FF pour diffuser la commande à toutes les stations dans le réseau. La première exécution de CMND(– –) est la transmission des commandes FINS par l’intermédiaire de l’unité de communication. Pour vérifier si la transmission a été accomplie réellement, vérifier que le drapeau activé de l’instruction de réseau (AR 0209) est passé de OFF à ON et que le drapeau d’erreur d’instruction de réseau (AR 0208) est à OFF. Le traitement de transmission de commande est terminé lorsque END(01) est exécutée. Lorsqu’une réponse est exigée mais non reçue dans le temps de surveillance de la réponse, la commande est éditée de nouveau jusqu’à ce qu’une réponse soit 439 Instructions de réseau Chapitre 5-29 reçue ou que le nombre spécifié de nouvelles tentatives (jusqu’à 15) soit atteint. S’assurer d’indiquer qu’aucune réponse n’est exigée lorsque la commande d’édition ne génère pas de réponse. Lorsque le numéro de la station de destination est réglé à FF, la même commande est transmise à toutes les stations sur le réseau spécifié. Lorsque la transmission d’émission est indiquée, les réponses ne sont pas retournées et les transmissions ne sont pas réessayées. Une erreur se produit lorsque la quantité de données de réponse dépasse le nombre d’octets des données de réponse réglé dans C+1. Si le drapeau activé de l’instruction de réseau (AR 0209) est à OFF lorsque CMND(– –) est exécutée, l’instruction est traitée en tant que NOP(00) et n’est pas exécutée. Une erreur se produit et le drapeau d’erreur est à ON. Si le drapeau activé de l’instruction de réseau (AR 0209) est à ON lorsque CMND(– –) est exécutée, le drapeau d’erreur d’instruction de réseau (AR 0208) et le drapeau activé de l’instruction de réseau (AR 0209) sont mis à OFF, le code d’accomplissement de l’instruction de réseau est réglé à 00, et la commande FINS est éditée de la (des) station(s) sur le réseau. La (les) station(s) de destination est située jusqu’aux tableaux de routage enregistrées dans les API du réseau (les tableaux de routage indiquent les itinéraires à d’autres réseaux dans lesquels des stations de destination sont connectées). Seule une instruction de réseau est exécutée à la fois. Afin de s’assurer qu’une deuxième instruction de réseau n’est pas exécutée jusqu’à ce que la première soit terminée, programmer le drapeau activé de l’instruction de réseau (AR 0209) comme une condition normalement ouverte. Ne jamais changer les données de contrôle (C à C+5) tant que la commande FINS est en cours et que le drapeau activé de l’instruction de réseau est à OFF Les parasites et autres facteurs peuvent causer la corruption ou la perte de transmission ou de réponse, ainsi il est recommandé de régler le nombre de nouvelles tentatives à une valeur différente de 0 provoquant de nouveau l’exécution de CMND(––) si la réponse n’est pas reçue dans le temps de surveillance de la réponse. CMND(––) fonctionne juste comme une SEND(90) si le code de commande FINS est 0102 (LECRITURE DE LA ZONE MEMOIRE) et juste comme une RECV(098) si le code est 0101 (LECTURE DE LA ZONE MEMOIRE). Exemples Dans l’exemple suivant, lorsque les IR 00000 et AR 0209 (drapeau activé de l’instruction de réseau) sont à ON, CMND édite la commande FINS 0101 (LECTURE DE LA ZONE MEMOIRE) au numéro de station 3 dans le réseau local. La commande LECTURE DE LA ZONE MEMOIRE lit 10 mots du DM 0010 au DM 0019. La réponse contient le code de commande à 2 octets (0101), le code d’accomplissement à 2 octets et puis les 10 mots de données, pour un total de 12 mots ou de 24 octets. 440 Chapitre 5-30 La commande est éditée de nouveau jusqu’à 3 fois si une réponse n’est pas reçue dans les 10 secondes. 00000 AR 0209 Adresse Instruction 00000 00001 00002 LD AND SEND(90) Opérandes CMND(––) DM 0100 DM 0200 DM 0300 15 AR 00000 0209 DM DM DM 0100 0200 0300 0 S : DM 0100 0 1 0 1 S+1 : DM 0101 8 2 0 0 S+2 : DM 0102 0 A 0 0 S+3 : DM 0103 0 0 0 A Code de commande : hexadécimal 0101 (MEMORY AREA READ – LECTURE DE LA ZONE MEMOIRE) DM 0010 (Zone de données = 82 hexadécimaux, adresse = 000A00) 15 Drapeaux Nombre de mots à lire = hexadécimale 0A (10 décimales) 0 C : DM 0300 0 0 0 8 Octets des données de commande : 0008 (8 décimales) C+1 : DM 0301 0 0 1 8 Octets des données de réponse : 0018 (24) C+2 : DM 0302 0 0 0 0 Transmettre au réseau local et au périphérique lui–même C+3 : DM 0303 0 3 0 0 Numéro de la station 3, adresse de l’unité 00 (Unité centrale) C+4 : DM 0304 0 0 0 3 Réponse demandée, numéro de port 0, 3 nouvelles tentatives C+5 : DM 0305 0 0 6 4 Temps de surveillance : 0064 hexadécimaux (10 secondes) ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). 5-30 Instructions de communication 5-30-1 RECEPTION – RXD(47) Symboles à contacts Zones de données d’opérandes D : Premier mot de destination RXD(47) @RXD(47) D D C C N N IR, SR, AR, DM, EM, HR, TIM/CNT, LR C : Mot de commande # N : Nombre d’octets IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Limitations D et D+(N÷2)–1 doivent être dans la même zone de données. les DM 6144 à DM 6655 ne peuvent être utilisés pour D ou N. N doit être BCD de #0000 à #0256. Description Lorsque la condition d’exécution est à OFF, RXD(47) ne s’exécute pas. Lorsque la condition d’exécution est à ON, RXD(47) lit N octets de données reçues au port spécifié dans le mot de commande et écrit ces données dans les mots D à D+(N÷2)–1. Jusqu’à 256 octets de données peuvent être lus à la fois. 441 Chapitre 5-30 Si moins de N octets sont reçus, le nombre reçu est lu. Rem. Se reporter au paragraphe 1-6 Fonctions de communications pour plus d’informations sur l’instruction RXD(47), la définition du protocole de communications dans le Setup de l’API, etc. Le CQM1H ne peut plus recevoir de données après réception de 256 octets si ceux–ci ne sont pas lus au moyen de RXD(47). Lire les données le plus vite possible après que le drapeau terminé de réception soit mis à ON. Le tableau ci– dessous présente les drapeaux terminés de réception pour les divers ports : Port Drapeaux terminés de réception Port intégré RS–232C de l’unité centrale Port périphérique Carte de communications Port 1 série Port 2 AR 0806 AR 0814 IR 20106 IR 20114 Les drapeaux et les compteurs de communications peuvent être supprimés en exécutant RXD(47) avec N réglé à 0000. Drapeaux reliés et bits de commande Le tableau ci–dessous présente les différents drapeaux, bits de commande et mots utilisés en réception de données avec RXD(47) : Port Port intégré RS–232C de l’unité centrale Drapeau AR 0806 AR 09 SR 25209 Port périphérique AR 0814 AR 10 SR 25208 Carte de communications série Port 1 IR 20106 IR 202 IR 20700 Carte de communications série Port 2 IR 20114 IR 203 IR 20701 442 Commande Le drapeau terminé de réception passe à ON lorsque la réception est terminée et passe à OFF après lecture des données avec RXD(47). Contient le nombre d’octets reçus en BCD à 4 digits. Ce mot est remis à 0000 après lecture des données avec RXD(47). Le bit de réinitialisation du port RS-232C passe à ON pour réinitialiser le port RS-232C. Le drapeau terminé de réception passe à ON lorsque la réception est terminée et passe à OFF après lecture des données avec RXD(47). Contient le nombre d’octets reçus en BCD à 4 digits. Ce mot est remis à 0000 après lecture des données avec RXD(47). Le bit de réinitialisation du port périphérique passe à ON pour réinitialiser le port périphérique . Le drapeau terminé de réception passe à ON lorsque la réception est terminée et passe à OFF après lecture des données avec RXD(47). Contient le nombre d’octets reçus en BCD à 4 digits. Ce mot est remis à 0000 après lecture des données avec RXD(47). Le bit de réinitialisation du port 1 passe à ON pour réinitialiser le port 1. Le drapeau terminé de réception passe à ON lorsque la réception est terminée et passe à OFF après lecture des données avec RXD(47). Contient le nombre d’octets reçus en BCD à 4 digits. Ce mot est remis à 0000 après lecture des données avec RXD(47). Le bit de réinitialisation du port 2 passe à ON pour réinitialiser le port 2 Chapitre 5-30 Mot de commande (C) La valeur du mot de commande détermine le port à partir duquel sont lues les données et l’ordre dans lequel des données sont écrites en mémoire. Numéro de digit : 3 2 1 0 Ordre des octets 0 : Premiers octets les plus importants 1 : Premiers octets les moins importants Non utilisé (réglé à 0). Port spécifique série (lorsque les bits 12 à 15 sont à 0). 0 : Port intégré RS–232C de l’unité centrale 1 : Carte de communications série port 1 2 : Carte de communications série port 2 Port 0 : Port autre que port périphérique 1 : Port périphérique L’ordre dans lequel les données sont écrites en mémoire dépend de la valeur du digit 0 dans C. Huit octets de données 12345678... sont écrits de la façon suivante : Digit 0 = 0 D D+1 D+2 D+3 Drapeaux ER : Digit 0 = 1 MSB 1 3 5 7 LSB 2 4 6 8 MSB 2 4 6 8 D D+1 D+2 D+3 LSB 1 3 5 7 Le port de la carte de communications série est spécifié, mais aucune carte de communications série n’est installée. Il y a une erreur dans le paramétrage des communications (Setup de l’API) ou le paramétrage d’opérandes. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). Les mots de destination (D à D+(N÷2)–1) dépassent la zone de données. 5-30-2 TRANSMISSION – TXD(48) Zones de données d’opérandes Symboles à contacts S : Premier mot source TXD(48) @TXD(48) S S C C N N IR, SR, AR, DM, EM, HR, TIM/CNT, LR C : Mot de commande # N : Numéro d’octets IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Limitations S et S+(N÷2)–1 doivent être dans la même zone de données. Les DM 6144 à DM 6655 ne peuvent être utilisés pour S ou N. N doit être une valeur BCD comprise entre #0000 et #0256 (#0000 à #0061 en mode liaison à l’ordinateur). 443 Chapitre 5-30 Description Lorsque la condition d’exécution est à OFF, TXD(48) ne s’exécute pas. Lorsque la condition d’exécution est à ON, TXD(48) lit N octets de données à partir des mots S à S+(N÷2)–1, les convertit en ASCII et transmet le résultat à partir du port spécifié. TXD(48) a une fonction différente en mode liaison à l’ordinateur et en mode sans protocole, ces modes sont décrits séparément. Rem. Se reporter au paragraphe 1-6 Fonctions de communications pour plus d’informations sur l’instruction RXD(48), la définition du protocole des communications dans le Setup de l’API, etc. Mode liaison à l’ordinateur N doit être une valeur BCD comprise entre #0000 et #0061 (jusqu’à 122 octets ASCII). La valeur du mot de commande (C) détermine le port via lequel sont transmises les données, comme indiqué ci–dessous : Numéro : de digit 3 2 1 0 0 0 Non utilisé (réglé à 0). Non utilisé (réglé à 0). Port spécifique série (lorsque les bits 12 à 15 sont à 0.) 0 : Port intégré RS–232C de l’unité centrale 1 : Carte de communications série port 1 2 : Carte de communications série port 2 Port 0 : Port autre que port périphérique 1 : Port périphérique Le nombre d’octets spécifié est lu entre S et S+(N/2)–1, converti en ASCII et transmis via le port spécifié. Les octets de données source ci–dessous sont transmis dans l’ordre : 12345678... MSB 1 3 5 7 S S+1 S+2 S+3 LSB 2 4 6 8 Le tableau ci–dessous présente les drapeaux activés de transmission pour chaque port. Le drapeau activé de transmission correspondant est à ON lorsque le CQM1H est capable de transmettre des données par ce port. Port Drapeaux terminés de transmission Port intégré RS–232C de l’unité centrale Port périphérique Carte de communications Port 1 série Port 2 AR 0805 AR 0813 IR 20105 IR 20113 Le schéma suivant montre le format de commande de liaison à l’ordinateur (TXD) envoyé du CQM1H. Le CQM1H ajoute automatiquement les préfixes et les suffixes : numéros de stations, en–tête et FCS. @ X X Num. de station 444 X X Code d’en–tête X X ......... Données (122 car. ASCII max.) X X X FCS ∗ CR Terminaison Chapitre 5-30 Mode sans protocole N doit être une valeur BCD comprise entre #0000 et #00256. La valeur du mot de commande détermine le port à partir duquel sont transmises les données et l’ordre d’écriture de celles–ci en mémoire. Mot de commande (C) La valeur du mot de commande détermine le port à partir duquel des données sont lues et l’ordre dans lequel des données sont écrites dans la mémoire. Nombre de digits : 3 2 1 0 0 Ordre des octets 0 : 1er octets les plus significatifs 1 : 1er octets les moins significatifs Non utilisé (réglé à 0). Caractéristiques de port série (lorsque bits 12 à 15 sont 0). 0 : Port RS-232C intégré de l’UC 1 : Port 1 de carte de communications série 2 : Port 2 de carte de communications série Port 0 : Port autre que le port périphérique 1 : Port périphérique Le nombre d’octets spécifié est lu de S à S+(N÷2)–1 et transmis au port spécifié. S S+1 S+2 S+3 MSB 1 3 5 7 LSB 2 4 6 8 Lorsque le digit 0 de C est à 0, les octets des données d’origine présentées cidessus sont transmis dans cet ordre : 12345678... Lorsque le digit 0 de C est à 1, les octets des données d’origine présentées cidessus sont transmis dans cet ordre : 21436587... Rem. Lorsque des codes de début et de fin sont spécifiés, la longueur totale des données est de 256 octets max., y compris les codes de début et de fin (la longueur maximale des données est de 254 octets lorsqu’un code de début et un code de fin sont spécifiés). Drapeaux ER : Un port de la carte de communications série est spécifié mais une carte de communications série n’est pas installée. Il y a une erreur de paramétrage de communications (Setup de l’API) ou de paramétrage d’opérandes. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD ou la limite de la zone EM/DM a été dépassée). Les mots d’origine (S à S+(N÷2)–1) dépassent la zone de données. 445 Chapitre 5-30 5-30-3 CHANGEMENT DU PARAMETRAGE DU PORT SERIE – STUP(––) Zones de données d’opérandes Symboles à contacts N : Port spécifié STUP(––) @STUP(––) N N S S 000 000 IR 000, IR 001, IR 002, ou IR 003 S : Premier mot source IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # Troisième opérande : Réglé sur 000. ––– Limitations N doit être IR 000, IR 001, IR 002, ou IR 003. S et S+4 doivent être dans la même zone de données. (S peut être réglé sur #0000 pour changer les paramètres par défaut du RS-232C). L’instruction STUP(––) ne peut être exécutée pour le port RS-232C intégré de l’unité centrale si la broche 5 du micro–interrupteur est à ON. L’instruction STUP(––) ne peut pas être exécutée dans un sous–programme d’interruption. Description Lorsque l’exécution est à OFF, l’instruction STUP(––) ne s’exécute pas. Lorsque l’exécution est à ON, l’instruction STUP(––) change les paramètres de configuration de l’API pour le port spécifié par N. N détermine le port de configuration RS-232C à changer. N Specified Port IR 000 Port RS-232C intégré (Configuration de l’API : DM 6645 à DM 6649) IR 001 Carte de communications série port 1 (Configuration de l’API : DM 6555 à DM 6559) Carte de communications série port 2 (Configuration de l’API : DM 6550 à DM 6554) Port périphérique (Configuration de l’API : DM 6650 à DM 6654) IR 002 IR 003 Si S est une adresse de mot, les contenus de S à S+4 sont copiés dans les 5 mots de la configuration de l’API qui contient les paramètres pour le port indiqué par N. Si S est entré comme la constante #0000, les paramètres pour le port indiqué sont remis à 0 à leurs valeurs par défaut. S Fonction Adresse de mot Constante (#0000) Les contenus de S à S+4 sont copiés dans la partie de la configuration de l’API qui contient les paramètres pour le port indiqué par N. Les paramètres du port spécifié par N sont remis à 0 à leur valeurs par défaut. Le tableau suivant présente les drapeaux de changement des paramètres ou les drapeaux d’exécution du macro–protocole pour chaque port. Le drapeau 446 Chapitre 5-30 correspondant reste à ON pendant l’exécution de l’instruction STUP(––) et passe à OFF quand le changement est terminé. Port Exemple d’application Nom du drapeau Adresse du drapeau AR 2404 Port RS-232C intégré Drapeau de changement des réglages du port RS–232C de l’unité centrale Port périphérique Drapeau de changement des réglages du port périphérique de l’unité centrale AR 2403 Carte de Port 1 Communications série Port 2 Drapeau d’exécution du macro–protocole Drapeau d’exécution du macro–protocole IR 20708 IR 20712 Cet exemple montre un programme qui transfère les contenus des DM 0100 à DM 0104 à la zone de configuration de l’API pour le port 1 de la carte de communications série (DM 6555 à DM 6559) lorsque l’IR 00000 est à ON et l’IR 20708 est à OFF. 00000 20708 Adresse Instruction 00000 00001 00002 LD AND NOT @STUP(––) Opérandes @STUP(––) 001 DM 0100 00000 20708 DM 001 0100 Les réglages sont transférés comme indiqué ci–dessous. Le port 1 du drapeau d’exécution du macro–protocole (IR 20708) sera de nouveau à OFF lorsque le tranfert a été accompli. DM 0100 1001 DM 6555 1001 DM 0101 0803 DM 6556 0803 DM 0102 0000 DM 6557 0000 DM 0103 2000 DM 6558 2000 DM 0104 0000 DM 6559 0000 Le tableau suivant montre la fonction de la zone de configuration transférée. Mot Contenu Fonction DM 0100 1001 DM 0101 0803 Permet les réglages de communication du DM 0101 et place le mode de communications à RS-232C. Place les réglages de communications suivants : 9 600 bps, 1 bit d’entrée, 8 bits de données, 1 bit d’arrêt, aucune parité DM 0102 0000 Aucun retard de transmission (0 ms) DM 0103 2000 Permet le code de fin CR, LF. DM 0104 0000 --- Rem. Une erreur se produit si l’instruction STUP(––) est exécutée pendant un drapeau de changement des réglages du port ou si un drapeau d’exécution du 447 Chapitre 5-30 macro–protocole est à ON, incluant ainsi le drapeau comme une condition d’exécution normalement fermée. 00000 20708 @STUP(––) 001 DM 0100 Utiliser l’instruction STUP(––) pour changer les réglages tel que le mode de communications pendant l’utilisation. Par exemple, un ordre de communications peut être exécuté dans un mode de macro–protocole pour échanger des données dans le modem et le mode de communications peut être commuté dans le mode liaison à l’ordinateur lorsqu’il est nécessaire de surveiller/programmer l’API sans arrêter l’utilisation. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). Le port spécifié (N) n’est pas l’IR 000, l’IR 001, l’IR 002 ou l’IR 003. Les mots de source spécifiés excèdent la zone de données. Le port intégré RS-232C ou le port périphérique est spécifié, mais la broche 5 du micro–interrupteur est à ON. Un port de la carte de communications série est spécifié, mais une carte de communications série n’est pas installée. L’instruction STUP(––) est exécutée lorsque le drapeau de changement des réglages du port spécifié (AR 2404 pour le port RS-232C ou AR 2403 pour le port périphérique) ou le drapeau d’exécution du macro–protocole (IR 20708 pour le port 1 ou IR 20712 pour le port 2) est à ON. 5-30-4 MACRO–PROTOCOLE – PMCR(––) Zones de données d’opérandes Symboles à contacts C : mot de contrôle PMCR(––) @PMCR(––) C C S S R R IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # S : Premier mot envoyé IR, SR, AR, DM, EM, HR, TIM/CNT, LR, # R : Premier mot reçu IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations C doit être une valeur BCD comprise entre #1000 et #2999. Les DM 6144 jusqu’à DM 6655 ne peut être utilisé pour R. Description Lorsque l’exécution est à OFF, l’instruction PMCR(––) ne s’exécute pas. Lorsque l’exécution est à ON, l’instruction PMCR(––) appelle et exécute la séquence de communications spécifiée (données de protocole) qui a été enregistrée dans la carte de communications série installée dans l’API. Les bits 00 à 11 de C spécifient le nombre de séquence de communications et les bits 12 à 15 de C spécifient si la séquence est exécutée du port 1 ou du port 2. 448 Chapitre 5-30 Lorsqu’un opérande est indiqué dans la variable du message d’envoi, la teneur de S (0001 à 0129 BCD) indique le nombre de mots dans la zone d’envoi incluant S lui–même. (Les données envoyées commencent à S+1, ainsi la quantité réelle des données envoyées est de 0 à 128 mots.) Le message émetteur/récepteur pour la séquence de communications enregistrée dans la carte de communications série doit être réglé pour lire ou écrire des données de mot lorsque le DM n’est pas spécifié pour S et R. S’il n’y a pas de donnée envoyée, entrer la constante #0000 pour S ; n’importe quelles autres constante ou adresse causeront une erreur. Lorsque la séquence des communications ne nécessite pas un mot de réception, indiquer tout de même une adresse de mot. Les données ne seront pas stockées dans le mot indiqué et les contenus du mot seront retenus. Lorsque l’ordre de communications nécessite des mots reçus, spécifier des mots qui ne sont pas employés ailleurs dans le programme. Les mots envoyés et reçus (S et R) peuvent aussi être réglés dans la séquence de communications enregistrée dans la carte de communications série. Rem. Se référer au Manuel d’Utilisation de la Carte de Communications Série pour des détails sur les cartes de communications série et au Manuel d’Utilisation du Logiciel de Protocole pour des détails sur les séquences de communications. L’option lue sous forme de symbole (R()) dans les variables du message d’envoi contrôle l’émission des données envoyées dans la zone d’envoi spécifiée. De même, l’option écrite sous forme de symbole (W()) dans les variables du message reçu contrôle la réception des données dans la zone de réception spécifiée. Se référer au Manuel d’utilisation du Protocole CX pour des détails spécifiant les options R() et W() des messages. Drapeaux d’exécution du macro–protocole Le drapeau d’exécution du macro–protocole du port (IR 20708 pour le port 1 ou IR 20712 pour le port 2) est à ON lorsque l’instruction PMCR(––) est exécutée et passe à OFF lorsque la séquence de communications est terminée et que toutes les données reçues ont été stockées dans les mots de réception indiqués. Seul une séquence de communications peut être exécutée à la fois pour chaque port et une erreur se produit si l’instruction PMCR(––) est exécutée lorsque le drapeau d’exécution du macro–protocole du port est déjà à ON. S’assurer d’inclure le drapeau comme une condition d’exécution normalement fermée pour empêcher qu’une deuxième séquence de communications ne soit exécutée avant que la première soit terminée. Condition d’exécution 20708 ou 20712 @PMCR(––) C S R 449 Chapitre 5-30 Mot de commande (C) Le premier digit du mot de commande (1 ou 2) indique le port de la carte de communications série et les trois derniers digits indiquent la séquence de communications (000 à 999), comme indiqué dans le schéma suivant. C: Digits 2 à 4 : Numéro de la séquence de communications (000 à 999) Digit 1 : Port spécificateur 1 : Port 1 de la carte de communications série 2 : Port 2 de la carte de communications série Premier mot envoyé (S) Le premier mot des mots requis pour envoyer des données est indiqué. S contient le nombre de mots à envoyer +1 (c’est–à–dire, incluant le mot S) les données d’envoi débutent en S+1. Jusqu’à 0128 mots peuvent être envoyés. S’il n’y a aucune donnée envoyée, mettre toujours 0000 comme constante pour S. Une erreur se produit et le Drapeau d’Erreur passe à ON si toute autre constante ou une adresse de mot est donnée et l’instruction PMCR(––) ne s’exécute pas. Nombre de mots envoyés + 1 (n+1 = 0001 à 0129) n+1 Préparer n mots de données par avance (n = 0 à 128). Premier mot reçu (R) Ces mots contiennent des données reçues. Indiquer une adresse de mot pour R même si aucune donnée n’est reçue. Si une constante est mise pour R, une erreur se produit, le drapeau d’erreur passe à ON, et l’instruction PMCR(– –) ne s’exécute pas. R m Le nombre de mots de données reçues + 1 est automatiquement stocké ici. Les m mots de données reçues sont stockés ici. Drapeaux ER : Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). R n’est pas BCD ou le DM 6144 à DM 6655 est utilisé pour R. Une autre instruction PMCR(––) était déjà en cours et le drapeau d’exécution du macro–protocole était à ON lorsque l’instruction a été exécutée. Le port spécificateur n’était pas 1 ou 2. Exemple 450 PMCR(––) exécute la séquence de communications 101 lorsque l’IR 00000 est à ON et SR 20708 (le port 1 du drapeau d’exécution du macro–protocole) est à OFF. Le DM 0100 contient 0003, aussi les deux prochains mots (DM 0101 et DM 0102) sont employés comme données d’envoi. Chapitre 5-31 Instructions avancées d’E/S Des données reçues sont stockées dans la gamme des mots commençant à DM 0201 et le nombre de mots reçus est automatiquement écrit dans le DM 0200 (le premier mot reçu). Rem. L’option lue sous forme de symbole, R( ), dans le message d’envoi, ou l’option écrite sous forme de symbole, W( ), envoie/reçoit actuellement des données. 00000 20708 PMCR #1101 DM 0100 Adresse Instruction 00200 00201 00202 LD AND NOT PMCR(––) Opérandes 00000 20708 # DM DM DM 0200 1101 0100 0200 Nombre de séquence de communications Port spécificateur (101) (1 : Port 1 de la carte de communications série) DM 0100 envoyé DM 0101 2 mots DM 0102 DM 0200 1 mot R(1),2: 2 octets envoyés du DM 0101 Utilisé comme zone d’envoi reçu DM 0201 Données reçues W(1),2: 2 octets reçus émanants du DM 0201 5-31 Instructions avancées d’E/S 5-31-1 SORTIE D’AFFICHAGE 7 SEGMENTS – 7SEG(88) Symboles à contacts Zones de données d’opérandes S : Premier mot source 7SEG(88) IR, SR, AR, DM, EM, HR, TIM/CNT, LR S O : mot de sortie O IR, SR, AR, HR, LR,TIM/CNT, DM, EM C C : données de commande 000 à 007 Limitations Ne pas utiliser l’instruction 7SEG(88) plus de 2 fois dans le programme. Description Lorsque l’exécution est à OFF, l’instruction 7SEG(88) ne s’exécute pas. Lorsque l’exécution est à ON, l’instruction 7SEG(88) lit les données source (soit 4 ou 8 digits), les convertit en données d’affichage 7 segments, et émet ces données à l’afficheur 7 segments connecté à la sortie indiquée par O. 451 Chapitre 5-31 Instructions avancées d’E/S La valeur de C indique le nombre de digits des données source et la logique pour les unités d’entré/sortie, comme indiqué dans le tableau suivant. Données source 4 digits (S) Logique d’entrée des données d’affichage Identique à l’unité de sortie Différent de l’unité de sortie 8 digits (S, S+1) Identique à l’unité de sortie Différent de l’unité de sortie Logique d’entrée du verrou de l’affichage Identique à l’unité de sortie Différent de l’unité de sortie Identique à l’unité de sortie Différent de l’unité de sortie Identique à l’unité de sortie Différent de l’unité de sortie Identique à l’unité de sortie Différent de l’unité de sortie C 0000 0001 0002 0003 0004 0005 0006 0007 S’il y a 8 digits des données source, ils sont placés dans S et S+1, avec les digits les plus significatifs placés dans S+1. S’ il y a 4 digits des données source, ils sont placés dans S. L’instruction 7SEG(88) affiche les données à 4 ou 8 digits en 12 cycles et commence alors et continue d’afficher les données. Se référer à la page 451 pour plus d’informations sur l’instruction 7SEG(88) et ses applications. Drapeaux ER : S et S+1 ne sont pas dans la même zone de données. (Lorsqu’il est montré des données à 8 digits). Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). Il y a une erreur dans les configurations d’opérandes. SR 25409 : 452 A ON pendant que l’instruction 7SEG(88) est exécutée. Chapitre 5-31 Instructions avancées d’E/S Matériel L’affichage 7 segments est connecté à une unité de sortie comme montré dans le schéma ci–dessous. Pour l’affichage 4 digits, les sorties de données (D0 à D3) sont connectées aux points de sortie 0 à 3, et les sorties de verrouillage (CS0 à CS3) sont connectées aux points de sortie 4 à 7. Le point 12 de sortie (pour l’affichage à 8 digits) ou le point 8 de sortie (pour l’affichage à 4 digits) est à ON lorsqu’un cycle des données est affiché, mais il n’y a aucune nécessité de les relier à moins qu’ils ne soient requis par l’application. D0 D1 D2 D3 LE3 LE2 VDD (+) VSS (0) LE1 LE0 VDD (+) VSS (0) LE3 LE2 LE1 D0 D1 D2 D3 LE0 OD212 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 DC COM Les sorties peuvent être reliées à partir d’une unité de sortie de transistor avec 8 points de sortie ou plus pour 4 digits ou 16 ou plus points de sortie pour 8 digits. Rem. 1. Les sorties d’Unité de sortie utilisent normalement la logique négative. (Seules les sorties à PNP utilisent la logique positive.) 2. Selon le modèle, l’affichage 7 segments peut demander soit une logique positive soit une logique négative. Utilisation de l’instruction 7SEG(88) S O S : Premier mot de base O : Mot de sortie C : Données de contrôle C Si le premier mot contenant les données à afficher est indiqué en S et le mot de sortie est indiqué à O, et le SV pris du tableau ci–dessous est indiqué à C, alors l’utilisation procède comme montré ci–dessous lorsque le programme est exécuté. Format de stockage des données 4 digits d’extrême–gauche S+1 4 digits d’extrême–droite S Si seuls 4 digits sont affichés, seul le mot S est utilisé. 453 Chapitre 5-31 Instructions avancées d’E/S Régler les valeurs pour choisir la logique et le nombre de digits (C) Nombre de digits affichés 4 digits (4 digits, 1 bloc) Entrée des données de l’unité d’affichage et logique de l’unité de sortie Identique Différent 8 digits (4 digits, 2 blocs) Identique Différent Entrée des verrous de l’unité d’affichage et logique de l’unité de sortie Identique Différent Identique Différent Identique Différent Identique Différent Donnée de paramétrage C 000 001 002 003 004 005 006 007 Rem. Ne pas régler C à des valeurs autres que 000 à 007. Bit(s) dans O Fonction Etat de sortie (les données et la logique de verrou dépendent de C) (4 digits, 1 bloc) (4 digits, 2 blocs) 00 à 03 00 à 03 04 à 07 Verrou de sortie 0 04 08 Verrou de sortie 1 05 09 Verrou de sortie 2 06 10 Verrou de sortie 3 07 11 Un drapeau de cycle 08 12 Sortie donnée 100 1 2 3 101 4 5 6 102 7 8 9 Rem. 0 à 3 : sortie de donées pour l mot S 4 à 7 : sortie de données pour l mot S+1 103 10 11 12 1 12 cycles requis pour compléter un cycle Le SR 25409 se met à ON pendant que l’instruction 7SEG(88) est exécutée. Rem. Exemple d’application 1. Ne pas utiliser l’instruction 7SEG(88) plus d’une fois dans le même programme. 2. Considérer la durée de cycle et les caractéristiques de l’affichage 7 segments en concevant le système. 3. Les bits de sortie inutilisés ici peuvent être utilisés comme des bits de sortie standards. Avec cette instruction, 4 ou 8 digits sont affichés en 12 cycles. L’opération procède à partir de la première exécution sans tenir compte de l’état avant l’exécution. Cet exemple montre un programme pour afficher les nombres BCD à 8 digits du CQM1 par l’afficheur à LED 7 segments. S’assurer que l’affichage 7 segments est reliée au mot de sortie IR 100. S’assurer également que l’unité de sortie utilise la logique négative, et que la logique d’affichage 7 segments est également négative pour les signaux de données et de verrou. 25313 (toujours ON) 7SEG(88) DM0120 100 004 Les données BCD à 8 digits du DM 0120 (4 digits à l’extrême droite) et du DM 0121 (4 digits à l’extrême gauche) sont toujours affichées au moyen de 454 Chapitre 5-31 Instructions avancées d’E/S l’instruction 7SEG(88). Lorsque le contenu des DM 0120 et DM 0121 change, l’affichage change également. 5-31-2 ENTREE COMMUTATEUR NUMERIQUE – DSW(87) Symboles à contacts Zones de données d’opérandes IW : Mot d’entrée DSW(87) IR, SR, AR, DM, EM, HR, TIM/CNT, LR IW OW : Mot de sortie OW R IR, SR, AR, DM, EM, HR, TIM/CNT, LR R : Premier mot de résultat IR, SR, AR, DM, EM, HR, TIM/CNT, LR Limitations Les DM 6144 à DM 6655 ne peuvent pas être utilisés pour R. Description L’instruction DSW(87) est utilisée pour lire la valeur de réglage sur un commutateur numérique relié aux Unités d’entrée/sortie. Lorsque l’exécution est à OFF, l’instruction DSW(87) ne s’exécute pas. Lorsque l’exécution est à ON, l’instruction DSW(87) lit la valeur de réglage (soit 4 ou 8 digits) sur le commutateur numérique à partir de IW et place le résultat dans R. Si la valeur est un nombre à 8 digits, elle est placée dans R et R+1, avec les digits les plus significatifs placés en R+1. Le nombre de digits est placé dans le DM 6639 de la configuration de l’API. L’instruction DSW(87) lit les données à 4 ou 8 digits en 12 cycles et continue à lire les données. Se référer à la page 455 pour de plus amples informations sur l’instruction DSW(87) et ses applications. Drapeaux ER : IW et/ou OW ne sont pas attribués aux unités correctes d’entrée/sortie. Le canal EM/DM indirectement adressé n’existe pas. (Le contenu du canal *EM/*DM n’est pas en BCD, ou la limite de la zone EM/DM a été dépassée). R et R+1 ne sont pas dans la même zone de données (lorsque le CQM1H est réglé pour recevoir des données à 8 digits). SR 25410 : Matériel A ON pendant que l’instruction DSW(87) est exécutée. Connecter le commutateur numérique et les unités d’E/S comme montré dans le schéma ci–dessous. Dans le schéma, une entrée à 8 digits est montrée. Lorsqu’on utilise une entrée à 4 digits, relier D0 à D3 à partir d’un commutateur numérique jusqu’aux points d’entrée 0 à 3. Dans un autre cas, le point 5 de sortie 455 Chapitre 5-31 Instructions avancées d’E/S sera à ON lorsqu’un cycle de données est lu, mais il n’y a aucune nécessité de relier le point 5 de sortie à moins que ce soit requis par l’application. ID212 1 3 5 7 9 11 13 15 COM 0 Unité d’entrée D0 D1 D2 D3 D0 D1 D2 D3 CS0 CS1 CS2 CS3 RD 2 4 6 8 10 12 14 3 5 7 9 11 13 15 COM 456 D0 Digits à l’extrême droite de la ligne de données A7E D1 D2 D3 D0 D1 D2 D3 Digits à l’extrême A7E Digits à l’extrême CS0 gauche de la ligne Digits à l’extrême CS1 droite gauche de données A7E CS2 CS3 Jusqu’à la sélection d’une partie d’A7E RD Jusqu’au terminal A7E RD COM OD212 1 Interface Rem. Une interface pour convertir des signaux de 5 V à 24 V est requise pour connecter un commutateur numérique A7E. 0 2 4 6 8 10 12 14 COM Unité de sortie Chapitre 5-31 Instructions avancées d’E/S L’exemple suivant illustre des raccordements pour un commutateur de roue codeuse A7B. ID212 Unité d’entrée 0 1 2 3 4 5 6 7 8 9 Commutateur de roue codeuse A7B 10 11 12 8 4 2