▼
Scroll to page 2
of
154
Manuel de programmation du Modicon Micro A91M.12--702316.20--0298 Breite: 151,5mm Höhe: 227,5mm Préface Les informations et les illustrations figurant dans le présent manuel ne sont pas contractuelles. Nous nous réservons le droit de modifier nos produits en accord avec notre politique d’amélioration continuelle de ces produits. Les informations contenues dans le présent document sont sujettes à modifications sans préavis et ne représentent aucun engagement de la part de Modicon, Industrial Automation Systems. Modicon, Inc. décline toute responsabilité quant aux éventuelles erreurs figurant dans ce document. Toute reproduction, sous quelque forme et par quelque procédé que ce soit (électronique ou mécanique) faite sans l’autorisation écrite expresse de Modicon, Inc., Industrial Automation Systems, est interdite. Tous droits réservés. Modbus est une marque de Modicon, Inc. MODSOFT® Lite est une marque déposée de Modicon, Inc. IBM® est une marque déposée de International Business Machines Corporation. Copyright© 1993 par Modicon, Inc. Tous droits réservés. ii Préface Table des matières Chapitre 1 Système d’exploitation Ladder Logic pour les Micro API Modicon . . . . . . . . . . . . . . . 1 Automates programmables logiques (API) Modicon . . . . . . . . . . . . . . . . 2 Fonctionnement théorique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Entrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Unité centrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Mémoire Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Performance du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Temps du cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Temps de résolution logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Affectation de mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Mémoire données utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Adresses affectées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Mémoire de configuration du système . . . . . . . . . . . . . . . . . . . . . . . . . 5 Mémoire programme utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Sauvegarde mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Techniques de sauvegarde en option . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Sauvegarde au moyen de la mémoire Flash . . . . . . . . . . . . . . . . . . . . 7 Procédures de mise sous tension de l’API . . . . . . . . . . . . . . . . . . . . . . 7 Stockage d’un API contenant de la logique utilisateur dans la mémoire Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Modes de fonctionnement de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Réseau d’extension d’E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Extension d’E/S A120 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Jeu d’instructions Ladder Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Table des matières Breite: 151,5mm Höhe: 227,5mm iii Chapitre 2 Procédures de démarrage . . . . . . . . . . . . . . . . 13 Mise en route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mise sous tension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Démarrage d’un API configuré auparavant . . . . . . . . . . . . . . . . . . Démarrage d’un API non configuré . . . . . . . . . . . . . . . . . . . . . . . . Configuration d’un Micro API Modicon . . . . . . . . . . . . . . . . . . . . . Paramètres d’autoconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Autoconfiguration d’un API en mode seul . . . . . . . . . . . . . . . . . . . . . . Autoconfiguration d’un API en mode parent . . . . . . . . . . . . . . . . . . . . Autoconfiguration d’un API en mode enfant . . . . . . . . . . . . . . . . . . . . Exemples de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mode de fonctionnement API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enfant Micro nº . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adressage 0x, 1x, 3x et 4x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nombre de segments Ladder Logic . . . . . . . . . . . . . . . . . . . . . . . . Nombre d’API enfants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Emplacements E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bit pile mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Registre base de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Horloge calendaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ports de communication autoconfigurés . . . . . . . . . . . . . . . . . . . . . . . . . Port RS-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Port(s) RS-232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modification des paramètres de configuration . . . . . . . . . . . . . . . . . . . . . Adressage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nombre de segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paramètres de communication RS-232 . . . . . . . . . . . . . . . . . . . . . . . Mode Modbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mode ASCII simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Capacités de communication par modem . . . . . . . . . . . . . . . . . . . Paramètres de communication du port RS-485 . . . . . . . . . . . . . . . . . Adressage d’emplacements d’E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Emplacements E/S internes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adressage d’E/S A120 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple: un Micro API avec une embase d’E/S A120 . . . . . . . . . . Adressage d’E/S sur un réseau d’extension . . . . . . . . . . . . . . . . . . . . . . API parent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . API enfant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple: réseau d’extension avec toutes les E/S internes gérées par l’API enfant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv Table des matières 14 14 14 15 15 16 16 16 17 18 20 20 20 20 20 20 21 21 21 22 22 22 23 23 23 24 24 24 25 25 26 26 28 28 30 30 31 31 Partage des E/S internes entre les API parent et enfants . . . . . . . . . . . Exemple: partage des E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transfert de données généralisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commandes API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 34 36 38 Chapitre 3 Principaux éléments de Programmation en Ladder Logic . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Segments et réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Segments Ladder Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Réseaux Ladder Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mise en place de la logique relais et d’instructions sur un réseau . Résolution du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Éléments de logique relais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contacts relais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sortie normale et mémorisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Affichage des sorties dans un réseau . . . . . . . . . . . . . . . . . . . . . . Branches verticales et horizontales . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple d’application: circuit de démarrage/arrêt du moteur . . . . . . . . 40 40 40 40 41 42 42 43 43 43 45 Chapitre 4 Compteurs et temporisateurs . . . . . . . . . . . . . 47 Instructions relatives aux compteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple de compteur simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions relatives aux temporisateurs . . . . . . . . . . . . . . . . . . . . . . . . . Exemple de tempo d’une seconde . . . . . . . . . . . . . . . . . . . . . . . . . Exemple d’application: horloge en temps réel avec une temporisation en millisecondes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 48 49 49 50 Chapitre 5 Instructions mathématiques élémentaires . 51 Instructions relatives aux opérations sur des entiers . . . . . . . . . . . . . . . 52 Exemple de division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Exemple d’application: conversion de degrés Fahrenheit en degrés centigrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Chapitre 6 Instructions relatives à la gestion des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Transfert de données de registres et de tables . . . . . . . . . . . . . . . . . . . . Construction d’une pile de type premier entré premier sorti . . . . . . . . . Recherche dans une table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple d’opération SRCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transfert d’un bloc de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple d’application: programme de chargement de recette au moyen de transfert de blocs . . . . . . . . . . . . . . . . . . . . . Table des matières Breite: 151,5mm Höhe: 227,5mm 56 58 60 60 61 61 v Chapitre 7 Instructions relatives au traitement des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Instructions logiques booléennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OU exclusif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Archivage des valeurs de la matrice cible originale . . . . . . . . . . . Exemple d’application: moyenne sur une table de valeur . . . . . . . . . . . Complémentation binaire dans une matrice de données . . . . . . . . . . . . Exemple de complémentation binaire . . . . . . . . . . . . . . . . . . . . . . Comparaison binaire dans une matrice de données . . . . . . . . . . . . . . . Exemple de comparaison binaire . . . . . . . . . . . . . . . . . . . . . . . . . . Détection et traitement binaires dans une matrice . . . . . . . . . . . . . . . . . 64 65 66 66 67 68 68 69 69 71 Chapitre 8 Communications ASCII simples . . . . . . . . . . . 73 Communication ASCII via un programme . . . . . . . . . . . . . . . . . . . . . . . . Formats de message standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instruction COMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formats de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Format caractères ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Format entiers (1 à 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Format hex. (1 à 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Format purge du buffer de réception . . . . . . . . . . . . . . . . . . . . . . . . . . Format purge de n octets du buffer de réception . . . . . . . . . . . . . . . Tableau des caractères ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple d’application: utilisation d’une HHP en tant que terminal d’affichage ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 74 75 77 77 77 78 78 78 79 81 Chapitre 9 Instruction d’exécution de commandes en séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Instruction SCIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Exemple d’application: chronologie avec les blocs SCIF . . . . . . . . . . . . 88 Mnémoniques et commentaires pour l’exemple d’application . . 90 Chapitre 10 Instructions relatives aux sous-programmes . . . . . . . . . . . . . . . . . . . . . . . . 93 Instructions relatives aux sous-programmes . . . . . . . . . . . . . . . . . . . . . . Entrées d’interruptions et de compteurs / temporisateurs . . . . . . . . . . . Opération d’interruptions matérielles . . . . . . . . . . . . . . . . . . . . . . . . . . Entrée du compteur rapide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instruction CTIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi Table des matières 94 96 96 97 98 Exemple d’application CTIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Segment 1, Réseau 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Segment 1, réseau 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Segment 2, sous-programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 100 103 104 Chapitre 11 Instructions standard supplémentaires . . . 105 Saut de réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple SKP simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vérification des mots d’état de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table des états du Micro API Modicon . . . . . . . . . . . . . . . . . . . . Table des états du Micro API Modicon (suite) . . . . . . . . . . . . . . Table des états du Micro API Modicon (Suite) . . . . . . . . . . . . . . Table des états Micro API Modicon (suite) . . . . . . . . . . . . . . . . . Tables des états Micro API Modicon (suite) . . . . . . . . . . . . . . . . Tables des états Micro API Modicon (suite et fin) . . . . . . . . . . . Instructions relatives au cycle d’exécution . . . . . . . . . . . . . . . . . . . . . . . 106 106 107 108 109 110 111 112 113 114 Chapitre 12 Jeu d’instructions évoluées pour les Micro API Modicon . . . . . . . . . . . . . . . . . . . . . . 115 Instructions relatives aux transferts entre bloc et table . . . . . . . . . . . . Instruction checksum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instruction proportionnelle - intégrale - dérivée . . . . . . . . . . . . . . . . . . . Instruction proportionnelle - intégrale - dérivée (suite) . . . . . . . . . . Instruction proportionnelle - intégrale - dérivée (suite) . . . . . . . . . . Instruction proportionnelle - intégrale - dérivée (suite) . . . . . . . . . . Instruction proportionnelle - intégrale - dérivée (suite et fin) . . . . . Instructions mathématiques évoluées . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . . Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . . Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . . Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . . Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . . Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . . Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . . Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . . Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . . Instructions mathématiques évoluées (suite) . . . . . . . . . . . . . . . . . . Instructions mathématiques évoluée (suite et fin) . . . . . . . . . . . . . . Table des matières Breite: 151,5mm Höhe: 227,5mm 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 vii Annexe A Mise à jour du système d’exploitation mémoire Flash . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Utilitaires de mise à jour de l’exécutif . . . . . . . . . . . . . . . . . . . . . . . . . . . Mise à jour du système au moyen d’un utilitaire de chargement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Détermination de la dernière version . . . . . . . . . . . . . . . . . . . . . . . . . Accès à Modfax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accès au serveur service clientèle . . . . . . . . . . . . . . . . . . . . . . . . . . Procédure du superviseur de mise à jour . . . . . . . . . . . . . . . . . . Annexe B 136 136 137 137 137 Réparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Diagnostic des conditions de démarrage . . . . . . . . . . . . . . . . . . . . . . . . Symptôme: Absence de la LED power ok (alimentation OK) . . . . Symptôme: absence de LED ready (prêt) . . . . . . . . . . . . . . . . . . . . Symptôme: LED Run (exécution) éteinte ou clignotante . . . . . . . . Symptôme: LED exp link éteinte ou clignotante . . . . . . . . . . . . . . . Symptôme: Absence de commication sur l’API . . . . . . . . . . . . . . . . Codes d’arrêt de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Codes d’arrêt de l’API affichés sur les LED . . . . . . . . . . . . . . . . . . . . . . viii 136 Table des matières 140 140 140 141 141 141 144 145 Chapitre 1 Système d’exploitation Ladder Logic pour les Micro API Modicon j Automates programmables logiques (API) Modicon j Affectation de mémoire j Sauvegarde mémoire j Modes de fonctionnement de l’API j Jeu d’instructions Ladder Logic Système d’exploitation Ladder Logic Breite: 151,5mm Höhe: 227,5mm 1 Automates programmables logiques (API) Modicon Un automate programmable logique (API) est un élément à circuits intégrés avec des fonctions de traitement logique, conçues pour les commandes en temps réel d’applications dans le domaine du process et du manufacturier. Un API comprend des unités d’entrée et de sortie (E/S) et une unité centrale (UC). recevant des signaux en provenance de ses entrées, résoud un programme logique utilisateur stocké dans son UC, puis commande des actionneurs en envoyant des signaux de commande vers ses sorties. Les Micro API Modicon sont des fonctions d’entrée et de sortie intégrées dans le même boîtier physique que l’UC. L’ensemble constitue une solution réduite, légère, autonome et peu onéreuse pour une large gamme d’applications de contrôle/commande. Les entrées sont situées sur le bornier au-dessus de l’API. Les entrées sont reliées aux capteurs de votre application, tels que des boutons-poussoirs, des commutateurs retour d’état de contacteurs, roues codeuses et fin de course. Si une entrée détecte qu’un capteur est fermé, elle convertit la tension en un signal de niveau logique compris par l’UC décrivant l’état du capteur. Un état logique 1 indique un état ON ou FERME, et un état logique 0 indique un état OFF ou OUVERT. Entrées Fonctionnement théorique L’organigramme ci-dessous présente les principaux constituants d’un Micro API. L’API surveille l’état des capteurs en Capteurs Entrées UC Processeur Source de courant CA ou CC Mémoire Mémoire Flash Alimentation électrique Sorties Actionneurs 2 Système d’exploitation Ladder Logic Unité centrale Le processeur numérique, la mémoire et l’alimentation électrique se trouvent dans l’UC. Ces composants fonctionnent de concert pour résoudre le programme logique de l’application et transmettre des signaux de commande aux sorties. L’UC lit les données d’entrée, exécute le programme logique de l’utilisateur enregistré dans sa mémoire, puis envoie les signaux de sortie appropriés. Le processus de lecture des signaux d’entrée, de résolution de la logique basée sur les états des entrées, et de mise à jour des sorties s’appelle analyse ou cycle. Mémoire Flash L’UC contient également un composant ”mémoire Flash” dans laquelle réside le système d’exploitation de l’API. Le contenu de la mémoire Flash est rémanent; il ne nécessite pas de sauvegarde par pile. Le système d’exploitation résidant dans la mémoire Flash est un ensemble de programmes de surveillance conférant à l’API son identité grâce aux fonctions suivantes: V il définit le langage dans lequel l’application est écrite - c’est-à-dire Ladder Logic; V il affecte les ressources de mémoire de l’UC à des fins spécifiques; V il détermine la structure selon laquelle l’API enregistre et traite les données. Le système d’exploitation Ladder Logic définit les caractéristiques fonctionnelles des Micro API Modicon. Le présent manuel met principalement l’accent sur ces caractéristiques. commande est commutée pour activer l’actionneur adressé. Performance du système Temps du cycle Le temps nécessaire à l’UC pour résoudre le programme Ladder Logic et mettre à jour toutes les E/S qu’il gère s’appelle temps de cycle. Le temps de cycle comprend le temps de résolution logique, le temps de service E/S et le temps nécessaire à la réalisation des tâches du système. Le temps maximal alloué à l’API pour exécuter un programme logique utilisateur est de 250 ms. Si le cycle n’est pas terminé dans ce temps, une horloge de surveillance située dans l’UC interrompt l’application et envoie un message d’erreur indiquant un dépassement du temps imparti à la console de programmation (”watchdog” ou chien de garde). Cette limite du temps maximal du cycle empêche l’API d’effectuer des boucles sans fin dans le programme logique. Temps de résolution logique Le temps nécessaire à l’UC pour résoudre la logique de commande du programme, indépendante de tout temps de service E/S ou d’administration, s’appelle temps de résolution logique. V Temps de résolution logique pour les Micro API 110CPU311 et 110CPU411 est de 4,25 ms par k/mot programme. V Temps de résolution logique pour les Micro API 110CPU512 et 110CPU612 est de 2,5 ms par k/mot programme. Sorties Les sorties sont sur le bornier situé en dessous de l’API. Les sorties commutent la tension de commande qui excite ou désexcite les actionneurs de votre application. Si une sortie est mise sous tension par l’UC, la tension de Système d’exploitation Ladder Logic Breite: 151,5mm Höhe: 227,5mm 3 Affectation de mémoire Le système d’exploitation Ladder Logic détermine la façon dont les ressources de mémoire sont allouées dans un Micro API Modicon. Il divise la mémoire système disponible en trois catégories: V mémoire de données utilisateur: pour des données variables modifiées lors de l’exécution du programme; V mémoiredeconfigurationdusystème: pour l’enregistrement de tables de données système telles que la topologie d’E/S et les paramètres de configuration de l’API; V mémoire du programme utilisateur: lieu où le programme Ladder Logic est créé et édité. Mémoire données utilisateur L’API met en relation chaque signal d’entrée et de sortie du processus avec une adresse affectée enregistrée dans une table de mémoire de données utilisateur (parfois appelée table RAM d’état) et pouvant être utilisée dans un programme Ladder Logic. V Les API 110CPU311 et 110CPU411 possèdent 512 mots de mémoire données utilisateur. V Les API 110CPU512 et 110CPU612 possèdent 2048 mots de mémoire données utilisateur. Adresses affectées Pour la programmation en Ladder Logic, les Micro API Modicon utilisent un système d’adressage pour traiter les informations d’entrée/sortie et la logique interne. Chaque adresse possède un chiffre d’en-tête identifiant le type de donnée E/S; ce chiffre est suivi d’une chaîne de quatre chiffres définissant l’emplacement unique de ce point d’E/S dans la mémoire données utilisateur. Il existe quatre types d’adresse: 4 Système d’exploitation Ladder Logic Système d’adressage E/S Adresse Description 0xxxx Sortie ”tout ou rien” (ou mémoire). Une adresse 0x peut gérer la valeur de sortie réelle à travers une unité de sortie dans le système de commande ou peut définir une ou plusieurs mémoires dans une RAM d’état. Une adresse 0x spécifique ne peut être utilisée qu’une seule fois en tant que mémoire dans un programme logique, mais on peut utiliser cet état de mémoire de nombreuses fois pour gérer les contacts du programme. 1xxxx Entrée ”tout ou rien”. L’état ON/OFF d’une adresse 1x est contrôlé par les entrées envoyées à l’UC à partir d’une unité d’entrée. Elle permet de gérer les contacts d’un programme logique. 3xxxx Registre d’entrée. Un registre 3x contient des informations représentées par un nombre sur 16 bits en provenance d’une source externe - par exemple une roue codeuse, un signal analogique, des données d’un compteur à haute vitesse. Un registre 3x peut également contenir 16 signaux d’entrées ”tout ou rien”, que l’on peut mettre au format binaire ou décimal codé binaire (BCD) Registre de sortie. Un registre 4x permet d’enregistrer les données numériques (binaires ou décimales) dans la mémoire d’état ou d’envoyer les données d’une sortie. 4xxxx Note: La lettre x suivant le caractère d’en-tête dans chaque type d’adresse représente un emplacement d’adresse à quatre chiffres dans la mémoire données utilisateur. L’adresse 40201, par exemple, indique que l’adresse est un registre de sortie sur 16 bits situé à l’adresse 201 de la RAM d’état. Chaque mot de la mémoire donnée utilisateur a une longueur sur 16 bits. L’état (ON/OFF) de chaque point d’E/S ”tout ou rien” est représenté par la valeur 1 ou 0 affectée à un bit individuel dans un mot (16 adresses 0x ou 1x par mot). Pour la topologie des E/S, le point d’entrée physique nº 1 est mis en relation avec l’entrée interne de numérotation la plus basse dans le premier groupe de 16, l’entrée physique nº 2 avec l’entrée interne supérieure suivante, etc., comme indiqué ci-dessous: Points d’entrée physique 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 Adresses de mémoire données utilisateur 10001 ........................ 10016 Les sorties ”tout ou rien” sont mises en relation de la même manière en fonction de leur groupe: Sorties physiques pour un groupe de 12 points 01 02 03 04 05 06 07 08 09 10 11 12 Adresses mémoire données utilisateur 00001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 00012 Sorties physiques pour un groupe de 8 points 01 02 03 04 05 06 07 08 Adresses mémoire données utilisateur 00001 . . . . . . . . . . . . . . . . 00008 Sorties physiques pour un groupe de 4 points 01 02 03 04 05 06 07 08 09 10 11 12 Adresses mémoire données utilisateur 00001 . . . . 00004 Dans le cas d’E/S analogiques, chaque voie d’entrée et de sortie correspond à un mot complet dans la mémoire de données utilisateur (registres 3x pour les entrées et registres 4x pour les sorties). Mémoire de configuration du système La configuration de l’API est un élément clé du développement, contenue dans la mémoire système. Les informations existant dans la configuration déterminent les éléments suivants: V le mode de fonctionnement de l’API (par exemple, simple, parent ou enfant); V les paramètres permettant aux ports de communications de l’API de fonctionner; V la gamme d’adresses 0x, 1x, 3x et 4x disponibles pour la programmation; V le nombre d’emplacements d’E/S pris en charge par l’API. Le logiciel de la console de programmation vous permet d’accéder à la configuration et de spécifier un grand nombre de paramètres. La mémoire de configuration du système est prédéfinie par la configuration API suivante: Paramètres de configuration par défaut de l’API Paramètre Nombre de registres 0x Nombre de registres 1x Modèle 110CPU 311/411 512/612 1024 1536 256 512 Nombre de registres 3x 32 48 Nombre de registres 4x 400 1872 Nombre d’emplace5 ments d’E/S 2 (un pour Ladder Nombre de Logic standard et un segments Ladder Logic pour les interruptions et les sous-programmes) 5 2 (un pour Ladder Logic standard et un pour les interruptions et les sous-programmes) Ces paramètres par défaut utilisent toute la mémoire disponible pour la configuration de l’API. Vous pouvez modifier des éléments de configuration du système pour satisfaire aux conditions requises par une application spécifique. Si vous utilisez un API 110CPU31101 par exemple, alors que votre application nécessite 35 registres d’entrée au lieu des 32 par défaut, vous pouvez ré-affecter les trois mots supplémentaires à partir d’un endroit quelconque du tableau de configuration. Si l’application ne nécessite pas toutes les 1024 sorties ”tout ou rien”, vous pouvez en spécifier 976 dans le tableau de configuration de l’API, puis ré-affecter les 48 bits supplémentaires comme étant les trois mots de registre d’entrée (16 bits) supplémentaires. Note La quantité de mémoire totale configurée pour l’API ne peut dépasser la totalité des paramètres figurant dans le tableau des paramètres de configuration par défaut de l’API. Système d’exploitation Ladder Logic Breite: 151,5mm Höhe: 227,5mm 5 Mémoire programme utilisateur En fonction du modèle d’API que vous utilisez, la quantité de mémoire disponible pour la programmation en Ladder Logic est la suivante: V 1024 mots (pour les API 110CPU311 et 110CPU411), V 2048 mots (pour les API 110CPU512 et 110CPU612). Il s’agit de la mémoire totale disponible pour le programme logique. Cependant, certaines fonctions API en option - les instructions chargeables supplémentaires par exemple - utilisent une partie de cettemémoire. La mémoire programme utilisateur est divisée en deux segments. Le premier est destiné à tout le programme logique. Le second est réservé au programme logique des sous- programmes, que l’on peut appeler au moyen d’une instruction appelée JSR en Ladder Logic ou d’une entrée d’interruption à grande vitesse (existe sur les API 110CPU411, 110CPU512 et 110CPU612). Note Pour plus amples informations sur les sous-programmes, reportez-vous au Chapitre 10 6 Système d’exploitation Ladder Logic Vous trouverez ci-après les instructions chargeables que l’on peut utiliser avec les Micro API Modicon et la quantité de mémoire programme utilisateur utilisée par chacune d’elle: Taille (mots) Code de fonction par défaut EARS 760 5F EUCA 160 1F Algorithme de conversion en unité physique Défini par l’utilisateur 5F Permet de personnaliser votre propre DX chargeable Nom de l’instruction FNxx Fonction Pour développer une gestion d’alarme avec enregistrement Pour de plus amples informations sur ces instructions chargeables, reportez-vous aux publications techniques de Modicon suivantes: V Event Alarm Reporting System User Guide (GM-EARS-001), V EUCA Loadable Function Block User Guide (GM-EUCA-001), V Custom Loadable Support Software Programming Manual (GM-CLSS-001). Sauvegarde mémoire Il existe trois façons de sauvegarder la mémoire données utilisateur, la mémoire programme utilisateur et la mémoire de configuration du système: V au moyen d’une pile au lithium (110XCP98000) en option, V au moyen d’un condensateur (110XCP98000) en option, V dans une zone réservée de la mémoire Flash de l’API (110XCP98000). Techniques de sauvegarde en option Si on utilise un ensemble pile au lithium ou condensateur, il sauvegarde automatiquement les paramètres de la mémoire actuelle en cas de panne d’alimentation du secteur. Lorsque l’alimentation est rétablie, l’API redevient opérationnel avec les paramètres de configuration et de programme présents au moment de la coupure du secteur. La pile au lithium sauvegarde en toute sécurité les données mémoire pendant un an. Le condensateur peut sauvegarder un programme logique pendant 72 heures (pour plus amples informations, reportez-vous au manuel d’installation livré avec votre API). Sauvegarde au moyen de la mémoire Flash Une partie de la mémoire Flash de tous les Micro API Modicon est réservée à l’enregistrement de configuration du système et du programme logique utilisateur. Cette fonctionnalité vous permet de sauvegarder votre configuration et programme logique même si vous n’utilisez pas de pile ou de condensateur. Pour enregistrer la mémoire en Flash, vous devez lancer une commande vers PROM/Flash depuis votre logiciel. Les paramètres en mémoire au moment de l’enregistrement sont les seuls paramètres enregistrés en Flash. Une opération vers PROM/Flash n’est autorisée que dans un API ayant déjà été configuré et se trouvant à l’arrêt c’est-à-dire programme utilisateur non actif. Si la mémoire est restaurée dans l’API à partir de la sauvegarde en Flash après une coupure d’alimentation, les paramètres datant de la dernière opération d’enregistrement sont restaurés. Procédures de mise sous tension de l’API Lorsqu’il est mis sous tension, l’API vérifie d’abord s’il existe une configuration valide dans la mémoire de configuration du système. Si une configuration valide a été enregistrée avec sauvegarde par la pile en option, alors ces paramètres sont présents dans la mémoire données utilisateur. l’API s’auto-configure avec ces paramètres et est prêt à fonctionner. Si l’API ne détecte pas de configuration valide dans la mémoire données utilisateur, il vérifie la sauvegarde dans la mémoire Flash. Si une configuration valide a été enregistrée en Flash, l’API s’auto- configure avec ces paramètres et est prêt à fonctionner. Si l’API ne peut trouver de configuration valide en mémoire ni en mémoire Flash, il sera mis sous tension dans une condition de non configuration. Vous devez brancher une console de programmation à l’API et le configurer avant qu’il ne soit programmé ou avant qu’il ne puisse effectuer un programme logique logique. Système d’exploitation Ladder Logic Breite: 151,5mm Höhe: 227,5mm 7 Stockage d’un API contenant de la logique utilisateur dans la mémoire Flash Note Si vous avez enregistré un programme logique dans la mémoire Flash d’un API que vous mettez hors service, souvenez-vous que tous les paramètres enregistrés en Flash sont rémanents. L’API démarrera en utilisant immédiatement le programme enregistré lors de la remise sous tension future. Des problèmes pourraient éventuellement se présenter si l’API était stocké pendant longtemps, puis installé pour une nouvelle application. 8 Système d’exploitation Ladder Logic Si vous ne savez pas exactement comment l’API sera utilisé dans le futur, nous vous conseillons d’effacer le programme logique de la mémoire Flash avant de le mettre hors service. Procédez comme suit: Étape 1 Supprimez tous les réseaux du programme logique. Étape 2 Ramenez tous les paramètres de configuration de l’API à leur définition par défaut. Étape 3 Assurez-vous que l’API est à l’arrêt. Étape 4 Enfin, utilisez votre logiciel pour exécuter la commande vers PROM/Flash. Modes de fonctionnement de l’API On peut configurer un Micro API Modicon pour qu’il fonctionne en trois modes distincts: V Mode seul - fonctionnement en tant que système de commande programmable autonome, gérant ses propres ressources d’E/S (et dans le cas des API 110CPU512 et 110CPU612, capable de gérer des ressources d’E/S A120 supplémentaires). V Mode parent - fonctionnement comme un API sur une liaison d’extension d’E/S et dont l’UC peut gérer les ressources d’E/S internes de tous les API sur la liaison. V Mode enfant - fonctionnement en tant qu’API sur une liaison d’extension d’E/S, permettant à l’API sur la liaison d’accéder à toutes ou partie de ses ressources d’E/S internes. Note Il vous incombe en tant qu’utilisateur de vérifier que chaque API enfant reçoit un numéro d’identification enfant unique. On affecte l’identification enfant en connectant la console de programmation à l’enfant et en tapant le numéro comme faisant partie de la configuration enfant. On réalise le réseau d’E/S via des connexions point à point en série entre les API parent et enfants, comme indiqué ci-dessous. Terminaison 120 Ω API parent Port RS-485 Connecteur direct RJ11 Enfant nº 1 Réseau d’extension d’E/S Un réseau d’extension d’E/S comprend un API parent et de 1 à 4 API enfants connectés au moyen de câbles téléphoniques à six points standard. Chaque câble possède un connecteur RJ11 aux deux extrémités. Les connexions d’API à API se font sur le port RS-485 (exp link) de chaque unité. On ne peut configurer en tant que parent qu’un seul API sur le réseau. Tous les autres API sur le réseau doivent être configurés en tant qu’API enfants. On ne peut pas utiliser un API en mode de fonctionnement seul sur un réseau d’extension d’E/S. Chaque API enfant ne possède qu’une seule adresse avec un numéro d’identification enfant compris entre 1 et 4. On ne peut accéder et contrôler les ressources d’E/S internes des API enfants que par une exécution logique dans l’API parent. Connecteur en Y 043502929 Enfant nº 2 Connecteur en Y 043502929 Enfant nº 3 Connecteur en Y 043502929 Terminaison 120 Ω Enfant nº 4 Connecteur direct RJ11 Réseau d’extension d’E/S Système d’exploitation Ladder Logic Breite: 151,5mm Höhe: 227,5mm 9 Extension d’E/S A120 Seul l’API connecté aux E/S A120 peut y accéder. Cela signifie que le programme en Ladder Logic gérant l’E/S A120 et toutes les topologies d’E/S A120 associées doit être enregistré dans l’API auquel l’extension d’E/S A120 est connectée. Les API 110CPU512 et 110CPU612 sont équipés d’un port d’extension à 30 broches permettant aux API de communiquer avec des embases d’E/S A120. Ce port est dédié aux communications E/S A120. Note Les API 110CPU311 et 110CPU411 ne prennent pas en charge l’extension E/S A120. Avec l’extension E/S A120, les embases 2 à 4 sont interconnectés le long d’un bus parallèle physiquement monté sur un rail DIN. l’API lui-même est configuré comme étant l’embase 1 et l’embase E/S A120 est configuré comme étant les embases 2 à 4. Note Si un API enfant sur une liaison d’extension d’E/S en série utilise une extension E/S A120, l’API parent sur la liaison ne peut accéder à l’E/S A120 associée à cet API enfant. Ce-dernier doit être indépendamment programmé avec son propre programme, configuration API et topologie d’E/S pour gérer ces E/S A120. L’API peut utiliser une extension E/S A120 en 3 modes de fonctionnement distincts. Mode simple API 512/612 Extension E/S A120 (parallèle) API mode simple Châssis 1 API 512/612 parent Embase 2 ou Embase 3 Embase 4 Extension E/S A120 (parallèle) API mode parent Châssis 1 API mode enfant Embase 2 Embase 3 Embase 4 Embase 3 Embase 4 Liaison d’extension d’E/S (en série) API 512/612 enfant API mode enfant Châssis 1 10 Embase 2 Système d’exploitation Ladder Logic Jeu d’instructions Ladder Logic Le système d’exploitation Ladder Logic résidant dans la RAM Flash d’un Micro API Modicon contient le jeu d’instructions énumérées ci-dessous. Sachez que certains modèles de Micro possèdent un jeu d’instructions évolué avec des fonctionnalités n’existant pas sur les modèles d’entrée de gamme. Instructions Ladder Logic standard (existent sur tous les Micro API) Instruction Description Logique relais Contact normalement ouvert (N.O.) Contact normalement fermé (N.F.) Contact transitionnel positif Contact transitionnel négatif ( ) ( M) Sortie normale Sortie mémorisée Compteurs UCTR Compteur de 0 à une valeur prédéfinie DCTR Décomptage d’une valeur prédéfinie à 0 Base de temps T1.0 Temporisation en secondes T0.1 Temporisation en dixièmes de secondes T.01 Temporisation en centièmes de secondes T1MS Temporisation en ms Opérations sur des entiers ADD Addition SUB Soustraction ou opération supérieur à/inférieur à MUL Multiplication DIV Division Transfert de données →T →R T→T R Transfert de registre à table T Transfert de table à registre Transfert de table à table BLKM Transfert d’un bloc FIN Opération premier entré dans la file d’attente FOUT Opération premier sorti de la file d’attente SRCH Recherche dans une table d’un profil binaire dans un des registres Système d’exploitation Ladder Logic Breite: 151,5mm Höhe: 227,5mm 11 Instructions Ladder Logic standard (suite) Instruction Description Matrice données AND ET logique de deux matrices OR OU logique de deux matrices XOR OU exclusif logique de deux matrices COMP Complément logique des profils binaires dans deux matrices CMPR Comparaison logique des profils binaires dans deux matrices MBIT Modification d’un bit - c’est-à- dire modification de la valeur actuelle (1,0) du bit SENS Détection d’un bit - c’est-à-dire mention de la valeur actuelle (1,0) du bit BROT Rotation d’un bit - c’est-à-dire changement de position du bit à gauche ou à droite dans une matrice ASCII Opération de communication lecture ou écriture en ASCII COMM Ordre Séquenceur matriciel et opérations de comparaison d’entrées SCIF Sous-programmes JSR Omet le cycle logique à partir d’une logique de commande vers un sous-programme Ladder Logic programmé dans le dernier segment. LAB Libelle l’emplacement de l’entrée du sous-programme appelé dans le dernier segment RET Ramène le cycle logique à son emplacement précédent dans le programme logique avant JSR CTIF Définit les entrées à grande vitesse pour les opérations d’interruptions et celles du compteur/tempo Divers STAT Vérifie et affiche l’état de l’API et celui de ses E/S SKP Indique au cycle logique d’omettre les réseaux spécifiés dans le programme Instructions Ladder Logic évoluées (existent sur les modèles 110CPU512 et 110CPU612 uniquement) Instruction 12 Description BLKT Transfert de bloc à table TBLK Transfert de table à bloc CKSM Effectue les opérations CRC-16, LRC, directes ou vérifications de sommes de commande PID2 Effectue les fonctions de commandes proportionnelles-intégrales-dérivées PID EMTH Effectue les fonctions mathématiques évoluées telles que racines carrées, racines carrées process, log , antilog et virgule flottante. Système d’exploitation Ladder Logic Chapitre 2 Procédures de démarrage j Mise en route j Paramètres d’autoconfiguration j Ports de communication autoconfigurés j Modification des paramètres de configuration j Adressage d’emplacements d’E/S j Adressage d’E/S A120 j Adressage d’E/S sur une liaison d’extension j Partage des E/S internes entre les API parent et enfants j Transfert de données généralisées j Commandes API Procédures de démarrage Breite: 151,5mm Höhe: 227,5mm 13 Mise en route Organigramme 1 Étape 1 Mise sous tension Tests de démarrage effectués automatiquement Échoué Système non configurable (voir Annexe B) Réussi L’API recherche la configuration dans la mémoire de configuration du système Configuration valide inexistante L’API recherche une configuration dans la RAM Flash Trouve une configuration valide L’API est configuré et PRET Configuration valide inexistante L’API démarre en tant que machine non configurée API sous tension et non configuré Étape 2 Connexion de la console de programmation et configuration de l’API Suite sur l’organigramme 2 Mise sous tension Aussitôt qu’un Micro API de Modicon est mis sous tension, il tente de démarrer. Le système d’exploitation quant à lui tente de récupérer les données de configuration enregistrées auparavant, à partir de la sauvegarde de la mémoire. Démarrage d’un API configuré auparavant Si l’API a déjà fonctionné et qu’une configuration (et peut-être un programme logique) a déjà été enregistré en mémoire, il commencera immédiatement à fonctionner avec les paramètres enregistrés. 14 Procédures de démarrage Si l’API possède une sauvegarde par pile en option, il trouvera les paramètres de configuration précédents dans sa mémoire de configuration et les paramètres logiques utilisateur précédents dans sa mémoire programme utilisateur. On peut en outre enregistrer la configuration et la logique utilisateur dans la RAM Flash de l’API, si on n’utilise pas de sauvegarde par pile. Comme l’indique l’organigramme ci-dessus, le système d’exploitation effectue une première recherche dans la mémoire de configuration du système de l’API. S’il trouve une configuration valide enregistrée, il utilise ces paramètres pour fonctionner. S’il n’en trouve pas, il en cherche une dans la RAM Flash. S’il en trouve une, il utilise ces paramètres pour fonctionner. Configuration d’un Micro API Modicon Étape 1 Connecter une console de programmation, tel que MODSOFT Lite ou HHP, à un port comm RS-232 de l’API. Étape 2 Accéder à l’éditeur de configuration au moyen de menus (le chemin vers l’éditeur de configuration varie en fonction de la console utilisé, mais il s’agit d’un écran de haut niveau auquel on peut accéder avec un nombre minimal de frappes). Étape 3 S’assurer que la console reconnait quel type de modèle d’API (parexempleun110CPU31101, un 110CPU51200) il va configurer. HHP affiche automatiquement ces informations lors du démarrage; MODSOFT Lite vous invite à sélectionner le type de modèle à partir d’une liste. Étape 4 Sélectionner le mode de fonctionnement souhaité de l’API à configurer (seul, parent ou enfant). Étape 5 Transférer les paramètres de configuration de la console à l’API. Si l’API était auparavant en mode MARCHE (RUN), l’API commence immédiatement l’analyse de sa logique. Il est inutile d’y connecter une console de programmation. Si l’API était auparavant en mode ARRÊT, vous devez connecter une console de programmation à l’un des ports Comm de l’API pour le mettre en route. Démarrage d’un API non configuré Si le système d’exploitation ne peut trouver de configuration valide dans la mémoire Flash ou dans la mémoire de configuration du système de l’API, il démarre en tant que machine non configurée. Un API est mis sous tension non configuré lors de son tout premier démarrage ou lorsque ses paramètres de configuration ont été effacés ou détériorés. Vous devez configurer l’API avant de pouvoir écrire un programme logique ou valider la scrutation des E/S. Résultat La console configure automatiquement l’API avec un jeu complet de paramètres valides en fonction du modèle et du mode de fonctionnement spécifiés. A ce stade, l’API est configuré. Procédures de démarrage Breite: 151,5mm Höhe: 227,5mm 15 Paramètres d’autoconfiguration En fonction du modèle et du mode de fonctionnement spécifiés, la console configure automatiquement l’API avec un jeu complet de paramètres valides. Les trois tableaux suivants présentent ces paramètres d’autoconfiguration. Autoconfiguration d’un API en mode seul Si vous configurez un API en mode de fonctionnement seul, seuls les paramètres autoconfigurés présentés ci-dessous vous seront nécessaires pour commencer votre programmation en Ladder Logic. Paramètres d’autoconfiguration pour un Micro API en mode seul Paramètre Modèles 110CPU 311 / 411 512 / 612 Adresses affectées 0x 1024 1536 Adresses affectées 1x 256 512 Adresses affectées 3x 32 48 Adresses affectées 4x 400 1872 Nombre de segments de Ladder Logic 2 (un pour le programme logique et un pour les sous-programmes) 2 (un pour le programme logique et un pour les sous-programmes) Port RS-232 (comm 1) Mode Modbus dédié: communications RTU sur 8 bits, 9600 bauds, parité paire, 1 bit de STOP, adresse Modbus nº 1 Mode Modbus dédié: communications RTU sur 8 bits, 9600 bauds, parité paire, 1 bit de STOP, adresse Modbus nº 1 Port RS-232 (comm 2) Indisp. Mode Modbus dédié: communications RTU sur 8 bits, 9600 bauds, parité paire, 1 bit de STOP, adresse Modbus nº 1 Port RS-485 (exp. link) ASCII dédié: communications ASCII sur 8 bits, 9600 bauds, parité paire, 1 bit de STOP ASCII dédié: communications ASCII sur 8 bits, 9600 bauds, parité paire, 1 bit de STOP Autoconfiguration d’un API en mode parent Si vous spécifiez un mode de fonctionnement parent, vous devez spécifier le nombre d’API enfants qui seront autorisés sur la liaison d’extension d’E/S. Ce nombre doit être compris entre 1 et 4. 16 Procédures de démarrage Une fois ce nombre spécifié, l’API est prêt à être programmé. Paramètres d’autoconfiguration pour un Micro API en mode parent Paramètre Modèles 110CPU 311 / 411 512 / 612 Adresses affectées 0x 1024 1536 Adresses affectées 1x 256 512 Adresses affectées 3x 32 48 Adresses affectées 4x 400 1872 Nombre de PLC enfants sur l’extension E/S à spécifier par l’utilisateur à spécifier par l’utilisateur Nombre de segments Ladder Logic 2 (un pour le programme logique et un pour les sous-programmes) 2 (un pour le programme logique et un pour les sous-programmes) Port RS-232 (comm 1) Mode Modbus/ASCII à commutation: communications RTU sur 8 bits/ASCII sur 8 bits, 9600 bauds, parité paire, 1 bit de STOP, adresse Modbus nº 1 Mode Modbus dédié: communications RTU sur 8 bits, 9600 bauds, parité paire, 1 bit de STOP, adresse Modbus nº 1 Port RS-232 (comm 2) Indisp. Mode Modbus/ASCII à commutation: communications RTU sur 8 bits/ASCII sur 8 bits, 9600 bauds, parité paire, 1 bit de STOP, adresse Modbus nº 1 Port RS-485 (exp. net) Réseau d’extension d’E/S: communications données sur 9 bits, 125 000 bauds, 1 bit de STOP Autoconfiguration d’un API en mode enfant Réseau d’extension d’E/S: communications données sur 9 bits, 125 000 bauds, 1 bit de STOP Lorsque vous avez spécifié le numéro d’identification enfant, l’API est prêt à être programmé. Si vous spécifiez un mode de fonctionnement enfant, vous devez affecter un numéro d’identification enfant à l’API. Ce numéro, compris entre 1 et 4, doit être unique pour cet enfant en particulier que vous configurez parmi tous les autres API enfants à placer sur le réseau d’extension d’E/S. Procédures de démarrage Breite: 151,5mm Höhe: 227,5mm 17 Paramètres d’autoconfiguration pour un Micro API en mode enfant Modèles 110CPU Paramètre 311 / 411 512 / 612 Adresses affectées 0x 1024 1536 Adresses affectées 1x 256 512 Adresses affectées 3x 32 48 Adresses affectées 4x 400 1872 Nº d’identification enfant à spécifier par l’utilisateur à spécifier par l’utilisateur Nombre de segments Ladder Logic 2 (un pour la logique de commande et un pour les sous-programmes) 2 (un pour la logique de commande et un pour les sous-programmes) Port RS-232 (comm 1) Mode de commutation Modbus/ASCII: communications RTU sur 8 bits/ASCII sur 8 bits, 9600 bauds, parité paire paire, 1 bit de STOP, adresse Modbus nº 1 Mode Modbus dédié: communications RTU sur 8 bits, 9600 bauds, parité paire paire, 1 bit de STOP, adresse Modbus nº 1 Port RS-232 (comm 2) Port RS-485 (exp. net) Réseau d’extension d’E/S: communications données sur 9 bits, 125 000 bauds, 1 bit de STOP Exemples de configuration Vous trouverez ci-dessous quelques écrans de définition de configuration ainsi que l’explication des paramètres affichés. Il s’agit de trois écrans pour un API 110CPU51200 configuré selon ses trois modes de fonctionnement. Les exemples en MODSOFT Lite permettent d’illustrer les problèmes conceptuels liés à la configuration de l’API. MODSOFT Lite 18 Mode Modbus/ASCII de commutation: communications RTU sur 8 bits/ASCII sur 8 bits, 9600 bauds, parité paire paire, 1 bit de STOP, adresse Modbus nº 1 Indisp. Procédures de démarrage Réseau d’extension d’E/S: communications données sur 9 bits, 125 000 bauds, 1 bit de STOP n’est pas le seul logiciel de programmation destiné à configurer un Micro; les écrans présentés dans ces exemples contiennent davantage de paramètres que ceux de HHP. Vous trouverez une description plus approfondie des procédures d’édition en MODSOFT Lite ou HHP dans le manuel de programmation livré avec votre progiciel. Écran 1. API 110CPU51200 avec des paramètres autoconfigurés en mode seul Écran 2. API 110CPU51200 avec des paramètres autoconfigurés en mode parent Procédures de démarrage Breite: 151,5mm Höhe: 227,5mm 19 Écran 3. API 110CPU51200 avec des paramètres autoconfigurés en mode enfant Mode de fonctionnement API Le mode de fonctionnement est décrit dans l’entrée 984 Type du champ de données situé dans la partie supérieure gauche des écrans. 984 MICRO-S indique le mode seul, 984 MICRO-P indique le mode parent et 984 MICRO-E indique le mode enfant. Enfant Micro nº Il faut spécifier le numéro d’identification enfant pour un API configuré en mode de fonctionnement enfant. La configuration MODSOFT Lite par défaut de l’identification est 1. Lorsque vous configurez plusieurs API enfants sur une liaison d’extension d’E/S, vous devez vous assurer que chacun d’eux possède un numéro d’identification unique compris entre 1 et 4. Ce paramètre ne s’applique pas aux API en mode parent et seul. Pour les API fonctionnant dans un de ces deux modes, Enfant Micro nº est spécifié comme étant Aucun. Adressage 0x, 1x, 3x et 4x L’adressage de la mémoire interne est le même dans tous les modes. Les affectations d’adresses autoconfigurées sont représentées par le nombre maximal d’adresses existant dans le modèle 110CPU51200. 20 Procédures de démarrage Note L’adressage est plus réduit dans les modèles API 110CPU311 et 110CPU411. Nombre de segments Ladder Logic Le nombre autoconfiguré de segments Ladder Logic est de 2. Le premier segment est réservé au programme logique de commande normale et le second aux sous-programmes. Nombre d’API enfants Si l’API est configuré en mode de fonctionnement parent, vous devez spécifier le nombre d’API enfants auxquels il peut accéder sur le réseau d’extension d’E/S. La configuration par défaut de MODSOFT Lite est 1. Si vous souhaitez placer plusieurs enfants sur le réseau, alors modifiez ce paramètre. Ce paramètre ne s’applique pas aux API seul et enfants. Pour les API fonctionnant dans un de ces modes, le Nombre d’Enfants est spécifié comme étant 0. Emplacements E/S Un emplacement E/S est une unité d’E/S associée à un type particulier de Micro API. Ces emplacements E/S, décrits de façon détaillé plus loin dans ce chapitre, comprennent les E/S internes intégrées à l’API et des modules d’E/S A120 connectés à l’API sur le port d’extension E/S. Note Seuls les modèles 110CPU512 et 110CPU612 prennent en charge les E/S A120; les modèles 110CPU311 et 110CPU411 ne les acceptent pas. Le nombre d’emplacements par défaut de tous les modèles 110CPU512 est de 18. Ce nombre vous permet de prendre en charge trois ou quatre emplacements E/S - l’E/S TOR, les entrées à grande vitesse et le transfert de données généralisées (davantage sur cette dernière) - ainsi que 15 emplacements d’E/S A120. Note Le nombre d’emplacements E/S par défaut des modèles 110CPU311 et 110CPU411 est beaucoup plus petit car ces unités ne prennent pas en charge l’E/S A120. Bit pile mémoire Le système d’exploitation se réserve automatiquement l’adresse 00081 en tant que bit pile mémoire. Le fonctionnement de cette sortie ressemble à celui de la LED batt low (pile faible) de l’API en ce sens qu’elle s’allume lorsque la pile en option doit être remplacée. Vous pouvez la relier à une alarme ou à un affichage externe vous informant qu’il faut remplacer la pile. Lorsque la sortie pile mémoire est ON, il faut remplacer la pile dans un délai de 14 jours. Registre base de temps Le système d’exploitation se réserve automatiquement le registre 40011 en tant que base de temps autonome. Ce registre est utilisé pour des applications utilisant des temps de 10 ms. Horloge calendaire Le système d’exploitation réserve automatiquement un bloc de huit registres de sortie contigus (40012 à 40019) pour enregistrer les données en provenance de l’horloge calendaire de l’API (dans les modèles 110CPU411 110CPU512 et 110CPU612). Vous devez initialiser l’horloge pour pouvoir l’utiliser. Les 16 bits de chaque registre permettent d’enregistrer les informations suivantes: V Registre 40012 - le registre de commande: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 non utilisé 1 = une erreur 1 = tous les paramètres d’horloge ont été définis 1 = lecture des paramètres d’horloge 1 = définition des paramètres d’horloge V Registre 40013 - jour de la semaine (dimanche = 1, lundi = 2, etc.) V Registre 40014 - mois de l’année (janvier = 1, déc. = 12, etc.) V Registre 40015 - jour du mois (de 1 à 31) V Registre 40016 - année (de 0 à 99) V Registre 40017 - heure exprimée sur 24 heures (de 0 à 23) V Registre 40018 - minute (de 0 à 59) V Registre 40019 - seconde (de 0 à 59) Si vous lisez par exemple sur l’horloge calendaire 9:25:30 le jeudi 18 mars 1993, le bloc de registres affichera les informations suivantes: 40012 = 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 40013 = 5 (format décimal) 40014 = 3 (format décimal) 40015 = 18 (format décimal) 40016 = 93 (format décimal) 40017 = 9 (format décimal) 40018 = 25 (format décimal) 40019 = 30 (format décimal) Procédures de démarrage Breite: 151,5mm Höhe: 227,5mm 21 Ports de communication autoconfigurés Port RS-485 Pour un API parent ou enfant, il faut utiliser le port RS-485 (exp link) pour interconnecter les unités sur le réseau d’extension d’E/S. Dans ces deux modes de fonctionnement, les paramètres de port autoconfigurés sont définis et on ne peut les modifier. On ne peut définir le port exp link pour un réseau d’ extension d’E/S dans un API en mode seul; il faut soit l’utiliser pour les communications ASCII, soit le désactiver. Les paramètres de ce port autoconfigurés en mode seul sont réservés aux communications ASCII. Note On ne peut définir qu’un seul port de communication pour exécuter les fonctions de communication ASCII. Port(s) RS-232 Les Micro API 110CPU512 et 110CPU612 possèdent deux ports de communication RS-232, alors que les modèles 110CPU311 et 110CPU411 n’en possèdent qu’un seul. Les paramètres autoconfigurés affectés à ces ports dépendent à la fois du modèle et du mode de fonctionnement de l’API. Si un API fonctionne en mode parent ou enfant, le logiciel autoconfigure un des ports RS-232 dans un mode supportant les communications entre l’API et un équipement d’entrée/sortie ASCII ou un équipement Modbus maître. Note Modbus est le protocole gérant les communications de programmation en Ladder Logic entre une console de programmation et l’API. La console de programmation est considérée comme étant l’équipement Modbus maître et l’API comme étant l’équipement du Modbus esclave. 22 Procédures de démarrage En mode de commutation Modbus/ASCII, le port RS-232 utilise le DSR pour informer l’API si un équipement ASCII ou Modbus maître est connecté. V Lorsqu’un équipement ASCII - une imprimante ou un terminal ASCII par exemple - est branché sur comm 1, le DSR devient INACTIF et le port communique des données ASCII sur 8 bits. V Lorsqu’un équipement Modbus maître - un HHP ou un ordinateur exécutant MODSOFT Lite par exemple - est branché sur comm 1, le DSR devient ACTIF et le port communique des données RTU sur 8 bits. Si l’API est un modèle 110CPU311 et 110CPU411 fonctionnant en mode parent ou enfant, le mode de commutation Modbus/ASCII est autoconfiguré sur le port comm 1. Si l’API est un modèle 110CPU512 ou 110CPU612 fonctionnant en mode parent ou enfant, le mode de commutation Modbus/ASCII est autoconfiguré sur le port comm 2, et le port comm 1 est autoconfiguré pour les communications Modbus dédiées. Dans les API fonctionnant en mode seul, les ports RS-232 sont toujours configurés pour les communications Modbus dédiées parce que le port RS-485 est autoconfiguré pour des communications ASCII et un seul port de l’API peut prendre en charge ces communications. Tous les ports RS-232 sont autoconfigurés pour les communications à 9600 bauds, ce qui vous permet de connecter une console de programmation à l’API sur un port RS-232 quelconque. On ne peut pas utiliser sur un port Modbus dédié des équipements ne communiquant pas Modbus. Note Si vous utilisez 9600 bauds sur un port RS-232, vous ne devez pas dépasser 2400 bauds sur l’autre port RS-232. Modification des paramètres de configuration Organigramme 2 API configuré Souhaitez-vous modifier les paramètres de configuration courants ? Oui Étape 3. Connecter la console de configuration et modifier les paramètres de configuration Non Étape 4. Connecter la console de configuration et modifier les paramètres d’affectation d’E/S oui Souhaitez-vous modifier les paramètres d’affectation d’E/S courants ? Non Suite dans l’organigramme 3 Selon la console de programmation utilisée, vous ne pouvez modifier que quelques paramètres d’autoconfiguration, alors que MODSOFT Lite vous confère une grande souplesse de configuration. Attention Si vous utilisez une HHP pour apporter des modifications à une configuration d’API existante, vous effacerez toutes les données en Ladder Logic, affectation d’E/S, messages en ASCII actuellement enregistrés dans la mémoire de l’API. Adressage Si par exemple votre application requiert 32 adresses 0x supplémentaires, vous pouvez en ajouter 32 au total existant si vous diminuez de 32 les adresses 1x affectées ou si vous diminuez de 2 les adresses 3x ou 4x affectées (les registres 3x et 4x contiennent 16 bits; les adresses 0x et 1x n’en contiennent qu’un seul). Nombre de segments Vous ne devez pas modifier la valeur autoconfigurée 2 même si vous n’avez pas l’intention d’utiliser de sous-programmes. Le second segment ne sera jamais analysé à moins qu’il ne soit appelé par une instruction JSR ou une interruption matériel. Vous pouvez modifier l’agencement des adresses de votre configuration au moyen de MODSOFT Lite. En revanche, vous ne pouvez augmenter leur nombre. Procédures de démarrage Breite: 151,5mm Höhe: 227,5mm 23 Paramètres de communication RS-232 On peut définir les ports RS-232 pour qu’ils fonctionnent en mode Modbus ou ASCII simple. En mode Modbus, le port est esclave de l’équipement Modbus maître connecté; cet équipement est généralement une console de programmation. En mode ASCII seul, le port est lu et écrit en Ladder Logic ( vous trouverez une description des instructions Ladder Logic de communication ASCII dans le Chapitre 8 ). Port RS-232 Mode Modbus Protocole RTU sur 8 bits Protocole RTU sur 7 bits Mode ASCII simple Protocole ASCII sur 8 bits Protocole ASCII sur 7 bits Mode Modbus En mode Modbus, le port peut communiquer au moyen d’un protocole (RTU) d’unité terminale décentralisée sur 8 bits ou d’un protocole ASCII sur 7 bits. Sur le port RS-232 comm 1, RTU n’est pris en charge qu’à 9600 bauds et ASCII à 2400 bauds. Le port comm 1 est également limité à la parité paire paire et avec un bit de STOP pour RTU et ASCII. On peut définir l’adresse Modbus du port entre 1 et 247. Note Un Micro API peut être un abonné Modbus si on lui affecte une adresse de réseau Modbus unique. Si l’API n’est pas sur un réseau Modbus, il faut garder l’adresse par défaut 1. Si l’API est sur un réseau Modbus, son adresse, comprise entre 1 et 247, doit être unique parmi tous les autres abonnés du réseau (pour plus amples détails, reportez-vous au Modicon Modbus Protocol Reference Guide PI-MBUS-300). 24 Procédures de démarrage Si votre API possède un port RS-232 comm 2, d’autres paramètres de port en mode Modbus existent en option: Paramètres de communication en option pour le port comm 2 Bauds 1200, 2400, 4800, 9600 Mode de communication ASCII sur 7 bits, RTU sur 8 bits Contrôle de parité impaire, paire, aucune Bits de STOP Adresse Modbus 1, 2 de 1 à 247 Les deux combinaisons suivantes des paramètres du port RS-232 ne sont pas prises en charge par les ports comm 1 et exp link pour les communications en mode ASCII simple: V ASCII sur 7 bits avec un bit de STOP et aucune parité paire V ASCII sur 8 bits avec un bit de STOP et avec parité paire ou parité paire paire Mode ASCII simple En mode ASCII simple, un port RS-232 ne peut communiquer qu’avec un protocole ASCII, avec une résolution sur 7 bits ou sur 8 bits. Les communications RTU en mode ASCII simple ne sont pas autorisées. Un port RS-232 en mode ASCII simple peut recevoir un paramètre de port quelconque à savoir: Paramètres de communication en option pour ASCII simple Bauds Mode de communication Contrôle de parité Bits de STOP 1200, 2400, 4800, 9600 ASCII sur 7 bits, RTU sur 8 bits impaire paire, aucune 1, 2 Capacités de communication par modem Le port comm 1 sur tous les modèles Micro API de Modicon est équipé d’un circuit prenant en charge les signaux de commande par modem. Pour prendre en charge les communications par modem, le port de l’API doit être en mode Modbus dédié et il faut utiliser un adaptateur spécial sur l’extrémité modem de la connexion par câble. Attention En raison du fonctionnement spécial du DSR lorsque le port est commuté ASCII, le port comm 1 ne peut communiquer par modem lorsqu’il est défini sur ce mode. Un kit de quatre adaptateurs Modicon existe contenant les éléments requis pour personnaliser un adaptateur sur votre modem: Description adaptateur Si vous souhaitez configurer l’unité pour les communications par modem, placez comm 1 en mode Modbus dédié et définissez ses paramètres de ports de façon à ce qu’ils correspondent au modem, c’est-à-dire en mode ASCII, 2400 bauds. Paramètres de communication du port RS-485 Si le port RS-485 exp net est utilisé en tant que port ASCII dédié (uniquement si l’API est en mode seul), vous avez le choix entre les paramètres de communication suivants: Paramètres de communication en option pour le port exp net Bauds 1200, 2400, 4800, 9600 Mode de communication Contrôle de parité Bits de STOP Kits d’adaptateurs RJ45, connecteurs en D RJ45 à 9 broches, connecteur en D, mâle RJ45 à 9 broches, connecteur en D, femelle RJ45 à 25 broches, connecteur en D, mâle RJ45 à 25 broches, connecteur en D, femelle Comm 2 ne prend pas en charge les communications par modem. Numéro pièce 110XCA20301 110XCA20302 110XCA20401 110XCA20402 ASCII sur 7 bits, ASCII sur 8 bits impaire, paire aucune 1, 2 Si le port RS-485 est utilisé pour le réseau d’extension d’E/S - c’est-à-dire si l’API est en mode parent ou enfant alors les paramètres de port autoconfigurés sont fixes et on ne peut les modifier. Procédures de démarrage Breite: 151,5mm Höhe: 227,5mm 25 Adressage d’emplacements d’E/S L’affectation d’E/S est une table située dans la mémoire de configuration du système reliant les adresses affectées de la mémoire données utilisateur de l’API (0x, 1x, 3x et 4x) aux entrées et sorties utilisateur réelles. Emplacements E/S internes Un Micro API Modicon possède cinq emplacements d’E/S internes réservés dans l’éditeur d’affectation d’E/S: V Emplacement 1 pour l’adressage des entrées et des sorties TOR fixes, V Emplacement 2 pour l’adressage des entrées bits comptage/interruption, V Emplacement 3 pour l’adressage des entrées 16 bits tempo/comptage, V Emplacement 4 pour l’adressage des entrées et des sorties analogiques internes, V Emplacement 5 pour l’adressage des registres de transfert pour une opération de transfert de données généralisées, entre un API parent et enfant. On ne peut utiliser certains emplacements dans tous les modèles API. En effet, l’emplacement 4 est réservé aux E/S analogiques internes existant uniquement dans les 110CPU612. Quand il n’est pas utilisé, un emplacement d’E/S internes réservé dans l’affectation d’E/S doit rester vide; on ne peut l’utiliser pour l’adressage d’un autre type d’E/S. Lorsque vous regardez une affectation d’E/S sur votre logiciel, les types de points d’E/S sur chaque emplacement d’E/S internes sont spécifiés par un type d’emplacement alphanumérique. Le tableau ci- dessous présente les types d’emplacements standard pour les ressources fixes de tous des modèles de Micro API. Types d’emplacements E/S pour E/S internes Emplacement E/S TOR (1) Ressources internes Type d’emplacement 31100, 41100 51200, 61200 de 16 à 24 VCC entrée/12 relais sortie MIC128 31101, 41101, 51201 de 16 à 115 VCA entrée/8 triac sortie 4 relais sortie MIC131 31102, 41102, 51202 de 16 à 230 VCA entrée/8 triac sortie 4 relais sortie MIC134 de 16 à 24 VCC entrée/12 sortie transistor MIC137 Modèle 110CPU 31103, 41103, 51203, 61203 Compteur/interruption (2) Tous les modèles 411, 512 et 612 Tempo/compteur (3) Indisp. sur modèles 311 Analogique (4) Modèles 612 uniquement Tous les canaux de sortie ont une résolution sur 12 bits Transfert de données généralisées (5) 26 Tous les modèles 512 et 612 Procédures de démarrage Compteur/Entrée interruption sur 8 bits entrée Tempo, registre 16 bits / valeur comptage MIC140 MIC147 4 entrée (0 à 10, 12 bits), 2 sortie MIC141 4 entrée (1 à 5, 12 bits), 2 sortie MIC142 4 entrée (±10, 12 bits), 2 sortie MIC143 4 entrée (0 à 10, 15 bits), 2 sortie MIC144 4 entrée (1 à 5, 14 bits), 2 sortie MIC145 4 entrée (±10), 2 sortie MIC146 1 mot entrée, 1 mot sortie MIC148 2 mots entrée, 2 mots sortie MIC149 4 mots entrée, 4 mots sortie MIC150 8 mots entrée, 8 mots sortie MIC151 Le système d’exploitation réserve les douze premières adresses 0x et les seize premières adresses 1x (00001 à 00016 et 10001 à 10016) aux E/S TOR fixes de l’unité. L’adressage des ressources d’un API 110CPU51201 en mode seul serait le suivant: V Type d’emplacement MIC131 dans le premier emplacement pour spécifier les points d’E/S TOR; les entrées 115 VCA ont les adresses de 10001 à 10016, les sorties triac ont les adresses de 00001 à 00008, les sorties relais ont les adresses de 00009 à 00012. V Type d’emplacement MIC140 dans le second emplacement pour spécifier les entrées interruption/compteur ayant les adresses de 10081 à 10088. V Type d’emplacement MIC147 dans le troisième emplacement pour spécifier le registre tempo/interruption avec l’adresse 30001. Les deux derniers emplacements, pour l’E/S analogique et le transfert de données généralisé, n’existent pas sur cette affectation d’E/S. Seul les API 110CPU612 prennent en charge l’E/S analogiques et seuls les API parent et enfants prennent en charge le transfert de données généralisées. L’écran ci-dessous est un exemple d’affectation d’E/S MODSOFT Lite illustrant l’affichage TOR. Procédures de démarrage Breite: 151,5mm Höhe: 227,5mm 27 Adressage d’E/S A120 Les modèles 110CPU512 ou 110CPU612 peuvent utiliser l’extension d’E/S en option. Dans ce cas, l’E/S A120 doit également s’afficher dans la mémoire de configuration du système de l’API. Vous devez modifier l’affectation d’E/S via logiciel pour affecter une adresse à l’E/S A120. Chaque module d’E/S A120 reçoit un emplacement dans l’embase où il se trouve. Chaque embase physique connectée à l’API - embase nº 2, nº 3 et nº 4 - peut posséder jusqu’à cinq emplacements. On peut affecter des adresses à 15 modules d’E/S A120 (emplacements) dans un affectation d’E/S d’un Micro API. L’API réserve les adresses suivantes pour l’adressage d’E/S étendu: V adresses 00017 à 00080 à affecter aux sorties A120 TOR, V adresses 10017 à 10080 à affecter aux d’entrées A120 TOR, V adresses 30002 à 30005 et 30011 à 30030 à affecter aux entrées analogiques depuis l’E/S A120, V adresses 40003 à 40010 sont réservées à l’affectation des sorties de registre depuis l’E/S A120. Note On peut utiliser ces adresses réservées à l’adressage des ressources d’E/S internes dans d’autres API sur un réseau d’extension d’E/S si elles ne sont pas affectées à l’adressage de l’E/S A120. Exemple: un Micro API avec une embase d’E/S A120 L’exemple suivant utilise deux écrans d’affectation d’E/S MODSOFT Lite. Le système d’affectation E/S comprend un API 110CPU51200 et une embase de cinq modules d’E/S A120, deux BDAP212 et trois BDAP216. L’API n’utilise qu’un seul bloc d’E/S TOR pour son application. Par conséquent, un total de six emplacements d’E/S sont utilisés dans cette configuration: MIC128 pour les points d’E/S internes et cinq emplacements pour les modules d’E/S A120. L’écran 1 représente l’affectation d’E/S pour les ressources d’E/S internes de l’API 110CPU51200. Cet API est considéré comme étant l’ embase nº 1 pour ce qui est de l’extension d’E/S A120. Sachez que l’on ne peut accéder qu’aux emplacements 1, 2 et 3 de l’ embase nº 1. Note Dans MODSOFT Lite, chaque embase est affiché sur un écran distinct. Vous pouvez vous déplacer vers l’avant et vers l’arrière à travers les écrans, c’est-à-dire à travers les embases, en appuyant sur <PgUp> et <PgDn>. Les E/S A120 dans l’embase 2 reçoivent une affectation d’E/S dans le tableau présenté à l’écran 2. Les points d’entrée A120 ont été mis en relation avec les adresses 10033 à 10056 et les points de sortie avec 00017 à 00096 dans la mémoire données utilisateur de l’API. Globalement, cette configuration utilise 56 entrées TOR, 80 sorties TOR et une entrée de registre compteur/tempo. 28 Procédures de démarrage Écran 1. Affectation d’E/S pour emplacements d’E/S internes (embase 1) Écran 2. Affectation d’E/S pour emplacements d’E/S A120 (embase 2) Procédures de démarrage Breite: 151,5mm Höhe: 227,5mm 29 Adressage d’E/S sur un réseau d’extension On crée un réseau d’extension d’E/S au moyen de la connexion en guirlande de Micro API, allant jusqu’à cinq, via connexion câblée sur leur port RS-485. Il faut configurer un API en tant que parent et tous les autres en tant qu’enfants. API parent internes ainsi qu’à des ressources d’E/S internes résidant dans l’API enfant. Les emplacements d’E/S internes de l’API parent reçoivent automatiquement une adresse. Vous trouverez ci-dessous les adresses destinées à l’affectation de points d’E/S supplémentaires à partir de l’API parent: L’API parent affecter une adresse à toutes ses propres ressources d’E/S Entrées physiques Adresses (en mémoire données utilisateur) 00001... 00012 Sorties TOR internes (12) 00017... 00080 Réservées (TOR A120 ou basées sur API enfant) 00081 Entrées TOR internes (16) Réservées (TOR A120 ou basées sur les API enfants) 10017... 10080 10081... 10088 Réservées (interruption/tempo basés sur API enfants) 10089... 10120 30001 Réservées (tempo/compteurs basés sur API enfants) 30002... 30005 Entrées analogiques internes (4) 30006... 30010 Réservées (entrées analogiques basées sur API enfants) 30011... 30030 40001... 40002 40003... 40010 40011 40012... 40019 30 Pile OK mémoire 10001... 10016 Entrées interruption/ compteur interne (8) Entrée tempo/compteur locale (1) Sorties physiques Procédures de démarrage Sorties analogiques internes (2) Réservé (sortie analogique sur l’API enfant) Base de temps 10 ms Horloge calendaire API enfant Lorsque vous sélectionnez un mode de fonctionnement enfant pour un API, le système d’exploitation Ladder Logic suppose par défaut que tous les points d’E/S internes disponibles sur cet API seront gérés par l’API parent sur le réseau. Par conséquent, aucun paramètre n’est affecté à la topographie d’E/S d’un API enfant dans son état par défaut. Les emplacements d’E/S internes d’un API enfant peuvent être affichés sur un écran associé à l’affectation d’E/S de l’API enfant. Note Il faut que l’adressage d’une E/S quelconque A120 connectée à un API enfant soit effectué par ce dernier. L’API parent ne peut ni accéder, ni contrôler une E/S A120 d’un API enfant sur un réseau d’extension d’E/S. Exemple: réseau d’extension avec toutes les E/S internes gérées par l’API enfant Le système configuré dans l’exemple suivant comprend deux API 110CPU51200, un parent et un enfant, sur un réseau d’extension d’E/S. L’exemple présente trois écrans d’affectation d’E/S MODSOFT Lite. Lors de la configuration de l’API parent, assurez-vous qu’il est défini pour au moins un enfant. Le système d’exploitation ne permet pas à l’API parent d’accéder à une des ressources d’E/S de l’API enfant à moins que vous n’ayez spécifié l’existence de cet API enfant dans la configuration de l’API parent.. Les écrans 1 et 2 présentent les affectations d’E/S pour les emplacements d’E/S internes dans les API parent et enfant contrôlés par des adresses dans la mémoire de l’API parent. On accède à ces deux écrans d’affectation d’E/S lorsque la console de programmation est connectée à l’API parent. Écran 1. Affectation d’E/S pour les points d’E/S internes d’un API parent Procédures de démarrage Breite: 151,5mm Höhe: 227,5mm 31 Écran 2. Affectation d’E/S pour les points d’E/S internes d’un API enfant auquel a accédé l’API parent. Sachez que les types d’emplacement utilisés dans la topologie d’E/S de l’API enfant placent tous les emplacements d’entrées TOR internes et de sorties de l’API enfant sous le contrôle de l’API parent. MIC128 fait correspondre toutes les 16 entrées 24 VCC de l’enfant aux adresses 10017 à 10032 dans la mémoire de l’API parent et toutes les 12 sorties relais aux adresses 00017 à 00029 dans la mémoire données utilisateur de l’API parent; MIC140 fait correspondre les entrées interruption/comptage aux adresses 10097 à 10104 dans la mémoire données utilisateur de l’API parent. Par conséquent, l’écran d’affectation d’E/S, apparaissant lorsque la console de programmation (voir l’écran 3 ci-dessous) est connecté à l’API enfant, ne comporte aucun type d’emplacement: Écran 3. Affectation d’E/S pour les points d’E/S internes d’un API enfant 32 Procédures de démarrage Partage des E/S internes entre les API parent et enfants Un API enfant a la possibilité de partager ses ressources d’E/S avec l’API parent, cela signifie que l’API enfant continue à gérer certaines de ses propres E/S internes alors que l’API parent se charge du reste. Lorsque les ressources d’E/S internes sont partagées, les points d’E/S contrôlés par l’API enfant doivent recevoir une adresse dans l’affectation d’E/S de l’API enfant et les points contrôlés par l’API parent doivent recevoir une adresse dans l’affectation d’E/S de l’API parent. Le partage des E/S consiste à sélectionner les types d’emplacement adéquats (voir le tableau ci-dessous) et à les placer dans les écrans d’affectation d’E/S des API parent et enfants. Si un enfant possède 12 sorties transistors internes, vous pouvez affecter une adresse d’E/S à l’affectation d’E/S d’un API avec un type d’emplacement de MIC138 (gérant 8 sorties transistor) et l’autre affectation d’E/S avec un type d’emplacement) de MIC139 (gérant les autres sorties transistor de l’autre API). Types d’emplacement d’E/S pour les E/S internes Type E/S TOR de 16 à 24 VCC entrée/12 relais sortie MIC128 de 16 à 24 VCC entrée/8 relais sortie MIC129 de 16 à 24 VCC entrée/4 relais sortie MIC130 de 16 à 115 VAC entrée/8 triac sortie 4 relais sortie MIC131 de 16 à 115 VCC entrée/8 triac sortie MIC132 de 16 à 115 VAC entrée/4 relais sortie de 16 à 230 VCA entrée/8 triac sortie 4 relais sortie Compteur/interruption Analogique (pour les modèles 612 uniquement) Type d’emplacement 31101, 41101, 51201 MIC133 MIC134 de 16 à 230 VCA entrée/8 triac sortie MIC135 de 16 à 230 VCA entrée/4 relais sortie MIC136 de 16 à 24 VCC entrée/12 sorties transistor MIC137 de 16 à 24 VCC entrée/12 sortiess transistor MIC138 de 16 à 24 VCC entrée/4 sorties transistor MIC139 Compteur/8 bits interruption entrée MIC140 4 entrées (0 à 10, 12 bits), 2 sorties MIC141 4 entrées (1 à 5, 12 bits), 2 sorties MIC142 4 entrées (± 10, 12 bits), 2 sorties MIC143 Tous les canaux de sortie ont une résolution sur 12 bits 4 entrées (0 à 10, 15 bits), 2 sorties MIC144 4 entrées (1 à 5, 14 bits), 2 sorties MIC145 4 entrées (± 10), 2 sorties MIC146 Tempo/Compteur Valeur comptage tempo 16 bits MIC147 1 mot entrée, 1 mot sortie MIC148 2 mots entrée, 2 mots sortie MIC149 4 mots entrée, 4 mots sortie MIC150 8 mots entrée, 8 mots sortie MIC151 Transfert de données généralisées Modèles 110CPU 31100, 41100, 51200, 61200 31102, 41102, 51202 31103, 41103, 51203, 61203 Tous les modèles 411, 511 & 611 61200, 61203 Valeur par défaut AUCUN pour tous les modèles Procédures de démarrage Breite: 151,5mm Höhe: 227,5mm 33 Les deux API lisent les mêmes données d’entrées. Les données d’entrées partagées n’entraînent pas de conflit entre les API parent et enfants. Les mêmes entrées internes peuvent donc être affichées à la fois dans les API parent et enfants. Cependant, le fait que ces deux API écrivent les mêmes données de sorties peut introduire des erreurs. Si les mêmes sorties sont mises en correspondance dans ces deux API, le système consigne une erreur pour l’API parent et celui-ci sera repéré comme étant invalide dans le tableau des mots d’état de l’API. Exemple: partage des E/S L’exemple suivant présente deux écrans d’affectation d’E/S MODSOFT Lite. Il indique comment les 10 sorties relais fixes d’un API 110CPU51200 configuré en tant qu’enfant peuvent être partagées entre celui-ci et l’API parent. L’écran 1 ci-dessous présente l’affectation des E/S d’un API enfant auxquelles un API parent doit accéder. Cet écran d’affectation d’E/S est créé pendant que la console de configuration est connectée à l’API parent. Le type d’emplacement pour l’E/S TOR est le MIC129, ce qui indique que l’API parent peut accéder à huit des sorties relais fixes de l’API enfant. L’API parent a pu accéder à 8 sorties relais mises en correspondance avec les adresses 00017-00024 Écran 1: API parent accédant aux E/S d’un API enfant 34 Procédures de démarrage L’écran 2 présente l’affectation des E/S d’un API enfant géré par l’API enfant. Cet écran d’affectation d’E/S est créé pendant que la console de configuration est connectée à l’API enfant. Le type d’emplacement pour l’E/S TOR est MIC130, ce qui indique que l’API enfant gère quatre de ses sorties relais internes. L’API parent gère 4 sorties relais mises en correspondance avec les adresses 00025-00028 Écran 2: Ressources d’E/S internes gérées par l’API enfant Procédures de démarrage Breite: 151,5mm Höhe: 227,5mm 35 Transfert de données généralisées Le réseau d’extension d’E/S est fondamentalement une fonction permettant d’accéder aux ressources d’E/S dans tout le système d’un programme logique exécuté dans un API unique (l’API parent). Cependant, comme chaque API enfant sur le réseau peut enregistrer son propre programme logique utilisateur et effectuer le service de ses propres E/S et port de communication, une certaine quantité de traitement simultané peut avoir lieu dans les diverses UC du réseau. Le transfert de données généralisées est un outil permettant aux API parent et enfants sur le réseau de partager les données non gérées. Les données sont transférées de l’un à l’autre au moyen du réseau d’extension d’E/S. L’API parent peut partager les données généralisées avec un API enfant quelconque; un API enfant ne peut partager les données généralisées qu’avec l’API parent. Les API parent et enfants sur un réseau d’extension d’E/S peuvent transférer dans les deux sens un nombre à sélectionner de mots de données hors commandes sur ledit réseau. L’emplacement d’E/S internes nº 5 sur les Micro API Modicon est réservé à cette fonction de transfert de données généralisées 36 Procédures de démarrage Vous pouvez réserver les mots entrée/sortie dans la mémoire données utilisateur des API parent et enfants en spécifiant un des types d’emplacement suivants dans les affectations d’E/S des API parent et enfants: V MIC148, spécifiant un mot d’entrée (d’adresses 1x ou 3x) et un mot de sortie (d’adresses 0x ou 4x). V MIC149, spécifiant deux mots d’entrée (d’adresses 1x ou 3x) et deux mots de sortie (d’adresses 0x ou 4x). V MIC150, spécifiant quatre mots d’entrée (d’adresses 1x ou 3x) et quatre mots de sortie (d’adresses 0x ou 4x). V MIC151, spécifiant huit mots d’entrée (d’adresses 1x ou 3x) et huit mots de sortie (d’adresses 0x ou 4x). Pour configurer un transfert de données généralisées entre un API parent et un API enfant, vous devez spécifier le même type d’emplacement dans les affectations d’E/S de l’API enfant et de l’API parent. Lorsque la console de programmation est connectée à l’API parent, spécifiez le type d’emplacement du transfert de données généralisées dans l’affectation d’E/S décrivant les ressources d’E/S internes de l’API enfant, et non pas dans celle décrivant les ressources d’E/S internes de l’API parent. Voici une illustration du processus de transfert de données généralisées: API parent Mémoire données utilisateur API Enfant nº 1 L’E/S affiche ses propres ressources fixes Mémoire données utilisateur Affectation d’E/S emplacement 1 emplacement 1 emplacement 5 MIC149 emplacement 5 non utilisé pour ressources Enfant nº 1 Mots entrée 30050 30051 Mots sortie emplacement 1 Mots entrée 40050 40051 30050 30051 emplacement 5 Mots sortie 40050 40051 MIC149 Procédures de démarrage Breite: 151,5mm Höhe: 227,5mm 37 Commandes API Configuration et affectation d’E/S remplissent les conditions requises par l’application Souhaitez-vous modifier la logique utilisateur ? Organigramme 3 Oui ÉTAPE 5. Connecter une console de programmation et entrer en mode d’édition logique Non Édition du programme Ladder Logic ÉTAPE 6. Connecter une console de programmation et entrer en mode données adresses Souhaitez-vous surveiller les données adresses ? Oui Non Surveillance des données adresses Si l’API s’arrête, souhaitez-vous le démarrez ? Oui ÉTAPE 7. Connecter une console de programmation, passer en mode Actions et placer l’API en mode EXÉCUTION (RUN) Non ÉTAPE 5. Connecter une console de programmation et placer l’API en mode d’édition logique; le débit de puissance apparaît lorsque l’API est en cours d’exécution. Oui L’API analysera la logique et procédera à la scrutation des E/S et des ports comm. Une fois que l’API a été configuré selon le mode de fonctionnement souhaité et qu’une adresse a été affectée aux emplacements d’E/S dans l’affectation d’E/S, vous pouvez effectuer les opérations suivantes: V création ou modification de votre programme Ladder Logic, V surveillance et modification des données adresses, V démarrage et arrêt de l’API, 38 Procédures de démarrage Souhaitez-vous surveiller le programme en temps réel ? Non L’API est en cours d’exécution L’API analysera la logique et effectuera la scrutation des E/S et des ports comm. V surveillance des états passant dans un programme d’application en cours d’exécution. Dans les chapitres suivants, nous expliquons en détail le jeu d’instructions Ladder Logic et la façon de créer les programmes d’application. Chapitre 3 Principaux éléments de Programmation en Ladder Logic j Segments et réseaux j Éléments de logique relais j Exemple d’application: circuit démarrage/arrêt du moteur Programmation en Ladder Logic Breite: 151,5mm Höhe: 227,5mm 39 Segments et réseaux Segments Ladder Logic défini, limité à gauche par une barre à l’état ON et à droite par une barre qui, par convention, n’est pas affichée. Un réseau possède sept lignes en hauteur et onze colonnes en largeur. Tout programme Ladder Logic nécessaire pour exécuter de votre application est dans un segment logique. Si vous appelez des sous- programmes faisant partie de cette application, ces sous-programmes Ladder Logic seront dans un segment distinct. L’intersection de chaque ligne et de chaque colonne du réseau s’appelle un élément, chaque réseau contient 77 éléments. La configuration des Micro API Modicon contient deux segments. Tout Ladder Logic normalement organisé et gérant l’application est enregistré dans le segment 1. Tout le Ladder Logic sous-programme est enregistré dans le segment 2. La logique des sousprogrammes n’est exécutée que lorsqu’elle est appelée, depuis Ladder Logic du segment 1 ou d’un événement extérieur ayant déclenché une interruption. Par conséquent, le segment 2 n’est pas considéré comme faisant partie du cycle logique normal. Il n’y a pas de limite prescrite au nombre de réseaux que l’on peut placer sur un segment. La taille maximale du programme est limitée par la quantité de l’élément programme utilisateur disponible dans l’UC et par le temps nécessaire à l’UC pour analyser le programme Ladder Logic. Mise en place de la logique relais et d’instructions sur un réseau En Ladder Logic, chaque fois que vous utilisez un élément de logique relais, à savoir un contact, une sortie, une branche verticale ou horizontale, l’élément utilise une case sur le réseau logique. Réseaux Ladder Logic Chaque segment comporte un groupe de réseaux contigus. Chaque réseau est un petit schéma Ladder Logic clairement Rail 1 d’alimentation 1 2 3 4 5 6 7 8 9 10 11 2 3 4 5 6 7 Structure du réseau Ladder Logic 40 Programmation en Ladder Logic NOTE On ne peut représenter que les sorties dans la colonne 11. Une instruction en Ladder Logic peut utiliser un, deux ou trois éléments sur un réseau, en fonction du type d’instruction. Une instruction compteur par exemple est une instruction à deux éléments juxtaposés; elle utilise deux éléments contigus se trouvant l’un au-dessus de l’autre. Une instruction ADD, en revanche, est une instruction à trois éléments juxtaposés avec trois éléments contigus l’un au-dessus de l’autre. Réseau 1 Réseau 2 Résolution du programme Un Micro API Modicon analyse séquentiellement le programme Ladder Logic dans l’ordre suivant: V segment par segment, V du réseau 1 au réseau n séquentiellement dans chaque segment, V élément par élément dans chaque réseau, en commençant par l’élément supérieur gauche du réseau et en se déplaçant de haut en bas, puis de droite à gauche. Réseau suivant Sens de résolution dans et entre les réseaux Ladder Logic Programmation en Ladder Logic Breite: 151,5mm Höhe: 227,5mm 41 Éléments de logique relais Il existe trois types généraux d’élément logique relais dans la programmation en Ladder Logic: les contacts, les sorties et les branches. Chaque élément logique relais utilise un élément d’un réseau Ladder. V Le contact transitionnel positif qui ne laisse passer le courant que pendant un cycle lorsque le contact ou la sortie passe de OFF à ON: Contact transitionnel positif OFF Contacts relais ON Les contacts permettent de faire passer ou d’inhiber le courant dans un réseau Ladder Logic. On peut utiliser quatre types de contact: V Le contact normalement ouvert (N.O.) qui laisse passer le courant lorsque la sortie ou l’entrée affectée est sur ON: Contact N.O. ON OFF Etat courant OFF OFF ON OFF OFF Un cycle V Le contact de transition négatif, qui ne laisse passer le courant que lors d’un cycle lorsque le contact ou la sortie passe de ON à OFF: ON Contact de transition négatif OFF ON V Le contact normalement fermé (N.F.), qui laisse passer le courant lorsque la sortie ou l’entrée affectée est sur OFF: Contact N.F. OFF Etat courant ON OFF ON Etat courant OFF OFF Un cycle Les symboles utilisés en Ladder Logic pour représenter les types de contact figurent dans le tableau ci-dessous. OFF ON Etat courant ON OFF Elément Symbole Fonction Utilisation sortie Contact N.O Laisse passer le courant lorsque la sortie ou l’entrée affectée est sur ON Peut être affecté à une sortie adresse 0x ou à une entrée adresse 1x. Contact N.F Laisse passer le courant lorsque la sortie ou l’entrée affectée est sur OFF Peut être affecté à une sortie adresse 0x ou à une entrée adresse 1x. Contact de transition positif Laisse passer le courant pendant un cycle lorsque le contact ou la sortie passe de OFF à ON Peut être affecté à une sortie adresse 0x ou à une entrée adresse 1x. Contact de transition négatif Laisse passer le courant pendant un cycle lorsque le contact ou la sortie passe de OFF à ON Peut être affecté à une sortie adresse 0x ou à une entrée adresse 1x. 42 Programmation en Ladder Logic Sortie normale et mémorisée Elément Symbole Fonction Utilisation sortie Sortie normale ( ) S’éteint en cas de coupure d’alimentation Paramètre de sortie TOR représenté par une adresse 0x; on peut l’utiliser dans le programme logique ou en dehors d’une sortie TOR Sortie mémorisée ( M) La sortie revient au même état lorsque l’alimentation est rétablie Paramètre de sortie TOR représenté par une adresse 0x; on peut l’utiliser dans le programme logique ou hors d’une sortie TOR Une sortie TOR est représentée par un bit d’adresse 0x. Les sorties étant mises à jour dans la RAM d’état par l’UC, une sortie peut être utilisée à l’intérieur du programme logique ou à l’extérieur pour une sortie réelle de commande. Une sortie est ON ou OFF en fonction de l’état des éléments à sa gauche. Cet état est vu par l’ensemble de la logique. Il existe deux types de sorties - les sorties normales et les sorties mémorisées. Après une mise sous tension avant le 1er cycle de l’API, les sorties normales sont initalisées à zéro et les sorties mémorisées reprennent le dernier état comme avant la coupure tension. Affichage des sorties dans un réseau Un réseau Ladder peut contenir au maximum sept sorties. Aucun élément, à l’exception des bobines, n’est autorisé dans la onzième colonne. Si une sortie apparaît sur un élément d’une colonne autre que la 11, alors on ne peut placer aucun autre élément logique à droite de la sortie sur cette colonne. Branches verticales et horizontales Les branches sont tout simplement les connexions directes entre les blocs d’instructions et/ou les contacts d’un réseau Ladder Logique. Une branche verticale connecte les contacts ou les blocs d’instructions les uns au-dessus des autres dans une colonne du réseau. Elle permet également de connecter les entrées et les sorties pour créer des conditions OU inclusif telle que celle présentée ci-après. Si l’on connecte deux contacts par une branche verticale, le courant passe lorsque un contact (ou les deux) en reçoit. Une branche verticale n’utilise aucune sortie utilisateur. Les branches horizontales permettent d’étendre une ligne dans un réseau Ladder Logic sans interrompre le courant. Chaque branche horizontale utilisée dans un programme utilise un mot de sortie logique utilisateur. Sur la page suivante figurent deux exemples de la façon dont on peut utiliser les branches verticales et horizontales avec des contacts relais pour créer en Ladder Logic. Le premier exemple présente une simple condition OU inclusif; la ligne supérieure de Ladder comporte deux contacts N.O. (10001 et 10002), et la ligne inférieure n’en contient qu’un seul (10003) suivi d’une branche horizontale. Une branche verticale connecte ces deux lignes après la deuxième colonne. Le courant peut passer par le réseau pour exciter la sortie 00001 lorsque les contacts 10001 et 10002 sont excités ou lorsque le contact 10003 est excité. Le second exemple illustre un circuit OU exclusif constitué de contacts et de branches semblables. Ce circuit permet d’empêcher que la sortie 00001 ne soit excitée lorsque deux conditions, représentées par le contact 10001 et le contact 10002, sont activées simultanément. Programmation en Ladder Logic Breite: 151,5mm Höhe: 227,5mm 43 Dans ces deux exemples, on considère les branches verticales, qui n’utilisent pas de sortie programme utilisateur, comme faisant partie de l’élément dans lequel le contact 10002 est programmé. 10001 10002 00001 10003 Exemple 1: Logique relais OU inclusif 10001 10002 10001 10002 00001 Exemple 2: Logique relais OU exclusif 44 Programmation en Ladder Logic Exemple d’application: circuit de démarrage/arrêt du moteur BP DÉMARRAGE MOTEUR BP ARRÊT MOTEUR L1 RELAIS DÉMARRAGE MOTEUR SC1 L2 R1 CONTACT AUXILIAIRE DÉMARRAGE MOTEUR C1 LT DÉMARRAGE MOTEUR C2 MOTEUR POMPE OL1 M1 L’exemple ci-dessus est un schéma électrique sur ligne standard pour un circuit de démarrage/arrêt activé par des boutons-poussoirs. Si vous appuyez sur le bouton-poussoir démarrage moteur, le relais de commande du moteur R1 est excité et les contacts C2 pour démarrer le moteur M1 se ferment permettant au circuit de démarrage/arrêt de passer sur ON. Le relais R1 peut s’interrompre pour deux raisons: V surcharge (SC1) du moteur M1, V appui sur le bouton-poussoir arrêt moteur. Voyons maintenant la version du même circuit avec des contacts, des sorties et des branches d’un réseau Ladder Logic. L’illustration ci-dessous nous permet de constater que la séquence d’opération reste essentiellement la même lorsque le circuit de démarrage/arrêt du moteur est conçu pour l’API. La principale différence est que tous les points d’E/S sont connectés par câble directement aux unités d’entrée/sortie intégrées au système de l’API et la commande réelle est programmée en Ladder Logic dans cet API. L’implantation en Ladder Logic permet une commande polyvalente et un temps de développement réduit, car toutes les connexions câblées entre les points de commande sont électroniques. DÉMARRAGE R1 ARRÊT C1 E N T R É E 10001 10002 10004 00001 00002 10003 S O R T I E LT OL1 Ladder Logic Entrées Utilisateur Sorties Utilisateur Programmation en Ladder Logic Breite: 151,5mm Höhe: 227,5mm 45 46 Programmation en Ladder Logic Chapitre 4 Compteurs et temporisateurs j Instructions relatives aux compteurs j Instructions relatives aux temporisateurs j Exemple d’application: une horloge en temps réel avec une temporisation en millisecondes Compteurs et temporisateurs Breite: 151,5mm Höhe: 227,5mm 47 Instructions relatives aux compteurs Deux instructions relatives aux compteurs sont fournies. Le compteur (UCTR) compte à partir de 0 jusqu’à une valeur pré-définie et le décompteur (DCTR) Instruction compte à partir d’une valeur pré-définie jusqu’à 0. Toutes deux sont des instructions à deux éléments juxtaposés. Entrées (E) Eléments O Supérieure: ON lance le compteur Supérieur: Supérieure: valeur prédéfinie comptage = compteur valeur prédéfinie Inférieur: comptage accumulé Structure Sorties (S) Fonction I 3x, 4x, ou K* I UCTR 4x O Inférieure: 0 = réinitialisé 1 = activé I 3x, 4x, ou K* O Supérieure: ON déclenche le compteur Supérieur: Supérieure: valeur prédéfinie comptage = 0 compteur I DCTR 4x O Inférieure: 0 = réinitialisé 1 = activé Inférieur: décomptage accumulé Compteur Décompteur Compte vers l’avant depuis 0 jusqu’à une Inférieure: valeur prédéfinie Comptage < valeur prédéfinie Décompte à partir d’une valeur prédéfiInférieure: nie jusqu’à 0 Comptage < valeur prédéfinie * K est une constante entière comprise entre 1 et 999. Exemple de compteur simple Lorsque le contact 10027 est ON, l’entrée supérieure au UCTR est alimentée; l’instruction est activée car le contact 00077 est ON, la sortie 00077 étant OFF. Chaque fois que le contact 10027 passe de OFF à ON, le compteur incrémente de 1. Lorsque la valeur atteint 100, la sortie supérieure passe à ON, la sortie 00077 est ON et la sortie 00055 est ON. Le contact 00077 est OFF lorsque la sortie 00077 est ON et le compteur est remis à 48 Compteurs et temporisateurs zéro lors du cycle suivant. Pendant le cycle suivant, la sortie 00077 ON, le contact 00077 est ON et le UCTR est activé. 100 00077 10027 00077 UCTR 40007 00055 Instructions relatives aux temporisateurs Les quatre instructions relatives aux temporisateurs permettent de temporiser les événements ou de créer des délais dans une application. Les trois premières Instruction Tempo d’une seconde Tempo d’un dixième de seconde Tempo d’un centième de seconde Tempo d’un millième de seconde Entrées (E) Structure I 3x, 4x, ou K* O I T1.0 4x O I 3x, 4x, ou K* O I T0.1 4x O I 3x, 4x, ou K* O I T.01 4x O I 3x, 4x, ou K* O I 4x O instructions sont des instructions à deux éléments juxtaposés et la tempo en millisecondes est une instruction à trois éléments juxtaposés. Eléments Sorties (S) Supérieure: ON lance la temporisation Supérieur: valeur prédéfinie tempo Supérieure: temps = valeur prédéfinie Inférieure:: 0 = réinitialisé 1 = activé Inférieur: temps accumulé Inférieure: temps < valeur prédéfinie Supérieure: ON lance la temporisation Supérieur: valeur prédéfinie tempo Supérieure: temps = valeur prédéfinie Inférieure:: 0 = réinitialisé 1 = activé Inférieur: temps accumulé Inférieure: temps < valeur prédéfinie Supérieure: ON lance la temporisation Supérieur: valeur prédéfinie tempo Supérieure: temps = valeur prédéfinie Inférieure:: 0 = réinitialisé 1 = activé Inférieur: temps accumulé Inférieure: temps < valeur prédéfinie Supérieure: ON lance la temporisation Supérieur: valeur prédéfinie tempo Supérieure: temps = valeur prédéfinie Médian: temps accumulé Mediane: temps < valeur prédéfinie Mediane: 0 = réinitialisé 1 = activé T1MS 0001 Inférieur: toujours défini comme étant une valeur constante de 1 Fonction La tempo incrémente à des intervalles d’une seconde La tempo incrémente à des intervalles de 0,1 seconde La tempo incrémente à des intervalles de 0,01 seconde La tempo incrémente à des intervalles de 1 ms *K est uneconstante entière comprise entre 1 et 999. Exemple de tempo d’une seconde Le contact 10002 est fermé - c’est-à-dire que la tempo est activée - et la valeur du registre 40040 est 0. La sortie 00108 est sur ON et 00107 est sur OFF. Lorsque le contact 10001 est fermé, le registre 40040 s’incrémente de 1 toutes les secondes jusqu’à atteindre 5; la sortie 00107 passe sur ON et 00108 passe sur OFF. Lorsque le contact 10002 est ouvert, la valeur du registre 40040 est remise à 0, la sortie 00107 passe sur OFF et 00108 passe sur ON. 5 00107 10001 10002 T1.0 40040 00108 Compteurs et temporisateurs Breite: 151,5mm Höhe: 227,5mm 49 Exemple d’application: horloge en temps réel avec une temporisation en millisecondes 100 00001 40055 10 T1MS 1 UCTR 40054 00001 00002 00002 60 UCTR 40053 00003 00003 60 UCTR 40052 00004 24 UCTR 40051 00004 00005 00005 Cet exemple présente Ladder Logic pour une horloge en temps réel avec une précision en millisecondes. L’instruction T1MS est programmée pour laisser passer un état ON à des intervalles de 100 ms; elle est suivie par une cascade de quatre compteurs qui enregistrent respectivement le temps en unités de centièmes de seconde, de dixièmes de seconde, d’une seconde, d’une minute et d’une heure. Lorsque la résolution logique commence, la valeur du temps accumulée commence à incrémenter dans le registre 40055 du bloc T1MS. Après dix incréments d’une milliseconde, la sortie supérieure passe ON et excite la sortie 00001. A ce stade, la valeur du registre 40053 de la tempo est remise à zéro. La valeur de comptage accumulée dans le registre 40054 du premier bloc UCTR incrémente de 1, indiquant que 1 s a passé. La tempo recommence à accumuler le temps en ms parce que le comptage de 50 Compteurs et temporisateurs temps accumulé dans T1MS n’est plus égal à la valeur prédéfinie de la tempo. Lorsque le comptage accumulé dans le registre 40054 de la première instruction UCTR incrémente à 10, la sortie supérieure de ce bloc d’instructions passe ON et excite la sortie 00002. La valeur du registre 40054 est alors remise à 0 et le comptage dans le registre 40051 du second bloc UCTR est incrémenté de 1. Au fur et à mesure que le temps s’accumule dans chaque compteur, on peut lire l’horloge calendaire dans cinq registres comme suit: Registre Unité de temps 40055 centième de seconde (0 à 10) 40054 dixième de seconde (0 à 10) 40053 secondes (0 à 60) 40052 minutes (0 à 60) 40051 heures (0 à 24) Chapitre 5 Instructions mathématiques élémentaires j Instructions relatives aux opérations sur des entiers j Exemple d’application: conversion de degrés Fahrenheit en degrés centigrades Instructions mathématiques élémentaires Breite: 151,5mm Höhe: 227,5mm 51 Instructions relatives aux opérations sur des entiers Des instructions relatives à l’addition, à la soustraction, à la multiplication et à la division sont fournies pour le calcul sur Instruction Entrées (E) Structure I Addition sur entiers I Soustraction sur entiers absolus (aucun signe dans les valeurs) I Multiplication sur entiers 3x, 4x, ou K* O Supérieure: ON active une opération (val 1) + (val 2) Eléments Supérieur: valeur 1 3x, 4x, or K* Médian: valeur 2 ADD 4x Inférieur: somme 3x, 4x, ou K* O 3x, 4x, ou K* O SUB 4x O 3x, 4x, ou K* O Supérieure: ON active une opération (val 1) x val 2) Supérieure: ON active une opération (val 1) x val 2) 3x, 4x, ou K* Sorties (S) Supérieure: somme > 9999 Supérieur: valeur 1 Supérieure: val 1 > val 2 Médian: valeur 2 Médiane: val 1 = val 2 Inférieur: différence Inférieur: val 1 < val 2 Supérieur: valeur 1 Supérieure: répercute l’entrée supérieure Médian: valeur 2 Fonction Ajoute les valeurs de l’élément supérieur à celles de l’élément médian, puis enregistre le résultat dans le registre 4x de l’élément inférieur Soustrait la valeur de l’élément médian de celle de l’élément supérieur, puis enregistre la différence dans le registre 4x de l’élément inférieur Multiplie les valeurs des éléments supérieurs et médians, puis enregistre le résultat dans deux registres 4x contigus Inférieur: produit (chiffre d’ordre élevé) MUL 4x Division sur entiers avec un reste des entiers. Chacune des quatre instructions est une instruction à trois éléments juxtaposés. I 3x, 4x, ou K* O I 3x, 4x, ou K* O DIV 4x O Supérieure: ON active une opération (val 1) / (val 2) Supérieur: valeur 1** Supérieure: division réussie Médiane: 0 = reste fractionnaire 1 = reste décimal Médian: valeur 2 Médiane: si résultat > 999 une valeur 0 est renvoyée Inférieur: résultat (reste dans reg. 4x + 1) Divise la valeur de l’élément supérieur par celle de l’élément médian, puis enregistre le résultat dans le registre 4x de l’élément inférieur et le reste dans le registre 4x + 1 Inférieur: valeur 2 = 0 *K est une constante entière comprise entre 1 et 999. **Le dividende de l’instruction DIV est enregistrée dans les registres 3x ou 4x, alors le registre de l’élément supérieur est le premier de deux registres contigus. La demi valeur de poids fort 1 est enregistrée dans le registre affiché (3x ou 4x) et la demi valeur de poids faible 1 dans le registre contigu suivant (3x + 1 ou 4x + 1). 52 Instructions mathématiques élémentaires Pour les blocs MUL et DIV, deux registres contigus doivent être utilisés dans l’élément inférieur. Le premier des deux registres apparaît dans le bloc alors que la présence du second registre est implicite. Dans le bloc d’instructions MUL, la portion de poids fort du produit calculé est enregistrée dans le premier registre de l’élément inférieur et la partie poids faible dans le second registre de l’élément inférieur. Dans le bloc d’instructions DIV, le quotient est enregistré dans le premier registre de l’élément inférieur et le reste dans le second registre de l’élément inférieur. Vous pouvez également enregistrer la valeur de l’élément supérieur, à savoir la valeur à diviser par la valeur de l’élément médian, dans deux registres 3x et 4x contigus. Exemple de division Voici un exemple d’opération DIV où la valeur de l’élément supérieur, 105, est divisée par la valeur de l’élément médian, 25. Le quotient (4) est enregistré dans le registre 40271 et le reste (5) dans le registre 40272. 105 10001 25 10002 DIV 40271 Lorsque l’entrée médiane, à savoir le contact 10002, est ouverte, le reste est exprimé en fraction (0005); lorsque le contact 10002 est fermé, le reste est exprimé en tant que décimale (2000). Instructions mathématiques élémentaires Breite: 151,5mm Höhe: 227,5mm 53 Exemple d’application: conversion de degrés Fahrenheit en degrés centigrades Cet exemple établit la formule: °C = (°F - 32) x 5/9 Lorsque l’entrée supérieure du bloc d’instructions SUB est alimentée, la valeur de l’élément médian, 32, est soustraite de la valeur du registre 40007, un certain nombre de degrés Fahrenheit. La différence est placée dans le registre 41201. L’élément supérieur du bloc d’instructions DIV est alors excité et la valeur des registres 41202 et 41203 est divisée par 9. Le quotient, à savoir la conversion de la température en degrés centigrades, est enregistré dans le registre 40001 (et le reste dans le registre implicite 40002). L’entrée supérieure du bloc d’instructions MUL est alors alimentée, peu importe si le résultat de la soustraction est positif, négatif ou 0. S’il est négatif, la sortie 00011 est excitée pour indiquer une valeur négative. La valeur du registre de l’élément supérieur du bloc MUL, registre 41201, est alors multipliée par l5 et le produit est placé dans le registre 41202 et dans le registre implicite 41203. 54 40007 41201 41202 32 5 9 SUB 41201 MUL 41202 DIV 40001 00011 Note: Les branches verticales vers la sortie 00011 (indiquant une valeur négative) doivent être placées à gauche des branches verticales liant les trois sorties du bloc SUB. Instructions mathématiques élémentaires Chapitre 6 Instructions relatives à la gestion des données j Transfert de données de registres et de tables j Construction d’une pile de type premier entré premier sorti j Recherche dans une table j Transfert d’un bloc de données Instructions relatives à la gestion des données Breite: 151,5mm Höhe: 227,5mm 55 Transfert de données de registres et de tables Trois blocs d’instructions standard sont fournis pour transférer les données enregistrées dans des registres et des tables de registres: V transfert de registre à table ( R → T) DX, V transfert de table à registre ( R → T) DX, Instruction Transfert registre à table I 0x, 1x, * 3x, ou 4x O I 4x O I K** I 0x, 1x, * 3x, ou 4x O I 4x O Transfert table à registre I Transfert table à table R→T I 0x, 1x, * 3x, ou 4x O I 4x O I T→T K** Eléments Sorties (S) Supérieure: ON transfère les données et incrémente le pointeur Médiane: ON bloque le pointeur Inférieure: ON remet le pointeur à 0 Supérieur: registre source Supérieure: ON transfère les données et incrémente le pointeur Médiane: Supérieur: table source Supérieure: répercute l’entrée supérieure ON bloque le pointeur Médian: pointeur vers le registre cible (4x + 1) Médiane: pointeur = longueur table Inférieure: ON remet le pointeur à 0 Inférieur: longueur table* Supérieure: ON transfère les données et incrémente le pointeur Médiane: ON bloque le pointeur Supérieur: table source T→R K** Un Micro API Modicon peut effectuer le transfert d’un registre par cycle pour chaque instruction dans un programme Ladder Logic. Chaque instruction est une instruction à trois éléments juxtaposés. Entrées (E) Structure V transfert de table à table ( T → T) DX. Inférieure: ON remet le pointeur à 0 Médian: pointeur vers le registre cible (4x + 1) de la table cible Inférieur: longueur table* Médian: pointeur vers le registre cible (4x + 1) de la table cible Inférieur: longueur table* Fonction Supérieure: Copie un profil sur 16 répercute l’en- bits d’un registre trée supérieure source dans un registre de la table cible définie par le pointeur; le registre 4x Médiane: de l’élément médian pointeur = indique le pointeur. La longueur table commence à 4x table + 1. Supérieure: répercute l’entrée supérieure Médiane: pointeur = longueur table Copie le profil binaire d’un registre de la table source définie par le pointeur dans un registre cible indiqué par. Le registre 4x de l’élément médian est le pointeur. Le registre cible est en 4x + 1. Copie le profil binaire d’un registre de la table source dans un registre dans la même position définie par le pointeur dans une table cible; le registre 4x de l’élément médian est le pointeur; la table cible commence en 4x + 1. * Si vous utilisez une adresse 0x ou 1x, il faut que celle-ci soit un multiple de 16 + 1 (1, 17, 33, etc.) ce qui implique l’utilisation de 16 bits TOR (1 à 16, 17 à 32, 33 à 48). * K est une constante entière comprise entre 1 et 255. 56 Instructions relatives à la gestion des données Ce processus continue jusqu’à ce que le contenu du registre 30001 soit copié dans le registre 40345 de la table et le pointeur s’incrémente jusqu’à 5. A ce stade, la sortie médiane du bloc passe ON et valide la sortie 00135. 30001 10001 40340 00135 10002 →T R 5 10003 Dans l’exemple Ladder Logic ci-dessus, la valeur enregistrée dans le registre 30001 est transférée vers une table cible à cinq registres, de 40341 à 40345. Une valeur du registre 30001 est transférée dans un des registres de table lors de chaque cycle. Le pointeur vers la table cible, registre 40340, est spécifié dans l’élément médian de l’instruction registre vers table alors que le nombre de registres de la table 5 est spécifié dans l’élément inférieur. Lorsque le contact 10001 passe par ON pour la première fois, le contenu courant du registre 30001 est copié dans le registre 40341, le premier des cinq registres contigus de la table cible. La première table du registre cible est toujours le registre contigu suivant l’adresse affectée de le pointeur figurant dans l’élément médian du bloc d’instructions. Lorsque ce transfert a lieu, la valeur du registre de le pointeur s’incrémente de 0 à 1. Aucun transfert de registre à table supplémentaire n’est possible tant que le pointeur est égal à la longueur de la table spécifiée dans l’élément inférieur du bloc Pointeur 40340 Registre source 30001 1ère transition 2ème transition 3ème transition 4ème transition 5ème transition Table cible 40341 40342 40343 40344 40345 Si, après le second cycle, le contact 10002 est ON, le pointeur est bloqué, c’est-à-dire qu’il n’est pas incrémenté ni décrémenté et par conséquent la copie de la valeur courante du registre 30001 est effectuée dans le registre 40343. Si le contact 10003 est ON, le pointeur est remis à 0. Lors du cycle suivant, le contenu du registre 30001 est copié dans le registre 40342, le second registre de la table cible; le pointeur s’incrémente de 1 à 2. Note quand le registre pointeur a pour valeur 0, c’est le premier registre de la table qui est pointé. Instructions relatives à la gestion des données Breite: 151,5mm Höhe: 227,5mm 57 Construction d’une pile de type premier entré premier sorti Instruction Entrées (E) Structure I 0x, 1x, * 3x, ou 4x O 4x O FIN K** O 4x O 0x ou 4x O FOUT K** O Premier entré dans la file d’attente d’une pile I Premier sorti de la file d’attente d’une pile Supérieure: ON empile un profil binaire en haut de la pile Eléments Supérieur: registre source de la pile Sorties (S) Supérieure: répercute l’entrée supérieure Médian: Médiane: pointeur de la pile pile pleine Supérieure: ON dépile le profil binaire du bas de la pile Inférieur: longueur pile* Inférieure: pile vide Supérieur: pointeur de la pile 4x + 1 pile Supérieure: répercute l’entrée supérieure Médian: registre cible où le profil binaire est éjecté de la pile Inférieur: longueur pile* Médiane: pile pleine Fonction Empile un profil binaire de 16 bits du registre cible en haut de la pile ; le registre cible est indiqué par le registre 4x de l’élément supérieur Dépile un profil binaire 16 bits de la pile vers un registre cible; le registre cible est indiqué par le registre 4x de l’élément médian. Inférieure: pile vide * Si vous utilisez une adresse 0x ou 1x, il faut que celle-ci soit un multiple de 16 + 1 (1, 17, 33, etc.) ce qui implique l’utilisation de 16 bits TOR (1 à 16, 17 à 32, 33 à 48). ** K est une constante entière comprise entre 1 et 255. Les deux instructions ci-dessus vous permettent de placer les données dans une file d’attente d’une pile de type premier entré/premier sorti. L’instruction FIN empile le profil binaire d’un registre ou de 16 TOR dans un registre au sommet d’une table (ou d’une pile) de registres. Source 111 FIN Note Quand le registre pointeur a pour valeur 0, c’est le premier registre de la pile qui est pointé. Pointeur 111 Pile Source 222 FIN Pile Source 333 FIN Pile 58 Pointeur 222 111 Pointeur 333 222 111 Instructions relatives à la gestion des données FOUT dépile le profil binaire du bas de la pile hors de celle-ci et dans un registre cible. Attention FOUT écrit dans la table des sorties OX même si celles-ci sont forcées. Si une sortie a été désactivée pour réparation ou maintenance, un risque de potentiel existe car l’état de la sortie peut se modifier à la suite de l’opération FOUT. Lorsque vous validez une pile de type premier entré premier sorti en Ladder Logic, l’instruction FOUT doit s’exécuter lors de chaque cycle avant l’instruction FIN. Ainsi les données les plus anciennes de la pile sont effacées de la table cible avant que les données les plus récentes ne soient mises en file d’attente dans la pile. Si le bloc FIN est exécuté en premier lieu, toute tentative d’entrer les données dans une pile remplie est ignorée. Pointeur 333 Cible 222 Pile Source 444 FIN 111 FOUT 111 Pointeur 444 333 Pile 222 Instructions relatives à la gestion des données Breite: 151,5mm Höhe: 227,5mm 59 Recherche dans une table L’instruction SRCH vous permet de rechercher dans une table de registres un profil binaire figurant dans un des Instruction Entrées (E) Structure Recherche dans une table I 3x ou 4x O I 4x O SRCH K* registres de la table. SRCH est une instruction à trois éléments juxtaposés. Sorties (S) Eléments Supérieure: ON lance une recherche Supérieur: premier registre de la table source Supérieure: répercute l’entrée supérieure Médiane: 0 = recherche depuis le début 1 = recherche depuis la dernière occurrence Médian: Médiane: pointeur 4x dans occurrence trouvée l’emplacement de la table du registre contenant la valeur recherchée; la registre suivant, 4x + 1, contient la valeur recherchée Fonction Recherche dans une table de registres le profil binaire spécifié dans le registre suivant immédiatement le pointeur de l’élément médian Inférieur: longueur table* *K est une constante entière comprise entre 1 et 255. Exemple d’opération SRCH Le profil binaire recherché est 3333; cette valeur est dans le registre 40431 (le registre suivant immédiatement le registre pointeur de l’élément médian). 40421 10001 40430 00142 10002 SRCH 5 La table source recherchée possède cinq registres à commencer par le registre de maintien 40421, et leur contenu est le suivant: Registres de la table source 60 Contenu du registre 40421 = 1111 40422 = 2222 40423 = 3333 40424 = 4444 40425 = 5555 Lorsque le contact 10001 passe de OFF à ON, l’instruction recherche dans la table source le registre contenant 3333. Lorsque la valeur est trouvée (dans le registre 40423), la valeur du pointeur du registre 40430 est définie comme étant 3, indiquant que le troisième registre de la table source contient la valeur recherchée; la sortie 00142 est également ON pendant un cycle. Note Quand le registre pointeur a pour valeur 0, c’est le premier registre de la pile qui est pointé. Instructions relatives à la gestion des données Transfert d’un bloc de données L’instruction de transfert de bloc (BLKM) copie tout le contenu d’une table source de registres dans une table cible en un cycle. BLKM est une instruction à trois éléments juxtaposés. Instruction Entrées (E) Structure I Transfert d’un bloc 0x, 1x, * 3x, ou 4x O Supérieure: ON lance un transfert de bloc Attention Si des sorties OX sont utilisées en destination, BLKM effectuera le transfert, qu’elles soient forcées ou non. Si une sortie a été forcée pour réparation ou maintenance, un risque de potentiel existe car l’état de la sortie peut se modifier à la suite de l’opération BLKM. Eléments Supérieur: table source 0x** ou 4x Médian: table cible BLKM K*** Inférieur: longueur table* Sorties (S) Supérieure: répercute l’entrée supérieure Fonction Copie tout le contenu d’une table à une autre table de sorties ou de registres * Si vous utilisez une adresse 0x ou 1x, il faut que celle-ci soit un multiple de 16 + 1 (1, 17, 33, etc.) ce qui implique l’utilisation de 16 bits TOR (1 à 16, 17 à 32, 33 à 48). ** Si vous utilisez des adresses 0x en tant que cible, vous ne pouvez pas les programmer en tant que sorties, mais uniquement en tant que contacts faisant référence aux numéros de ces sorties. *** *K est une constante entière comprise entre 1 et 100. Exemple d’application: programme de chargement de recette au moyen de transfert de blocs Un programme Ladder Logic peut enregistrer un ensemble de recettes, chacune d’eux dans une table et chargeable sur demande dans une table de fonctionnement dans laquelle un processus générique est en cours d’exécution. Les recettes doivent être structurées avec des types d’informations semblables dans les registres correspondants. Si les informations relatives à la température de chauffage figurent dans le troisième registre d’une recette, des informations semblables doivent également figurer dans le troisième registre de toutes les autres recettes. On peut charger et retirer les recettes spécifiques du processus générique via instructions BLKM. L’exemple logique de la page suivante contient une table à huit registres dans laquelle on peut exécuter trois recettes différentes. La sélection des recettes est gérée par trois commutateurs d’entrée, les contacts 10101, 10102 et 10103. Instructions relatives à la gestion des données Breite: 151,5mm Höhe: 227,5mm 61 40101 10101 10102 10103 40201 BLKM 8 40109 10102 10101 10103 40201 BLKM 8 Pour exécuter le processus A par exemple, positionnez le contact 10101 sur ON et laissez les contacts 10102 et 10103 sur OFF. Lorsque l’entrée 10101 est excitée, elle laisse passer du courant par les contacts 10102 et 10103 N.F, et le premier bloc BLKM charge les recettes du processus A des registres 40101 à 40108 ves les registres 40201 à 40208. Les autres recettes, 40109 à 40116 ou 40117 à 40124 seront chargées en activant 10102 ou 10103. 40117 10103 10101 10102 40201 BLKM 8 62 Instructions relatives à la gestion des données Chapitre 7 Instructions relatives au traitement des données j Instructions logiques booléennes j Exemple d’application: moyenne sur une table simple j Complémentation binaire dans une matrice de données j Comparaison binaire dans une matrice de données j Détection et traitement binaires dans une matrice de données Instructions relatives au traitement des données Breite: 151,5mm Höhe: 227,5mm 63 Instructions logiques booléennes Trois instructions permettent d’effectuer des opérations ET, OU et OU exclusif. sorties ont été forcées pour réparation ou maintenance, un risque de potentiel existe car l’état de la sortie peut se modifier à la suite de l’opération logique. Attention Ces instructions booléennes modifient les sorties d’une matrice cible. Si des Instruction Entrées (E) Structure I ET booléen 0x, 1x, * 3x, ou 4x O Supérieure: Lance une opération ET OU booléen O Supérieure: Supérieur: Lance une opéra- matrice source tion OU logique OU exclusif booléen 0x, 1x, * 3x, ou 4x Supérieure: répercute l’entrée supérieure Effectue une opération OU logique sur les bits de la matrice source et les bits positionnés de manière équivalente dans la matrice cible, puis place le résultat dans la matrice cible recouvrant le profil binaire original Supérieure: répercute l’entrée supérieure Effectue une opération OU exclusif sur les bits de la matrice source et les bits positionnés de manière équivalente dans la matrice cible, puis place le résultat dans la matrice cible recouvrant le profil binaire original Inférieur: longueur matrice* OR K*** I Effectue une opération ET sur les bits de la matrice source et les bits positionnés de manière équivalente dans la matrice cible, puis place le résultat dans la matrice cible recouvrant le profil binaire original Médian: matrice cible 0x** ou 4x O Supérieure: Lance une opération OU exclusif 0x** ou 4x XOR K*** Supérieur: matrice source Médian: matrice cible Inférieur: longueur matrice* Fonction Supérieure: répercute l’entrée supérieure Inférieur: longueur matrice* AND K**** 0x, 1x, * 3x, ou 4x Supérieur: matrice source Sorties (S) Médian: matrice cible 0x** ou 4x I Eléments * Si vous utilisez une adresse 0x ou 1x, il faut que celle-ci soit un multiple de 16 + 1 (1, 17, 33, etc.) ce qui implique l’utilisation de 16 bits TOR (1 à 16, 17 à 32, 33 à 48). ** Si vous utilisez des adresses 0x en tant que cible, vous ne pouvez pas les programmer en tant que sorties, mais uniquement en tant que contacts faisant référence aux numéros de ces sorties. ***K est une constante entière comprise entre 1 et 100. 64 Instructions relatives au traitement des données Opération ET 0 Bits de matrice source Bits de matrice cible 0 1 0 1 0 0 Une instruction ET effectue une opération ET logique sur les bits d’une matrice source et les bits correspondants d’une matrice cible, puis place les résultats dans la matrice cible, recouvrant le profil binaire précédent qui s’y trouvait. 1 0 1 1 0 Matrice source 40600 1111111100000000 40601 1111111100000000 40604 1111111111111111 40605 0000000000000000 Matrice cible originale Lorsque le contact 10001 passe ON, la matrice de bits comprenant les registres 40600 et 40601 fait l’objet d’une opération ET avec la matrice de bits comprenant les registres 40604 et 40605. Matrice ayant fait l’objet d’une opération ET 40604 1111111100000000 40605 0000000000000000 OU 40600 De même, une instruction OU effectue une opération logique OU sur les bits d’une matrice source et les bits correspondants d’une matrice cible, puis recouvre la matrice cible avec les résultats de l’opération. 10001 40604 ET 2 Le résultat est alors copié dans les registres 40604 et 40605, recouvrant le profil binaire précédent. Note Les sorties ne peuvent pas être positionnées sur OFF au moyen de l’instruction OU. Opération OU 0 Bits de matrice source Bits de matrice cible 0 1 0 0 1 1 1 0 1 1 1 Instructions relatives au traitement des données Breite: 151,5mm Höhe: 227,5mm 65 Si par exemple nous effectuons une opération OU sur les deux mêmes matrices comme dans l’exemple ci-dessus: matrice source et les bits correspondants d’une matrice cible, puis recouvre la matrice cible avec les résultats de l’opération. Si par exemple nous effectuons une opération XOR sur les deux mêmes matrices comme dans l’exemple ci-dessus: 40600 10001 40604 OU 2 40600 10001 40604 XOR 2 le résultat est: Matrice source 40600 1111111100000000 40601 1111111100000000 le résultat est: Matrice cible originale 40604 40605 Matrice source 1111111111111111 0000000000000000 Matrice cible ayant fait l’objet d’une opération OU 40604 1111111111111111 40605 1111111100000000 40600 1111111100000000 40601 1111111100000000 40604 1111111111111111 40605 0000000000000000 Matrice cible originale Matrice cible ayant fait l’objet d’une opération XOR OU exclusif Une instruction OU exclusif effectue une opération logique XOR sur les bits d’une 40604 0000000011111111 40605 1111111100000000 Opération XOR 0 Bits de matrice source Bits de matrice cible 0 1 0 0 1 1 1 0 0 1 1 Archivage des valeurs de la matrice cible originale Si vous souhaitez enregistrer le profil binaire original à partir des registres de la matrice cible, utilisez l’instruction BKLM 66 pour copier les informations dans une autre table avant d’exécuter l’opération logique booléenne. Instructions relatives au traitement des données Exemple d’application: moyenne sur une table de valeur 40101 40202 40201 40203 40204 1 ADD 40202 ADD 40201 10006 →R T 84 40201 40201 40203 40201 DIV 40301 XOR 3 00003 Voici un programme d’application combinant trois calculs mathématiques sur des entiers avec un transfert de données et une instruction XOR. Il calcule la valeur moyenne de 84 valeurs enregistrées dans la table des registres 40101 à 40184. Lorsque le contact 10006 est ON, l’instruction table à registre exécute un transfert de données. La valeur du premier registre de la table est copiée dans 40204 et le pointeur de la table s’incrémente. Étant donné que la sortie supérieure de l’instruction table à registre est ON, le premier bloc ADD ajoute la valeur du registre 40204 à celle du registre 40202 (initialement 0); puis le résultat de cette addition recouvre la valeur précédente du registre 40202. La deuxième instruction est activée pour faire + 1 si l’addition déborde (> 9999); l’on incrémente ainsi le registre 40201 qui sera le poids fort du cumul dans 40201, 40202. L’exécution du programme se poursuit ainsi jusqu’à ce que toutes les valeurs de la table 84 aient été ajoutées les unes aux autres. A ce stade, la valeur du pointeur est 84, la sortie médiane passe ON et active l’instruction DIV. Le registre 40201 (représentant la partie de poids fort de la somme de toutes les valeurs des registres de la table) et 40202 (la partie de poids faible) sont divisés par 84. Le résultat est placé dans le registre 40301 et le reste dans le registre 40302 (étant donné que l’entrée médiane de l’instruction DIV est ON, le reste est exprimé comme étant une décimale). Le résultat de l’opération DIV est la valeur moyenne des valeurs courantes enregistrées dans les 84 registres de la table. Lorsque la sortie supérieure de l’instruction DIV est ON, l’instruction XOR est exécutée. Une opération OU exclusif est effectuée sur les valeurs des registres 40201 à 40203, remettant les registres à 0 et la sortie 3 passe ON indiquant que l’opération actuelle de moyenne sur les tables est terminée et qu’une nouvelle opération peut commencer le cycle suivant si 10006 est toujours ON. Instructions relatives au traitement des données Breite: 151,5mm Höhe: 227,5mm 67 Complémentation binaire dans une matrice de données L’instruction COMP complémente le profil binaire d’une matrice, c’est-à-dire qu’elle remplace tous les 0 par des 1 et tous les 1 par des 0, puis copie le résultat dans une deuxième matrice. Un matrice peut être complémentée lors d’un cycle. Attention COMP modifie toutes les sorties d’une matrice cible si elles ont été choisies en destination. Si des sorties ont été forcée pour réparation ou maintenance, un risque de potentiel existe car l’état des sorties peut se modifier à la suite de l’opération COMP. COMP est une instruction à trois éléments juxtaposés. Instruction I Complémentation binaire Entrées (E) Structure 0x, 1x, * 3x, ou 4x O Supérieure: Lance une opération de complémentation binaire Sorties (S) Eléments Supérieur: matrice source Supérieure: répercute l’entrée supérieure 0x** ou 4x Médian: matrice cible COMP K*** Inférieur: longueur matrice* Fonction Complémente les valeurs binaires de la matrice source et place les résultats dans la matrice cible * Si vous utilisez une adresse 0x ou 1x, il faut que celle-ci soit un multiple de 16 + 1 (1, 17, 33, etc.) ce qui implique l’utilisation de 16 bits TOR (1 à 16, 17 à 32, 33 à 48). ** Si vous utilisez des adresses 0x en tant que cible, vous ne pouvez pas les programmer en tant que sorties, mais uniquement en tant que contacts faisant référence aux numéros de ces sorties. *** K est une constante entière comprise entre 1 et 100. Exemple de complémentation binaire Le programme présente ci-dessous un bloc COMP avec une matrice source composée de deux registres, 40250 et 40251, et une matrice cible composée des registres 40252 et 40253. registre source et place les résultats dans le registre cible. Matrice source 40250 1111111100000000 40251 1111111100000000 40250 10001 40252 COMP 2 Lorsque le contact 10001 est ON, le bloc complémente les valeurs binaires du 68 Matrice cible complémentée 40252 0000000011111111 40253 0000000011111111 Toutes les valeurs enregistrées dans le registre cible avant l’activation de l’instruction COMP seront recouvertes par les valeurs sources complémentées par l’opération COMP. Instructions relatives au traitement des données Comparaison binaire dans une matrice de données L’instruction CMPR compare le profil binaire d’une matrice de registres avec le profil binaire d’une autre matrice. Lorsque la valeur binaire d’une matrice ne coïncide pas avec celle positionnée de Instruction I Comparaison binaire Entrées (E) Structure 0x, 1x, * 3x, ou 4x I O 4x O CMPR K** O manière équivalente dans l’autre matrice, alors une valeur indiquant l’emplacement de cette matrice est placée dans l’élément médian appelé pointeur. Sorties (S) Eléments Supérieure: Supérieur: Lance la comparai- matrice a son binaire Médiane: 0 = recommence à partir de la dernière inégalité 1 = recommence à partir du début Supérieure: répercute l’entrée supérieure Médian: 4x pointeur donnant le rang du bit discordant 4x+1 =début de la matrice B Inférieur: longueur matrice* Médiane: discordance détectée Fonction Compare les profils binaires des matrices a et b et signale l’inégalité Inférieure: état du bit différent dans la matrice a * Si vous utilisez une adresse 0x ou 1x, il faut que celle-ci soit un multiple de 16 + 1 (1, 17, 33, etc.) ce qui implique l’utilisation de 16 bits TOR (1 à 16, 17 à 32, 33 à 48). ** K est une constante entière comprise entre 1 et 100. Note Quand le pointeur a pour valeur 1, c’est le bit de poids fort du premier registre qui est pointé. Exemple de comparaison binaire Matrice a 44620 10001 44622 CMPR 2 0000000000000000 40621 1 0 0 0 0 0 0 0 1 0 0 0 0 01 0 0 Bit 1 00143 10002 40620 40623 00144 40624 Cet exemple illustre une comparaison binaire entre deux matrices de deux registres. La matrice a comprend les registres 44620 et 44621; la matrice b comprend les registres 44623 et 44624: bit 18 Bit 17 Matrice b 0000000000000000 0000000000000000 bit 32 La matrice a est comparée à la matrice b bit par bit lors de chaque cycle. Instructions relatives au traitement des données Breite: 151,5mm Höhe: 227,5mm 69 Lors de la première transition ON du contact 10001, les bits de la matrice sont comparés jusqu’au bit 17, où la valeur de la matrice a = 1 et celle de la matrice b = 0. A ce stade, une valeur de 17 est placée dans le pointeur du registre 44622, la comparaison s’arrête et les sorties 00143 et 00144 sont ON pendant un cycle. 70 Si le contact 10002 est ON, la fonction commence la comparaison à la position matricielle 1 de la transition suivante de 10001 et s’arrête à nouveau lorsque la valeur du registre 44622 = 17. Si le contact 10002 est OFF, la fonction commence la comparaison à la position matricielle 18 de la transition suivante de 10001 et s’arrête lorsque la valeur du registre 44622 = 25. Instructions relatives au traitement des données Détection et traitement binaires dans une matrice Trois instructions vous permettent d’examiner et de gérer les profils binaires d’une matrice de données: V L’instruction de détection du bit (SENS) signale l’état à 0 ou 1 le bit spécifié dans une matrice. V L’instruction de modification du bit (MBIT) modifie le bit spécifié dans une matrice. V L’instruction de permutation du bit (BROT) décale le profil binaire d’une matrice à gauche ou à droite en rotation ou perte du bit sortant. Il s’agit d’instructions à trois éléments juxtaposés. Instructions relatives au traitement des données Breite: 151,5mm Höhe: 227,5mm 71 Instruction Permutation binaire Détection binaire Modification binaire Entrées (E) Structure I 0x, 1x, * 3x, ou 4x I 0x** ou 4x I BROT K*** I 3x, 4x, ou K1*** O I 0x** ou 4x O I SENS K1** O I 3x, 4x, ou K1*** O O O I 0x** ou 4x O I MBIT O K1*** Sorties (S) Eléments Supérieure: Lance la permutation binaire Supérieur: matrice source Médiane: 0 = commence à gauche 1 = commence à droite Médian: matrice cible Inférieure: 0 = bit sort de la matrice 1= bit boucle au début de la matrice Inférieur: longueur matrice* Supérieure: Lance la détection. Supérieur: pointeur vers matrice Médiane: incrémente le pointeur après une détection binaire Médian: adresse du premier registre de la matrice Médiane: copie l’état du bit détecté Inférieure: remet le pointeur à 1 Inférieur: longueur matrice** Inférieure: pointeur > longueur matrice Supérieure: On modifie l’état du bit pointé Supérieur: pointeur vers matrice Médiane: 0= met le bit à 0 1 = met le bit à 1 Médian: Médiane: adresse du premier répercute registre de la matrice médiane Inférieure: incrémente le pointeur après une modification Inférieur: longueur matrice** * K est une constante entière comprise entre 1 et 100. la la Fonction Supérieure: répercute l’entrée supérieure Médiane: état du bit sortant de la matrice Permute ou décale le profil binaire d’une matrice, d’une position par cycle Supérieure: répercute supérieure Examine et signale l’état d’un bit spécifique, c.-à-d. 1 ou 0, dans une matrice; un bit par cycle peut être détecté l’entrée Supérieure: répercute l’entrée supérieure Modifie la valeur d’un bit de la matrice de 0 à 1 ou de 1 à 0; un bit par cycle peut être modifié l’entrée Inférieure: pointeur > longueur matrice ** K est une constante entière comprise entre 1 et 255. Attention MBIT et BROT modifient toutes les sorties d’une matrice cible. Si des sorties ont été forcées pour réparation ou maintenance, un risque de potentiel existe car l’état de la sortie peut se modifier à la suite de la manipulation binaire. Note Quand le pointeur a pour valeur 1, c’est le bit de poids fort du premier registre qui est pointé. 72 Instructions relatives au traitement des données Chapitre 8 Communications ASCII simples j Communication ASCII via un programme j Instruction COMM j Formats de données j Tableau des caractères ASCII j Exemple d’application: utilisation d’une console HHP en tant que terminal d’affichage ASCII Communications ASCII simples Breite: 151,5mm Höhe: 227,5mm 73 Communication ASCII via un programme L’instruction COMM vous permet de lire et d’écrire des éléments en caractères ASCII - claviers, terminal, lecteur de code à barres par exemple - via un des ports de communication intégrés àl’API ou, si l’API est parent, via un port comm d’un des API enfants sur le réseau d’extension. V Pour une opération d’écriture avec CR/LF, l’instruction COMM envoie automatiquement un retour chariot/avancement d’un interligne après l’envoi du nombre de caractères sélectionnés. Formats de message standard V Pour une opération d’écriture sans CR/LF, l’instruction COMM n’envoie pas automatiquement de retour chariot/avancement d’un interligne. Les capacités de communication ASCII offertes par les Micro API Modicon fournissent des formats de message standard simples. Ainsi, vous pouvez utiliser la mini-console de programmation 520 VPU19200 (HHP) peu coûteuse en tant qu’élément ASCII; la HHP elle-même ne prend pas en charge l’édition complète des messages/formats ASCII. V Pour une opération de lecture avec CR/LF, vous obtenez le format lorsque vous tapez le nombre sélectionné de caractères (c’est-à-dire prélevés du tampon de sortie) ou lorsque vous tapez un retour chariot ou un avancement d’un interligne; dans le second cas, CR/LF n’est placé dans aucun registre. Le tableau ci-dessous présente les formats, c’est-à-dire les types d’opération, à utiliser dans l’instruction COMM. V Pour une opération de lecture sans CR/LF, la seule façon d’obtenir le format est de saisir le nombre sélectionné de caractères. La différence entre les formats CR/LF (retour chariot/avancement d’un interligne) et sans CR/LF est la façon dont ils traitent les retours chariot et les avancements d’un interligne. Formats de messages standard Format Indicateur de format décimal Purge buffer de réception 1000 Purge buffer de réception sans CR/LF 1001 Lecture caractères ASCII, sans CR/LF 1010 Écriture caractères ASCII, sans CR/LF 1110 Lecture caractères ASCII, CR/LF 1020 Écriture caractères ASCII, CR/LF 1120 Lecture entier (1 à 4), sans CR/LF 1031... 1034 Écriture entier (1 à 4), sans CR/LF 1131... 1134 Lecture entier (1 à 4), CR/LF 1041... 1044 Écriture entier (1 à 4), CR/LF 1141... 1144 Lecture.hex. (1 à 4), sans CR/LF 1051... 1054 Écriture hex. (1 à 4), sans CR/LF 1151... 1154 Lecture hex. (1 à 4), CR/LF 1061... 1064 Écriture hex. (1 à 4), CR/LF 1161... 1164 74 Communications ASCII simples Instruction COMM Instruction Entrées (E) Structure I Lecture/écriture ASCII simple I 4x O 4x O COMM K* O Sorties (S) Eléments Supérieure: ON lance la fonction comm Inférieure: abandonne la fonction et active la partie médiane Supérieur: Début du bloc de contrôle Médian: Fonction d’écriture source ou fonction de lecture cible Inférieur: Taille de la table source/cible Fonction Exécute la fonction de communication ASCII définie dans le premier registre du Médiane: sur ON pendant bloc (registre 4x de un cycle en cas l’élément supérieur) de détection d’erreur Inférieure: sur ON pendant un cycle lorsque la fonction est terminée Supérieure: sortie ACTIVE *K est une constante entière comprise entre 1 et 255. Bloc de contrôle COMM (indiqué par le registre de l’élément supérieur de l’instruction) Num. de registre 4x 4x + 1 Contenu du registre Type de format de message standard (un des indicateurs de format décimal de la table figurant à la page précédente) Etat d’erreur COMM 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Aucune erreur 0000 00 API enfant non configuré sélectionné dans le registre 4x + 5 0001 01 Instruction COMM activée plus longtemps que le temps spécifié dans le registre 4x + 9 0010 02 Type (format) d’opération invalide sélectionné dans le registre 4x 0011 03 Nombre de caractères spécifiés dans le registre 4x + 2 supérieur à la constante de l’élément inférieur de l’instruction COMM 0100 04 Erreur dans le buffer de réception détectée 0101 05 Valeur erronée d’un entier détectée dans les données d’entrée ou de sortie 0 1 1 0 06 Valeur hex. erronée détectée dans les données d’entrée ou de sortie 0111 07 Le nombre d’octets à transmettre dépasse la taille du buffer d’émission, à savoir 256 octets pour le port local ASCII, 64 octets pour chaque enfant 1000 08 Aucun port local configuré pour ASCII 1001 09 Port utilisé par API parent/enfant 1010 10 API enfant invalide 1011 11 Ligne DSR active 1100 12 Note: Voir le tableau de la page suivante pour plus amples détails et les mesures à prendre en cas de réception d’une erreur. 4x + 2 Nombre de caractères fournis/prévus 4x + 3 Nombre de caractères traités (registre chargé par l’instruction) 4x + 4 Réservé pour utilisation Modicon 4x + 5 Numéro de port (1 pour un port de l’API local, 2 à 5 si l’API local est un parent utilisant un port d’un API enfant) 4x + 6 Réservé pour utilisation Modicon 4x + 7 Réservé pour utilisation Modicon 4x + 8 Réservé pour utilisation Modicon 4x + 9 Tempo d’activité maximal alloué à l’instruction Comm en xioms Communications ASCII simples Breite: 151,5mm Höhe: 227,5mm 75 Codes d’erreur de l’instruction COMM (renvoyés au second mot du bloc de contrôle) Code Erreur Observations 01 API enfant non configuré sélectionné dans le registre 4x + 5 La valeur du registre 4x + 5 spécifie l’API avec lequel l’instruction COMM va communiquer. Une valeur 1 sélectionne l’API local; une valeur 2 sélectionne l’API enfant nº 1; une valeur 3 sélectionne l’API enfant nº 2; etc. Note: Le port physique de l’API à utiliser pour une communication ASCII, à savoir comm 1, comm 2 ou exp link, est sélectionné lors de la configuration. On ne peut le sélectionner dynamiquement à partir de l’instruction COMM. 02 Instruction COMM activée plus longtemps que le temps spécifié dans le registre 4x + 9 03 Type (format) d’opération invalide sélectionné dans le registre 4x 04 Nombre de caractères spécifiés dans le registre 4x + 2 supérieur à la constante de l’élément inférieur de l’instruction COMM Pour les formats ASCII, chaque registre peut contenir deux champs (caractères ASCII). Ainsi, avec une taille 1, le nombre de champs doit être < 2 ainsi de suite.... Pour les formats d’entiers (1 à 4), chaque registre peut contenir un champ (un entier) avec une largeur comprise entre 1 et 4 chiffres. Pour les formats hex. (1 à 4), chaque registre peut contenir un champ (un nombre hexadécimal) avec une largeur comprise entre 1 et 4 nombres hexa. Pour tous les formats qui s’ajoutent à un retour chariot ou un avancement d’un interligne, ce-dernier ne requiert aucun enregistrement de registre. 05 Erreur dans le tampon réception détectée Cette erreur peut être une erreur de parité, de cadence ou trame. Pour effacer l’erreur, vous devez purger le buffer. 06 Valeur erronée d’un entier détectée dans les données d’entrée ou de sortie Valeurs valides (en décimales): Pour I1 0à9 Pour I2 0 à 99 Pour I3 0 à 999 Pour I4 0 à 9999 07 Valeur hex. erronée détectée dans les données d’entrée ou de sortie Valeurs hex. valides: Pour H1 0àF Pour H2 0 à FF Pour H3 0 à FFF Pour H4 0 à FFFF 08 Le nombre d’octets à transmettre dépasse la taille du buffer d’émission, à savoir 256 octets pour le port local ASCII, 64 octets pour chaque enfant Le nombre d’octets à envoyer dépend du format sélectionné et du nombre de champs à traiter. Pour le format ASCII, le nombre d’octets = le nombre de formats à traiter. Pour les formats entier ou hex., le nombre d’octets = le nombre de formats à traiter x le spécificateur de format (1 à 4). Si le nombre de champs à traiter est 2 par exemple, alors que le spécificateur de format est I3, le nombre d’octets à envoyer est 6 (2 x 3). Pour tous les formats, vous devez ajouter 2 aux nombres ci-dessus si le CR/LF est sélectionné, les CR/LF étant enregistrés dans le buffer d’émission. Aucun port local configuré pour ASCII Reconfigurer l’API et affecter le port souhaité ASCII 10 09 Port utilisé par API parent/enfant Dans un API parent, cette erreur indique que l’unité tente d’accéder à un port ASCII d’un API enfant alors que ce port a été configuré pour utilisation par l’enfant lui-même. Reconfigurer l’API enfant et affecter le port souhaité à l’API parent. Dans un API enfant, cette erreur indique que l’unité tente d’accéder au port ASCII local alors que ce port a été configuré pour utilisation par l’API parent. Reconfigurer l’API enfant et affecter le port souhaité à l’API enfant. 11 API enfant invalide l’API parent ne peut communiquer avec l’enfant par le réseau d’extension 12 DSR active Lorsqu’un port comm est configuré pour ASCII, il peut en réalité être en mode de commutation Modbus/ASCII, dans lequel la ligne DSR permet de commuter entre les deux protocoles de communication. Lorsque l’API est arrêté ou lorsque la ligne DSR est excitée alors que l’API est en marche, le port se reconfigure avec les paramètres Modbus définis dans la configuration. Lorsque l’API est en marche et la ligne DSR n’est pas excitée, le port se reconfigure avec les paramètres ASCII définis dans la configuration. 76 Communications ASCII simples Formats de données Format caractères ASCII Numéros de format 1010, 1110, 1020, 1120. Utilisation générale Émission/réception de caractères ASCII ou de données sur 8 bits. Les données sont codées sous forme de deux caractères par registre 4x, le premier caractère dans les huit bits les plus significatifs du registre et le second caractère dans les huit bits les moins significatifs. Utilisation dans une opération d’écriture Sans auto CR/LF Format obtenu après n caractères sortis des registres. Auto CR/LF Format obtenu après n caractères sortis des registres et sorties CR/LF. Utilisation dans une opération de lecture Sans auto CR/LF Format obtenu après n caractères entrés dans les registres. Auto CR/LF Format obtenu après n caractères entrés dans les registres ou CR/LF reçus dans le buffer. Format entiers (1 à 4) Numéros de format 1031 à 1034, 1131 à 1134, 1041 à 1044, 1141 à 1144. Utilisation générale Emission/réception de caractères entiers. Les données sont comprimées sous forme de 1 à 4 chiffres (en fonction du numéro de format sélectionné) par registre 4x. Elles sont justifiées à gauche, le premier chiffre du champ de données étant positionné à l’extrémité gauche. Utilisation dans une opération d’écriture Sans auto CR/LF Format obtenu après n entiers sortis des registres. Auto CR/LF Format obtenu après n entiers sortis des registres et sorties CR/LF. Utilisation dans une opération de lecture Sans auto CR/LF Format obtenu après n entiers entrés dans les registres. Auto CR/LF Format obtenu après n entiers entrés dans les registres ou CR/LF reçus dans le buffer. Communications ASCII simples Breite: 151,5mm Höhe: 227,5mm 77 Format hex. (1 à 4) Numéros de format 1051 à 1054, 1151 à 1154, 1061 à 1064, 1161 à 1164. Utilisation générale Émission/réception de caractères hex. Les données sont codées sous forme de 1 à 4 caractères (en fonction du numéro de format sélectionné) par registre 4x. Elles sont justifiées à droite, le premier chiffre du champ de données étant positionné à l’extrémité gauche. Utilisation dans une opération d’écriture Sans auto CR/LF Format obtenu après n caractères sortis des registres. Auto CR/LF Format obtenu après n caractères de données sortis des registres et sorties CR/LF. Utilisation dans une opération de lecture Sans auto CR/LF Format obtenu après n hexa entrés dans les registres. Auto CR/LF Format obtenu après n hexa entrés dans les registres ou CR/LF reçus dans le buffer. Format purge du buffer de réception Numéro de format 1000. Utilisation générale Purge du buffer de réception d’entrée. Dans l’API local, les octets sont purgés immédiatement. Si un API parent utilise le port comm de l’API enfant pour un fonctionnement ASCII, la purge est effectuée lorsque l’API enfant reçoit la demande de l’API parent; le parent envoie sa demande à la fin du cycle. Utilisation dans une opération d’écriture sans objet Utilisation dans une opération de lecture Tous les octets dans le buffer de réception sont éliminés. Format purge de n octets du buffer de réception Numéro de format 1001. Utilisation générale Purge d’un certain nombre d’octets du buffer d’entrée. Dans l’API local, les octets sont éliminés immédiatement. Si un API parent utilise le port comm de l’API enfant pour un fonctionnement ASCII, la purge est effectuée lorsque l’API enfant reçoit la demande de l’API parent; le parent envoie sa demande à la fin du cycle. Utilisation dans une opération d’écriture Utilisation dans une opération de lecture 78 sans objet Le nombre spécifié d’octets dans le buffer de réception est ignoré. Communications ASCII simples Tableau des caractères ASCII Décimal Octal Hex 0 000 00 1 001 01 2 002 3 003 4 Caractère ASCII Symbole ASCII Décimal Octal Hex NUL (nul) 33 041 21 ! SOH (début d’en-tête) 34 042 22 ” 02 STX (début de texte) 35 043 23 # 03 EXT (fin de texte) 36 044 24 $ 004 04 EOT (fin de transmission) 37 045 25 % 5 005 05 ENQ (demande de renseignements) 38 046 26 & 6 006 06 ACK ACK (accusé de réception) 39 047 27 ’ 7 007 07 BEL (tonalité) 40 050 28 ( 8 010 08 BS (espacement arrière) 41 051 29 ) 9 011 09 HT (tab horizontale) 42 052 2A * 10 012 0A LF (avancement d’un interligne) 43 053 2B + 11 013 0B VT (tab verticale) 44 054 2C ‘ 12 014 0C FF (éjection papier) 45 055 2D - 13 015 0D CR (retour chariot) 46 056 2E . 14 016 0E SO (code spécial/ ruban rouge) 47 057 2F / 15 017 0F SI (code normal/ruban noir) 48 060 30 0 16 020 10 DLE (échappement en transmission) 49 061 31 1 17 021 11 DC1 (caractère de service 1 X-ON) 50 062 32 2 18 022 12 DC2 (caractère de service 2 aux-ON) 51 063 33 3 19 023 13 DC3 (caractère de service 3 X-ON) 52 064 34 4 20 024 14 DC4 (caractère de service 1 aux-ON) 53 065 35 5 21 025 15 NAK (accusé de réception négatif) 54 066 36 6 22 026 16 SYN (fichier synchrone) 55 067 37 7 23 027 17 ETB (bloc de fin de transmission) 56 070 38 8 24 030 18 CAN (annulation) 57 071 39 9 25 031 19 EM (fin de support) 58 072 3A : 26 032 1A SUB (remplacement) 59 073 3B ; 27 033 1B ESC (échappement) 60 074 3C < 28 034 1C FS (séparateur de fichiers) 61 075 3D = 29 035 1D GS (séparateur de groupes) 62 076 3E > 30 036 1E RS (séparateur d’enregistrements) 63 077 3F ? 31 037 1F US (séparateur d’unités) 64 40 @ 32 040 20 SP (espace) 080 Communications ASCII simples Breite: 151,5mm Höhe: 227,5mm 79 Symbole ASCII Décimal Octal Hex 65 081 41 A 66 082 42 B 67 083 43 68 084 69 Symbole ASCII Octal Hex 97 121 61 a 98 122 62 b C 99 123 63 c 44 D 100 124 64 d 085 45 E 101 125 65 e 70 086 46 F 102 126 66 f 71 087 47 G 103 127 67 g 72 090 48 H 104 130 68 h 73 091 49 I 105 131 69 i 74 092 4A J 106 132 6A j 75 093 4B K 107 133 6B k 76 094 4C L 108 134 6C l 77 095 4D M 109 135 6D m 78 096 4E N 110 136 6E n 79 097 4F O 111 137 6F o 80 100 50 P 112 140 70 p 81 101 51 Q 113 141 71 q 82 102 52 R 114 142 72 r 83 103 53 S 115 143 73 s 84 104 54 T 116 144 74 t 85 105 55 U 117 145 75 u 86 106 56 V 118 146 76 v 87 107 57 W 119 147 77 w 88 110 58 X 120 150 78 x 89 111 59 Y 121 151 79 y 90 112 5A Z 122 152 7A z 91 113 5B [ 123 153 7B { 92 114 5C \ 124 154 7C | 93 115 5D ] 125 155 7D } 94 116 5E ^ 126 156 7E 95 117 5F _ 127 157 7F 96 120 60 ‘ 80 Communications ASCII simples Décimal ~ DEL (delete) Exemple d’application: utilisation d’une HHP en tant que terminal d’affichage ASCII Dans cet exemple, une mini-console de programmation 520VPU19200 portative est utilisée en tant que terminal d’affichage ASCII affichant un comptage de pièces et le temps de cycle. L’application utilise quatre instructions COMM distinctes: V La première COMM écrit le message ASCII, PART count =; elle utilise le format 1110 qui écrit les caractères ASCII suivis d’un retour chariot et d’un changement de ligne (CR/LF). V La seconde COMM écrit quatre entiers indiquant le comptage de pièces; elle utilise le format 1144 qui écrit quatre entiers suivis d’un retour chariot et d’un changement de ligne (CR/LF). V La troisième COMM écrit le message ASCII, CYCLE TIME =; elle utilise le format 1110. V La quatrième COMM écrit quatre entiers représentant le temps de cycle; elle utilise le format 1144. Les première et troisième instructions COMM utilisent le même bloc de contrôle. Les dix premiers registres de ce dernier, 40400 à 40409, sont les suivants: Bloc de contrôle pour les première et troisième COMM Numéro registre Valeur registre Signification Format de données: écriture caractère ASCII, CR/LF 40400 1110 40401 nn L’API génère un message d’erreur où nn est compris entre 00 et 12 (00 indique l’absence de problème) 40402 14 14 octets à envoyer au maximum 40403 nn Nombre de caractères traités (nn est conservé par l’API) 1 Communication ASCII gérée à partir de l’API local Réservé 40404 40405 40406 Réservé 40407 Réservé 40408 Réservé 40409 0 Sans temporisation Les chaînes de caractères ASCII sont enregistrées dans les registres 40410 à 40426 du bloc. Le tableau suivant présente les deux caractères ASCII de chaque registre et l’équivalent hexadécimal pour chacun d’eux. Communications ASCII simples Breite: 151,5mm Höhe: 227,5mm 81 Numéro registre Octet fort ASCII Octet faible ASCII Octet fort Hex Octet faible Hex 40410 P A 50 41 40411 R T 52 54 40412 ^ C 00 43 40413 O U 4F 55 40414 N T 4E 54 40415 ^ = 00 3D 40416 ^ ^ 00 00 40420 C Y 43 59 40421 C L 43 4C 40422 E ^ 45 00 40423 T I 54 49 40424 M E 4D 45 40425 ^ = 00 3D 40426 ^ ^ 00 00 ^ indique un espace caractère vide Les seconde et quatrième instructions COMM utilisent également le même bloc. Les dix premiers registres de ce bloc, 40430 à 40441, sont les suivants: Bloc de contrôle pour les secondes et quatrième COMM Numéro registre Valeur registre 40430 1144 40431 nn 40432 2 2 octets à envoyer au maximum 40433 nn Nombre de caractères traités (nn est conservé par l’API) 40434 40435 Signification Format de données: écriture quatre entiers, CR/LF L’API génère un message d’erreur dans lequel nn est compris entre 00 et 12 (00 indique l’absence de problème) Réservé 1 Communication ASCII gérée à partir de l’API local 40436 Réservé 40437 Réservé 40438 40439 82 Réservé 0 Sans temporisation Communications ASCII simples Le registre 40440 de ce bloc contient la valeur réelle du comptage des pièces. Le registre 4044 contient le temps de cycle réel en secondes. Le réseau 1 configure les blocs de contrôle pour les quatre instructions COMM. Ce sont les seuls registres à remplir. Le réseau 2 complète les première et seconde instructions COMM. Lorsque la 00126 passe ON, l’HHP affiche: PART COUNT = 223 Le curseur commence à partir de la ligne suivante à cause de la séquence CR/LF associée au format 1144. Le réseau 3 complète les troisième et quatrième instructions COMM. Lorsque la sortie 00127 passe ON, l’HHP affiche: CYCLE TIME = 8 Le curseur commence à partir de la ligne suivante à cause de la séquence CR/LF associée au format 1144. Réseau 1 111 40399 14 1 0 0 10 0 0 0 SUB 40399 MUL 40399 SUB 40402 SUB 40405 SUB 40409 40400 2 1 0 34 0 0 0 SUB 40432 SUB 40435 SUB 40439 MUL 40430 Réseau 2 le registre 40440 contient la valeur 223 40400 00125 STRT_MSG 40410 COMM 7 40430 40440 COMM 1 00126 SUITE Réseau 3 le registre 40441 contient la valeur 8 40400 00126 SUITE 40410 COMM 7 40430 40440 COMM 1 00127 MSG_CMPLT Communications ASCII simples Breite: 151,5mm Höhe: 227,5mm 83 84 Communications ASCII simples Chapitre 9 Instruction d’exécution de commandes en séquence j Instruction SCIF j Exemple d’application: chronologie avec les blocs SCIF Instruction d’exécution de commandes en séquence Breite: 151,5mm Höhe: 227,5mm 85 Instruction SCIF Instruction Entrées (E) Structure Eléments Supérieure: Supérieur: ON exécute l’in- indicateur d’étapes struction ICMP I Interface d’exécution des instructions en I séquence 4x I SCIF K* 4x O Médiane: ON en mode séquenceur incréO mente le pointeur d’étapes à l’étape suivante; ON en mode O comparaison transfère l’état de comparaison à la sortie médiane Inférieure: ON en mode séquenceur remet le pointeur d’étapes à 0; cette entrée n’est pas utilisée en mode comparaison Médian: premier registre de la table de données d’étapes; les six premiers registres de la table sont réservés comme on le voit cidessous Inférieur: nombre de registres de données d’étapes spécifiques à l’application de la table de données d’étapes; le nombre total de registres de la table est K + 6 Sorties (S) Fonction Supérieure: Exécute une ou deux répercute l’entrée fonctions telles qu’elles supérieure ont été définies par la valeur du premier registre de la table de Médiane: données d’étapes: en mode séquenceur, passe sur ON 0 = mode séquenceur, pendant la der- dans lequel le bloc nière étape -c-à-d. contrôle les sorties dans lorsque le pointeur l’application de l’ordre d’étapes = le séquenceur nombre maximal d’étapes; 1 = mode comparaison ON en mode d’entrées (ICMP), dans comparaison indi- lequel le bloc lit les que une comparai- entrées pour s’assurer son valide (1) ou que les fins de course, invalide (0) des les détecteurs de proxientrées mité, les boutons-pousInférieure: ON en cas de détection d’erreur soirs, etc., sont correctement positionnés pour permettre le déclenchement des sorties séquenceur *K est une constante entière comprise entre 1 et 255. Registres de la table des données d’étapes (indiqués par le registre de l’élément médian) Adresse Nom registre Description 4x Sous-fonction 0 = fonctionnalité mode séquenceur 1 = fonctionnalité mode comparaison d’entrées (ICMP) (Lorsque vous tapez une autre valeur dans ce registre, toutes les sorties passent sur OFF) 4x + 1 données de sorties masquées Chargé par SCIF chaque fois que le bloc est résolu; dans le registre figure le contenu du registre de données d’étape courante masqué par le registre masque de sortie (en mode séquenceur) données d’entrées brutes (en mode ICMP) Chargé par l’utilisateur à partir d’un groupe d’entrées séquentielles à utiliser par le bloc dans l’étape courante 4x + 2 données d’étapes courantes Chargé par SCIF chaque fois que le bloc est résolu; le registre contient les données de l’étape courante (indiquées par le pointeur) 4x + 3 masque de sortie (en mode séquenceur) masque de sortie (en mode ICMP) 4x + 4 4x + 5 non utilisé en mode séquenceur données d’entrées masquées Chargé par SCIF lors de chaque résolution de bloc, il contient le résultat de l’opération ET sur le masque d’entrée et les données d’entrées brutes (en mode ICMP) non utilisé en mode séquenceur état comparaison (en mode ICMP) 4x + 6 Chargé par l’utilisateur avant utilisation du bloc, le contenu ne sera pas altéré au cours de la résolution logique; contient un masque à appliquer aux données lors de chaque étape séquentielle Chargé par l’utilisateur avant utilisation du bloc, contient un masque faisant l’objet d’une opération ET avec les données d’entrées brutes pour chaque étape - les bits masqués ne seront pas comparés; les données masquées seront placées dans le registre données d’entrées masquées Table début de données* Chargé par SCIF lors de chaque résolution de bloc, il contient le résultat de l’opération ET sur les données d’entrées masquées et les données d’étapes courantes; du fait des entrées d’entrées non masquées qui ne sont pas dans un état logique, correct, le bit du registre associé devient 1 - les bits différents de 0 entraînent une inégalité et la sortie médiane passe sur ON depuis le bloc SCIF Le premier des registres K de la table contenant les données spécifiées par l’utilisateur *Ce registre et les autres représentent les données d’étapes spécifiques à l’application dans le processus en cours 86 Instruction d’exécution de commandes en séquence Les sous-fonctions DRUM et ICMP fonctionnent simultanément pour lire les entrées, déclencher les sorties et ordonner les étapes du processus. L’instruction SCIF émule électroniquement le séquenceur à tambour introduit au début des années 1900 et encore utilisé aujourd’hui dans des applications nécessitant une commande simultanée de moteurs, d’électrovannes, de contacteurs, etc. multiples à différents stades d’un processus. Le fonctionnement d’un tambour mécanique ressemble à celui d’un rouleau de piano mécanique. Un tambour comprend une série de cames et de surfaces planes. Chaque série représente une étape d’un processus et chaque came représente un changement d’état d’un élément mécanique du processus. Le tambour ne tourne que dans un seul sens de sorte que chaque série passe, l’une après l’autre, par un ensemble de contacts fixes. Au fur et à mesure que les cames d’une série donnée rencontrent les contacts, cette étape subit des modifications d’état mécanique. Tambour mécanique Avec un bloc SCIF, une table de données d’étapes est configurée avec un registre sur 16 bits pour représenter chaque étape du processus. La logique analyse la table du début à la fin, considérant chaque valeur 1 d’un registre comme étant une came et chaque 0 comme étant une surface plane d’une rangée sur le tambour mécanique. Valeur registre Contenu registre 4x 4x + 1 4x + 2 4x + 3 4x + 4 Table données étapes Registre configuration 4x + 5 4x + 6 1 0 11 1 0 0 1 1 0 0 1 1 1 0 0 0 Étape 1 4x + 7 1 0 01 1 1 0 0 1 1 0 0 0 0 1 1 1 Étape 2 4x + 8 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 Étape 3 4x + n 0 1 1 0 1 1 0 0 0 0 1 0 0 0 1 1 0 Derniere étape Table de données d’étapes d’un bloc SCIF L’instruction SCIF associe le concept de tambour mécanique à la puissance ajoutée et à la polyvalence du Micro API Modiconpourobtenirlesavantagessuivans: V réduction de la durée d’immobilisation du fait de l’élimination de plusieurs pièces en mouvement, V opérations de séquencement facilement programmées et maintenues, V davantage de précision en terme de synchronisation entre les étapes du processus, V plus grande flexibilité dans la définition des temps, des cames, des immobilisations. Les applications modernes du séquenceur à tambour comprennent le moulage des pneus et du caoutchouc, le moulage par injection, le moulage sous pression, le blindage, la mise en bouteille et d’autres utilisations à traitement par lots. SCIF combine deux sous-fonctions: DRUM et ICMP. Le mode DRUM permet d’affecter en séquences, pas à pas, un profil binaire prédéfini aux sorties d’un Micro API Modicon. Le mode ICMP (comparaison d’entrées) permet de faire correspondre les entrées en provenance des éléments utilisateur avec une table prédéfinie de profils binaires correspondant à chaque étape de DRUM. L’utilisation simultanée de DRUM et de ICMP permet au programmeur de déclencher les sorties et de comparer les états des entrées avec un état prédéfini. Si une discordance se produit, le processus est interrompu. Instruction d’exécution de commandes en séquence Breite: 151,5mm Höhe: 227,5mm 87 Exemple d’application: chronologie avec les blocs SCIF Cet exemple d’application Ladder Logic à trois réseaux explique comment les blocs SCIF peuvent être utilisés en mode DRUM et ICMP. Le réseau 1 démarre et arrête le cycle du séquenceur. Lorsqu’on appuye sur le bouton-poussoir Démarrage cycle, la logique pilote les cycles du séquenceur jusqu’à ce qu’on appuie sur le bouton Arrêt cycle ou E-stop. Si Arrêt cycle est requis, la séquence DRUM continue jusqu’à l’exécution de la dernière étape de la table de données d’étapes. Si on appuye sur E-stop, le DRUM s’arrête immédiatement sur l’étape en cours. Note Dans certaines applications, l’instauration de E-stop n’est pas souhaitable. Si un arrêt immédiat sur l’étape courante n’est pas souhaitable dans votre application lors d’un arrêt d’urgence, vous devez modifier la logique pour l’adapter à vos besoins spécifiques. Le réseau 1 gère le démarrage et l’arrêt de l’exemple séquenceur. La sortie 00128 - Cyclestart SCIF_CONTR - indique que le cycle SCIF a démarré. La sortie 00129 - Seq_start SCIF_CONTR - indique que la séquence SCIF a démarré ou redémarré. Réseau 1 10001 EMERG_STOP SCIF_CONTR 10002 Stop_cycle SCIF_CONTR 10003 Startcycle SCIF_CONTR 00128 CycleStart 00128 CycleStart SCIF_CONTR 0001 #000 00128 Cyclestart SCIF_CONTR 00130 Last_step SCIF_CONTR 0003 #000 10001 EMERG_STOP SCIF_CONTR 00129 Seq_start 00129 Seq_start SCIF_CONTR 0001 #000 Attention L’exécution de cet exemple déclenche des sorties réelles. N’utilisez cet exemple que sur un simulateur, et non sur une machine réelle. 88 Instruction d’exécution de commandes en séquence Le réseau 2 gère le temps de maintien de chaque étape du mode exploitation. La sortie 00131 - Next_step SCIF_CONTR - incrémente le pointeur SCIF jusqu’à l’étape suivante. Réseau 2 40150 Steppointr SCIF_CONTR 40200 Dwelltable SCIF_DWELL SCIF #0016 40201 Dwelltime SCIF_DWELL 00129 Seq_start SCIF_CONTR 00131 Next_Step SCIF_CONTR 0002 #000 00129 Seq_start SCIF_CONTR 0001 #000 Le réseau 3 contient les fonctions ICMP et DRUM à utiliser pour comparer les entrées du système avec une valeur prédéterminée et pour déclencher les sorties de l’exploitation. Le bloc BLKM du réseau 3 transfère les entrées en retour (capteurs, fins de course...)que le bloc SCIF en mode 00129 Seq_start SCIF_CONTR 0001 #000 T0.1 40400 Junk_reg SCIF_DWELL ICMP contigu surveille dans son registre 40100. Ce bloc SCIF compare alors l’état des entrées en retour avec le résultat attendu. La sortie 00132 - Compare_OK SCIF_CONTR - indique que les entrées SCIF ICMP égalent les valeurs prédéfinies souhaitées. 10129 Input_1 SCIF_ICMP 40201 Steppointr SCIF_CONTR 40101 ICMP_raw SCIF_ICMP 40100 ICMP_mode SCIF_ICMP BLKM #0001 SCIF #0016 00129 Seq_start SCIF_CONTR 0001 #000 00131 00132 Next_step Compare_OK SCIF_CONTR SCIF_CONTR 0002 #000 0003 #000 00130 Last_step SCIF_CONTR 0003 #000 00131 Next_Step Réseau 3 00132 Compare_OK 40201 Steppointr SCIF_CONTR 40201 DRUMmasked SCIF_DRUM 40515 DRUM_mode SCIF_DRUM 40515 Output_1 SCIF_DRUM SCIF #0016 SCIF #0016 00130 Last_step Instruction d’exécution de commandes en séquence Breite: 151,5mm Höhe: 227,5mm 89 Le réseau 3 exécute l’opération du séquenceur réel. Au fur et à mesure de l’exécution de chaque étape, la valeur du registre 40301 est modifiée par le bloc SCIF en mode DRUM de façon à refléter le profil binaire de l’étape en cours. Le bloc BLKM prend les données masquées du registre 40301 et les transfère dans les sorties 00001 à 00017. Ces sorties pourraient être directement affectées à des sorties réelles; Référence de contrôle Nº réf. Nom Fonction 00128 00129 00130 00131 00132 10001 10002 10003 40150 Cyclestart Seq_start Last_step Next_step Compare_OK EMERG_STOP Stop_cycle Startcycle Steppointr SCIF_CONTR SCIF_CONTR SCIF_CONTR SCIF_CONTR SCIF_CONTR SCIF_CONTR SCIF_CONTR SCIF_CONTR SCIF_CONTR cependant, il est aussi probable que les contacts de ces sorties permettent de verrouiller la logique responsable de la mise sur ON des entrées réelles. Mnémoniques et commentaires pour l’exemple d’application Les références du tableau ci-dessous permettent de commander le démarrage, l’arrêtetleverrouillagedelafonctionSCIF: Description Indique que le cycle SCIF a démarré Indique que la séquence SCIF a démarré/redémarré Indique SCIF à la dernière étape Incrémente le pointeur SCIF jusqu’à l’étape suivante Indique que les entrées SCIF ICMP = valeur prédéfinie souhaitée Arrêt d’urgence interrompt SCIF lors de l’étape courante Arrêt cycle pour SCIF arrête SCIF en fin de cycle Démarrage démarre le cycle SCIF Registre pointeur d’étapes contient le nº de l’étape courante de SCIF Les références du tableau ci-dessous sont utilisées dans la fonction SCIF. Lorsque celle-ci contient le temps de maintien des étapes, il faut l’utiliser en mode DRUM = 0. Références séjour Nº réf. Nom Fonction Description 40400 Junk_reg SCIF_DWELL 40200 Dwelltable SCIF_DWELL 40201 40206 40207 40208 40209 40210 40211 40212 40213 40214 40215 40216 40217 40218 40219 40220 40221 Dwelltime Dwelstep1 Dwelstep2 Dwelstep3 Dwelstep4 Dwelstep5 Dwelstep6 Dwelstep7 Dwelstep8 Dwelstep9 Dwelstep10 Dwelstep11 Dwelstep12 Dwelstep13 Dwelstep14 Dwelstep15 Dwelstep16 SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL SCIF_DWELL Registre des informations pour la tempo d’étape SCIF permettant de maintenir les temps pour chaque étape DRUM Temps courant pour l’étape courante Temps d’étape 1 Temps d’étape 2 Temps d’étape 3 Temps d’étape 4 Temps d’étape 5 Temps d’étape 6 Temps d’étape 7 Temps d’étape 8 Temps d’étape 9 Temps d’étape 10 Temps d’étape 11 Temps d’étape 12 Temps d’étape 13 Temps d’étape 14 Temps d’étape 15 Temps d’étape 16 90 Instruction d’exécution de commandes en séquence Les références du tableau ci-dessous sont utilisées par la fonction comparaison d’entrées (ICMP) de SCIF et sont associées aux entrées du système. Références fonction ICMP Nº réf. 10017 10018 10019 10020 10021 10022 10023 10024 10025 10026 10027 10028 10029 10030 10031 10032 40100 40101 40102 40103 40104 40105 40106 40107 40108 40109 40110 40111 40112 40113 40114 40115 40116 40117 40118 40119 40120 40121 Nom Input_1 Input_2 Input_3 Input_4 Input_5 Input_6 Input_7 Input_8 Input_9 Input_10 Input_11 Input_12 Input_13 Input_14 Input_15 Input_16 ICMP_mode ICMP_raw ICMP_CSD ICMP_imask ICMPmasked ICMPstatus ICMPstep1 ICMPstep2 ICMPstep3 ICMPstep4 ICMPstep5 ICMPstep6 ICMPstep7 ICMPstep8 ICMPstep9 ICMPstep10 ICMPstep11 ICMPstep12 ICMPstep13 ICMPstep14 ICMPstep15 ICMPstep16 Fonction Description SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP SCIF_ICMP 1er bloc d’entrée physique transféré å SCIF_ICMP 2ème bloc d’entrée physique transféré å SCIF_ICMP 3ème bloc d’entrée physique transféré å SCIF_ICMP 4ème bloc d’entrée physique transféré å SCIF_ICMP 5ème bloc d’entrée physique transféré å SCIF_ICMP 6ème bloc d’entrée physique transféré å SCIF_ICMP 7ème bloc d’entrée physique transféré å SCIF_ICMP 8ème bloc d’entrée physique transféré å SCIF_ICMP 9ème bloc d’entrée physique transféré å SCIF_ICMP 10ème bloc d’entrée physique transféré å SCIF_ICMP 11ème bloc d’entrée physique transféré å SCIF_ICMP 12ème bloc d’entrée physique transféré å SCIF_ICMP 13ème bloc d’entrée physique transféré å SCIF_ICMP 14ème bloc d’entrée physique transféré å SCIF_ICMP 15ème bloc d’entrée physique transféré å SCIF_ICMP 16ème bloc d’entrée physique transféré å SCIF_ICMP Sélectionne mode SCIF défini comme étant 1 pour ICMP Registre d’entrée des données brutes pour ICMP SCIF Contient les données d’étapes courantes pour la fonction ICMP Contient le masque d’entrée ICMP Résultat ET de données brutes avec les données d’étapes ICMP Contient l’opération XOR de données masquées et de données d’étapes ICMP 1ère entrée dans table données ICMP 2ème entrée dans table données ICMP 3ème entrée dans table données ICMP 4ème entrée dans table données ICMP 5ème entrée dans table données ICMP 6ème entrée dans table données ICMP 7ème entrée dans table données ICMP 8ème entrée dans table données ICMP 9ème entrée dans table données ICMP 10ème entrée dans table données ICMP 11ème entrée dans table données ICMP 12ème entrée dans table données ICMP 13ème entrée dans table données ICMP 14ème entrée dans table données ICMP 15ème entrée dans table données ICMP 16ème entrée dans table données ICMP Instruction d’exécution de commandes en séquence Breite: 151,5mm Höhe: 227,5mm 91 Les références du tableau ci-dessous sont utilisées par la fonction DRUM de SCIF et sont associées aux sorties du système. Références exploitation Nº réf. Nom Fonction Description 40300 40301 40302 40303 40304 40305 40306 40307 40308 40309 40310 40311 40312 40313 40314 40315 40316 40317 40318 40319 40320 40321 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 DRUM_mode DRUMmasked DRUM_CSD DRUM_omask DRUM_R1 DRUM_R2 DRUMstep1 DRUMstep2 DRUMstep3 DRUMstep4 DRUMstep5 DRUMstep6 DRUMstep7 DRUMstep8 DRUMstep9 DRUMstep10 DRUMstep11 DRUMstep12 DRUMstep13 DRUMstep14 DRUMstep15 DRUMstep16 Output_1 Output_2 Output_3 Output_4 Output_5 Output_6 Output_7 Output_8 Output_9 Output_10 Output_11 Output_12 Output_13 Output_14 Output_15 Output_16 SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM SCIF_DRUM Sélectionne mode SCIF, défini sur 0 pour DRUM Sorties DRUM masquées=données étapes courantes ET masque Etape en cours Masque sortie DRUM Registre 1 DRUM réservé Registre 2 DRUM réservé 1ère entrée dans table données DRUM 2ème entrée dans table données DRUM 3ème entrée dans table données DRUM 4ème entrée dans table données DRUM 5ème entrée dans table données DRUM 6ème entrée dans table données DRUM 7ème entrée dans table données DRUM 8ème entrée dans table données DRUM 9ème entrée dans table données DRUM 10ème entrée dans table données DRUM 11ème entrée dans table données DRUM 12ème entrée dans table données DRUM 13ème entrée dans table données DRUM 14ème entrée dans table données DRUM 15ème entrée dans table données DRUM 16ème entrée dans table données DRUM 1er bloc sortie physique transféré depuis SCIF_DRUM 2ème bloc sortie physique transféré depuis SCIF_DRUM 3ème bloc sortie physique transféré depuis SCIF_DRUM 4ème bloc sortie physique transféré depuis SCIF_DRUM 5ème bloc sortie physique transféré depuis SCIF_DRUM 6ème bloc sortie physique transféré depuis SCIF_DRUM 7ème bloc sortie physique transféré depuis SCIF_DRUM 8ème bloc sortie physique transféré depuis SCIF_DRUM 9ème bloc sortie physique transféré depuis SCIF_DRUM 10ème bloc sortie physique transféré depuis SCIF_DRUM 11ème bloc sortie physique transféré depuis SCIF_DRUM 12ème bloc sortie physique transféré depuis SCIF_DRUM 13ème bloc sortie physique transféré depuis SCIF_DRUM 14ème bloc sortie physique transféré depuis SCIF_DRUM 15ème bloc sortie physique transféré depuis SCIF_DRUM 16ème bloc sortie physique transféré depuis SCIF_DRUM 92 Instruction d’exécution de commandes en séquence Chapitre 10 Instructions relatives aux sous-programmes j Instructions relatives aux sous-programmes j Entrées d’interruptions et de compteurs/temporisateurs j Instruction CTIF j Exemple d’application CTIF Instructions relatives aux sous-programmes Breite: 151,5mm Höhe: 227,5mm 93 Instructions relatives aux sous-programmes On peut lancer la logique de sous-programme au moyen de l’élément médian d’une interruption matérielle ou d’une instruction basée sur un sous-programme (JSR). Si vous utilisez une interruption basée sur le matériel pour déclencher le sous-programme, vous devez configurer l’entrée à grande vitesse de l’API pour traiter l’(les) interruption(s) au moyen d’une instruction appelée CTIF. Le présent chapitre vous explique les deux méthodes de branchement et de sortie d’un sous-programme. Instruction Se branche sur un sous-programme Entrées (E) Structure I 4x or K* Inférieur: Valeur toujours constante de 1 O O Supérieure: ON active le sousprogramme spécifié O Supérieure: ON déclenche le retour hors de la fonction I LAB Retourne à Ladder Logic I RET 00001 K* Eléments Supérieur: Supérieure: ON active le sous- Valeur constante programme source ou de registre indiO quant le sous-programme souhaité JSR 00001 Libelle le sous-programme La logique d’un sous-programme figure toujours dans le dernier segment du programme Ladder Logic. Aucune autre logique que celle-ci n’y est enregistrée. Lors du lancement d’un sous-programme, le cycle logique se branche sur une instruction se trouvant dans le dernier segment appelé LAB. Cette instruction libelle le début de la logique de ce sous-programme. Lorsque le cycle logique atteint une instruction du sous-programme appelée RET, il sort du sous-programme et retourne à sa position initiale dans la logique de commande. Supérieur: Valeur toujours constante de 1 Instructions relatives aux sous-programmes Fonction Supérieure: répercute l’entrée Indique au cycle logique de se brancher sur supérieure un sous-programme spécifié dans le dernier segment (aléatoire) de la logique utilisateur Inférieure: ON en cas de détection d’erreur Supérieur: Supérieure: Valeur constante ON en cas de unique indiquant le détection d’erreur sous-programme sélectionné *K est une constante entière comprise entre 1 et 255. 94 Sorties (S) Supérieure: ON en cas de détection d’erreur Repère le point de démarrage du sousprogramme dans le segment logique utilisateur Ramène le cycle logique à l’instruction suivant immédiatement le point de branchement du sous-programme Vous trouverez ci-dessous une illustration conceptuelle de la façon dont un sous-programme est appelé à partir du Programme Principal. Lorsqu’un cycle logique du segment 1 trouve une instruction JSR activée, il se branche sur le sous-programme indiqué dans le segment 2. Seule la logique associée au sous-programme appelé est analysée dans le segment 2, toute autre logique de sous-programme étant ignorée. Lorsque le cycle logique trouve une instruction RET dans la logique de sous-programme, il revient à l’abonné suivant immédiatement l’instruction JSR du segment 1. SEGMENT 1 SEGMENT 2 Réseau 1 Réseau 1 LAB 00001 Logique de sous-programme nº 1 RET 00001 Réseau 2 10001 Réseau 2 00002 JSR 00001 LAB 00002 Logique de sous-programme nº 2 Réseau 3 Réseau 3 RET 00001 Instructions relatives aux sous-programmes Breite: 151,5mm Höhe: 227,5mm 95 Entrées d’interruptions et de compteurs / temporisateurs interruption sont très semblables aux sous-programmes lancés par JSR. Ils interrompent le cycle logique normal et l’envoient à une instruction LAB du segment 2 identifiant le début du sous-programme approprié. Le sous-programme est exécuté jusqu’à ce que le cycle trouve une instruction RET. A ce point, le cycle logique retourne à son emplacement précédent dans le segment 1. La principale différence est que le sous-programme lancé par l’interruption est déclenché par un événement externe causé par un élément câblé à l’entrée, alors que le sous-programme lancé par JSR est déclenché par la logique programme utilisateur. Les modèles 110CPU411, 110CPU512 et 110CPU612 du Micro API possèdent des entrées intégrées dans l’API pouvant être configurés en tant que compteurs rapides et/ou interruptions matériels. Ces entrées sont situées à gauche du bornier d’entrées au-dessus de l’API (pour les vis spécifiques du bornier, reportez-vous au manuel de votre matériel API). L’API peut lire ces entrées lors de chaque cycle exactement comme les points d’entrées standard. En outre, elles permettent de déclencher un comptage rapide ou des opérations de sous-programme lancées par le matériel dans le Programme Logique. Lorsqu’elles sont utilisées en tant qu’entrées standard, elles sont affectées aux adresses 10081 à 10088 de l’affectation d’E/S de l’API. Lorsqu’elles sont utilisées pour déclencher des opération d’interruption ou de comptage, il faut configurer ces entrées en Ladder Logic via une instruction appelée CTIF. CTIF configure le système interne d’interruption et de comptage rapide. Il n’est pas nécessaire d’adresser les entrées configurées par CTIF dans l’affectation d’E/S à moins que les adresses associées ne soient utilisées dans le programme logique. Pour lancer plusieurs interruptions sur la même entrée, le signal d’interruption doit faire une nouvelle transition positive. Le système d’exploitation Ladder Logic n’autorise aucune nouvelle interruption sur la même entrée avant que le sous-programme d’interruption précédent ne soit terminé depuis au moins 2 ms. Ce délai empêche un blocage de l’API qui serait provoqué par un flux continu d’interruptions à grande vitesse (> 2 ms) à l’entrée. L’interruption dédiée est connectée à l’UC de l’API par un filtre matériel qui introduit environ 50 μs de délai dans le sous-programme d’interruption. Le système d’exploitation peut également fonctionner avec les interruptions désactivées pendant un certain laps de temps, environ 300 μs. Ainsi, le lancement du sous-programme d’interruption pourrait être retardé d’environ 350 μs. Opération d’interruptions matérielles Lorsqu’une interruption matérielle est configurée, une transition positive (OFF/ON) de l’entrée active lance un sous-programme d’interruption. Les sous-programmes lancés par une 96 110CPU411 110CPU512 110CPU612 Entrée à grande vitesse 00 01 02 03 00 01 02 03 00 03 Interruption dédiée 1 1 1 1 2 1 1 2 2 2 Compteur/ interruption configurable 1 1 1 1 1 1 1 1 1 1 Instructions relatives aux sous-programmes Tous les API 110CPU411, 110CPU512 et 110CPU612 possèdent au moins une entrée dédiée aux signaux d’interruption et une autre entrée configurable via l’instruction CTIF en tant qu’interruption matérielle ou compteur rapide. Le système d’exploitation fonctionne avec les interruptions ignorées pendant un certain laps de temps, à savoir environ 300 μs. Ainsi, le lancement du sous-programme d’interruption pourrait être retardé d’environ 350 μs. Entrée du compteur rapide Pour lancer une autre interruption sur le même compteur, il faut le redémarrer. Le système d’exploitation Ladder Logic n’autorise aucune nouvelle interruption sur la même entrée avant que le sous-programme d’interruption précédent ne soit terminé depuis au moins 2 ms. Ce délai évite un blocage de l’API qui pourrait être provoqué par la spécification d’une petite valeur du compteur avec une horloge d’entrée rapide. Lorsque l’entrée configurable est définie pour un comptage rapide, il faut la configurer avec une valeur du compteur et l’activer. Ces conditions sont définies via l’instruction CTIF. Le compteur compte les impulsions sur son entrée jusqu’à ce qu’il atteigne la valeur du compteur, puis arrête le comptage. Vous pouvez configurer l’entrée de façon à ce que le comptage déclenche une interruption ou en adressant le comptage et le comptage courant dans l’affectation d’E/S. Instructions relatives aux sous-programmes Breite: 151,5mm Höhe: 227,5mm 97 Instruction CTIF Instruction Configure les entrées pour les opérations d’interruption et de compteur/ tempo Entrées (E) Structure I 4x O CTIF K* O Sorties (S) Eléments Supérieur: Premier mot du bloc de paramètres CTIF Inférieur: numéro d’API sur lequel l’opération est exécutée Supérieure: ON exécute les opérations spécifiées dans l’élément supérieur Fonction Supérieure: répercute l’entrée supérieure Configure les interruptions et les compteur/ tempo; se termine toujours lors du même cycle que celui au Inférieure: ON en cas de cours duquel elle a détection d’erreur démarré *K est une constante entière comprise entre 1 et 5 (K =1 > API parent, K2 = API enfant # 1...) Bloc de paramètres CTIF Registre 4x Type erreur/opération 1 2 3 4 5 Code erreur 6 7 8 0100 0101 0110 0111 1000 1001 1010 Chargement du compteur terminal: 0 Désactive 1 Active 10 11 2 3 4 5 6 7 8 9 Registre 4x + 2 3 10 11 15 16 12 13 14 15 16 1 0 Activer service inter. pour entrée compteur/tempo 0 1 Désactiver service inter. pour entrée compteur/tempo Etat pour fonctionnement en mode lecture 4 5 6 7 8 9 10 11 12 13 14 Int3 désactivé 0 Int3 activé 1 Int2 désactivé 0 Int2 activé 1 Aucun sous-prog. pour inter. tempo/compteur Aucun sous-programme pour interruption Int1 Aucun sous-programme pour interruption Int2 Aucun sous-programme pour interruption Int3 15 16 0 Mode compteur 1 Mode tempo 1 Fonct. compteur/tempo arrêté 0 Fonct. compteur/tempo démarré Int1 désactivé 0 Int1 activé 1 1 Fonct. auto-redémarrage activé 0 Fonct. auto-redémarrage désactivé 1 Service inter. pour entrée compteur/tempo activée 0 Service inter. pour entrée compteur/tempo désactivée Registre 4x + 3 Valeur comptage courante de l’entrée tempo/compteur (définie par le bloc d’instruction en tant que comptage courant en mode lecture; définie par l’utilisateur comme étant la valeur prédéfinie du compteur/tempo en mode init) 98 14 0 1 Mode compteur 1 0 Mode tempo 0 1 Arrêt fonct. compteur/tempo 1 0 Démarrage fonct. compteur/tempo 1 0 Activer fonct. auto-redémarrage 0 1 Désactiver fonct. auto-redémarrage Désactive service inter. pour Int1 0 1 Active service inter. pour Int1 1 0 2 13 Fonctionnement en mode Définition 1 Désactive service inter. pour Int3 0 1 Active service inter. pour Int3 1 0 Désactive service inter. pour Int2 0 1 Active service inter. pour Int2 1 0 1 12 0 0 Mode configuration Aucune erreur détectée 0 1 Mode Type spécifié d’opération non prise en charge lecture Interruption 2 non prise en charge par ce modèle Interruption 3 non prise en charge quand le compteur est sélectionné Valeur du compteur 0 spécifiée Valeur du compteur trop élevée (> 16,383) Type d’opération prise en charge uniquement sur l’API local Drop spécifié absent de l’affectation d’E/S Aucun sous-programme pour interruption activée Problème avec Drop distant Fonction non prise en charge de façon décentralisée 0000 0001 0010 0011 Registre 4x + 1 Type opération 9 Instructions relatives aux sous-programmes L’instruction CTIF est un outil de configuration/exploitation pour les Micro API Modicon contenant des interruptions matérielles (tous les modèles à l’exception des modèles 110CPU311). Le compteur/tempo et les interruptions réelles sont situés dans le matériel API et l’instruction CTIF permet de configurer ce matériel. Les illustrations ci-dessous expliquent l’interaction des options de configuration avec les fonctions d’interruption. Sous-programme imposé LAB 2 INT 1 ACTIF Entrée INT1 Contrôlé par les bits 7 et 8 INT 2 ACTIF Entrée INT2 (modèles CC uniquement) LAB 3 Contrôlé par les bits 5 et 6 INT 3 ACTIF Interruption câblée sélectionnable par l’utilisateur Contrôlé par les bits 3 et 4 OR TMR / CTR Tempo / compteur LAB 4 (Voir Note 1) TMR/CNTR ACTIF LAB 1 Contrôlé par les bits 9 et 10 (Voir Note 2) Note 1 INT 3 n’est disponible que lorsque le tempo/compteur n’est pas utilisé Note 2 Les bits 15 et 16 sélectionnent le mode (TMR ou CTR). En mode CTR, les impulsions sur l’entrée sont comptées. En mode TMR, l’entrée agit en tant que validation de la tempo et doit être ON pour temporiser. Type d’entrée Existence modèles 110CPU Interruption tempo/compteur sélectionnable par l’utilisateur Toute les unités 411, 512 et 612 Interruption 1 câblée Toute les unités 411, 512 et 612 Interruption 2 câblée Uniquement les unités utilisant le CC Interruption 3 sélectionnable par l’utilisateur Toute les unités 411, 512 et 612 Références RAM d’état pour données d’interruption Sous-programme déclenché par cette entrée 10081, mis à jour une fois/cycle 10084, mis à jour au début de chaque sous-programme 10082, mis à jour une fois/cycle 10085, mis à jour au début de chaque sous-programme 10083, mis à jour une fois/cycle 10086, mis à jour au début de chaque sous-programme Sous-programme nº 1 Sous-programme nº 2 Sous-programme nº 3 10081, mis à jour une fois/cycle 10084, mis à jour au début de chaque sous-programme Sous-programme nº 4 Instructions relatives aux sous-programmes Breite: 151,5mm Höhe: 227,5mm 99 Exemple d’application CTIF Voici un programme de démonstration de six réseaux expliquant la configuration et l’exploitation de la fonction dans les différents modes existants. Les deux premiers réseaux, écrits dans le segment 1 du programme, sont une logique de commande. Les quatre derniers réseaux, écrits dans le segment 2 (le dernier segment) sont une logique de sous-programme appelée par les interruptions câblées. L’exemple illustre les éléments suivants: V mode compteur rapide, V mode combiné tempo à grande vitesse (1 ms) et interruption, V mode interruption câblé. La possibilité d’exécuter deux interruptions câblées n’existe que dans les API alimentés CC ne figure pas dans cet exemple. Segment 1, Réseau 1 Le réseau 1 du segment 1, présenté à la page suivante, est le premier des deux réseaux. Toutes les informations du compteur/tempo programmées dans ce réseau ont été affectées pour figurer dans le registre d’entrée 30001; les données d’interruption câblées existent dans les entrées 10081 à 10088. Lorsque le contact 10001 passe de OFF à ON, les informations des registres 40501 et 40504 sont mises à zéro. Le registre 40501, le registre d’accumulation dans le sous-programme 1 (du segment 2), incrémente de 1 chaque fois qu’il est appelé par la fonction compteur/tempo. Le registre 40504, le registre d’accumulation du sous-programme 4, incrémente de 1 chaque fois l’entrée câblée compteur/tempo reçoit une impulsion en mode tempo. Les données de configuration des registres 40100 à 40103 sont déplacées dans le bloc de paramètres CTIF (registres 40300 à 40303). Ces informations sont immédiatement envoyées au CTIF et sont opérationnelles. Les informations configurent le bloc de paramètres comme suit: 100 Registre Contenu 40300 Informations sur code erreur et type de mode (toujours mode configuration) 40301 Informations relatives à la configuration réelle telle que la suivante: Chargement compteur terminal activé Service pour Int 3 activée Service pour Int 2 désactivée Service pour Int 1 désactivée Service pour Int entrée tempo/compteur activée Opération auto-redémarrage activée Démarrage opération tempo/compteur Mode tempo sélectionné Le profil binaire du registre est: 1 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 (A5AA en hexadécimal) 40302 Informations sur le statut 40303 Valeur prédéfinie du tempo: 400 La tempo continue à accumuler tant que le contact câblé est sur ON. Lorsque la valeur prédéfinie de la tempo est atteinte, le sous-programme 1 est appelé et sa fonction est exécutée: c’est-à-dire que 1 est ajouté au contenu du registre 40501. La tempo est remise à 0 et recommence tant que l’entrée câblée est sur ON parce que l’option auto-démarrage a été sélectionnée. La tempo ne se réinitialise que lorsqu’elle atteint sa valeur de réinitialisation. L’interruption 3 compte le nombre de passages de OFF à ON effectués par l’entrée. Lors de chaque passage de l’entrée reliée à la tempo, le sous-programme 4 est appelé et sa fonction est exécutée c’est-à-dire que 1 est ajouté au contenu du registre 40504. Lorsque le contact 10002 passe de OFF à ON, les informations des registres 40501 et 40502 mises à zéro. Le registre 40501, registre d’accumulation du sous-programme 1, incrémente de 1 lors de chaque appel par la fonction compteur/tempo. Instructions relatives aux sous-programmes Segment 1, Réseau 1 P 40501 CTR/TMR 10001 accumtrr Config tempo autoredémarrage 40504 40100 40300 TMR with INT 3 Start of accumtr auto-restartCTIF param block 40501 40504 40300 CTR/TMR accumtrr INT 3 accumtr Start of CTIF param block SUB SUB BLKM 40501 40504 #0004 CTIF #0001 40501 CTR/TMR accumtrr 40502 INT 1 accumtr 40504 INT 3 accumtr P 10003 Config tempo et interruption 1 40501 CTR/TMR accumtrr P 10002 Config compteur autoredémarrage 40501 CTR/ TMR accumtrr 40501 CTR/TMR accumtrr 40502 INT 1 accumtr 40502 INT 1 accumtr 40105 40300 CFR Start of with CTIF param autoblock restart 40502 INT 1 accumtr 40504 INT 3 accumtr 40110 Start of TMR without CTIF param block 40300 Start of CTIF param block SUB SUB SUB BLKM 40501 40502 40504 #0004 CTIF #0001 40300 Start of CTIF param block SUB SUB BLKM 40501 40502 #0004 CTIF #0001 Instructions relatives aux sous-programmes Breite: 151,5mm Höhe: 227,5mm 40300 101 Le registre 40502 est le registre d’accumulation du sous-programme 2, qui incrémente de 1 lors de chaque transition OFF/ON de l’entrée interruption 1 câblée. Chaque fois que l’interruption 1 câblée passe de OFF à ON, le sous-programme 2 est appelé et sa fonction est exécutée, c’est-à-dire que 1 est ajouté au contenu du registre 40502. Les données de configuration des registres 40105 à 40108 sont transférées dans le bloc de paramètres CTIF (registres 40300 à 40303). Ces informations sont immédiatement envoyées au CTIF et sont opérationnelles. Les informations configurent le bloc de paramètres comme suit: Lorsque le contact 10003 passe de OFF à ON, les informations des registres 40501, 40502 et 40504 sont mises à zéro. Le registre 40501, registre d’accumulation du sous-programme, incrémente de 1 chaque fois qu’il est appelé par la fonction compteur/tempo. Le registre 40501, registre d’accumulation du sous-programme 1, incrémente de 1 chaque fois qu’il est appelé par la fonction compteur/tempo. Le registre 40504, registre d’accumulation du sous-programme 4, incrémente de 1 chaque fois que l’entrée câblée compteur/tempo reçoit une impulsion en mode tempo. Registre Contenu 40300 Informations sur code erreur et type de mode (toujours mode configuration) 40301 Informations relatives à la configuration réelle telle que la suivante: Chargement compteur terminal activé Service pour Int 3 désactivée Service pour Int 2 désactivée Service pour Int 1 activée Service pour Int entrée tempo/compteur activée Opération auto-redémarrage activée Démarrage opération tempo/compteur Mode tempo sélectionné Le profil binaire du registre est: 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 (96A9 en hexadécimal) 40302 Informations sur l’état 40303 Valeur du précompte: 9999 Le contact câblé doit passer de OFF à ON pour que le compteur incrémente. Lorsque la valeur prédéfinie du compteur est atteinte, le sous-programme 1 est appelé à nouveau et il incrémente le contenu du registre 40501 de 1 lors de chaque appel. Le compteur est remis à 0 et recommence le comptage une nouvelle fois lorsque l’entrée câblée passe de OFF à ON parce que l’option auto-démarrage a été sélectionnée. Le compteur ne se réinitilise que lorsqu’il atteint le précompte. L’interruption 3 compte le nombre de passages de OFF à ON effectués par l’entrée. 102 Les données de configuration des registres 40100 à 40103 sont transférées dans le bloc de paramètres CTIF (registres 40300 à 40303). Ces informations sont immédiatement envoyées au CTIF et sont opérationnelles. Les informations définissent le bloc de paramètres comme suit: Registre Contenu 40300 Informations sur code erreur et type de mode (toujours mode configuration) 40301 Informations relatives à la configuration réelle telle que la suivante: Chargement compteur terminal activé Service pour Int 3 activée Service pour Int 2 désactivée Service pour Int 1 activée Service pour Int entrée tempo/compteur activée Opération auto-redémarrage activée Démarrage opération tempo/compteur Mode tempo sélectionné Le profil binaire du registre est: 1 0 1 0 0 1 1 0 1 0 0 1 1 0 1 0 (A69A en hexadécimal) 40302 Informations sur l’état 40303 Valeur prédéfinie du tempo: 400 Instructions relatives aux sous-programmes La tempo continue à s’accumuler tant que le contact câblé est sur ON. Lorsque la valeur prédéfinie du tempo est atteinte, le sous-programme 1 est appelé et sa fonction est exécutée, c’est-à-dire que 1 est ajouté au contenu du registre 40501. Dans cet exemple, l’option auto-redémarrage est désactivée. Le temporisateur est remis à 0, mais il ne commence pas à chronométrer avant que le contact 10003 ne passe à nouveau de OFF à ON, recommençant tout le processus. Chaque fois que l’interruption 1 câblée passe de OFF à ON, le sous-programme 2 est appelé et sa fonction est exécutée, c’est-à-dire qu’elle est ajoutée au contenu du registre 40502. Segment 1, réseau 2 Le second réseau du segment 1 suit la même configuration que le premier. La principale différence est le fait que le réseau 2 permet de configurer CTIF dans un API enfant. Les informations en provenance de ce-dernier ne sont pas directement accessibles à l’API parent. Segment 1, réseau 2 10004 Config for tempo with auto-restart 40115 TMR with auto-restart 40400 Start of CTIF param block 40400 Start of CTIF param block CTIF #0002 BLKM #0004 10005 Config for counter with auto-restart 40120 TMR with auto-restart & INT 1 40400 Start of CTIF param block 10006 Config for tempo without auto-restart 40125 TMR without auto-restart 40400 Start of CTIF param block 40400 Start of CTIF param block CTIF #0002 BLKM #0004 40400 Start of CTIF param block CTIF #0002 BLKM #0004 Instructions relatives aux sous-programmes Breite: 151,5mm Höhe: 227,5mm 103 Segment 2, sous-programmes Voici une série de quatre réseaux de sous-programmes appelés par les entrées câblées à partir des deux réseaux précédents. Segment 2, réseau 1 LAB #0003 LAB #0001 00001 Segment 2, réseau 3 00001 00003 40501 CTR/TMR accumultr 40503 #0001 #0001 ADD 40501 CTR/TMR accumultr ADD 40503 Segment 2, réseau 2 LAB #0002 00002 104 00003 Segment 2, réseau 4 LAB #0004 00002 00004 40502 INT 1 accumultr 40504 #0001 #0001 ADD 40502 INT 1 accumultr ADD 40504 Instructions relatives aux sous-programmes 00004 Chapitre 11 Instructions standard supplémentaires j Saut de réseaux j Vérification des mots d’état de l’API j Instructions relatives au cycle d’exécution Instructions standard supplémentaires Breite: 151,5mm Höhe: 227,5mm 105 Saut de réseaux L’instruction SKP vous permet de sauter un certain nombre de réseaux dans un programme. Lorsqu’elle est activée, l’instruction SKP est exécutée lors de chaque cycle. Le reste du réseau dans lequel se trouve l’instruction est considéré comme étant le premier réseau du nombre spécifié de réseaux à sauter: l’UC ignore les réseaux jusqu’à ce que le nombre total de réseaux sautés soit égal au nombre spécifié dans le bloc d’instructions ou jusqu’à ce que la frontière d’un segment soit atteinte. Une opération SKP ne peut traverser un segment. Vous pouvez activer une instruction SKP seulement si vous spécifiez que les sauts sont autorisées dans l’éditeur de configuration de l’API. Instruction Saut de réseaux logiques Structure I SKP 3x, 4x, or K* Entrées (E) Supérieure: ON active la fonction de saut Attention Si les entrées et les sorties qui normalement prennent en charge le processus, sont involontairement sautées, le résultat peut créer des conditions dangereuses pour le personnel et l’équipement d’application. Les sorties sautées sous SKP restent figées dans leur dernier état tout le temps que dure le saut. SKP est une instruction à un élément. Eléments Sorties (S) Supérieur: Spécifie le nombre de réseaux logiques à sauter Fonction Saute les réseaux de Ladder Logic dans le programme et n’exécute pas la logique sautée *K est une constante entière comprise entre 1 et 255. Exemple SKP simple Lorsque le contact 10001 est fermé, le reste du réseau 06 et tout le réseau 07 est sauté. La sortie 00001 est toujours gérée par le contact 10003 car elle est contrôlée avant SKP. Réseau 06 10003 10001 00001 SKP 2 Réseau 07 10003 106 Instructions standard supplémentaires 00002 Vérification des mots d’état de l’API Note Bien que vous soyez autorisé à spécifier un registre 0x ou 4x de l’élément supérieur, nous vous recommandons de spécifier un registre 4x du fait du nombre excessif d’adresses 0x qui serait requis pour gérer les informations relatives à l’ état. Le registre spécifié dans l’élément supérieur du bloc est chargé avec le profil paramètres binaires du mot 1. Le nombre de registres spécifié dans l’élément inférieur déterminera la longueur de la table de mots d’état. Les Micro API Modicon gardent en mémoire une table dans laquelle figurent des informations de diagnostic vital relatives à L’API, à ses E/S et à ses communications. La table a une longueur de 56 mots et son contenu est structuré comme suit: Mot d’état 1 ... 11 12 ... 31 32 Contenu du registre du statut Informations sur le statut de l’U.C. Etat des emplacements d’E/s Codes d’erreurs générées lors du démarrage du système 33 ... 36 Etat des emplacements d’E/S 37 ... 40 Etat des communications d’E/S de la station locale 41 ... 56 Etat des communications d’E/S vers et à partir des stations décentralisées Chaque mot d’état a 16 bits et les informations d’état sont indiquées par test des bits dans chaque mot. Les illustrations des pages suivantes expliquent comment les informations d’état sont présentées dans la table des mots d’état. On peut accéder à certains ou à tous les mots de la table des états au moyen de l’instruction STAT. Le bloc STAT affiche le profil binaire des mots d’état dans une table de registres 4x contigus dont les paramètres apparaissent alors dans le logiciel. Instruction Mots d’état de l’ UC et des E/S. Entrées (E) Structure I 0x or 4x O Supérieure: ON accède à la table des états STAT K* Si, par exemple, vous ne souhaitez accéder qu’aux informations relatives aux états de l’API, vous pourriez spécifier une adresse du registre de 40701 par exemple dans l’élément supérieur du bloc et une valeur de 11 dans l’élément inférieur. Les valeurs binaires de 11 premiers mots de la table d’états seront chargées respectivement dans les registres 40701 à 40711. Si vous souhaitez charger toute la table des états, spécifiez 56 dans l’élément inférieur de l’instruction. Si vous n’utilisez pas les E/S externes, il vous suffit de spécifier 40 dans l’élément inférieur pour obtenir toutes les informations pertinentes sur l’état général. STAT est une instruction à deux éléments juxtaposés. Eléments Supérieur: premier mot de la table des états du système Inférieur: taille de la table des états Sorties (S) Supérieure: opération terminée Fonction Va chercher les données d’état dans la table des états dans la mémoire du système et les affiche dans les registres utilisateur *K est une constante entière comprise entre 1 et 56. Instructions standard supplémentaires Breite: 151,5mm Höhe: 227,5mm 107 Table des états du Micro API Modicon Mot 1 Etat UC Si le bit est défini comme étant 1, la condition est VRAIE 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Pile défectueuse U.C. à l’arrêt 1 = logique utilisateur sur 16 bits 0 = logique utilisateur sur 24 bits Cycle unique activé Cycle constant activé Mot 2 Adresse station API 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 API configuré en mode simple ou parent = API configuré en tant qu’enfant nº 1 sur un réseau d’E/S étendu = 001 010 01 02 API configuré en tant qu’enfant nº 2 sur un réseau d’E/S étendu = API configuré en tant qu’enfant nº 3 sur un réseau d’E/S étendu = 011 100 03 04 API configuré en tant qu’enfant nº 4 sur un réseau d’E/S étendu = 101 05 Mot 3 Etat API supplémentaire Si le bit est défini comme étant 1, la condition est VRAIE 1 2 3 4 5 6 7 8 9 10 11 Temps de cycle ayant dépassé le temps prévu du cycle constant Commande DÉMARRAGE U.C. en attente Premier cycle 12 13 14 15 16 Nb. de cycles uniques Mot 4 Nombre maximal de stationss autorisés sur un réseau d’E/S 1 2 3 4 5 6 7 8 9 10 11 12 13 (toujours défini comme étant 4) 108 Instructions standard supplémentaires 14 15 100 16 Table des états du Micro API Modicon (suite) Mot 5 Conditions d’arrêt de l’U.C. Si le bit est défini comme étant 1, la condition est VRAIE 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Configuration API invalide Bobine forcée en mode optimisé Erreur checksum logique Instruction illégale dans le programme Erreur fatale sur la liaison E/S A120 Discordance table sorties utilisées/programme Erreur horloge temps réel Tempo chien de garde dépassée Nombre invalide de DOIO/EOL Test de la RAM d’état échoué Absence de SON lors du démarrage d’un segment Scrutateur de segments invalide Intervention périphérique invalide Erreur dans l’affectation d’E/S Arrêt port périphérique Mot 6 Segments dans le programme 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Nombre de segments dans le programme Ladder Logic courant Mot 7 Indicateur fin de logique 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Adresse de l’indicateur EOL (fin de ligne) Mot 8 Réservé Mot 9 Réservé Mot 10 État exécution/chargement/debug 1 2 3 4 5 6 7 8 9 10 11 12 13 MODIF = OPTIMIZE = CHARGEMENT = 14 15 16 00 01 10 Mot 11 Réservé Instructions standard supplémentaires Breite: 151,5mm Höhe: 227,5mm 109 Table des états du Micro API Modicon (Suite) Mots 12 à 31 Etat des unités d’E/S Quatre mots contigus sont utilisés par chacun des cinq Micro API Modicon sur un réseau d’extension d’E/S; un mot de chaque groupe de quatre est utilisé par chaque embase d’E/S possible, prenant en charge une extension d’E/S A120. Mot API Embase 12 13 14 15 1 1 2 3 4 16 17 18 19 2 1 2 3 4 20 21 22 23 3 1 2 3 4 24 25 26 27 4 1 2 3 4 28 29 30 31 5 1 2 3 4 L’embase 1 est toujours un Micro API Modicon et les embases 2 à 4 sont des embases A120 connectés au Micro via un port d’extension d’E/S A120. Chaque mot comprend cinq bits représentatifs indiquant l’état de l’unité d’E/S associée à chaque embase, c’est-à-dire que chaque embase peut prendre en charge un maximum de cinq emplacements d’E/S: Si le bit est défini comme étant 1, l’emplacement possède une unité d’E/S valide 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Emplacement 5 Emplacement 4 Emplacement 3 Emplacement 2 Emplacement 1 Pour ce qui est des modules d’E/S A120, un emplacement est la position physique du module dans son boîtier DTA. Quant au Micro API Modicon, l’emplacement est lié aux composants fixes de l’unité, à savoir: • L’emplacement 1 représente les entrées et les sorties T.O.R. fixes de l’unité • L’emplacement 2 représente l’ état des composants de l’interruption dédiée de l’unité • L’emplacement 3 représente le comptage compteur/tempo sélectionnable par l’utilisateur de l’unité • L’emplacement 4 représente les entrées et les sorties analogiques fixes de l’unité • L’emplacement 5 représente le composant de transfert des données de l’unité pour l’extension d’E/S (parent/enfant) Un emplacement d’E/S est valide lorsque il est correctement configuré et adressé dans l’affectation d’E/S, son fonctionnement est correct et des communications valides existent entre lui et l’UC qui le gère. Conversion du Mot nº en API et embase Mot nº de - 12 4 = quotient + reste où quotient + 1 = station nº reste + 1 = embase nº 110 Instructions standard supplémentaires Conversion de la station et du embase en Mot nº Mot nº = (station nº x 4) + embase nº + 7 Table des états Micro API Modicon (suite) Mot 32 Code d’erreurs de démarrage (toujours 0 lorsque le système est exécuté correctement) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Longueur affectation d’E/S erronée Numéro de liaison erroné des API enfants du réseau Nombre d’API enfants dans l’affectation d’E/S erroné Checksum de l’affectation d’E/S erroné 000001 000010 000011 000100 01 02 03 04 Longueur du descripteur API enfant erroné Nombre d’API enfants erroné Temps de maintien erroné de l’API enfant sur le réseau Numéro de port ASCII erroné Nombre d’emplacements erronés dans un API enfant API enfant déjà configuré Port comm déjà configuré Nombre de points de sortie supérieur à 1024 Nombre de points d’entrée supérieur à 1024 001010 001011 001100 001101 001110 001111 010000 010001 010010 10 11 12 13 14 15 16 17 18 Adresse emplacement erronée Adresse embase erronée Nombre d’octets de sortie erroné Nombre d’octets d’entrée erroné 010100 010101 010110 010111 20 21 22 23 Première adresse affectée erronée Seconde adresse affectée erronée Sans octets d’entrée ni de sortie TOR non sur un modulo sur 16 bits 011001 011010 011011 011100 25 26 27 28 Unité de sortie impaire non couplée Unité d’entrée impaire non couplée Adresse unité d’entrée/sortie impaire sans correspondance Adresse 1x après registre 3x Adresse unité fictive déjà utilisée Adresse 3x non fictive Adresse 4x non fictive 011110 011111 100000 100001 100010 100011 100100 30 31 32 33 34 35 36 Adresse 1x fictive, puis réelle Adresse 1x réelle, puis fictive Adresse 3x fictive, puis réelle Adresse 3x réelle, puis fictive Nombre excédentaire de points d’E/S dans une station 101000 101001 101010 101011 101100 40 41 42 43 44 Embase descripteur unité erronée Emplacement descripteur unité erronée Comptage d’octets d’entrée descripteur unité erroné Comptage d’octets de sortie descripteur unité erroné Gestionnaire d’E/S non chargé L’unité ne peut être utilisée que dans embase 1 110010 110011 110100 110101 110110 110111 50 51 52 53 54 55 Mot 33 Communications globales pour un API en mode parent ou simple: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0 = communication avec tout API enfant sur le réseau d’extension d’E/S Nombre d’interruptions de communications échouée non récupérables sur une configuration API du réseau d’extension d’E/S. pour un API en mode enfant: 1 2 3 4 5 6 7 0 = l’API enfant n’a pas reçu de commande de sortie valide de l’API parent avant expiration du temps de maintien 8 9 10 11 12 13 14 15 16 Nombre d’expirations du temps de maintien de l’API enfant Instructions standard supplémentaires Breite: 151,5mm Höhe: 227,5mm 111 Tables des états Micro API Modicon (suite) Mot 34 Communications globales supplémentaires pour un API en mode parent: 1 2 3 4 5 6 7 8 9 Nombre d’absences de réponses dans le système 10 11 12 13 14 15 16 Nombre de tentatives de relance dues à une erreur comm précédente pour un API en mode enfant: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Nombre restant de ms avant expiration du temps de maintien Mot 35 Communications globales supplémentaires (pour un API en mode parent uniquement) 1 2 3 4 5 6 7 8 9 Nombre d’erreurs de parité détectées parmi les caractères reçus 10 11 12 13 14 15 16 Nombre d’erreurs de trame détectées parmi les caractères reçus Mot 36 Communications globales supplémentaires (pour un API en mode parent uniquement) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Nombre d’erreurs de cadence détectées parmi les caractères reçus Dernière erreur de parité détectée Dernière erreur de trame détectée Dernière erreur de cadence détectée Dernière erreur de non réponse détectée Mot 37 Communications valides dans embase 1 (pour une extension A120 uniquement) Si le bit est défini comme étant 1, la condition est VRAIE 1 2 3 4 5 6 7 8 9 Toutes les unités valides 10 11 12 13 14 15 16 Nombre de passages d’une unité locale de valide à invalide Mot 38 Détection d’erreurs d’E/S dans embase 1 (pour une extension A120 uniquement) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Nombre de détections d’une erreur lors de la communication avec E/S Mot 39 Comptage des tentatives de relance d’E/S dans embase 1 (pour une extension A120 uniquement) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Nombre de tentatives de relance dans un emplacement d’E/S local Mot 40 est réservé, tous les bits sont 0. 112 Instructions standard supplémentaires 16 Tables des états Micro API Modicon (suite et fin) Mots 41 à 56 Pour les communications sur le réseau d’extension d’E/S ils n’ont de signification que sur les unités parent Chaque API enfant potentiel du réseau est décrit par un groupe de quatre mots contigus: Mots 41 à 44 s’appliquent à L’API enfant nº 1 Mots 45 à 48 s’appliquent à L’API enfant nº 2 Mots 49 à 52 s’appliquent à L’API enfant nº 3 Mots 53 à 46 s’appliquent à L’API enfant nº 4 Mots 41, 45, 49, 53 Format 1 2 3 4 5 6 7 8 9 0 = communication échouée de l’API parent à un API enfant spécifique 10 11 12 13 14 15 16 Nombre de communications échouées irrécupérables avec l’API enfant spécifique 1 = communication réussie avec un API enfant spécifique Mots 42, 46, 50, 54 Format 1 2 3 4 5 6 7 8 Nombre d’absences de réponses d’un API enfant spécifique 9 10 11 12 13 14 15 16 Nombre de tentatives de relance dues à une erreur comm précédente Mots 43, 47, 51, 55 Format 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Nombre d’erreurs de trame détectées parmi les caractères reçus d’un API enfant spécifique Nombre d’erreurs CRC détectées parmi les caractères reçus d’un API enfant spécifique Mots 44, 48, 52, 56 Format 1 2 3 4 5 6 7 8 9 10 Dernière erreur de CRC détectée Dernière erreur de trame détectée 11 12 13 14 15 16 Nombre d’erreurs de cadence détectées parmi les caractères reçus Dernière erreur de cadence détectée Dernière erreur de non réponse détectée Instructions standard supplémentaires Breite: 151,5mm Höhe: 227,5mm 113 Instructions relatives au cycle d’exécution Les fonctions de cycle vous permettent d’analyser la logique à des intervalles fixes (elles n’accélèrent pas la résolution de la logique par l’automate et ne terminent pas prématurément les cycles). Les cycles peuvent être constants ou prédéterminés selon un certain nombre fixe de cycles, c’est-à-dire les cycles uniques. Le cycle constant vous permet de cibler vos temps de cycle entre 10 et 200 ms (multiples de 10 ms). Un temps de cycle prévu est le temps écoulé entre le début d’un cycle et le début du cycle suivant. Si un cycle constant est appelé dans un laps de temps inférieur au temps du cycle réel, le temps du cycle est ignoré et le système utilise sa vitesse de cycle normale. Les fonctions de cycle unique permettent à votre automate d’exécuter un nombre fixe de cycles (de 1 à 15), puis d’interrompre la résolution de la logique tout en continuant la scrutation des E/S. Cette fonction permet le travail de diagnostic, à savoir la recherche des erreurs figurant dans la logique résolue, les données transférées et les calculs terminés. Attention Il ne faut pas utiliser les cycles uniques pour la mise au point (debug) les commandes des machines outil, les processus ou les systèmes de manipulation de matériel lorsqu’ils sont activés. Lorsque le nombre spécifié de cycles a été résolu, toutes les sorties sont bloquées dans leur dernier état; l’automate ignore toutes les informations d’entrée car la résolution logique n’a pas lieu. Ceci peut entraîner un fonctionnement risqué, dangereux et destructeur des outils ou des processus connectés à l’automate. Le temps du cycle constant prévu comprend le temps de résolution logique, le service des ports d’E/S et Modbus et les diagnostics du système. Si vous définissez un cycle 40 ms alors que la résolution logique, le service des ports et les diagnostics actuels ne requièrent que 30 ms, l’automate attendra 10 ms au terme de chaque cycle avant de continuer le suivant. Vous trouverez les procédures d’appel des instructions relatives au cycle dans votre documentation sur la programmation. 114 Instructions standard supplémentaires Chapitre 12 Jeu d’instructions évoluées pour les Micro API Modicon j Instructions relatives aux transferts entre bloc et table j Instruction checksum j Instruction proportionnelle - intégrale - dérivée (P.I.D.) j Instructions mathématiques évoluées Jeu d’instructions évoluées Breite: 151,5mm Höhe: 227,5mm 115 Instructions relatives aux transferts entre bloc et table Instruction Entrées (E) Structure I 4x O Supérieure: ON lance le transfert Supérieur: premier registre du bloc source O Médiane: ON bloque le pointeur Médian: pointeur dans le premier registre (4x + 1) de la table cible Inférieure: ON remet le pointeur à 0 Inférieur: taille de la table cible Supérieur: premier registre de la table source Transfert de bloc à table I 4x I BLKT K* I 4x O Supérieure: ON lance le transfert I 4x O Médiane: ON bloque le pointeur Médian: pointeur dans le premier registre (4x + 1) du bloc cible I TBLK K* Inférieure: ON remet le pointeur à 0 Inférieur: taille du bloc cible Transfert de table à bloc *K est une constante entière comprise entre 1 et 100. 116 Eléments Jeu d’instructions évoluées Sorties (S) Supérieure: ON lorsque l’opération est terminée Médiane: erreur détectée, déplacement impossible Supérieure: ON lorsque l’opération est terminée Médiane: erreur détectée, transfert impossible Fonction Transfère une grande quantité de registres 4x depuis un bloc source fixe vers une table cible Transfère une grande quantité de registres contigus d’une table vers un bloc cible fixe Instruction checksum Instruction Entrées (E) Structure I 4x Total de contrôle I 4x I CKSM K* Supérieure: ON calcule le O CKSM de la table source Médiane: utilisé avec l’eninférieure O trée pour déterminer le type de CKSM Inférieure: utilisé avec l’entrée médiane pour déterminer le type de CKSM Eléments Supérieur: premier registre du bloc source Médian: premier des deux registres contenant le résultat et le comptage implicite des registres Inférieur: taille de la table cible Sorties (S) Fonction Supérieure: ON lorsque le cal- Effectue le checksum, cul est terminé l’addition d’addition binaire, le contrôle Médiane: erreur détectée, CRC-16 ou le LRC comptage registre selon l’état des entrées médiane et inférieure =0 (voir tableau ciou comptage registre dessous) > taille de la table source *K est une constante entière comprise entre 1 et 255. Utilisation des entrées CKSM Calcul CKSM Entrée médiane Entrée inférieure Checksum direct OFF ON Addition binaire ON ON CRC-16 ON OFF LRC OFF OFF Jeu d’instructions évoluées Breite: 151,5mm Höhe: 227,5mm 117 Instruction proportionnelle - intégrale dérivée Instruction Entrées (E) Structure I 4x Supérieure: 0 = mode manuel O 1 = mode auto ProportionnelleintégraleI dérivée 4x Médiane: 0 = Tracking ON O 1 = Tracking OFF I PID2 K* Inférieure: O 0 = sortie augmente au fur et à mesure que E** augmente 1 = sortie diminue au fur et à mesure que E** augmente Eléments Sorties (S) Supérieur: Supérieure: premier des 21 paramètre invalide registres de la table ou source boucle active mais Médian: non résolue premier des 9 registres utilisés par le bloc pour Médiane: les calculs PV≥ limite basse alarme*** Inférieur: constante représentant l’intervalle dans lequel le cal- Inférieure: cul est effectué en PV≥ limite dixièmes de sec- basse alarme*** onde Fonction Établit un algorithme qui effectue l’opération P, PI ou PID spécifiée, telle qu’elle est décrite dans les registres 4x + 5, 4x + 6, 4x + 7 et 4x + 8 de la table source *K est une constante entière comprise entre 1 et 255. **E est une erreur exprimée en unités analogiques brutes. ***PV est la variable d’entrée du procédé. Fonction bloc Paramètre des registres de la table source 4x + 5 4x + 6 4x + 7 4x + 8 P différent de zéro zéro zéro différent de zéro PI différent de zéro différent de zéro zéro zéro PI différent de zéro différent de zéro différent de zéro zéro Table source PID2 (élément supérieur) Numéro registre Contenu registre PV, mesure mise à l’échelle: chargé par le bloc lors de chaque cycle; une échelle linéaire s’effectue dans le registre 4x + 13 au moyen des limites supérieure et inférieure de 4x + 11 et 4x + 12: 4x reg 4x + 13 PV à l’échelle = 4095 x (reg 4x + 11 - reg 4x + 12) + reg 4x + 12 Coupez le résultat à la virgule décimale et éliminez tous les chiffres à droite de la virgule - il ne faut pas arrondir le résultat. 4x + 1 SP: point de consigne spécifié dans les unités techniques; sa valeur doit être > 4x + 11 > 4x + 12. 4x + 2 Mv: chargé par le bloc lors de chaque résolution de boucle; il se trouve dans la plage comprise entre 0 et 4095, permettant la compatibilité de la sortie avec une sortie analogique; la sortie Mv traitée permet d’effectuer des calculs supplémentaires, telles que les boucles en cascade. 4x + 3 Limite supérieure de l’alarme: chargez un paramètre dans ce registre pour spécifier une alarme haute pour le PV (au SP ou au-delà); tapez le paramètre en unités physiques dans l’intervalle spécifié dans les registres 4x + 11 et 4x + 12. 4x + 4 Limite inférieure de l’alarme: chargez un paramètre dans ce registre pour spécifier une alarme basse pour la PV (au SP ou en dessous); saisir le paramètre dans les unités physiques dans l’intervalle spécifié dans les registres 4x + 11 et 4x + 12. 4x + 5 Bande proportionnelle: chargez dans ce registre la constante proportionnelle souhaitée comprise entre 5 et 500; plus le nombre est petit, plus la contribution proportionnelle est grande; un nombre valide est requis dans ce registre pour permettre au PID2 de fonctionner. 118 Jeu d’instructions évoluées Instruction proportionnelle - intégrale - dérivée (suite) Table source PID2 (élément supérieur) Numéro registre Contenu registre 4x + 6 Intégrale: chargez ce registre pour ajouter une opération intégrale au calcul: la valeur est une constante entière comprise entre 0000 et 9999, représentant une série de 00,00 à 99,99 répétitions par minute - les valeurs <9999 ou 0000 > interrompent le calcul: plus le nombre est grand, plus la contribution de l’intégrale est grande. 4x + 7 Dérivée: chargez ce registre pour ajouter une opération dérivée au calcul: la valeur est une constante entière comprise entre 0000 et 9999, représentant une série de 00,00 à 99,99 répétitions par minute - les valeurs <9999 ou >0000 interrompent le calcul: plus le nombre est grand, plus la contribution de la dérivée est grande. 4x + 8 Pied: chargez ce registre pour ajouter au pied à la sortie - la valeur, ajoutée directement à Mv, doit être comprise entre 0000 et 4095. 4x + 9 Limite supérieure de l’antisaturation de l’intégrale: chargez dans ce registre la limite maximale de la valeur de sortie de l’intégrale (entre 0 et 4095); si la valeur spécifiée (normalement 4095) est dépassée, la somme intégrale n’est plus mise à jour. 4x + 10 Limite inférieure de l’antisaturation de l’intégrale: chargez dans ce registre la limite basse de la valeur de sortie de l’intégrale (entre 0 et 4095); la valeur spécifiée est normalement 0. 4x + 11 Echelle haute: chargez dans ce registre la valeur supérieure pour laquelle la mesure est mise à l’échelle - si par exemple une sonde à résistance est comprise entre 0 et 500 degrés C, la valeur est 500; la valeur supérieure doit être spécifiée en tant qu’entier positif entre 0001 et 9999, correspondant à une valeur d’entrée analogique brute de 4095. 4x + 12 Echelle basse: chargez dans ce registre la valeur inférieure pour laquelle la mesure est mise à l’échelle; elle doit être spécifiée en tant qu’entier positif entre 0001 et 9998, correspondant à une valeur d’entrée analogique brute de 0 - elle doit être inférieure à la valeur spécifiée dans le registre 4x + 11. 4x + 13 Mesure analogique brute: le programme logique charge la mesure dans ce registre; la mesure doit être linéaire entre 0 et 40956. 4x + 14 Pointeur sur le registre compteur de boucles: la valeur chargée dans ce registre indique le registre qui compte le nombre de boucles résolues lors de chaque cycle; la valeur saisie est l’adresse affectée du registre contenant le comptage des boucles. Si, par exemple, le registre 41236 conserve le comptage, tapez la valeur 1236 dans le registre 4x +14 de la table source PID2; chargez la même valeur dans le registre 4x + 14 de chaque bloc PID2 d’un programme logique. 4x + 15 Nombre maximal de boucles/cycle: si le registre 4x + 14 contient une valeur différente de zéro, vous pouvez ajouter une valeur dans ce registre pour spécifier la limite du nombre de boucles à résoudre dans un cycle unique. 4x + 16 Pointeur sur l’entrée de calcul de l’intégrale: la valeur que vous chargez dans ce registre indique le registre contenant la valeur en retour (F); les calculs d’intégrales dépendent de la valeur F connectée à Mv - à l’instar de la sortie PID2 qui varie entre 0 et 4095, F doit également varier entre 0 et 4095; la valeur entrée dans le registre est l’adresse affectée du registre en retour. Si, par exemple, le registre en retour est 42250, tapez la valeur 2250 dans le registre 4x + 16 de la table source de PID2. 4x + 17 Limite haute sortie: la valeur saisie dans ce registre détermine la limite supérieure de Mv (normalement 4095). 4x + 18 Limite basse sortie: la valeur saisie dans ce registre détermine la limite inférieure de Mv (normalement 0) 4x + 19 Constante RGL: la valeur limite degain en fréquence entrée dans ce registre détermine le degré effectif du filtrage de la dérivée; cette valeur est comprise entre 2 et 30; plus la valeur est petite, plus le filtrage est important. 4x + 20 Pointeur sur l’entrée poursuite: la valeur saisie dans ce registre indique le registre de rétention contenant la valeur d’entrée de tracking (T): la valeur T est connectée à l’entrée du calcul de l’intégrale lorsque le bit auto et le bit tracking sont tous deux VRAIS; la valeur saisie dans ce registre est le numéro du registre d’entrée de tracking. Si par exemple le registre d’entrée de tracking est 40956, tapez 0956 dans le registre 4x + 20 de la table source de PID2. Jeu d’instructions évoluées Breite: 151,5mm Höhe: 227,5mm 119 Instruction proportionnelle - intégrale - dérivée (suite) Bloc de calcul PID2 (élément médian) Numéro registre 4x Contenu registre Registre des états de la boucle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Voir note Etat manuel/auto de l’entrée supérieure Suivi de l’état ON/OFF de l’entrée médiane Action directe/inverse Copie de l’entrée médiane Valeurs négatives dans l’équation Limite intégrale dépassée Toujours défini comme étant 1 0 = +E dans registre source 4x + 6 0 = -E dans registre source 4x + 6 L’adressage de 4x + 14 par 4x + 15 est valide Boucle en mode auto mais non résolue En mode de déroulement Boucle en mode auto et temps depuis la dernière résolution > à l’intervalle de solution Sortie inférieure ON Sortie médiane ON Sortie supérieure ON Note: le bit 16 est mis à 1 après le démarrage initial ou l’installation de la boucle. Si le bit est effacé, toutes les opérations suivantes ont lieu lors d’un seul cycle: Le registre des états de la boucle est réinitialisé. La valeur actuelle de l’horloge en temps réel est enregistrée dans le registre 4x + 1 de ce bloc. Les registres 4x + 3, 4x + 4 et 4x + 5 de ce bloc sont remis à zéro. La valeur du registre de la table source 4x + 13 est multipliée par 8 et enregistrée dans le registre 4x + 6 de ce bloc. Les registres 4x + 7 et 4x + 8 de ce bloc sont initialisés. 120 Jeu d’instructions évoluées Instruction proportionnelle - intégrale - dérivée (suite) Bloc de calcul PID2 (élément médian) Numéro registre 4x + 1 Contenu registre Etat d’erreurs (E) Code binaire Vérifier ce registre dans la table source (élément supérieur) Signification 0000 Aucune erreur, toutes les validations OK 0001 SP à l’échelle au-dessus de 9999 4x + 1 0002 Alarme haute supérieure à 9999 4x + 3 0003 Alarme basse supérieure à 9999 4x + 4 0004 Bande proportionnelle inférieure à 5 4x + 5 0005 Bande proportionnelle supérieure à 5 4x + 5 0006 Réinitialisation au-dessus de 99,99 répétitions/min 4x + 6 0007 Fréquence au-dessus de 99,99 min 4x + 7 0008 Pied au-dessus de 4095 4x + 8 0009 Limite intégrale haute au-dessus de 4095 4x + 9 0010 Limite intégrale basse au-dessus de 4095 4x + 10 0011 Échelle unité physique supérieure au-dessus de 9999 4x + 11 0012 Échelle unité physique inférieure au-dessus de 9999 4x + 12 0013 Échelle unité phys. sup. en dessous de l’échelle unité phys. inf. 4x + 11 et 4x + 12 0014 SP mis à l’échelle au-dessus de l’unité physique sup. 4x + 1 et 4x + 11 0015 SP mis à l’échelle en dessous de l’unité physique sup. 4x + 1 et 4x + 11 0016 Boucles/cycle > 9999 (4x + 15 = 0) 0017 Erreur registre point entrée intégrale 4x + 16 0018 Serrage de sortie maximal au-dessus de 4095 4x + 17 0019 Serrage de sortie minimal au-dessus de 4095 4x + 18 0020 Serrage de sortie min. au-dessus du serrage de sortie max. 4x + 17 et 4x + 18 0021 RGL inférieur à 2 4x + 19 0022 RGL supérieur à 30 4x + 19 0023 Indicateur tracking F hors limites 4x + 20 et entrée médiane ON 0024 Indicateur tracking F est zéro 4x + 20 et entrée médiane ON 0025 Boucle inactive (temps du cycle insuffisant ) Voir note ci-dessous 0026 Pointeur compteur boucles est zéro 4x + 14 et 4x + 15 0024 Pointeur compteur boucles est hors limites 4x + 14 et 4x + 15 Note: Si la boucle s’inactive fréquemment et tous les paramètres sont valides, augmentez le nombre maximal autorisé de boucles par cycle. Le verrouillage peut également se produire si les registres de comptage en cours d’utilisation ne sont pas initialisés comme requis. 4x + 2 Registre timer boucles: enregistre les mesures en temps réel dans l’horloge du système chaque fois que la boucle est résolue; la différence entre la valeur de l’horloge courante et celle du registre est le temps écoulé; si le temps écoulé > l’intervalle de résolution (10 fois la valeur donnée dans l’élément supérieur du bloc PID2), la boucle doit être résolue lors du cycle actuel. 4x + 3 4x + 4 4x + 5 Réservé pour usage interne Jeu d’instructions évoluées Breite: 151,5mm Höhe: 227,5mm 121 Instruction proportionnelle - intégrale - dérivée (suite et fin) Bloc de calcul PID2 (élément médian) Numéro registre Contenu registre 4x + 6 Pv x 8 (filtré): enregistre le résultat de l’entrée analogique filtrée (à partir du registre source 4x + 4) multiplié par huit; cette valeur est utilisée dans les opérations de contrôle dérivées. 4x + 7 Valeur absolue de E: contient la valeur absolue de SP - PV; le bit 8 du registre 4x + 1 de ce bloc indique le signe de E; la valeur de ce registre est mise à jour au terme de chaque résolution de boucle. 4x + 8 Réservé pour usage interne. 122 Jeu d’instructions évoluées Instructions mathématiques évoluées Instruction Entrées (E) Structure I Addition en double précision (32 bits) 4x O 4x O Supérieure: ON lance l’addition en double précision Eléments Supérieur: Supérieure: premier de deux ON lorsque le registres contigus calcul est terminé contenant l’opérande 1, sa valeur étant comprise entre 0 et 99,999,999 Médian: premier de six registres du bloc décrit ci-dessous EMTH 1 Sorties (S) Médiane: un opérande est invalide ou hors limites Fonction Ajoute l’opérande 1 (valeur du bloc de registre de l’élément supérieur) et l’opérande 2 (valeur des deux premiers registres du bloc de l’élément médian), puis place le résultat dans les quatrième et cinquième registres du bloc de l’élément médian Inférieur: code de fonction EMTH approprié Bloc de l’élément médian Numéro registre 4x et 4x + 1 Contenu registre Valeur de l’opérande 2 comprise entre 0 et 99,999,999 4x + 2 Unevaleurdifférentedezéroindiqueuneconditiondedébordement 4x + 3 et 4x + 4 Résultat de l’addition en double précision 4x + 5 Non utilisé mais doit être réservé Jeu d’instructions évoluées Breite: 151,5mm Höhe: 227,5mm 123 Instructions mathématiques évoluées (suite) Instruction Entrées (E) Structure I Soustraction en double précision (32 bits) 4x O 4x O EMTH 2 O Supérieure: ON lance la soustraction en double précision Sorties (S) Eléments Supérieure: Supérieur: premier de deux ON lorsque le registres conti- calcul est terminé gus contenant l’opérande 1, sa valeur étant comprise entre 0 et 99,999,999 Médian: Médian: premier de six opérande= opérande registres du bloc 1 2 décrit ci-dessous Fonction Soustrait l’opérande 2 (valeur des premier et second registres du bloc de l’élément médian) de l’opérande 1 (valeur du bloc de l’bonné supérieur), puis place le résultat dans les troisième et quatrième registres du bloc de l’élément médian. Inférieur: Inférieur: code de fonction opérande<opérande EMTH approprié 1 2 Bloc de l’élément médian Numéro registre Multiplication en double précision I 4x O 4x O Contenu registre 4x et 4x + 1 Valeur de l’opérande 2 comprise entre 0 et 99,999,99 4x + 2 et 4x + 3 Unevaleurdifférentedezéroindiqueuneconditiondedébordement 4x + 4 Une valeur différente de zéro indique une condition hors norme 4x + 5 Non utilisé mais doit être configuré Supérieure: ON lance la multiplication à double précision Supérieure: Supérieur: Premier des deux ON lorsque le registres contigus calcul est terminé contenant l’opérande 1 dont la valeur est comprise entre 0 et 9.999.999 Médian: premier de six registres du bloc décrit ci-dessous EMTH 3 Médian: un opérande est hors norme Multiplie l’opérande 1 (valeur du bloc des registres de l’élément supérieur) par l’opérande 2 (valeur des deux premiers registres du bloc de l’élément médian), puis place le résultat dans les troisième, quatrième, cinquième et sixième registres du bloc de l’élément médian. Inférieur: code de fonction EMTH approprié Bloc de l’élément médian Numéro registre 4x et 4x + 1 4x + 2, 4x + 3, 4x + 4, et 4x + 5 124 Jeu d’instructions évoluées Contenu registre Valeur de l’opérande 2 comprise entre 0 et 99,999,999 Résultat de la multiplication en double précision Instructions mathématiques évoluées (suite) Instruction Division en double précision Entrées (E) Structure I 4x O I 4x O EMTH 4 O Supérieure: ON lance la division à double précision Médian: ON = le reste est enregistré en tant que fraction OFF = le reste est enregistré en tant que nombre entier Sorties (S) Eléments Supérieur: premier de deux registres contigus contenant l’opérande 1, sa valeur étant comprise entre 0 et 99,999,999 Médian: premier de six registres du bloc décrit ci-dessous Inférieur: code de fonction EMTH approprié Supérieure: ON lorsque le calcul est terminé Médiane: une valeur est hors limites Inférieur: Opérande 2 = 0 Fonction Divise l’opérande 1 (du bloc de registres de l’élément supérieur) par l’opérande 2 (les deux premiers registres du bloc de l’élément médian), puis place le résultat dans les troisième et quatrième registres du bloc de l’élément médian et le reste dans les cinquième et sixième registres du bloc de l’élément médian. Bloc de l’élément médian Numéro registre I Racine carrée 3x or 4x O 4x O Contenu registre 4x et 4x + 1 Valeur de l’opérande 2 comprise entre 0 et 99,999,99 4x + 2 et 4x + 3 résultat (quotient) de la division en double précision 4x + 4 et 4x + 5 reste de la division en double précision Supérieur: ON lance l’opération √ EMTH 5 Supérieur: Supérieure: Premier des deux ON lorsque le registres contencalcul est terminé ant une valeur source comprise entre 0 et 99.999.999 Médian: Médian: Premier des deux La valeur source registres dans est hors norme lequel le résultat est enregistré dans le format décimal fixe: 1234.5600 Calcule la racine carrée de la valeur source des registres de l’élément supérieur et enregistre le résultat dans les registres de l’élément médian. Inférieur: code de fonction EMTH approprié Supérieur: ON lance I Racine carrée process 3x or 4x O 4x O EMTH 6 l’opération √ Supérieur: Premier des deux registres contenant une valeur source comprise entre 0 et 99.999.999 Supérieure: ON lorsque le calcul est terminé Médian: Premier des deux registres contenant le résultat linéarisé. Médian: La valeur source est hors norme Inférieur: code de fonction EMTH approprié Calcule la racine carrée de la valeur source des regfistres de l’élément supérieur, la linéarise en la multipliant par 63,9922 (la racine carrée de 4095), puis enregistre le résultat linéarisé dans les registres de l’élément supérieur. On utilise souvent les racines carrées process en liaison avec PID2. Jeu d’instructions évoluées Breite: 151,5mm Höhe: 227,5mm 125 Instructions mathématiques évoluées (suite) Instruction Entrées (E) Structure I 3x or 4x O 4x O Logarithme Supérieure: ON lance une opération logarithmique EMTH 7 Eléments Supérieur: premier de deux registres contigus contenant une valeur comprise entre 0 et 99,999,999 Supérieure: ON lorsque le calcul est terminé Médian: registre contenant le résultat Médiane: une erreur a été détectée ou une valeur est hors limites Inférieur: code de fonction EMTH approprié I Antilogarithme 3x or 4x O 4x O Supérieure: ON lance une opération logarithmique EMTH 8 Sorties (S) Supérieur: registre qui contient une valeur source enregistrée dans le format décimal fixe 1 234 et comprise entre 0 et 7,999 Supérieure: ON lorsque le calcul est terminé Médian: premier de deux registres contigus dans lequel le résultat est enregistré Médiane: une erreur a été détectée ou une valeur est hors limites Fonction Effectue une opération logarithme décimal sur la valeur des registres source de l’élément supérieur, puis enregistre le résultat dans le registre de l’élément médian Effectue une opération antilogarithme de base 10 sur la valeur du registre source, puis enregistre le résultat dans le registre de l’élément médian en format décimal fixe: 12345678 Inférieur: code de fonction EMTH approprié Supérieure: ON lance la conversion I Conversion d’un entier en virgule flottante 4x O 4x EMTH 9 Supérieur: premier de deux registres contigus contenant une valeur source entière en double précision Médian: premier d’un bloc de quatre registres contigus Supérieure: ON lorsque le calcul est terminé Inférieur: code de fonction EMTH approprié Convertit une valeur entière en une valeur en virgule flottante sur 32 bits et enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian Les deux premiers registres du bloc ne sont pas utilisés* * Note: Si vous souhaitez économiser les registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur dans l’instruction EMTH 9. Addition d’un entier et d’une virgule flottante I 4x O Supérieure: ON lance l’addition 4x EMTH 10 Supérieur: premier de deux registres contigus contenant une valeur entière en double précision Médian: premier d’un bloc de quatre registres contigus Inférieur: code de fonction EMTH approprié 126 Jeu d’instructions évoluées Supérieure: ON lorsque le calcul est terminé Ajoute la valeur entière en double précision dans le bloc de registres de l’élément supérieur et la valeur en VF dans les deux premiers registres du bloc de l’élément médian, puis enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian Instructions mathématiques évoluées (suite) Instruction Soustraction entier virgule flottante Entrées (E) Structure I 3x or 4x O Supérieure: ON lance la soustraction 4x Sorties (S) Eléments Supérieur: premier de deux registres contigus contenant une valeur entière en double précision Supérieure: ON lorsque le calcul est terminé Soustrait la valeur en VF des deux premiers registres du bloc de l’élément médian de la valeur entière du bloc de registres et enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian Supérieure: ON lorsque le calcul est terminé Multiplie la valeur entière en double précision du bloc de registres de l’élément supérieur par la valeur en VF des deux premiers registres du bloc de l’élément médian et enregistre le quotient dans les troisième et quatrième registres du bloc de l’élément médian Supérieure: ON lorsque le calcul est terminé Divise la valeur entière en double précision du bloc de registres de l’élément supérieur par la valeur en VF des deux premiers registres du bloc de l’élément médian et enregistre le quotient dans les troisième et quatrième registres du bloc de l’élément médian Supérieure: ON lorsque le calcul est terminé Soustrait la valeur entière en double précision des deux premiers registres du bloc de l’élément médian de la valeur VF du bloc de registres de l’élément supérieur, puis enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian Médian: premier d’un bloc de quatre registres contigus EMTH 11 Inférieur: code de fonction EMTH approprié I Multiplication entier x virgule flottante 3x or 4x O Supérieure: ON lance la multiplication 4x Supérieur: premier de deux registres contigus contenant une valeur entière en double précision Médian: premier d’un bloc de quatre registres contigus EMTH 12 Inférieur: code de fonction EMTH approprié I Division entier / virgule flottante 4x O Supérieure: ON lance la division 4x Supérieur: premier de deux registres contigus contenant une valeur entière en double précision Médian: premier d’un bloc de quatre registres contigus EMTH 13 Inférieur: code de fonction EMTH approprié Soustraction virgule flottante entier I 4x O Supérieure: ON lance la soustraction Supérieur: premier de deux registres contigus contenant une valeur en virgule flottante 4x EMTH 14 Médian: premier d’un bloc de quatre registres contigus Inférieur: code de fonction EMTH approprié Fonction Jeu d’instructions évoluées Breite: 151,5mm Höhe: 227,5mm 127 Instructions mathématiques évoluées (suite) Instruction Entrées (E) Structure I Division virgule flottante/entier 3x or 4x O Supérieure: ON lance la division 4x Sorties (S) Eléments Supérieur: premier de deux registres contigus contenant une valeur en virgule flottante Fonction Supérieure: ON lorsque le calcul est terminé Divise la valeur entière en double précision des deux premiers registres du bloc de l’élément médian par la valeur en VF du bloc de registres de l’élément supérieur, puis enregistre le quotient dans les troisième et quatrième registres du bloc de l’élément médian Supérieure: ON lorsque le calcul est terminé Compare la valeur entière en double précision avec la valeur en VF (des deux premiers registres du bloc de l’élément médian), puis indique la relation via les sorties médiane et inférieure (voir tableau ci-dessous) Médian: premier d’un bloc de quatre registres contigus EMTH 15 Inférieur: code de fonction EMTH approprié I Comparaison entier - virgule flottante 3x or 4x O 4x O EMTH 16 O Supérieure: ON lance la comparaison Supérieur: premier de deux registres contigus contenant une valeur source entière en double précision Médian: utilisé avec la sortie inférieure pour indiMédian: quer la relation de la premier d’un bloc de valeur quatre registres contigus Inférieure: utilisé avec la sortie médiane pour indiquer la relation de la valeur Inférieur: code de fonction EMTH approprié Les troisième et quatrième registres du bloc de l’élément médian ne sont pas utilisés mais doivent être réservés Sorties EMTH 16 Etat sortie médiane Etat sortie inférieure ON Conversion de virgule flottante en entier I 4x O EMTH 17 ON I < FP ON ON I = FP Supérieur: premier de deux registres contigus contenant un entier en double précision Médian: premier d’un bloc de quatre registres contigus O I > FP OFF Supérieure: ON lance la conversion 4x Relation valeur OFF Inférieur: code de fonction EMTH approprié Supérieure: ON lorsque le calcul est terminé Convertit la valeur en VF enregistrée dans les troisième et quatrième registres du bloc de l’élément médian une valeur entière en double précision, puis enregistre la valeur convertie dans les registres de l’élément médian Les premier et second registres de l’élément Inférieure: médian ne sont pas 0 = valeur entière + utilisés mais doivent 1 = valeur entière - être configurés* *Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 17. 128 Jeu d’instructions évoluées Instructions mathématiques évoluées (suite) Instruction Addition virgule flottante Entrées (E) Structure I 4x O Supérieure: ON lance l’addition EMTH 18 I 4x O Supérieure: ON lance la soustraction O Multiplication virgule flottante EMTH 20 Division virgule flottante 4x EMTH 21 Soustrait la valeur 2 en VF (enregistrée dans les premier et second registres du bloc de l’élément médian) de la valeur 1 en VF (du bloc de registres de l’élément médian) et enregistre la différence dans les troisième et quatrième registres du bloc de l’élément médian Supérieur: premier de deux registres contigus contenant une valeur 1 en VF Supérieure: ON lorsque le calcul est terminé Multiplie la valeur 1 en VF (du bloc de registres de l’élément supérieur) par la valeur 2 en VF (des deux premiers registres du bloc de l’élément médian) et enregistre le produit dans les troisième et quatrième registres du bloc de l’élément médian Supérieure: ON lorsque le calcul est terminé Divise la valeur 1 en VF (du bloc de registres du bloc de l’élément supérieur) part la valeur 2 VF (des premier et second registres du bloc de l’élément médian), puis enregistre le quotient dans les troisième et quatrième registres du bloc de l’élément médian Médian: premier d’un bloc de quatre registres contigus 4x 4x Supérieure: ON lorsque le calcul est terminé Inférieur: code de fonction EMTH approprié Supérieure: ON lance la multiplication I Ajoute la valeur 1 en VF (du bloc de registres de l’élément supérieur) et la valeur 2 en VF des deux premiers registres du bloc de l’élément médian), puis enregistre la somme dans les troisième et quatrième registres du bloc de l’élément médian Médian: premier d’un bloc de quatre registres contigus EMTH 19 4x Supérieur: premier de deux registres contigus contenant une valeur 1 en VF Inférieur: code de fonction EMTH approprié O Supérieure: ON lance la division Supérieur: premier de deux registres contigus contenant une valeur 1 en VF Médian: premier d’un bloc de quatre registres contigus Inférieur: code de fonction EMTH approprié Fonction Supérieure: ON lorsque le calcul est terminé Inférieur: code de fonction EMTH approprié 4x I Supérieur: premier de deux registres contigus contenant une valeur 1 en VF Médian: premier d’un bloc de quatre registres contigus 4x Soustraction virgule flottante Sorties (S) Eléments Jeu d’instructions évoluées Breite: 151,5mm Höhe: 227,5mm 129 Instructions mathématiques évoluées (suite) Instruction Entrées (E) Structure I Comparaison virgule flottante 4x O 4x O EMTH 22 O Sorties (S) Eléments Supérieure: ON lance la comparaison Fonction Supérieur: premier de deux registres contigus contenant une valeur 1 en VF Supérieure: ON lorsque le calcul est terminé Médian: premier d’un bloc de quatre registres contigus Médian: utilisé avec la sortie inférieure pour indiquer la relation de la valeur Inférieur: code de fonction EMTH approprié Inférieure: utilisé avec la sortie médiane pour indiquer la relation de la valeur Compare la valeur 1 en VF (du bloc de registres de l’élément supérieur) avec la valeur 2 en VF (des deux premiers registres du bloc de l’élément médian), puis indique la relation via les sorties médiane et inférieure (voir le tableau cidessous) Les troisième et quatrième registres du bloc de l’élément médian ne sont pas utilisés mais doivent être réservés* Sorties EMTH 16 Etat sortie médiane Etat sortie inférieure ON I 4x O Relation valeur Valeur 1 VF > valeur 2 VF OFF ON Valeur 1 VF < valeur 2 VF ON ON Valeur 1 VF = valeur 2 VF Supérieure: ON lance Racine carrée virgule flottante OFF l’opération √ Supérieur: premier de deux registres contigus contenant une valeur en VF Médian: premier d’un bloc de quatre registres contigus 4x EMTH 23 Inférieur: code de fonction EMTH approprié Supérieure: ON lorsque le calcul est terminé Effectue une opération racine carrée sur la valeur VF du bloc de l’élément supérieur et enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian Les premier et second registres de l’élément médian ne sont pas utilisés mais doivent être réservés* *Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 23. Changement de signe virgule flottante I 4x O Change le signe de la Supérieure: valeur VF du bloc de ON lorsque le calcul est terminé registres de l’élément supérieur et enregistre le résultat dans les troisième et quatrième Médian: registres du bloc de l’élépremier d’un bloc ment médian de quatre registres contigus Les troisième et quatrième registres du bloc Inférieur: de l’élément médian ne code de fonction sont pas utilisés mais EMTH approprié doivent être réservés Supérieur: premier de deux registres contigus de de contenant une valeur en VF Supérieure: ON lance l’opération changement signe 4x EMTH 24 Supérieure: Chargement I O π de en virgule flottante 4x ON charge Supérieur: Non utilisé dans le bloc de Médian: registres médian premier de quatre registres dans lesquels la valeur VF de pi est chargée EMTH 25 130 π Jeu d’instructions évoluées Inférieur: code de fonction EMTH approprié Supérieure: Charge la valeur VF de pi ON lorsque le dans les troisièmes et calcul est terminé quatrième registres du bloc de l’élément médian; les premier et seconds registres du bloc de l’élément médian ne sont pas utilisés Instructions mathématiques évoluées (suite) Instruction Sinus d’un angle en virgule flottante Entrées (E) Structure I 4x O Supérieure: ON lance le calcul 4x EMTH 26 Sorties (S) Eléments Supérieur: premier de deux registres contigus contenant la valeur VF d’un angle en radians; la grandeur est < 65536,0 Médian: premier d’un bloc de quatre registres contigus Inférieur: code de fonction EMTH approprié Fonction Calcule en radians le Supérieure: sinus de la valeur en ON lorsque le calcul est terminé virgule flottante des registres de l’élément supérieur et enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian. Les premier et second registres du bloc de l’élément médian ne sont pas utilisés mais doivent être réservés* *Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 26. I Cosinus d’un angle en virgule flottante 4x Supérieur: premier de deux registres contigus contenant la valeur VF d’un angle en radians; la grandeur est < 65536,0 EMTH 27 Médian: premier d’un bloc de quatre registres contigus 4x O Supérieure: ON lance le calcul Inférieur: code de fonction EMTH approprié Supérieure: Calcule en radians le ON lorsque le cosinus de la valeur en calcul est terminé virgule flottante des registres de l’élément supérieur et enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian. Les premier et second registres du bloc de l’élément médian ne sont pas utilisés mais doivent être réservés* *Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 27. I Tangente d’un angle en virgule flottante 4x 4x EMTH 28 O Supérieure: ON lance le calcul Supérieur: premier de deux registres contigus contenant la valeur VF d’un angle en radians; la grandeur est < 65536,0 Médian: premier d’un bloc de quatre registres contigus Inférieur: code de fonction EMTH approprié Supérieure: Calcule en radians la ON lorsque le tangente de la valeur en calcul est terminé virgule flottante des registres de l’élément supérieur et enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian. Les premier et second registres du bloc de l’élément médian ne sont pas utilisés mais doivent être réservés* *Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 28. Jeu d’instructions évoluées Breite: 151,5mm Höhe: 227,5mm 131 Instructions mathématiques évoluées (suite) Instruction Entrées (E) Structure Supérieure: ON lance le calcul Arc-sinus d’un angle en virgule flottante I 4x O Sorties (S) Eléments Supérieur: premier de deux registres contenant la valeur en VF du sinus Supérieure: ON lorsque le calcul est terminé π d’un angle entre - /2 π et /2 radians; la valeur doit être comprise entre -1,0 et +1,0 4x EMTH 29 Fonction Calcule en radians l’arc-sinus de la valeur en virgule flottante des registres de l’élément supérieur et enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian. Les premier et second registres du bloc de l’élément médian ne sont pas utilisés mais doivent être réservés* Inférieur: code de fonction EMTH approprié *Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 29. Arc-cosinus d’un angle en virgule flottante I 4x O Supérieure: ON lance le calcul Supérieur: premier de deux registres contenant la valeur VF du cosinus d’un angle entre 0 et Supérieure: ON lorsque le calcul est terminé π radians; la valeur 4x est comprise entre -1,0 et +1,0 EMTH 30 Médian: premier d’un bloc de quatre registres contigus Calcule en radians l’arc-cosinus de la valeur en virgule flottante des registres de l’élément supérieur et enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian. Les premier et second registres du bloc de l’élément médian ne sont pas utilisés mais doivent être réservés Inférieur: code de fonction EMTH approprié *Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 30. I Arc-tangente d’un angle en virgule flottante 4x O Supérieure: ON lance le calcul Supérieur: premier de deux registres contigus contenant la valeur VF d’un angle entre π - /2 et 4x π/2 radians Médian: premier d’un bloc de quatre registres contigus EMTH 31 Inférieur: code de fonction EMTH approprié Supérieure: ON lorsque le calcul est terminé Calcule en radians l’arc-tangente de la valeur en virgule flottante des registres de l’élément supérieur et enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian. Les premier et second registres du bloc de l’élément médian ne sont pas utilisés mais doivent être réservés *Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 31. 132 Jeu d’instructions évoluées Instructions mathématiques évoluées (suite) Instruction Conversion de radians en degrés en virgule flottante Entrées (E) Structure I 4x O Supérieure: ON lance la conversion 4x EMTH 32 Sorties (S) Eléments Supérieur: premier de deux registres contigus contenant la valeur VF d’un angle en radians Médian: premier d’un bloc de quatre registres contigus Supérieure: ON lorsque la conversion est terminée Inférieur: code de fonction EMTH approprié Fonction Convertit la valeur en VF des registres de l’élément supérieur en une représentation de cette valeur en radians et enregistre la conversion dans les troisième et quatrième registres du bloc de l’élément médian. Les premier et second registres du bloc de l’élément médian ne sont pas utilisés mais doivent être réservés* *Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 32. Conversion de degrés en radians en virgule flottante I 4x O Supérieure: ON lance la conversion 4x Supérieur: premier de deux registres contigus contenant la valeur VF d’un angle en degrés Supérieure: ON lorsque la conversion est terminée Médian: premier d’un bloc de quatre registres contigus EMTH 33 Convertit la valeur en VF des registres de l’élément supérieur en une représentation de cette valeur en degrés et enregistre la valeur convertie dans les troisième et quatrième registres du bloc de l’élément médian. Les premier et second registres du bloc de l’élément médian ne sont pas utilisés mais doivent être réservés* Inférieur: code de fonction EMTH approprié *Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 33. Nombre en virgule flottante élevé à une puissance entière I 4x O Supérieure: ON lance le calcul 4x 4x 4x EMTH 35 Élève la valeur VF des registres de l’élément supérieur à la puissance entière spécifiée dans le second registre du bloc de l’élément médian et enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian; le premier registre de l’élément médian doit être remis à 0 Supérieur: Supérieure: premier de deux ON lorsque le registres contenant calcul est terminé une valeur VF comprise entre -87,34 et +88,72 Calcule la valeur exponentielle du nombre VF des registres de l’élément supérieur et enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian. Inférieur: code de fonction EMTH approprié Supérieure: ON lance le calcul I Supérieure: ON lorsque le calcul est terminé Médian: premier d’un bloc de quatre registres contigus EMTH 34 Exponentielle en virgule flottante Supérieur: premier de deux registres contenant une valeur VF O Médian: premier d’un bloc de quatre registres contigus Inférieur: code de fonction EMTH approprié Les premier et second registres du bloc de l’élément médian ne sont pas utilisés mais doivent être réservés* *Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 35. Jeu d’instructions évoluées Breite: 151,5mm Höhe: 227,5mm 133 Instructions mathématiques évoluée (suite et fin) Instruction Logarithme naturel en virgule flottante Entrées (E) Structure I O 4x Sorties (S) Eléments Supérieure: Supérieur: ON lance le premier de deux calcul registres contigus contenant une valeur VF > 0 Fonction Supérieure: ON lorsque le calcul est terminé Médian: premier d’un bloc de quatre registres contigus 4x EMTH 36 Calcule le logarithme naturel de la valeur VF des registres de l’élément supérieur et enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian. Les premier et second registres du bloc de l’élément médian ne sont pas utilisés mais doivent être réservés* Inférieur: code de fonction EMTH approprié *Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 36. Logarithme commun en virgule flottante Supérieure: ON lance le calcul I Supérieur: premier de deux registres contigus contenant une valeur VF > 0 O 4x Supérieure: ON lorsque le calcul est terminé Médian: premier d’un bloc de quatre registres contigus 4x EMTH 37 Calcule le logarithme commun de la valeur VF des registres de l’élément supérieur et enregistre le résultat dans les troisième et quatrième registres du bloc de l’élément médian. Les premier et second registres du bloc de l’élément médian ne sont pas utilisés mais doivent être réservés* Inférieur: code de fonction EMTH approprié *Note: Si vous souhaitez économiser des registres, vous pouvez enregistrer la valeur entière en double précision dans les premier et second registres du bloc de l’élément médian et ne pas configurer un bloc de registres de l’élément supérieur de l’instruction EMTH 37. Gestion des erreurs I O 4x Supérieure: ON lance le calcul Supérieur: non utilisé Médian: premier de quatre registres contenant les données du journal des erreurs O EMTH 38 Les données d’erreur sont consignées dans le troisième registre du bloc de l’élément médian et le quatrième Médiane: 1 = différent de zéro registre est toujours dans le registre défini comme étant 0. 0 = tous les bits définis comme Les premier et second registres du bloc de l’éétant zéro lément médian ne sont pas utilisés mais doivent être réservés. Supérieure: ON lorsque le calcul est terminé Inférieur: code de fonction EMTH approprié Registre 4x + 2 de l’élément médian de EMTH 38 1 2 3 4 5 6 7 8 9 Code fonction de la dernière erreur consignée 10 11 12 13 14 15 16 Débordement VF Débordement VF Valeur ou opération en VF invalide Puissance fonction exponentielle trop grande Erreur de conversion entier/VF 134 Jeu d’instructions évoluées Annexe A Mise à jour du système d’exploitation mémoire Flash j Utilitaires de mise à jour de l’exécutif j Accès à Modfax et à la messagerie télématique Mise à jour du système d’exploitation mémoire Flash Breite: 151,5mm Höhe: 227,5mm 135 Utilitaires de mise à jour de l’exécutif Le système d’exploitation Ladder Logic de votre Micro API Modicon a été chargé dans la mémoire Flash de l’API à l’usine. Il définit la fonctionnalité élémentaire de l’API et son jeu d’instructions. Il est possible que des mises à jour soient nécessaires pour augmenter la fonctionnalité du système ou corriger des erreurs. Les informations suivantes vous permettent, le cas échéant, de mettre à jour la mémoire Flash. Mise à jour du système au moyen d’un utilitaire de chargement Bien que la mémoire Flash soit permanente, vous pouvez facilement la modifier. Vous pouvez effectuer une mise à jour d’une version du système d’exploitation au moyen du port Modbus sans apporter de modification au logiciel. Il vous suffit d’avoir un fichier binaire de l’exécutif et un programme utilitaire de chargement. Vous pouvez charger dans le micro le fichier binaire de l’exécutif grâce à un utilitaire de chargement à partir d’un PC. L’utilitaire de chargement contient cinq fichiers: V LOADER.EXE, fichier exécutable exécutant la fonction de chargement, V LOADER.HLP, fichier texte d’aide, V LOADER.NDX, fichier index pour les écrans d’aide, V MCMIII.MSG, fichier des messages d’erreur de Modcom III, V README.1ST, fichier expliquant comment effectuer la mise à jour. Vous pouvez obtenir l’utilitaire de chargement et le logiciel superviseur le plus récent de deux façons: 136 V via le serveur du service clientèle (24h sur 24, 365 jours par an et sans frais), V chez votre distributeur Modicon. La liste des révisions les plus récentes des divers systèmes d’exploitation (ou des micrologiciels superviseurs) est dressée au service clientèle du BBS et sur Modfax. Le numéro, figurant dans le document Modfax, des mises à jour les plus récentes est 3727. Vous trouverez les détails relatifs à l’accès à Modfax et au service clientèle BBS dans la présente annexe. Détermination de la dernière version Il existe deux façon de déterminer la version du système d’exploitation actuellement installé dans un API. V Si vous possédez MODSOFT Lite, vérifiez la ligne Exec ID de l’écran des statuts du contrôleur. Si cet écran affiche par exemple: EXEC ID 0861 REV 0101 alors, la version de votre système d’exploitation est 1.01. V Si vous ne possédez pas MODSOFT ni MODSOFT Lite, appelez les adresses absolues en mémoire suivantes pour afficher la version de supervision du contrôleur: Automate Page All Micro PLCs F Adresse 4020 (hex) L’accès à l’adresse ci-dessus dépend du logiciel que vous utilisez. Pour plus amples détails, veuillez prendre contact avec votre distributeur. Mise à jour du système d’exploitation mémoire Flash Accès à Modfax Modfax est un système de consultation automatique de documents à la disposition des clients Modicon. Il s’agit d’un système interactif. Pour accéder au Modfax, appelez 31-2907-9794 et sélectionnez l’option 3. Munissez-vous du numéro de votre photocopieur lors de votre appel. Pour une assistance technique matérielle et logicielle supplémentaire, appelez le centre d’assistance utilisateur au (1) 64-10-43-43 questions qui vous sont alors posées. Étape 3 Lorsque vous accédez au menu principal, sélectionnez m et appuyez sur <Retour>. Vous accédez au service de téléchargement Flash. Étape 4 Le menu présente un certain nombre de modèles d’API. Sélectionnez le numéro correspondant au vôtre. Étape 5 Vous obtenez une liste de fichiers numérotés de 1 à 8, avec une description de chaque fichier à droite de l’écran. Sélectionnez le numéro de la dernière version de votre API, normalement 1 ou 2. Étape 6 Sélectionnez le protocole de communication correspondant au protocole de votre système de communication. Si vous avez ZMODEM, utilisez-le, sinon utilisez KERMIT ou XMODEM. Étape 7 Si votre système accepte ZMODEM, le chargement commence automatiquement. Avec les autres protocoles, indiquez à votre logiciel de communication que vous souhaitez charger un fichier, puis sélectionnez le protocole correspondant à celui qui a été sélectionné au préalable sur le BBS. Étape 8 Vous devez désormais avoir le fichier approprié dans votre chemin de chargement (déterminé par le logiciel de communication). Étape 9 Supposons que le premier fichier auquel vous accédez est le fichier binaire de l’exécutif. Vous souhaitez maintenant accéder à l’utilitaire de Accès au serveur service clientèle Le service clientèle BBS Modicon offre plusieurs caractéristiques et avantages. Pour plus amples informations, demandez le Document Modfax nº 3 ou prenez contact avec le centre d’assistance utilisateur Modicon. Les membres de BBS peuvent utiliser la procédure donnée ci-dessous ou passer directement à Flash Lib. Le téléchargement des superviseurs Flash est gratuit. Nous recommandons aux non membres du BBS de récupérer un fichier superviseur binaire et l’utilitaire de chargement à partir de BBS au moyen de la procédure suivante: Procédure du superviseur de mise à jour Étape 1 Étape 2 Composez 19-31 2907-9794 au moyen du modem de votre système de communication. Vous pouvez travailler à la vitesse maximale de votre modem, nous prenons en charge jusqu’à 14 400 bauds, sans parité, 8 bits de données et 1 bit de stop. S’il s’agit de votre premier appel, vous devez créer un compte. Pour cela, répondez aux cinq Mise à jour du système d’exploitation mémoire Flash Breite: 151,5mm Höhe: 227,5mm 137 chargement. Si vous appuyez une fois sur <Retour>, vous retournez au menu principal. Sinon, tapez /GO EXEC et appuyez sur <Retour>. Étape 10 Pour accéder à l’utilitaire de chargement, répétez la procédure ci-dessus, à partir de l’étape 5, en utilisant cette fois la lettre L. 138 Étape 11 Les fichiers chargés sont compactés et seront automatiquement décompactés lors de l’exécution. Le résultat de l’exécution d’un fichier.exe est un fichier d’exécutif binaire. Étape 12 Suivez les instructions du fichier README.1ST afin de mettre à jour le système d’exploitation Ladder Logic. Mise à jour du système d’exploitation mémoire Flash Annexe B Réparation j Diagnostic des conditions de démarrage j Codes d’erreurs d’arrêt de l’API j Codes de pannes de l’API affichés sur les LED Réparation Breite: 151,5mm Höhe: 227,5mm 139 Diagnostic des conditions de démarrage Symptôme: Absence de la LED power ok (alimentation OK) La LED power ok, de couleur verte, du Micro API passe sur ON lorsque les conditions d’alimentation internes de l’API sont correctes et que celui-ci est alimenté par une source externe. Si cette LED ne passe pas sur ON après mise sous tension de l’API, reportez-vous à l’organigramme 1. Organigramme 1 tension, reportez-vous à l’organigramme 2. Organigramme 2 LED ready OFF Non Voir organigramme 1 LED power ok ON ? Yes LED power ok est OFF Retirer tous les connecteurs d’E/S Vérifier connexions terminales d’alimentation Mettre l’API sous tension Vérifier la source d’alimentation Non Courant présent sur la borne d’alimentation de l’API ? Non Oui Oui Remplacer API Symptôme: absence de LED ready (prêt) Cette LED ready, de couleur ambre, passe sur ON lorsque l’API a réussi ses diagnostics de mise sous tension et reste allumée tant que l’API est alimenté et fonctionne correctement. Si cette LED ne passe pas sur ON après la mise sous 140 Réparation LED ready ON ? Remplacer l’API Réparer les connexions d’E/S Symptôme: LED Run (exécution) éteinte ou clignotante La LED RUN de l’API passe sur ON lors du démarrage de l’API et de l’analyse du programme. Elle clignote lorsque l’API est alimenté mais ne peut trouver une configuration valide. Si cette LED est OFF ou présente un comportement inattendu, reportez-vous à l’organigramme 3 de la page suivante. Symptôme: Absence de commication sur l’API Si les communications s’interrompent inopinément sur l’API, reportez-vous à l’organigramme 5. Vous pouvez également consulter le code d’erreurs d’arrêt de l’API s’affichant sur votre console de programmation ou le codes d’arrêt clignotant sur les LED d’entrée du Micro API. Les codes d’erreurs d’arrêt et les codes de pannes du système sont décrits plus loin dans la présente annexe. Symptôme: LED exp link éteinte ou clignotante La LED exp link, de couleur verte, passe sur ON lorsque les communications valides ont lieu sur le réseau d’extension d’E/S entre un API parent ou enfant; la LED des deux API doit présenter le même comportement. Elle clignote lorsque des erreurs se produisent sur la liaison. Si cette LED clignote ou si elle est OFF lors de communications I/O, reportez-vous à l’organigramme 4 de la page suivante. Réparation Breite: 151,5mm Höhe: 227,5mm 141 Organigramme 4 Organigramme 3 exp link OFF ou clignotante run non allumée power ok ON ? Non Configurer en tant que API parent ou enfant Oui API configuré en tant API simple ? Voir organigramme 1 Oui ready ON ? Non Non Voir organigramme 3 run ON ? Non Voir organigramme 2 Oui Oui run clignotante ? Oui Voir organigramme 5 Continuer le fonctionnement Oui Non run OFF ? Oui Connecter console exp link ON ? Non Remplacer l’API Non exp link clignotante ? Oui Vérifier les câbles de l’API parent et de tous les API enfants Démarrer API run ON ? Non Tous les API enfants se trouvent sur liaison câble ? Oui Consulter le code de pannes de l’API Oui Corriger le problème Vérifier que la vis J2 a une terminaison correcte run ON dans tous les API enfants Continuer le fonctionnement Appeler le distributeur pour assistance 142 Réparation Organigramme 5 Absence de communication avec API Oui 311 / 411 run ON ? 512 / 612 Non Remettre API sous tension essayer port 2 LED run clignotante ? Non Remettre API sous tension Oui Non Comm ok ? Entrées clignotantes ? Oui Vérifier câble et adaptateur comm Remettre API sous tension Remettre API sous tension aussitôt que possible pour réinitialiser port 1 Non Consulter le code de pannes au moyen du logiciel de programmation Corriger problème ou Oui Consulter le code de pannes sur LED d’entrées Remettre API sous tension Recharger OS dans Flash Remplacer API ou Appeler le distributeur pour assistance Réparation Breite: 151,5mm Höhe: 227,5mm 143 Codes d’arrêt de l’API En cas d’arrêt inopiné de l’API, un code d’erreur d’arrêt s’affiche sur le logiciel. Le code s’affichera en tant nombre hexadécimal à quatre caractères. Avec MODSOFT Lite, le code d’arrêt s’affiche à l’écran de bilan de l’API; sur une micro-console HHP, il est indiqué. Le tableau ci-dessous présente la description des divers codes. Code d’erreur d’arrêt Code bit de stop Conditions d’arrêt Description 8000 PCSTOPPED 4000 BADTCOP Erreur dans l’affectation d’E/S 2000 DIMAWAR L’API n’a pas de configuration valide 1000 PORTIVENT Intervention sur port erronée 0800 BADSEGSCH Les segments Ladder Logic ne sont pas correctement scrutés pour l’exécution 0400 SONNOTIST L’instruction de démarrage du réseau n’a pas démarré le réseau 0200 PDCHECKSUM Checksumdemisehorstensionerroné 0080 NOEOLDOIO Tempo de chien de garde a expiré avant le fin du cycle logique 0040 RTCFAILED L’horloge temps réel est en panne 0020 BADOXUSED Erreur dans la table des sorties utilisées 0010 RIOFAILED Panne sur réseau d’extension d’E/S 0008 NODETYPE Instruction inconnue 0004 ULCSUMERR Erreur checksum logique 0002 DSCRDISAB Forçage T.O.R. 0001 BADCONFIG Configuration invalide 144 Réparation L’API est arrêté Codes d’arrêt de l’API affichés sur les LED Si l’UC détecte une erreur fatale, un des codes d’erreurs énumérés ci-dessous clignotera sur la rangée de LED d’entrée située sur le panneau avant de l’API. La LED ready sera allumée et la LED run clignotera à la même vitesse que les LED d’entrée, à savoir 0,5 s ON et 2,5 s OFF. Il existe deux types de codes d’arrêt de l’API: ceux générés par l’API en mode kernel- et ceux générés lors de l’exécution. Dans les illustrations ci-dessous, les LED clignotantes sont représentées par ¯ et les LED d’entrée en état OFF par ¥. Codes de pannes en mode kernel Erreur checksum PROM kernel Erreur de données RAM du système Erreur programme/ effacement dans la Flash Erreur d’adresse RAM du système Retour exécutif inopiné Réparation Breite: 151,5mm Höhe: 227,5mm 145 Codes d’erreur en exécution 146 Erreur checksum PROM Erreur sur activation RUN Etat comm défectueuxtransmission RTU Erreur test données RAM Interruption inopinée Etat comm défectueuxréception RTU Erreur test d’adresse RAM Circuit UART défectueux Etat comm défectueuxréception ASCII Buff de commande Modbus en débordement Interruption UART erronée (externe au microprocesseur) Etat Modbus défectueuxévénement tempo 0 Longueur commande Modbus = 0 Etat comm réception défectueux Etat Modbus défectueux- transmission interruption Erreur commande abandon Modbus Etat comm transmission invalide Etat Modbus défectueuxréception interruption Erreur RAM lors du dimensionnement Etat comm défectueuxtransmission ASCII Temporisation d’éjection mémoire prête Réparation