- No category
advertisement
▼
Scroll to page 2
of 368
Twido SW Reference Guide Cover_F.fm Page 1 Monday, April 22, 2002 11:43 AM Automates programmables Twido Guide de mise en œuvre logicielle Tome 2 Printed in France Mai 2002 Tome 2 http://www.schneider-electric.com REF. TWD USE 10AF Automates programmables Twido Guide de mise en œuvre logicielle TWD USE 10AF Tome 2 Mai 2002 Version 1.0 2 TWD USE 10AF 05/2002 Table des matières Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Intercalaire I Description du logiciel Twido . . . . . . . . . . . . . . . . . . . . 15 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Chapitre 1 Introduction au logiciel Twido. . . . . . . . . . . . . . . . . . . . . . . . . . 17 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Introduction à TwidoSoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Introduction aux langages Twido. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Chapitre 2 Objets langage Twido. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Validation d'un objet langage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objets bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objets mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adressage d'objets bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adressage d'objets mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repérage des entrées/sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adressage réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objets blocs fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objets structurés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mots indexés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbolisation d'objets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 3 23 24 25 28 31 32 33 35 36 37 39 41 Mémoire utilisateur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Structure de la mémoire utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Chapitre 4 Modes de fonctionnement de l’automate . . . . . . . . . . . . . . . . . 47 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scrutation cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scrutation périodique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vérification de la durée de scrutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modes de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TWD USE 10AF 05/2002 47 48 51 54 56 3 Gestion des coupures et des reprises secteur. . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Gestion d'une reprise à chaud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Gestion d'un démarrage à froid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Initialisation de l'automate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Intercalaire II Fonctions spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Chapitre 5 Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Présentation des communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Communications entre TwidoSoft et l'automate . . . . . . . . . . . . . . . . . . . . . . . . . 72 Communications de liaison distante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Communications ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Communications Modbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Requêtes Modbus standard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Chapitre 6 Fonctions analogiques intégrées. . . . . . . . . . . . . . . . . . . . . . 123 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Points de réglage analogique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Voie analogique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Chapitre 7 Gestion des modules analogiques. . . . . . . . . . . . . . . . . . . . . 127 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Présentation du module analogique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Adressage d’entrées et de sorties analogiques . . . . . . . . . . . . . . . . . . . . . . . . . 129 Configuration d'entrées et de sorties analogiques. . . . . . . . . . . . . . . . . . . . . . . 131 Exemples d'utilisation de modules analogiques . . . . . . . . . . . . . . . . . . . . . . . . 133 Chapitre 8 Fonctionnement de l’afficheur . . . . . . . . . . . . . . . . . . . . . . . . 135 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Afficheur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Informations d'identification et états de l'automate . . . . . . . . . . . . . . . . . . . . . . 139 Variables et objets système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Paramètres de port série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Horloge Date/Heure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Facteur de correction de l'horodateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Intercalaire III Description des langages Twido . . . . . . . . . . . . . . . . . . 151 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Chapitre 9 Langage schéma à contacts . . . . . . . . . . . . . . . . . . . . . . . . . 153 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Introduction aux schémas à contacts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Principes de programmation en langage schéma à contacts . . . . . . . . . . . . . . 156 Blocs de schémas à contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 4 TWD USE 10AF 05/2002 éléments graphiques du langage schéma à contacts . . . . . . . . . . . . . . . . . . . . Instructions spéciales OPEN et SHORT du langage schéma à contacts . . . . . Conseils de programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Réversibilité schéma à contacts/liste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recommandations pour la réversibilité entre le langage schéma à contacts et le langage liste d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Documentation du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 10 177 178 180 181 185 188 Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des instructions Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description de la structure d’un programme Grafcet. . . . . . . . . . . . . . . . . . . . . Actions associées aux étapes Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intercalaire IV 171 173 Langage liste d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . 177 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vue d'ensemble des programmes en langage liste d'instructions. . . . . . . . . . . Fonctionnement des listes d’instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions en langage liste d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de parenthèses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de pile (MPS, MRD, MPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 11 161 164 165 169 191 192 196 200 Description des instructions et des fonctions . . . . . . 201 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Chapitre 12 12.1 12.2 TWD USE 10AF 052002 Instructions élémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Traitement booléen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction au traitement booléen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions booléennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Explication du format de description des instructions booléennes . . . . . . . . . . Instructions de chargement (LD, LDN, LDR, LDF) . . . . . . . . . . . . . . . . . . . . . . Instructions de stockage (ST, STN, R, S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions AND logique (AND, ANDN, ANDR, ANDF) . . . . . . . . . . . . . . . . . . Instructions OR logique (OR, ORN, ORR, ORF). . . . . . . . . . . . . . . . . . . . . . . . Instructions OR exclusif (XOR, XORN, XORR, XORF). . . . . . . . . . . . . . . . . . . Instruction NOT (N) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Blocs fonctions élémentaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Blocs fonctions élémentaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Principes de programmation de blocs fonctions élémentaires . . . . . . . . . . . . . Bloc fonction temporisateur (%TMi) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Type de temporisateur TOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Type de temporisateur TON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Type de temporisateur TP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmation et configuration de temporisateurs . . . . . . . . . . . . . . . . . . . . . 203 204 204 205 208 210 212 214 216 218 220 221 221 222 224 226 228 229 230 231 5 12.3 12.4 Chapitre 13 13.1 13.2 6 Bloc fonction compteur/décompteur (%Ci) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Programmation et configuration des compteurs . . . . . . . . . . . . . . . . . . . . . . . . 238 Bloc fonction registre bits à décalage (%SBRi) . . . . . . . . . . . . . . . . . . . . . . . . . 239 Bloc fonction pas à pas (%SCi) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Traitement numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Introduction au traitement numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Introduction aux instructions numériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Instructions d'affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Instructions de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Instructions arithmétiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Instructions logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Instructions de décalage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Instructions de conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Instructions sur programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Introduction aux instructions sur programme. . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Instructions END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Instruction NOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Instructions de saut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 Instructions de sous-programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Instructions avancées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Blocs fonctions avancés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Objets mots et objets bits associés à des blocs fonctions avancés. . . . . . . . . . 273 Principes de programmation de blocs fonctions avancés . . . . . . . . . . . . . . . . . 275 Bloc fonction registre LIFO/FIFO (%Ri) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 LIFO, fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 FIFO, fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Programmation et configuration des registres . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Bloc fonction %PWM (modulation de la largeur d'impulsion) . . . . . . . . . . . . . . 285 Bloc fonction sortie du générateur d'impulsion (%PLS). . . . . . . . . . . . . . . . . . . 289 Bloc fonction programmateur cyclique (%DR) . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Fonctionnement des blocs fonctions du programmateur cyclique . . . . . . . . . . . 294 Programmation et configuration des programmateurs cycliques. . . . . . . . . . . . 296 Bloc fonction compteur rapide (%FC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Bloc fonction compteur rapide (%VFC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Transmission et réception de messages - Instruction d'échange (EXCH). . . . . 314 Bloc fonction de contrôle d'échange (%MSG) . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Fonctions horodateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Fonctions horloges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 Blocs horodateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Horodatage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Réglage de la date et de l'heure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 TWD USE 10AF 05/2002 Chapitre 14 Bits système et mots système . . . . . . . . . . . . . . . . . . . . . . . . 331 En bref... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Bits système (%S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Mots système (%SW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 TWD USE 10AF 052002 7 8 TWD USE 10AF 05/2002 Consignes de sécurité § Informations importantes AVIS Lisez attentivement ces instructions et familiarisez-vous avec le matériel avant d'essayer d'installer le périphérique, de le faire fonctionner ou d'effectuer une opération de maintenance. Les messages spéciaux qui suivent peuvent apparaître partout dans ce document ou sur l'appareil. Ils vous avertissent de dangers potentiels ou attirent votre attention sur des renseignements pouvant éclairer ou simplifier une procédure. La présence de ce symbole sur une étiquette de danger ou d'avertissement indique qu'un risque d'électrocution existe, pouvant provoquer des lésions corporelles si les instructions ne sont pas respectées. Ceci est le symbole d'une alerte de sécurité. Il sert à vous avertir d'un danger potentiel de blessures corporelles. Respectez toutes les consignes de sécurité accompagnant ce symbole pour éviter toute situation potentielle de blessure ou de mort. DANGER La mention DANGER signifie qu’il existe une situation potentiellement dangereuse qui, si elle n'est pas évitée, entraînera la mort, des blessures graves ou des dommages matériels. AVERTISSEMENT La mention AVERTISSEMENT signifie qu’il existe une situation potentiellement dangereuse qui, si elle n'est pas évitée, peut entraîner la mort, des blessures graves ou des dommages matériels. ATTENTION La mention ATTENTION signifie qu’il existe une situation potentiellement dangereuse qui, si elle n'est pas évitée, peut entraîner des lésions corporelles ou des dommages matériels. TWD USE 10AF 05/2002 9 Consignes de sécurité VEUILLEZ REMARQUER L'entretien du matériel électrique ne doit être effectué que par du personnel qualifié. Schneider Electric n'assume aucune responsabilité des conséquences éventuelles découlant de l'utilisation de cette documentation. Ce document n'est pas destiné à servir de manuel d'utilisation aux personnes sans formation. Le manuel de référence du matériel Twido, TWD USE 10AF, contient les instructions d'assemblage et d'installation. © 2002 Schneider Electric Tous droits réservés Informations supplémentaires relatives à la sécurité Les personnes chargées de l'application, de la mise en oeuvre ou de l'utilisation de ce produit doivent s'assurer que les principes de conception nécessaires ont été inclus dans chacune des applications, en totale conformité avec les normes, codes, régulations, exigences en matière de performance et de sécurité et lois en vigueur. 10 TWD USE 10AF 05/2002 Consignes de sécurité Avertissements généraux et précautions à prendre AVERTISSEMENT RISQUE D'EXPLOSION l Le remplacement de composants risque d'affecter la conformité de l'équipement à la Classe 1, Division 2. l Assurez-vous que l'alimentation est coupée ou que la zone ne présente aucun danger avant de déconnecter l'équipement. Le non-respect de ces précautions peut entraîner des lésions corporelles graves ou/et des dommages matériels importants. AVERTISSEMENT FONCTIONNEMENT ACCIDENTEL DE L'EQUIPEMENT l Coupez l'alimentation avant de procéder à tout retrait, installation, câblage, entretien et contrôle. l Ce produit n'est pas conçu pour être utilisé lors d'opérations l l l l l dangereuses pour la sécurité. Lorsque des risques de lésions corporelles ou de dommages matériels existent, utilisez les verrous de sécurité câblés appropriés. Ne pas désassembler, réparer ou modifier les modules. Cet automate est conçu pour être utilisé dans un boîtier. Installez les modules dans des conditions de fonctionnement normales. L'alimentation des capteurs ne doit servir qu'à alimenter les capteurs connectés au module. Utilisez un fusible approuvé IEC60127 sur la ligne électrique et le circuit de sortie pour satisfaire aux exigences de tension et de courant. Fusible recommandé : Littelfuse 5x20 mm de type slowblow série 218000/Type T. Le non-respect de ces précautions peut entraîner des lésions corporelles graves ou/et des dommages matériels importants. TWD USE 10AF 052002 11 Consignes de sécurité 12 TWD USE 10AF 05/2002 A propos de ce manuel Présentation Objectif du document Le manuel de référence du logiciel des automates programmables Twido est composé des sections suivantes : l Description du logiciel de programmation Twido et introduction aux notions fondamentales requises pour programmer les automates Twido. l Description des communications, de la gestion des E/S analogiques et d'autres fonctions spéciales. l Description des langages logiciels utilisés pour créer des programmes Twido. l Description des instructions et des fonctions des automates Twido. Champ d’application Les informations de ce manuel sont uniquement destinées aux automates Twido programmables. Avertissements liés au(x) produit(s) Schneider Electric décline toute responsabilité pour toute erreur susceptible de figurer dans ce document. Toute reproduction de ce document, complète ou partielle, sur quelque support que ce soit (y compris sous forme électronique) est formellement interdite sans l’autorisation écrite préalable de Schneider Electric. TWD USE 10AF 05/2002 13 A propos de ce manuel 14 TWD USE 10AF 05/2002 Description du logiciel Twido I En bref... Présentation Cette rubrique fournit une introduction aux langages du logiciel, ainsi que les principales informations requises pour créer des programmes de régulation des automates programmables Twido. Contenu de cet intercalaire Cet intercalaire contient les chapitres suivants : TWD USE 10AF 05/2002 Chapitre Titre du chapitre Page 1 Introduction au logiciel Twido 17 2 Objets langage Twido 23 3 Mémoire utilisateur 43 4 Modes de fonctionnement de l'automate 47 15 Description du logiciel Twido 16 TWD USE 10AF 05/2002 Introduction au logiciel Twido 1 En bref... Présentation Ce chapitre offre une introduction rapide à TwidoSoft, le logiciel de programmation et de configuration des automates Twido, ainsi qu’aux langages de programmation Grafcet, liste d’instructions ou schéma à contacts. Contenu de ce chapitre Ce chapitre contient les sujets suivants : TWD USE 10AE 05/2002 Sujet Page Introduction à TwidoSoft 18 Introduction aux langages Twido 19 17 Introduction au logiciel Twido Introduction à TwidoSoft Introduction TwidoSoft est un environnement de développement graphique permettant de créer, de configurer et de gérer des applications de régulation des automates programmables Twido. TwidoSoft vous permet d'entrer des programmes de régulation à l'aide des éditeurs TwidoSoft de programmes par schémas à contacts ou par listes, puis de transférer le programme en vue de son exécution sur un automate. TwidoSoft TwidoSoft est un programme 32 bits pour PC fonctionnant sous Windows 98 Deuxième édition ou sous Windows 2000 Professionnel. Principales fonctionnalités logicielles offertes par TwidoSoft : l interface utilisateur Windows standard l programmation et configuration d'automates Twido l communication et régulation d'automates Pour plus d'informations, reportez-vous au guide d'exploitation TwidoSoft. 18 TWD USE 10AE 05/2002 Introduction au logiciel Twido Introduction aux langages Twido Introduction Un automate programmable lit des entrées, génère des sorties et résout une logique basée sur un programme de régulation. La création du programme de régulation d’un automate Twido consiste en l’écriture d’une série d’instructions rédigées dans un des langages de programmation Twido. Languages Twido Les langages suivants peuvent être utilisés pour créer des programmes de régulation d’automates Twido : l Langage liste d’instructions Un programme liste d’instructions est constitué d'une série d’expressions logiques, rédigées sous la forme d’une séquence d’instructions booléennes. l Langage schéma à contacts Un schéma à contacts est une représentation graphique d’une expression logique. l Langage Grafcet Twido comprend les instructions liste Grafcet, mais pas les objets de représentation graphique Grafcet. Les opérations de création et d’édition de programmes de régulation Twido à l’aide de ces langages de programmation peuvent être réalisées depuis un ordinateur personnel (PC). Une fonctionnalité de réversibilité liste d’instructions / schéma à contacts vous permet de convertir un programme en langage liste d’instructions dans le langage schéma à contacts, et vice-versa. Langage liste d’instructions Un programme rédigé en langage liste d’instructions consiste en une série d’instructions exécutées de manière séquentielle par l’automate. Vous trouverez cidessous un exemple de programme en langage liste d’instructions. 0 1 2 3 4 5 6 7 8 9 10 TWD USE 10AE 05/2002 BLK %C8 LDF %I0.1 R LD %I0.2 AND %M0 CU OUT_BLK LD D AND %M1 ST %Q0.4 END_BLK 19 Introduction au logiciel Twido Langage schéma à contacts Les schémas à contacts utilisent la même représentation graphique que celle des circuits de relais en logique programmée. Dans ces schémas, les éléments graphiques, tels que des bobines, des contacts et des blocs représentent les instructions du programme. Ci-dessous un exemple de schéma à contacts. %I0.1 %C8 R N E %M1 %I0.2 %M0 %Q0.4 S ADJ Y D %C8.P 777 CU F CD 20 TWD USE 10AE 05/2002 Introduction au logiciel Twido Langage Grafcet La méthode analytique Grafcet divise toute régulation d’automatisation en une série d’étapes auxquelles des actions, des transitions et des conditions sont associées. Vous trouverez ci-dessous des exemples d’instructions Grafcet, rencontrées respectivement dans des programmes liste d’instructions et schéma à contacts. 0 1 2 3 4 5 6 7 8 9 10 -*LD # # -*LD # -*LD # ... 3 %M10 4 5 4 %I0.7 6 5 %M15 7 –*–3 %M10 4 # 5 # –*–4 %I0.7 6 # –*–5 %M15 7 # TWD USE 10AE 05/2002 21 Introduction au logiciel Twido 22 TWD USE 10AE 05/2002 Objets langage Twido 2 En bref... Présentation Ce chapitre offre une description détaillée des objets langage de programmation des automates Twido. Contenu de ce chapitre Ce chapitre contient les sujets suivants : TWD USE 10AF 05/2002 Sujet Page Validation d’un objet langage 24 Objets bits 25 Objets mots 28 Adressage d’objets bits 31 Adressage d’objets mots 32 Repérage des entrées/sorties 33 Adressage réseau 35 Objets blocs fonctions 36 Objets structurés 37 Mots indexés 39 Symbolisation d'objets 41 23 Objets langage Twido Validation d’un objet langage Introduction Les objets mots et bits ne sont valides que lorsqu'ils ont été alloués à une zone mémoire de l'automate. Pour que cette allocation soit possible, il est nécessaire que ces objets aient été utilisés dans l'application avant d'être téléchargés vers l'automate. Exemple La plage d'objets valides est comprise entre 0 et la référence maximum autorisée pour ce type d'objet. Par exemple, si la référence maximum autorisée pour les mots mémoire dans votre application est %MW9, les zones %MW0 à %MW9 sont allouées. Dans cet exemple, %MW10 n'est pas valide. Aucun accès à cette zone n'est autorisé, aussi bien de manière interne qu'externe. 24 TWD USE 10AF 05/2002 Objets langage Twido Objets bits Introduction TWD USE 10AF 05/2002 Les objets bits sont des bits variable logiciels qui sont de simples bits de données qui peuvent être utilisés comme des opérandes et testés par des instructions booléennes. Vous trouverez ci-dessous la liste des objets bits : l Bits d'E/S l Bits internes (bits mémoire) l Bits système l Bits étape l Bits extraits de mots 25 Objets langage Twido Liste des bits opérandes Le tableau suivant répertorie et décrit l'ensemble des objets bits principaux qui sont utilisés comme opérandes dans des instructions booléennes. Type 26 Description Repère ou valeur Nombre maximal Accès en écriture1 Valeurs immédiates 0 ou 1 (False ou True) 0 ou 1 - - Entrées Sorties Ces bits sont les "images logiques" des états électriques des E/S. Ils sont stockés dans la mémoire de données et sont mis à jour à chaque scrutation de la logique du programme. %Ix.y.z2 Note4 No Oui Interne (mémoire) Les bits internes sont des zones de mémoire internes utilisées pour stocker des valeurs intermédiaires lorsqu'un programme est en cours d'exécution. Note : Les bits d'E/S non utilisés ne peuvent pas être employés comme des bits internes. 128 TWDLCAA10 DRF, TWDLCAA16 DRF 256 Tous les autres automates Oui Système Les bits système %S0 à %S127 %Si surveillent le bon fonctionnement de l'automate ainsi que la bonne exécution du programme de l'application. 128 Selon i Blocs fonctions Les bits des blocs fonctions correspondent aux sorties des blocs fonctions. Ces sorties peuvent être directement câblées ou exploitées en tant qu'objet. %TMi.Q, %Ci.P, etc. Note4 Non3 Blocs fonctions réversibles Blocs fonctions programmés à l'aide d'instructions de programmation réversible BLK, OUT_BLK et END_BLK. E, D, F, Q, TH0, TH1 Note4 Non Extraits de mots Pour certains mots, un des 16 bits est extrait en tant que bit opérande. Variable Variable Variable %Qx.y.z2 %Mi TWD USE 10AF 05/2002 Objets langage Twido Type Etapes Grafcet Description Les bits %X1 à %Xi sont associés aux étapes Grafcet. Le bit étape Xi est réglé sur 1 lorsque l'étape correspondante est active et sur 0 lorsqu'elle est désactivée. Repère ou valeur Nombre maximal Accès en %X21 62 TWDLCAA10 DRF, TWDLCAA16 DRF 94 TWDLCAA24 DRF, Automates modulaires Oui écriture1 Notes : 1. Ecrit par le programme ou à l'aide de l'éditeur de table d'animation. 2. Reportez-vous à la section "Repérage des E/S". 3. Ces bits, à l'exception de %SBRi.j et de %SCi.j, sont accessibles en écriture et en lecture. 4. Ce nombre est déterminé par le modèle de l'automate. TWD USE 10AF 05/2002 27 Objets langage Twido Objets mots Les objets mots sont repérés sous la forme de mots de 16 bits rangés dans la mémoire de données et peuvent contenir un entier compris entre –32 768 et 32 767 (sauf pour le bloc fonction compteur rapide (FC) qui est compris entre 0 et 65 535). Exemples d'objets mots : l Valeurs immédiates l Mots internes (%MWi) (mots mémoire) l Mots constants (%KWi) l Mots échanges E/S (%IWi, %QWi) l Mots système (%SWi) l Blocs fonctions (données de configuration et/ou d'exécution) Formats de mot Le contenu des mots ou des valeurs est rangé dans la mémoire utilisateur sous la forme d'un code binaire à 16 bits (complément à deux) utilisant la convention suivante : Position du bit F E D C B A 9 8 7 6 5 4 3 2 1 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 Etat du bit |+ 16348 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1 Introduction Valeur du bit Pour les notations binaires signées, le bit 15 est attribué, par convention, au signe de la valeur codée : l Le bit 15 est égal à 0 : le mot contient une valeur positive. l Le bit 15 est égal à 1 : le mot contient une valeur négative (les valeurs négatives sont exprimées en complément à deux). Il est possible d'entrer et de récupérer les mots et les valeurs immédiates sous les formats suivants : l Décimal Min : -32 768, Max : 32 767 (1579, par exemple) l Hexadécimal Min : 16#0000, Max : 16#FFFF (16#A536, par exemple) Syntaxe alternative : #A536 28 TWD USE 10AF 05/2002 Objets langage Twido Description des objets mots Le tableau suivant décrit les objets mots. Mots Valeurs immédiates TWD USE 10AF 05/2002 Description Repère ou valeur Il s'agit d'entiers dont le format est identique à celui des mots de 16 bits. Cela permet d'attribuer des valeurs à ces mots. Nombre maximal Accès en - Non 1500 Oui écriture1 Base 10 -32 768 à 32 767 Base 16 16#0000 à 16#FFFF Interne (mémoire) Mots utilisés pour ranger des valeurs dans la mémoire des données au cours du fonctionnement. Les mots %MWO à %MW255 sont directement lus et écrits par le programme. %MWi Constants Mémorisent les constantes ou les %KWi messages alphanumériques. Leur contenu ne peut être écrit ou modifié qu'en utilisant TwidoSoft au cours de la configuration. Le programme ne peut accéder aux mots constants de %KW0 à %KW63 qu'en lecture. 64 Oui, uniquement à l'aide de TwidoSoft Système Ces mots de 16 bits proposent plusieurs fonctions : l Ils permettent l'accès aux données provenant directement de l'automate en lisant les mots %SWi (potentiomètres, par exemple). l Ils effectuent des opérations sur l'application (l'ajustement des blocs horodateurs, par exemple). %SWi 128 Selon i Blocs fonctions Ces mots correspondent aux paramètres ou aux valeurs courantes des blocs fonctions. %TM2.P, %Ci.P, etc. Oui 29 Objets langage Twido Mots Mots échanges E/S Bits extraits Description Repère ou valeur Nombre maximal Accès en Entrées %IWi.j Note2 Non Sorties %QWi.j Note2 Oui écriture1 Attribués aux automates connectés en tant que Liaisons distantes. Ces mots sont utilisés pour la communication entre les automates. Il est possible d'extraire un des 16 bits à partir des mots suivants : Interne %MWi:Xk 1500 Oui Système %SWi:Xk 128 Dépend de i Constants %KWi:Xk 64 Entrée %IWi.j:Xk Note Non Sortie %QWi.j:Xk Note2 Oui Non 2 Note : 1. Ecrit par le programme ou à l'aide de l'éditeur de table d'animation. 2. Ce nombre est déterminé par le modèle de l'automate. 30 TWD USE 10AF 05/2002 Objets langage Twido Adressage d’objets bits Syntaxe Description L’adressage des objets bits d’étape, internes et système doit se conformer à la syntaxe suivante : % M, S ou X Symbole Type d’objet i Numéro Le tableau suivant décrit les éléments de la syntaxe d'adressage. Groupe Elément Description Symbole % Une variable logicielle doit toujours débuter par un symbole de pourcentage (%). Type d’objet M Les bits internes permettent de stocker des valeurs intermédiaires lorsqu'un programme est en cours d'exécution. S Les bits système offrent des informations d'état et de régulation relatives à l'automate. X Les bits d’étape offrent des informations sur l'état des activités des étapes. i La valeur maximum dépend du nombre d’objets configurés. Numéro Exemples d’adressage d’objets bits : l %M25 = bit interne numéro 25 l %S20 = bit système numéro 20 l %X6 = bit étape numéro 6 Objets bits extraits de mots TwidoSoft permet d'extraire un des 16 bits des mots. L'adresse du mot est alors complétée par le rang du bit extrait suivant la syntaxe suivante. MOT :X Adresse du mot k Position k = 0 - 15 rang du bit dans l'adresse du mot. Exemples : l %MW5:X6 = bit numéro 6 du mot interne %MW5 l %QW5.1:X10 = bit numéro 10 du mot de sortie %QW5.1 TWD USE 10AF 05/2002 31 Objets langage Twido Adressage d’objets mots Introduction L'adressage d'objets mots doit se conformer à la syntaxe décrite ci-dessous. Veuillez noter que cette syntaxe ne s'applique PAS à l'adressage d'E/S (reportezvous à la rubrique Repérage des entrées/sorties, p. 33) et des blocs fonctions (reportez-vous à la rubrique Objets blocs fonctions, p. 36). Syntaxe L’adressage des mots internes, constants et système doit se conformer à la syntaxe suivante. Description % M, K ou S Symbole Type d’objet W i Syntaxe Numéro Le tableau suivant décrit les éléments de la syntaxe d'adressage. Groupe Elément Description Symbole % Une adresse interne doit toujours débuter par un symbole de pourcentage (%). Type d’objet M Les mots internes permettent de stocker des valeurs intermédiaires lorsqu'un programme est en cours d'exécution. K Les mots constants permettent de stocker des valeurs constantes ou des messages alphanumériques. Leur contenu ne peut être écrit ou modifié qu'en utilisant TwidoSoft. S Les mots système offrent des informations d'état et de régulation relatives à l'automate. Syntaxe W Mot de 16 bits. Numéro i La valeur maximum dépend du nombre d’objets configurés. Exemples d’adressage d’objets mots : l %MW15 = mot interne numéro 15 l %KW26 = mot constant numéro 26 l %SW30 = mot système numéro 30 32 TWD USE 10AF 05/2002 Objets langage Twido Repérage des entrées/sorties Introduction Chaque point d'E/S (entrée/sortie) d'une configuration Twido possède un repère unique. Par exemple, le repère "%I0.0.4" peut être affecté à une entrée spécifique d'un automate. Des repères d'E/S peuvent être affectés aux matériels suivants : l Automate configuré en tant que maître de liaison distante l Automate configuré en tant qu'E/S distante l Modules d'E/S d'expansion Références multiples à une sortie ou à une bobine Un programme peut comporter plusieurs références à une même sortie ou bobine. Seul le résultat de la dernière référence traitée est mis à jour au niveau des sorties du matériel. Par exemple, %Q0.0.0 peut être utilisé plusieurs fois dans un programme sans qu'un avertissement ne signale la multiplicité des occurrences. Il est donc important de confirmer quelle sortie provoquera l'opération souhaitée. ATTENTION Opération inattendue Les doublons de sortie ne sont pas contrôlés et aucun avertissement n'est donné. Vérifiez l'utilisation qui est faite des sorties et des bobines avant de les modifier dans l'application. Le non-respect de ces précautions peut entraîner des lésions corporelles ou/et des dommages matériels. Syntaxe Le repérage des entrées et des sorties doit se conformer à la syntaxe suivante. % I, Q Symbole Type d’objet TWD USE 10AF 05/2002 x Position de l’automate y Type d’E/S z Numéro de voie 33 Objets langage Twido Description Exemples Le tableau suivant décrit la syntaxe de repérage des E/S. Groupe Elément Valeur Description Symbole % - Un repère interne doit toujours débuter par un symbole de pourcentage (%). Type d'objet I - Entrée. "Image logique" de l'état électrique de l'entrée d'un automate ou d'un module d'E/S d'expansion. Q - Sortie. "Image logique" de l'état électrique de la sortie d'un automate ou d'un module d'E/S d'expansion. Position de l'automate x 0 1-7 Automate maître (maître de liaison distante). Automate distant (esclave de liaison distante). Type d'E/S y 0 1-7 E/S de base (E/S locale sur un automate). Modules d'E/S d'expansion. Numéro de voie z Le tableau suivant présente quelques exemples de repérage des E/S. Objet d’E/S 34 Numéro de la voie d'E/S sur l'automate ou le module d'E/S d'expansion. Le nombre de points d'E/S disponibles dépend du modèle de l'automate ou du type du module d'E/S d'expansion. Description %I0.0.5 Point d'entrée n° 5 sur la base automate (E/S locale). %Q0.3.4 Point de sortie n° 4 sur le module d'E/S d'expansion au repère d'expansion n° 3 pour la base automate (E/S d'expansion). %I0.0.3 Point d'entrée n° 3 sur la base automate. %I3.0.1 Point d'entrée n° 1 sur l'automate d'E/S distant au repère de liaison distante n° 3. %I0.3.2 Point d'entrée n° 2 sur le module d'E/S d'expansion au repère n° 3 pour la base automate. TWD USE 10AF 05/2002 Objets langage Twido Adressage réseau Introduction Les mots réseau %INW et %QNW permettent d'échanger des données d’application entre les automates d'extension et l'automate maître sur un réseau de liaison distante Twido. Reportez-vous à la rubrique Communications , p. 69 pour obtenir plus d'informations. Syntaxe L'adressage réseau doit se conformer à la syntaxe suivante. % IN, QN W Symbole Type d’objet Description de la syntaxe Exemples TWD USE 10AF 05/2002 Format x j Position de l’automate Mot Le tableau suivant décrit la syntaxe d'adressage réseau. Groupe Elément Valeur Description Symbole % - Une adresse interne doit toujours débuter par un symbole de pourcentage (%). Type d’objet IN - Mot d’entrée réseau. Transfert de données de l'automate maître vers l'automate d'extension. QN - Mot de sortie réseau. Transfert de données de l'automate d'extension vers l'automate maître. Syntaxe W - Mot de 16 bit. Position de l'automate x 0 1-7 Automate maître (maître de liaison distante). Automate distant (esclave de liaison distante). Mot j 0-3 Chaque automate d'extension utilise un maximum de quatre mots pour assurer l'échange de données avec l'automate maître. Le tableau suivant présente quelques exemples d’adressage réseau. Objet réseau Description %INW3.1 Mot réseau n°1 de l'automate distant n°3. %QNW0.3 Mot réseau n°3 de la base automate. 35 Objets langage Twido Objets blocs fonctions Introduction Les blocs fonctions contiennent des objets bits et des mots spécifiques accessibles par le programme. Exemple de bloc fonction L’illustration suivante présente un bloc fonction compteur. R S CU CD %Ci E ADJ Y %Ci.P 9999 D F Bloc compteur/décompteur Objets bits Les objets bits correspondent aux sorties des blocs. Les instructions booléennes de test peuvent accéder à ces bits selon l'une ou l'autre de ces méthodes : l directement (LD E, par exemple) s'ils sont liés au bloc par une programmation réversible (reportez-vous à la rubrique Principes de programmation de blocs fonctions élémentaires, p. 224). l en spécifiant le type de bloc (LD %Ci.E, par exemple). Les instructions peuvent accéder aux entrées. Objets mots Les objets mots correspondent aux paramètres et valeurs spécifiés suivants : l Paramètres de configuration des blocs : le programme peut accéder à certains paramètres (paramètres de présélection, par exemple), mais pas à d'autres (base temps, par exemple). l Valeurs courantes : %Ci.V, la valeur de comptage courante, par exemple. Objets accessibles par le programme Reportez-vous aux rubriques suivantes pour connaître les listes des objets accessibles par le programme. l Pour les blocs fonctions élémentaires, reportez-vous à la rubrique Blocs fonctions élémentaires, p. 222. l Pour les blocs fonctions avancés, reportez-vous à la rubrique Objets mots et objets bits associés à des blocs fonctions avancés, p. 273. 36 TWD USE 10AF 05/2002 Objets langage Twido Objets structurés Introduction Les objets structurés sont des ensembles formés par des objets simples. Twido prend en charge les types d'objets structurés suivants : l chaînes de bits l tables de mots Chaînes de bits Les chaînes de bits sont composées d'une série de bits objets adjacents du même type et dont la longueur (L) est définie. Exemple : Chaîne de bit %M8:6 %M8 %M9 %M10 %M11 %M12 %M13 Note : %M8:6 est acceptable (car 8 est un multiple de 8), alors que %M10:16 ne l'est pas (10 n'est pas un multiple de 8). Les chaînes de bits peuvent être utilisées avec l'instruction d'affectation (voir section Instructions d’affectation, p. 248). Types de bits disponibles Types de bits disponibles pour les chaînes de bits : Type Repère Taille maximale Accès en écriture Bits d'entrée TOR %I0.0:L ou %I1.0:L1 0<L<17 Non Bits de sortie TOR %Q0.0:L ou %Q1.0:L1 0<L<17 Oui Bits système %Si:L où "i" est multiple de 8 0<L<17 et i+L-128 En fonction de i Bits étape Grafcet %Xi:L où "i" est multiple de 8 0<L<17 et i+L-95 Oui (par programme) Bits internes %Mi:L où "i" est multiple de 8 0<L<17 et i+L-256 Oui Note : (1) Seuls les bits 0...L-1 peuvent être repérés. Toutes les E/S peuvent ne pas être repérées en chaîne bits. TWD USE 10AF 05/2002 37 Objets langage Twido Tables de mots Les tables de mots sont composées d'une série d'objets adjacents du même type et dont la longueur (L) est définie. Exemple : Table de mots %KW10:7 %KW10 16 bits %KW16 Les tables de mots peuvent être utilisées avec l'instruction d'affectation (voir section Instructions d’affectation, p. 248). Types de mots disponibles 38 Types de mots disponibles pour les tables de mots : Type Repère Taille maximale Accès en écriture Mots internes %MWi:L 0<L<256 et i+L< ou = 1500 Oui Mots constants %KWi:L 0<L et i+L-64 Non Mots système %SWi:L 0<L et i+L-128 En fonction de i TWD USE 10AF 05/2002 Objets langage Twido Mots indexés Introduction Un mot indexé est un mot interne ou un mot constant possédant un repère d'objet indexé. Il existe deux types de repérage d'objet : l repérage direct l repérage indexé Repérage direct Le repère direct d'un objet est défini au moment de l'écriture du programme. Exemple : %M26 est un bit interne dont le repère direct est 26. Repérage indexé L'indexation du repère d'un objet permet de modifier le repère en attribuant un index au repère direct d'un objet. Le contenu de l'index est ajouté au repère direct de l'objet. L'index est défini par un mot interne %MWi. Le nombre de "mots indexés" est illimité. Exemple : %MW108[%MW2] est un mot dont le repère est composé du repère direct 108 et du contenu du mot %MW2. Si la valeur du mot %MW2 est 12, le fait d'écrire dans %MW108[%MW2] équivaut à écrire dans %MW120 (108 + 12). Mots disponibles pour le repérage indexé Vous trouverez ci-dessous les types de mots disponibles pour le repérage indexé. Type Repère Taille maximale Accès en écriture Mots internes %MWi[MWi] 0-i< ou = %MWj<1500 Oui Mots constants %KWi[%MWj] 0-i<%MWj<64 Non Les mots indexés peuvent être utilisés avec les instructions d'affectation (voir Instructions d’affectation, p. 248) et dans les instructions de comparaison (voir Instructions de comparaison, p. 252). Ce type de repérage permet de scruter individuellement un ensemble d'objets du même type (tels que des mots internes ou des constantes), en modifiant le contenu du mot indexé via le programme. TWD USE 10AF 05/2002 39 Objets langage Twido Bit système débordement d'index %S20 Un débordement d'index se produit lorsque le repère d'un objet indexé dépasse les limites de la zone mémoire contenant le même type d'objet. Pour résumer : l Le repère de l'objet plus le contenu de l'index sont inférieurs à 0. l La somme de l'adresse de l'objet et du contenu de l'index est supérieure au mot le plus grand directement référencé dans l'application. Le nombre maximum est 1499 (pour les mots %MWi) ou 63 (pour les mots %Kwi). En cas de débordement d'index, le système règle le bit système %S20 sur 1 et une valeur d'index égale à 0 est affectée à l'objet. Note : L'utilisateur est responsable du contrôle des débordements. Le bit %S20 doit être lu par un programme utilisateur pour rendre le traitement possible. L'utilisateur doit confirmer qu'il est remis à 0. %S20 (état initial = 0) : l Sur débordement d'index : réglé sur 1 par le système. l Constatation de débordement : réglé sur 0 par l'utilisateur, après modification de l'index. 40 TWD USE 10AF 05/2002 Objets langage Twido Symbolisation d’objets Introduction Les symboles permettent d'adresser des objets du langage logiciel Twido, à l'aide de noms ou de mnémoniques personnalisés. L'utilisation de symboles permet d'examiner et d'analyser rapidement la logique d'un programme et simplifie significativement les procédures de développement et de test d'une application. Exemple Par exemple, le symbole WASH_END pourrait être utilisé pour identifier un bloc fonction horodateur correspondant à la fin d'un cycle de lavage. L'utilisation de ce nom se révélera beaucoup plus pratique que celui du repère du programme, tel que %TM3. Instructions pour la définition de symboles Les noms de symboles doivent répondre aux exigences suivantes : l Ces noms doivent comporter un maximum de 32 caractères. l Ces noms peuvent uniquement comporter des lettres (A-Z), des nombres (0 -9) et des traits de soulignement (_). l Le premier caractère de ces noms doit être alphanumérique ou accentué. Ces noms ne peuvent pas comporter de signe de pourcentage (%). l Ces noms ne peuvent pas contenir d'espaces ou de caractères spéciaux. l Aucune distinction ne sera faite entre les majuscules et les minuscules. Par exemple, "Pompe1" et "POMPE1" correspondront au même symbole et ne pourront par conséquent être utilisés qu'une seule fois dans l'application. Edition des symboles Utilisez l'éditeur de symboles pour définir et associer des objets de langage. Il est important de signaler que les symboles et leurs commentaires ne sont pas stockés sur l'automate, mais avec l'application, sur le disque dur. Il est donc impossible de transférer ces symboles vers l'automate, avec l'application. Reportez-vous au guide d'exploitation TwidoSoft pour plus d'informations sur l'utilisation des symboles. TWD USE 10AF 05/2002 41 Objets langage Twido 42 TWD USE 10AF 05/2002 Mémoire utilisateur 3 Structure de la mémoire utilisateur Introduction La mémoire de l'automate accessible par une application utilisateur est divisée en deux ensembles distincts : l des valeurs de bits l des valeurs de mots (valeurs signées à 16 bits) Mémoire bit La mémoire bit est située dans la mémoire RAM interne intégrée à l'automate. Elle contient l'image des 1280 objets bits. Rôle de la mémoire mots La mémoire mots (16 bits) prend en charge : l les données : données dynamiques de l'application et données système l le programme : descripteurs et code exécutable des tâches l les constantes : mots constants, valeurs initiales et configuration des entrées/ sorties Types de mémoire Les trois types de mémoire pour les automates Twido sont les suivants : l RAM interne (intégrée) Mémoire RAM intégrée à l'automate. Les 10 premiers Ko de la mémoire RAM interne sont de la RAM rapide et les 32 Ko suivants sont de la RAM standard. La RAM interne contient le programme, les constantes et les données. l EEPROM interne Mémoire EEPROM intégrée de 32 Ko permettant une sauvegarde interne dans l'automate d'une application. Elle protège les applications des altérations causées par un défaut de batterie ou une coupure secteur de plus de 30 jours. Elle contient un programme et des constantes. l Cartouche de sauvegarde de mémoire externe Cartouche EEPROM externe en option pour la sauvegarde d'une application ou l'utilisation d'une application plus importante. Elle peut être utilisée pour mettre à jour l'application dans la mémoire RAM de l'automate. Elle est composée d'un programme et de constantes, mais elle ne contient aucune donnée. TWD USE 10AF 05/2002 43 Mémoire utilisateur Structure sans cartouche de mémoire externe Le schéma suivant présente la structure de la mémoire sans cartouche de mémoire externe en option. RAM interne Données Programme Constantes EEPROM interne Enregistrement du programme et des constantes Enregistrement de %MW La mémoire EEPROM interne de 32 Ko intégrée à l'automate peut contenir : l le programme de l'application (32 Ko) et l 512 mots internes (%MWi) Structure avec cartouche de mémoire externe La cartouche de mémoire externe en option permet d'effectuer la sauvegarde des programmes et des constantes. Elle permet également de fournir de la mémoire supplémentaire pour les applications plus importantes. Le schéma suivant illustre la structure de la mémoire avec cartouche de mémoire externe. RAM interne Données EEPROM interne Champ inutilisable Enregistrement de %MW Cartouche EEPROM externe Programme Constantes La mémoire EEPROM interne de 32 Ko permet d'enregistrer 512 mots internes (%MWi). 44 TWD USE 10AF 05/2002 Mémoire utilisateur Sauvegarde de la mémoire La mémoire RAM interne de l'automate est enregistrée par l'un des éléments suivants : l batterie interne (jusqu'à 30 jours) l mémoire EEPROM interne (32 Ko maximum) l cartouche de mémoire externe en option (64 Ko maximum) Le transfert de l'application depuis la mémoire EPROM interne vers la mémoire RAM s'effectue automatiquement, lorsqu'il y a perte de l'application en RAM (absence de sauvegarde ou de batterie). Notez qu'il est également possible d'effectuer un transfert manuel à l'aide de TwidoSoft. Configurations de la mémoire Le tableau suivant présente les configurations de mémoire possibles des automates Twido. Automates compacts Automates modulaires Type de mémoire 10DRF 16DRF 24DRF 20DUK 20DTK 20DRT RAM interne 10 Ko 32 Ko 32 Ko 32 Ko 32 Ko 32 Ko 64 Ko 64 Ko 32 Ko ou 64 Ko* Mémoire étendue disponible* 40DUK 40DTK Taille maximale de l'application 10 Ko 32 Ko 32 Ko 32 Ko 32 Ko ou 64 Ko* Sauvegarde externe maximale 32 Ko 32 Ko 32 Ko 64 Ko 32 Ko ou 32 Ko ou 64 Ko 64 Ko Note : *La mémoire peut être étendue jusqu'à 64 Ko pour les automates TWDLMDA20DRT, TWDLMDA40DUK et TWDLMDA40DTK en installant la cartouche de mémoire externe de 64 Ko en option. La cartouche doit rester installée afin de permettre l'exécution et la sauvegarde de l'application. TWD USE 10AF 05/2002 45 Mémoire utilisateur 46 TWD USE 10AF 05/2002 Modes de fonctionnement de l’automate 4 En bref... Présentation Ce chapitre offre des informations sur les modes de fonctionnement des automates, ainsi que sur l'exécution cyclique et périodique de programmes. Vous y trouverez également des informations détaillées sur les coupures secteur et les opérations de restauration. Contenu de ce chapitre Ce chapitre contient les sujets suivants : TWD USE 10AF 05/2002 Sujet Page Scrutation cyclique 48 Scrutation périodique 51 Vérification de la durée de scrutation 54 Modes de fonctionnement 56 Gestion des coupures et des reprises secteur 58 Gestion d'une reprise à chaud 61 Gestion d'un démarrage à froid 63 Initialisation de l'automate 66 47 Modes de fonctionnement de l’automate Scrutation cyclique Introduction La scrutation cyclique relie les cycles de la tâche maître les uns après les autres et n'attend que le traitement du système. Après avoir effectué la mise à jour des sorties (troisième phase du cycle de la tâche), le système exécute un certain nombre de ses propres tâches et déclenche immédiatement un autre cycle de la tâche. Note : La durée de scrutation du programme utilisateur est contrôlée par le temporisateur chien de garde de l'automate et ne doit pas dépasser 150 ms. Sinon une faute apparaît faisant passer immédiatement l'automate en mode d'arrêt. Sous ce mode, les sorties sont forcées sur leur état de repli par défaut. Fonctionnement L'illustration suivante montre la durée des phases d'exécution de la scrutation cyclique. Traitement du programme Traitement du programme T.I. %I Temps de scrutation n 48 %Q T.I. %I %Q Temps de scrutation n+1 TWD USE 10AF 05/2002 Modes de fonctionnement de l’automate Description des phases de fonctionnement Mode de fonctionnement TWD USE 10AF 05/2002 Le tableau suivant décrit les phases de fonctionnement. Repère Phase Description T.I. Traitement interne Le système réalise implicitement la surveillance de l'automate (gestion des bits et mots système, mise à jour des valeurs courantes de l'horodateur, mise à jour des voyants d'état, détection des commutateurs RUN/STOP, etc.) et le traitement des requêtes en provenance de TwidoSoft (modifications et animation). %I Acquisition des entrées Ecriture en mémoire de l'état des informations des entrées TOR et spécifiques à l'application du module associées à la tâche. - Traitement du programme Exécution du programme d'application écrit par l'utilisateur. %Q Mise à jour des sorties Ecriture des bits ou des mots de sorties associés aux modules TOR et spécifiques à l'application, associés à la tâche selon l'état défini par le programmed'application. Automate en mode RUN, le processeur effectue les opérations suivantes : l traitement interne l acquisition des entrées l traitement du programme d'application l mise à jour des sorties Automate en mode STOP, le processeur effectue les opérations suivantes : l traitement interne l acquisition des entrées 49 Modes de fonctionnement de l’automate Illustration L’illustration suivante présente les cycles de fonctionnement. Traitement interne Acquisition des entrées EXECUTION STOP Traitement du programme Mise à jour des sorties Cycle de contrôle 50 Le cycle de contrôle est effectué par le chien de garde. TWD USE 10AF 05/2002 Modes de fonctionnement de l’automate Scrutation périodique Introduction Dans ce mode de fonctionnement, l'acquisition des entrées, le traitement du programme d'application et la mise à jour des sorties s'effectuent de façon périodique selon un intervalle défini lors de la configuration (de 2 à 150 ms). Au début de la scrutation de l'automate, un temporisateur, dont la valeur est initialisée sur la période définie lors de la configuration, démarre le décomptage. La scrutation de l'automate doit se terminer avant la fin du décomptage et avant le début d'une nouvelle scrutation. Fonctionnement L'illustration suivante présente les phases d'exécution de la scrutation périodique. Traitement du programme %I Traitement du programme %Q T.I. Période d'attente Temps de scrutation n %Q %I T.I. Période d'attente Temps de scrutation n+1 Période Description des phases de fonctionnement TWD USE 10AF 05/2002 Le tableau suivant décrit les phases de fonctionnement. Repère Phase Description T.I. Traitement interne Le système réalise implicitement la surveillance de l'automate (gestion des bits et mots système, mise à jour des valeurs courantes de l'horodateur, mise à jour des voyants d'état, détection des commutateurs RUN/STOP, etc.) et le traitement des requêtes en provenance de TwidoSoft (modifications et animation). %I Acquisition des entrées Ecriture en mémoire de l'état des informations des entrées TOR et spécifiques à l'application du module associées à la tâche. - Traitement du programme Exécution du programme d'application écrit par l'utilisateur. %Q Mise à jour des sorties Ecriture des bits ou des mots de sorties associés aux modules TOR et spécifiques à l'application, associés à la tâche selon l'état défini par le programme d'application. 51 Modes de fonctionnement de l’automate Mode de fonctionnement 52 Automate en mode RUN, le processeur effectue les opérations suivantes : l ordre de traitement interne l acquisition des entrées l traitement du programme d'application l mise à jour des sorties Si la période n'est pas terminée, le processeur poursuit son cycle de fonctionnement jusqu'à la fin de la période du traitement interne. Si la durée de fonctionnement dépasse celle affectée à la période, l'automate signale un débordement de période en réglant le bit système %S19 de la tâche sur 1. Le traitement se poursuit jusqu'à son exécution totale. Néanmoins, il ne doit pas dépasser le temps limite du chien de garde. La scrutation suivante est enchaînée après l'écriture implicite des sorties de la scrutation en cours. Automate en mode STOP, le processeur effectue les opérations suivantes : l traitement interne l acquisition des entrées TWD USE 10AF 05/2002 Modes de fonctionnement de l’automate Illustration L’illustration suivante présente les cycles de fonctionnement. Début de la période Traitement interne Acquisition des entrées EXECUTION STOP Traitement du programme Mise à jour des sorties Traitement interne Fin de période Cycle de contrôle TWD USE 10AF 05/2002 Deux contrôles sont effectués : l débordement de période l chien de garde 53 Modes de fonctionnement de l’automate Vérification de la durée de scrutation Généralités Le cycle de la tâche maître est contrôlé par un temporisateur chien de garde appelé Tmax (durée maximale du cycle de la tâche maître). Ce temporisateur permet d'afficher les erreurs de l'application (boucles infinies, etc.) et garantit une durée maximale du rafraichissement des sorties. Chien de garde logiciel (fonctionnement périodique ou cyclique) Au cours du fonctionnement périodique ou cyclique, le déclenchement du chien de garde provoque une erreur logicielle. Cette application passe en mode HALT et règle le bit %S11 sur 1. La relance de la tâche nécessite une connexion à TwidoSoft afin d'analyser la cause de l'erreur, une modification de l'application pour corriger l'erreur, ainsi qu'une relance des requêtes INIT et RUN. Note : L'état HALT correspond à l'arrêt immédiat de l'application causé par une erreur d'application logicielle telle qu'un débordement de scrutation. Les données retiennent les valeurs courantes, permettant ainsi l'analyse de la cause de l'erreur. Toutes les tâches de l'instruction actuelle sont arrêtées. La communication avec l'automate est disponible. Contrôle en fonctionnement périodique 54 En fonctionnement périodique, un contrôle supplémentaire permet de détecter un dépassement de période : l %S19 indique que la période est dépassée. Il est réglé sur : l 1 par le système lorsque la durée de scrutation est supérieure à la durée de la tâche. l 0 par l'utilisateur. l %SW0 contient la valeur de la période (0-150 ms). Il est : l initialisé lors d'un démarrage à froid par la valeur réglée au moment de la configuration et l peut être modifié par l'utilisateur. TWD USE 10AF 05/2002 Modes de fonctionnement de l’automate Exploitation des temps d'exécution de la tâche maître Les mots système suivants permettent d'obtenir des informations sur le temps de cycle de l'automate : l %SW11 initialise la durée maximale du chien de garde (10 à 500 ms). l %SW30 contient le durée d'exécution du dernier cycle de scrutation de l'automate. l %SW31 contient la durée d'exécution du plus long cycle de scrutation de l'automate depuis le dernier démarrage à froid. l %SW32 contient la durée d'exécution du plus court cycle de scrutation de l'automate depuis le dernier démarrage à froid. Note : Ces différentes informations sont également accessibles depuis l'éditeur de configuration. TWD USE 10AF 05/2002 55 Modes de fonctionnement de l’automate Modes de fonctionnement Introduction Twido Soft est utilisé pour prendre en compte les trois groupes de modes de fonctionnement : l vérification l exécution ou production l arrêt. Note : Ces modes de fonctionnement sont définis dans l'ouvrage « Design Guide for Operating and Stopping Modes », publié par l'agence pour le développement des automatismes industriels (Applied Industrial Automation Development Agency). Démarrage via Grafcet 56 Ces différents modes de fonctionnement sont accessibles depuis Grafcet ou en utilisant Grafcet, en appliquant les méthodes suivantes : l initialisation de Grafcet l préréglage des pas l conservation d'une situation l gel de diagrammes. Le traitement préliminaire et l'utilisation de bits système garantissent une gestion efficace du mode de fonctionnement qui ne provoque aucune complication du programme utilisateur et qui n'implique aucune surcharge sur ce dernier. TWD USE 10AF 05/2002 Modes de fonctionnement de l’automate Bits système Grafcet TWD USE 10AF 05/2002 L'utilisation des bits %S21, %S22 et %S23 est réservée au traitement préliminaire. Ces bits sont automatiquement remis à zéro par le système, et ne doivent être écrits que par l'instruction Set S. Le tableau suivant présente les bits système associés à Grafcet : Bit Fonction Description %S21 Initialisation de GRAFCET Normalement réglé sur 0, ce bit est réglé sur 1 par : l un démarrage à froid, %S0=1 ; l l'utilisateur, uniquement dans la section du programme de prétraitement, à l'aide de l'instruction Set S %S21 ou d'une bobine Set -(S)- %S21. Conséquences: l Désactivation de tous les pas. l Activation de tous les pas initiaux. %S22 GRAFCET RESET Normalement réglé sur 0, ce bit peut être réglé sur 1, uniquement par le programme au cours du prétraitement. Conséquences : l Désactivation de tous les pas. l Arrêt de la scrutation du traitement séquentiel. %S23 Préréglage et gel de GRAFCET Normalement réglé sur 0, ce bit peut être réglé sur 1, uniquement par le programme au cours du prétraitement. l Remise à zéro de Grafcet en réglant %S22 sur 1. l Prépositionne les pas pour leur activation, par une série d'instructions S Xi. l Activation du prépositionnement en réglant %S23 sur 1. Gel d'une situation : l Dans la situation initiale : par le maintien de %S21 sur 1 par le programme. l Dans une situation « vide » : par le maintien de %S22 sur 1 par le programme. l Dans une situation déterminée par le maintien de %S23 sur 1. 57 Modes de fonctionnement de l’automate Gestion des coupures et des reprises secteur Illustration L'illustration suivante présente les différentes reprises secteur détectées par le système. Si la durée de la coupure est inférieure au temps de filtrage de l'alimentation (environ 10 ms pour une alimentation en courant alternatif ou 1 ms pour une alimentation en courant continu), elle n'est pas prise en compte par le programme qui s'exécute normalement. Exécution Exécution de l'application Coupure secteur Attente secteur Restauration secteur ATTENTE Coupure détectée Oui Test auto Non Enregistrement contexte OK Non Oui Carte mémoire identique Non Oui Exécution normale du programme Démarrage à chaud Démarrage à froid Note : Le contexte est enregistré dans une mémoire RAM sur batterie de secours. A la mise sous tension, le système vérifie l'état des batteries et du contexte enregistré afin de déterminer si un démarrage à chaud est possible. 58 TWD USE 10AF 05/2002 Modes de fonctionnement de l’automate Bit d'entrée Run/ Stop et option Démarrage automatique en Run Le bit d'entrée Run/Stop est prioritaire sur l'option Démarrage automatique en Run accessible à partir de la boîte de dialogue Mode de scrutation (voir le guide d'exploitation TwidoSoft). Si le bit Run/Stop est défini, l'automate redémarre en mode Run à la reprise secteur. Le mode de l'automate est déterminé de la façon suivante. Bit d'entrée Run/Stop Démarrage automatique en Run Etat résultant Zéro Zéro Arrêté Zéro Un Arrêté Front montant Sans importance En cours d'exécution Un Sans importance En cours d'exécution Non configuré dans le logiciel Zéro Arrêté Non configuré dans le logiciel Un En cours d'exécution Note : Pour tous les automates compacts, si l'automate est en mode Run à l'interruption du secteur et que l'indicateur "Démarrage automatique en Run" n'est pas sélectionné dans la boîte Mode de scrutation, l'automate redémarre en mode Stop à la reprise secteur. Note : Pour tous les automates modulaires, si la batterie de l'automate fonctionne normalement lors de l'interruption du secteur, l'automate redémarre dans le mode effectif au moment de l'interruption. L'indicateur "Démarrage automatique en Run", sélectionné dans la boîte de dialogue Mode de scrutation, n'aura aucun effet sur le mode adopté à la reprise secteur. TWD USE 10AF 05/2002 59 Modes de fonctionnement de l’automate Fonctionnement Le tableau suivant décrit les phases du traitement des coupures secteur. Phase 60 Description 1 Lors de la coupure secteur, le système mémorise le contexte application et l'heure de la coupure. 2 Il règle toutes les sorties dans un état de repli comme fonction des paramètres de sécurité (%S9). 3 A la reprise secteur, le contexte sauvegardé est comparé à celui en cours. Cette comparaison permet de définir le type de démarrage à exécuter : l Si le contexte application a changé (perte du contexte système ou nouvelle application), l'automate effectue l'initialisation de l'application : démarrage à froid. l Si le contexte application est identique, l'automate effectue une reprise sans initialisation des données : redémarrage à chaud. TWD USE 10AF 05/2002 Modes de fonctionnement de l’automate Gestion d'une reprise à chaud Cause d’une reprise à chaud Une reprise à chaud peut être provoquée : l par une reprise secteur sans perte du contexte, l lorsque le bit système %S1 est réglé sur 1 par le programme, l depuis l'afficheur, lorsque l'automate est en mode STOP. Note : Les automates compacts sont toujours mis sous tension en démarrage à froid. Les automates modulaires redémarrent toujours en reprise à chaud. Illustration Le dessin ci-après décrit le fonctionnement d’une reprise à chaud en mode d'exécution (RUN). EXECUTION ATTENTE Acquisition des entrées Arrêt du processeur Sauvegarde du contexte de l'application Fin de programme HAUT si bit %S1=1, traitement éventuel avec reprise à chaud Retour secteur Tests auto de configuration partiels Détection coupure secteur >Micro coupure secteur Oui Bit %S1 réglé sur 1 pour un seul cycle Non BAS Bit %S1 réglé sur 0 Mise à jour des sorties TWD USE 10AF 05/2002 61 Modes de fonctionnement de l’automate Reprise de l'exécution du programme Le tableau suivant décrit les phases de reprise de l’exécution d'un programme après une reprise à chaud. Phase 1 2 3 Description L'exécution du programme reprend à partir de l'élément où a eu lieu la coupure secteur, sans mise à jour des sorties. Remarque : Seuls les éléments du code de l'utilisateur sont redémarrés. Le code système (la mise à jour des sorties, par exemple) n'est pas redémarré. A la fin du cycle de reprise, le système : annule la réservation de l'application lorsqu'elle est réservée (et provoque une application STOP en cas de débogage) ; l effectue la réinitialisation des messages. l Le système effectue un cycle de reprise au cours duquel il : relance la tâche avec les bits %S1 (balise de reprise à chaud) et %S13 (premier cycle en mode RUN) réglés sur 1, l remet à l’état 0 les bits %S1 et %S13 à la fin de ce premier cycle de la tâche maître. l Gestion d’un démarrage à chaud En cas de démarrage à chaud et lorsque le traitement d'une application particulière est requis, le bit %S1 doit être testé en début du cycle de tâche et le programme correspondant doit être appelé. Sorties après une coupure secteur Dès qu'une coupure secteur est détectée, les sorties sont réglées sur un état de repli (par défaut) de 0. A la reprise secteur, les sorties conservent leur dernier état jusqu'à ce qu'elles soient remises à jour par la tâche. 62 TWD USE 10AF 05/2002 Modes de fonctionnement de l’automate Gestion d'un démarrage à froid Cause d’un démarrage à froid Un démarrage à froid peut être provoqué : l par le chargement d'une nouvelle application dans la mémoire RAM, l par une reprise secteur avec perte du contexte de l'application, l lorsque le bit %S0 est réglé sur 1 par le programme, l depuis l'afficheur, lorsque l'automate est en mode STOP. Note : Les automates compacts sont toujours mis sous tension en démarrage à froid. Les automates modulaires redémarrent toujours en reprise à chaud. TWD USE 10AF 05/2002 63 Modes de fonctionnement de l’automate Illustration Le dessin suivant décrit le fonctionnement d’une reprise à froid en mode d'exécution (RUN). EXECUTION ATTENTE Acquisition des entrées Exécution du programme HAUT si bit %S0=1, traitement éventuel avec démarrage à froid Arrêt du processeur Sauvegarde du contexte de l'application Retour secteur TESTS AUTO Détection coupure secteur >Micro coupure secteur Non Oui Tests auto de configuration partiels Initialisation de l'application BAS Bit %S0 réglé sur 1 Bit %S0 réglé sur 0 Mise à jour des sorties 64 TWD USE 10AF 05/2002 Modes de fonctionnement de l’automate Fonctionnement Le tableau ci-après décrit les phases de reprise de l’exécution du programme sur reprise à froid. Phase 1 2 3 Description A la mise sous tension, l'automate est en mode d'exécution (RUN). En cas de redémarrage à froid faisant suite à un arrêt causé par une ERREUR, le système impose une redémarrage à froid. L’exécution du programme reprend en début de cycle. Le système effectue : une remise à 0 des bits et des mots internes et des images E/S l’initialisation des bits et mots système ; l’initialisation des blocs fonctions à partir des données de configuration. l l l Pour ce premier cycle de reprise, le système : l relance la tâche avec les bits %S0 (balise de reprise à froid) et %S13 (premier cycle en mode RUN) réglés sur 1 ; l remet à 0 les bits %S0 et %S13 à la fin de ce premier cycle de la tâche. Gestion d’un démarrage à froid Dans le cas d'un démarrage à froid et lorsque le traitement particulier d'une application est requis, le bit %S0 (qui reste à 1) doit être testé au cours du premier cycle de la tâche. Sorties après une coupure secteur Dès qu'une coupure secteur est détectée, les sorties sont réglées sur un état de repli (par défaut) de 0. A la reprise secteur, les sorties sont à zéro jusqu'à ce qu'elles soient remises à jour par la tâche. TWD USE 10AF 05/2002 65 Modes de fonctionnement de l’automate Initialisation de l’automate Introduction Les automates peuvent être initialisés par TwidoSoft en réglant les bits système %S0 (démarrage à froid) et %S1 (reprise à chaud). Initialisation en démarrage à froid Pour une initialisation en démarrage à froid, le bit système %S0 doit être réglé sur 1. Initialisation en démarrage à chaud à l'aide de %S0 et de %S1 Pour une initialisation en démarrage à chaud, les bits système %S1 et %S0 doivent être réglés sur 1. L'exemple suivant montre comment programmer une initialisation en reprise à chaud à l'aide des bits système. %S1 %S0 LD %S1 Si %S1 = 1 (reprise à chaud), le réglage de %S0 sur 1 initialise l'automate. ST %S0 Ces deux bits sont remis à zéro par le système à la fin de la scrutation suivante. Note : Ne réglez pas %S0 sur 1 pour plus d'une scrutation de l'automate. Initialisation en démarrage à chaud à l'aide de la commande INIT 66 Une initialisation en démarrage à chaud peut également être demandée à l'aide de la commande INIT. La commande INIT met l'automate à l'état IDLE et la réinitialisation des données de l'application et de l'état de la tâche à l'état STOPPED. TWD USE 10AF 05/2002 Fonctions spéciales II En bref... Présentation Cette rubrique décrit les communications, les fonctions analogiques intégrées et la gestion des modules d'E/S analogiques des automates Twido. Contenu de cet intercalaire Cet intercalaire contient les chapitres suivants : TWD USE 10AF 05/2002 Chapitre Titre du chapitre 5 Communications Page 6 Fonctions analogiques intégrées 123 7 Gestion des modules analogiques 127 8 Fonctionnement de l'afficheur 135 69 67 Fonctions spéciales 68 TWD USE 10AF 05/2002 Communications 5 En bref... Présentation Ce chapitre offre une présentation des procédures de configuration, de programmation et de gestion des communications à l'aide d'automates Twido. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Présentation des communications 70 Communications entre TwidoSoft et l'automate 72 Communications de liaison distante 74 Communications ASCII 87 Communications Modbus 99 Requêtes Modbus standard TWD USE 10AF 05/2002 Page 117 69 Communications Présentation des communications Présentation Twido dispose de deux ports série de communication utilisés pour communiquer avec les automates distants, les automates d'extension ou divers périphériques externes. Les deux ports, lorsqu'ils disponibles, peuvent être utilisés pour tous les services, à l'exception de la communication avec Twido Soft, qui ne peut se faire qu’avec le premier port. Trois différents protocoles de base sont pris en charge sur chaque automate Twido : liaison distante, ASCII ou modbus (maître modbus ou esclave modbus). Liaison distante La liaison distante est un bus maître/esclave très rapide conçu pour communiquer une petite quantité de données entre l'automate maître et un maximum de sept automates distants (esclave). Les données de l'application ou les données d’E/S sont transférées en fonction de la configuration des automates distants. Il est possible d’associer différents types d'automates, tels que des automates d’E/S distantes et des automates d'extension. ASCII Le protocole ASCII est un protocole semi-duplex en mode caractère simple utilisé pour transmettre et/ou recevoir une chaîne de caractères de ou vers un périphérique (imprimante ou terminal). Ce protocole est uniquement pris en charge via l'instruction « EXCH ». 70 TWD USE 10AF 05/2002 Communications Modbus Le protocole modbus est un protocole maître/esclave qui permet à un maître et un seul d'obtenir des réponses provenant des esclaves ou d'agir sur requête. Le maître peut s'adresser aux esclaves individuellement ou envoyer un message de diffusion générale à tous les esclaves. Les esclaves renvoient un message (réponse) aux requêtes qui leur sont adressées individuellement. Les réponses aux requêtes de diffusion générale du maître ne sont pas renvoyées. Maître modbus - Le mode maître modbus permet à l'automate Twido de commencer la transmission d'une requête modbus dont la réponse est attendue de la part de l'esclave. Le mode maître modbus est uniquement pris en charge via l'instruction « EXCH ». Les modes ASCII et RTU modbus sont pris en charge en mode maître modbus. Esclave modbus - Le mode esclave modbus permet à l'automate Twido de répondre aux requêtes modbus d'un maître modbus. Il s'agit du mode de communication par défaut si aucune communication n'a été configurée. L'automate Twido prend en charge les données modbus standard, les fonctions de contrôle et les extensions de service pour l'accès aux objets. Les modes ASCII et RTU modbus sont pris en charge en mode esclave modbus. Note : Il peut exister 32 noeuds maximum sur un réseau RS-485 (1 maître et jusqu' à 31 esclaves), dont les adresses peuvent être comprises entre 1 et 247. TWD USE 10AF 05/2002 71 Communications Communications entre TwidoSoft et l’automate Présentation Chaque automate Twido possède, sur son port 1, une prise de terminal EIA RS-485 intégrée. Cette prise possède sa propre alimentation interne. Faites transiter par le port 1 toutes les communications échangées avec le logiciel de programmation TwidoSoft. Aucune cartouche ou aucun module de communication optionnel(le) ne peut utiliser ce port. ATTENTION ENDOMMAGEMENT DU MATERIEL INATTENDU TwidoSoft risque de ne pas détecter de déconnexion lorsque vous retirez physiquement le câble de communication TSXPCX1031 d'un automate pour le réinsérer rapidement dans un autre automate. Afin d'éviter ce genre de problème, utilisez TwidoSoft pour effectuer la déconnexion avant de retirer le câble. Le non-respect de ces précautions peut entraîner des lésions corporelles ou/et des dommages matériels. Raccordement du câble Le port EIA RS-232C de votre PC est raccordé au port 1 de l'automate à l'aide du câble de communication multifonctions TSXPCX1031. Ce câble, assurant la conversion des signaux entre EIA RS-232 et EIA RS-485, dispose d'un connecteur rotatif à 4 positions permettant de sélectionner les différents modes de fonctionnement. Les quatre positions de ce commutateur sont numérotées de 0 à 3. Pour les communications entre TwidoSoft et l'automate Twido, ce commutateur doit être positionné sur 2. Ce raccordement est illustré dans le schéma suivant. Port 1 RS485 TSXPCX1031 Port série PC EIA RS-232 2 3 1 0 Note : Le signal DPT n'est pas mis à la terre. Le signal est réglé de manière interne afin d'indiquer au microprogramme de l'automate que la connexion courante est une connexion TwidoSoft. 72 TWD USE 10AF 05/2002 Communications Brochages des connecteurs mâle et femelle L'illustration suivante présente le brochage d'un connecteur mini DIN mâle à 8 broches. Brochages 1 2 3 4 5 6 7 8 6 7 8 3 4 5 1 2 RS-485 A (+) B (-) NC /DE DPT NC 0V 5V L'illustration suivante présente le brochage d'un connecteur mini DIN femelle à 9 broches. TWD USE 10AF 05/2002 1 6 5 9 Brochages 1 2 3 4 5 6 7 8 9 RS-232 DCD RX TX DTR SG NC RTS CTS NC 73 Communications Communications de liaison distante Introduction La liaison distante est un bus maître/esclave à haut débit conçu pour assurer l'échange d'une petite quantité de données entre l'automate maître et un maximum de sept automates (esclaves) distants. L'application ou les données d'E/S sont transférées, selon la configuration des automates distants. Il est possible d'associer différents types d'automates distants. Certains peuvent être des E/S distantes et d'autres des automates d'extension. Note : L'automate maître contient les informations relatives au repère d'une E/S distante, mais il ne sait pas à quel automate précis correspond ce repère. Par conséquent, l'automate maître ne peut pas affirmer que toutes les entrées et sorties distantes utilisées dans l'application utilisateur existent réellement. Assurez-vous que cela soit le cas. Note : Le bus d'E/S distantes et le protocole utilisé sont propriétaires et aucun périphérique tiers n'est autorisé sur le réseau. ATTENTION FONCTIONNEMENT DU MATERIEL INATTENDU l Assurez-vous qu'il existe un seul automate maître sur une liaison distante et que chaque esclave dispose d'un repère unique. Le nonrespect de cette précaution risque de corrompre les données ou de générer des résultats inattendus et ambigus. l Assurez-vous que tous les esclaves disposent d'un repère unique. Deux esclaves ne doivent pas avoir le même repère. Le non-respect de cette précaution risque de corrompre les données ou de générer des résultats inattendus et ambigus. Le non-respect de ces précautions peut entraîner des lésions corporelles ou/et des dommages matériels. Note : La liaison distante nécessite une connexion EIA RS-485 et peut s'exécuter sur un seul port de communication à la fois. 74 TWD USE 10AF 05/2002 Communications Configuration matérielle Une liaison distante doit utiliser un port EIA RS-485 à 3 fils minimum. Cela signifie qu'il est possible de la configurer afin d'utiliser le premier port ou un deuxième port optionnel existant. Note : Un seul port de communication peut être configuré en tant que liaison distante. Le tableau suivant répertorie les périphériques utilisables. TWD USE 10AF 05/2002 Périphérique Port Caractéristiques TWDCAA10/16/24DRF, TWDLMDA20/40DUK, TWDLMDA20/40DTK, TWDLMDA20DRT 1 Base automate prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur mini DIN. TWDNOZ232D 2 Module de communication prenant en charge un port EIA RS-232 à 3 fils à l'aide d'un connecteur mini DIN. Note : Ce module n'est disponible que pour les automates modulaires. Lorsque le module est connecté, l'automate ne peut pas disposer d'un module d'expansion Afficheur. TWDNOZ485D 2 Module de communication prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur mini DIN. Note : Ce module n'est disponible que pour les automates modulaires. Lorsque le module est connecté, l'automate ne peut pas disposer d'un module d'expansion Afficheur. TWDNOZ485T 2 Module de communication prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur de borne. Note : Ce module n'est disponible que pour les automates modulaires. Lorsque le module est connecté, l'automate ne peut pas disposer d'un module d'expansion Afficheur. TWDNAC232D 2 Adaptateur de communication prenant en charge un port EIA RS-232 à 3 fils à l'aide d'un connecteur mini DIN. Note : Cet adaptateur n'est disponible que pour les automates 16 et 24 E/S compacts et pour le module d'expansion Afficheur. TWDNAC485D 2 Adaptateur de communication prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur mini DIN. Note : Cet adaptateur n'est disponible que pour les automates 16 et 24 E/S compacts et pour le module d'expansion Afficheur. 75 Communications Périphérique Port Caractéristiques TWDNAC485T 2 Adaptateur de communication prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur de borne. Note : Cet adaptateur n'est disponible que pour les automates 16 et 24 E/S compacts et pour le module d'expansion Afficheur. TWDXCPODM 2 Module d'expansion Afficheur prenant en charge un port EIA RS-232 à 3 fils à l'aide d'un connecteur mini DIN, un port EIA RS-485 à 3 fils à l'aide d'un connecteur mini DIN ou un port EIA RS-485 à 3 fils à l'aide d'un connecteur de borne. Note : Ce module n'est disponible que pour les automates modulaires. Lorsque le module est connecté, l'automate ne peut pas disposer d'un module d'expansion Communication. Note : La configuration du port 2 (disponibilité et type) est uniquement contrôlée lors de la mise sous tension ou de la réinitialisation. Connexion de câbles à chaque périphérique Note : Le signal DPT sur la broche 5 doit être relié à la terre sur la broche 7 afin de signaler l'utilisation de communications de liaison distante. Lorsque ce signal n'est pas relié à la terre, l'automate Twido maître ou esclave est défini par défaut dans un mode dans lequel des tentatives d'établir des communications avec TwidoSoft s'effectuent. Les connexions de câbles effectués à chaque périphérique sont représentées cidessous. Automate maître A(+) B(-) GND DPT Automate Automate ... distant distant A(+) B(-) GND DPT A(+) B(-) GND DPT Note : La connexion DPT à GND (terre) n'est nécessaire qu'en cas de connexion à une base automate sur le port 1. 76 TWD USE 10AF 05/2002 Communications Configuration logicielle Un seul automate maître doit être défini sur la liaison distante. En outre, chaque automate distant doit conserver un repère esclave unique. L'utilisation de repères identiques par plusieurs maîtres ou esclaves risque de corrompre des transmissions ou de créer des ambiguïtés. ATTENTION Mise en route non souhaitée d'équipements Assurez-vous qu'il existe un seul automate maître sur une liaison distante et que chaque esclave dispose d'un repère unique. Le nonrespect de cette précaution risque de corrompre les données ou de générer des résultats inattendus et ambigus. Le non-respect de ces précautions peut entraîner des lésions corporelles ou/et des dommages matériels. Configuration de l'automate maître TWD USE 10AF 05/2002 Configurez l'automate maître à l'aide de TwidoSoft pour gérer un réseau de liaison distante constitué au maximum de sept automates distants. Le maître prend en charge un mélange hétérogène d'automates distants (soit des E/S distantes, soit des automates d'extension) sur la liaison distante. Le repère du maître configuré à l'aide de TwidoSoft correspond au repère 0. 77 Communications Configuration de l’automate distant Vous pouvez utiliser chacun des automates distants en tant qu’E/S distantes ou automate d'extension. Ceux-ci sont configurés à l'aide de TwidoSoft afin de leur affecter un repère compris entre 1 et 7 (notez que 0 est réservé au maître de la liaison distante). Le tableau suivant résume les différences et les contraintes de chacun de ces types de configuration d'automate distant. Type Programme d’application Accès aux données E/S distantes Non %I et %Q Pas même une simple instruction "END" Seule l'E/S locale de l'automate distant est accessible (et non son E/ S d'expansion). Automate d'extension Oui Le mode Run n'est pas connecté à celui du maître. 78 %INW et %QNW Il est possible de transmettre un maximum de quatre mots d'entrée et quatre mots de sortie vers et depuis chaque extension. TWD USE 10AF 05/2002 Communications Synchronisation de scrutation de l’automate distant Le cycle de mise à jour de la liaison distante n'est pas synchronisé avec la scrutation de l'automate maître. Les communications avec les automates distants sont déclenchées par interruption et se produisent en tant que tâches en arrière-plan, en parallèle avec l'exécution de la scrutation de l'automate maître. A la fin du cycle de scrutation, les valeurs les plus récentes sont lues dans les données d'application à utiliser pour la prochaine solution. Ce traitement est le même pour les automates d'E/S distantes et d'extension. Tous les automates peuvent vérifier l'activité de la liaison générale à l'aide du bit système %S111. Mais pour accomplir la synchronisation, un automate maître ou d'extension doit utiliser le bit système %S110. Le réglage est effectué sur 1 une fois qu'un cycle de mise à jour complet s'est déroulé. Le programme d'application est responsable de sa remise à 0. Le maître peut activer ou désactiver la liaison distante à l'aide du bit système %S112. Les automates peuvent contrôler la configuration et l'état de santé de la liaison distante à l'aide de %S113. Le signal DPT sur le port 1 (utilisé pour déterminer si TwidoSoft est connecté) est détecté et signalé sur %S100. Le tableau suivant résume toutes ces informations. Bit système Etat Indication %S100 0 maître/esclave : DPT inactif (câble TwidoSoft NON connecté) 1 maître/esclave : DPT actif (câble TwidoSoft connecté) 0 maître/esclave : réinitialisé par l'application 1 maître : tous les échanges de liaison distante effectués (E/S distantes uniquement) esclave : échange avec maître effectué 0 maître : échange de liaison distante unique effectué esclave : échange de liaison distante unique détecté 1 maître : échange de liaison distante unique actif esclave : échange de liaison distante unique détecté 0 maître : liaison distante désactivée 1 maître : liaison distante activée 0 maître/esclave : configuration/fonctionnement de la liaison distante OK 1 maître : erreur de configuration/fonctionnement de la liaison distante esclave : erreur de fonctionnement de la liaison distante %S110 %S111 %S112 %S113 TWD USE 10AF 05/2002 79 Communications Redémarrage de l'automate maître Lorsqu'un automate maître redémarre, l'un des événements suivants se produit : l Un démarrage à froid (%S0 = 1) force la réinitialisation des communications. l Un démarrage à chaud (%S1 = 1) force la réinitialisation des communications. l En mode Stop, le maître continue à communiquer avec les esclaves, le bit Run/ Stop étant réglé afin d'indiquer Stop. Redémarrage de l'automate esclave Lorsqu'un automate esclave redémarre, l'un des événements suivants se produit : l Un démarrage à froid (%S0 = 1) force la réinitialisation des communications. l Un démarrage à chaud (%S1 = 1) force la réinitialisation des communications. l En mode Stop, l'esclave continue de communiquer avec le maître. Si le maître indique qu'une requête Stop : l Les E/S distantes affectent une interruption. l L'automate d'extension continue dans son état actuel. Accès aux données E/S distantes L'automate distant configuré en tant que E/S distantes ne possède, ni n'exécute son propre programme d'application. Les entrées et sorties TOR de base de l'automate distant sont une simple extension de celles de l'automate maître. L'application doit uniquement utiliser le mécanisme de repérage complet à trois chiffres fourni. Note : Le numéro de module est toujours zéro pour les E/S distantes. Repère de l'automate distant Numéro modulaire Numéro de voie %Q2.0.2 %I7.0.4 Pour communiquer avec les E/S distantes, l'automate maître utilise la notation d'entrée et sortie standard %I et %Q. Pour accéder au troisième bit de sortie de l'E/ S distante configurée au repère 2, le maître doit définir %Q2.0.2. De même, pour lire le cinquième bit d'entrée des E/S distantes configurée à l'emplacement 7, le maître doit charger %I7.0.4. Note : L'accès du maître est restreint aux E/S TOR appartenant aux E/S locales de l'automate distant. Aucune E/S analogique ou d'expansion ne peut être transférée, hormis en cas d'utilisation de communications d'extension. 80 TWD USE 10AF 05/2002 Communications Liaison distante Automate maître Repère 0 TWD USE 10AF 05/2002 E/S distantes Repère 2 %I2.0.0 ... %I2.0.x %I0.0.0 ... %I0.0.x %Q2.0.0 ... %Q2.0.x %Q0.0.0 ... %Q0.0.x E/S distantes Repère 4 %I4.0.0 ... %I4.0.x %I0.0.0 ... %I0.0.x %Q4.0.0 ... %Q4.0.x %Q0.0.0 ... %Q0.0.x 81 Communications Accès aux données de l'automate d'extension Pour communiquer avec des automates d'extension, le maître utilise des mots réseau %INW et %QNW afin d'échanger des données. Chaque extension du réseau est accessible par son repère distant "j" à l'aide de mots %INWj.k et %QNWj.k. Chaque automate d'extension du réseau utilise %INW0.0 à %INW0.3 et %QNW0.0 à %QNW0.3 pour accéder aux données situées sur le maître. Les mots réseau sont automatiquement mis à jour lorsque les automates sont en mode RUN ou STOPPED. L'exemple suivant illustre l'échange d'un maître avec deux automates d'extension configurés. Liaison distante Automate maître Repère 0 Automate d'extension Repère 1 %INW1.0 ... %INW1.x %QNW0.0 ... %QNW0.x %QNW1.0 ... %QNW1.X %INW0.0 ... %IWN0.x %INW3.0 ... %INW3.X %INW3.0 ... %INW3.X Automate d’extension Repère 3 %QNW0.0 ... %QNW0.x %INW0.0 ... %INW0.X Il n'existe aucune remise de messages d'égal à égal au sein de la liaison distante. Il est possible d'utiliser des programmes d'application de concert avec des mots réseau, afin de transférer des informations entre des automates distants, qui utilisent effectivement le maître en tant que pont. 82 TWD USE 10AF 05/2002 Communications Informations d'état Outre les bits système décrits précédemment, le maître conserve l'état de présence et de configuration des automates distants. Cette action s'effectue dans les mots systèmes %SW111 et %SW113. L'automate maître ou l'automate distant peuvent obtenir la valeur de la dernière erreur survenue pendant la communication sur la liaison distante dans le mot système %SW112. Chacune de ces erreurs est détaillée dans le tableau suivant. Mots Utilisation système %SW111 Etat de la liaison distante : deux bits pour chaque automate distant (maître uniquement) x0-5 0 - automate distant 1-6 absent 1 - automate distant 1-6 présent x6 0 - automate distant 7 absent 1 - automate distant 7 présent x8-13 0 - E/S distantes détectées sur l'automate distant 1-6 1 - automate d'extension détecté sur l'automate distant 1-6 x14 0 - E/S distantes détectées sur l'automate distant 7 1 - automate d'extension détecté sur l'automate distant 7 %SW112 Code d'erreur de configuration ou de fonctionnement de la liaison distante : 0 - opérations réussies 1 - expiration du délai (esclave) 2 - erreur de checksum détectée (esclave) 3 - incohérence de configuration (esclave) %SW113 Configuration de la liaison distante : deux bits pour chaque automate distant (maître uniquement) x0-5 0 - automate distant 1-6 non configuré 1 - automate distant 1-6 configuré x6 0 - automate distant 7 non configuré 1 - automate distant 7 configuré x8-13 0 - E/S distantes configurées en tant qu'automate distant 1-6 1 - automate d'extension configuré en tant qu'automate distant 1-6 x14 0 - E/S distantes configurées en tant qu'automate distant 7 1 - automate d'extension configuré en tant qu'automate distant 7 TWD USE 10AF 05/2002 83 Communications Exemple de liaison distante Pour configurer une liaison distante, vous devez procéder comme suit : 1. Configurez le matériel. 2. Connectez le câblage de l'automate. 3. Connectez le câble de communication entre le PC et les automates. 4. Configurez le logiciel. 5. Ecrivez une application. Les illustrations suivantes représentent une utilisation de la liaison distante avec les E/S distantes et un automate d'extension. Etape 1 : Configuration du matériel I0.0 I0.1 Automate maître E/S distantes Automate d’extension Q0.0 Q0.1 La configuration matérielle comprend trois bases automates de tout type. Le port 1 est utilisé en mode double. L'un des modes permet de configurer et de transférer le programme d'application à l'aide de TwidoSoft. Le second mode est destiné au réseau de liaison distante. Si un port 2 optionnel est disponible sur l'un des automates, il est possible de l'utiliser, mais tout automate prend en charge une seule liaison distante. Note : Dans cet exemple, les deux premières entrées sur les E/S distantes sont câblées sur ses sorties. Etape 2 : Connexion du câblage de l'automate Maître Automate A(+) B(-) GND DPT Automate distant Automate d'extension ... Repère 1 Repère 2 A(+) B(-) GND DPT A(+) B(-) GND DPT Connectez les fils des signaux D(+) et D(-) ensemble. Sur chaque automate, le signal DPT est relié à la terre. Bien que la mise à la terre du signal ne soit pas obligatoire pour une utilisation avec une liaison distante sur le port 2 (cartouche ou module de communication optionnels), il s'agit d'une bonne habitude à prendre. Etape 3 : Connexion du câble de communication entre le PC et les automates Automate maître E/S distantes Automate d'extension TSXPCX1031 2 Port série PC EIA RS-232 3 1 0 84 TWD USE 10AF 05/2002 Communications Le câble de programmation multifonctions TSXPCX1031 est utilisé pour communiquer avec chacune des trois bases automates. Assurez-vous que le commutateur du câble est en position 2. Afin de programmer chaque automate, il est nécessaire d'établir une communication point à point avec chaque automate. Pour établir cette communication : connectez-vous au port 1 du premier automate, transférez la configuration et les données de l'application, puis définissez l'automate sur l'état Run. Répétez cette procédure pour chaque automate. Note : Il est nécessaire de déplacer le câble après chaque configuration d'automate et transfert d'application. Une fois que les trois automates sont programmés, connectez les automates au réseau de liaison distante, comme indiqué à l'étape 2. Etape 4 : Configuration du logiciel Réglage comm. de l'automate Réglage comm. de l'automate Réglage comm. de l'automate Type : Liaison distante Repère : 0 (maître) Type : Liaison distante Repère : 1 Type : Liaison distante Repère : 2 Ajouter automates distants Utilisation automate : E/S distantes Repère distant : 1 Utilisation automate : extension Repère distant : 2 Chacun des trois automates utilise TwidoSoft pour créer une configuration, et le cas échéant, le programme d'application. Pour l'automate maître, éditez la configuration de la communication de l'automate afin de régler le protocole sur "Liaison distante" et le repère sur "0 (Maître)". Note : Vous pouvez configurer un seul automate en tant que maître sur une liaison distante. Dans TwidoSoft, ajoutez une "E/S distante" au repère "1" et un "Automate d'extension" au repère "2". Pour l'automate configuré en tant qu'E/S distantes, vérifiez que la configuration de la communication de l'automate est réglée sur "Liaison distante" et le repère sur "1". Pour l'automate configuré en tant qu'extension, vérifiez que la configuration de la communication de l'automate est réglée sur "Liaison distante" et le repère sur "2". TWD USE 10AF 05/2002 85 Communications Etape 5 : Ecriture d’une application LD 1 LD 1 [%QNW0.0 := %INW0.0] [%MW0 := %MW0 +1] [%QNW2.0 := %MW0] [%MW1 := %INW2.0] LD %I0.0 ST %Q1.0.0 LD %I1.0.0 ST %Q0.0 LD %I0.1 ST %Q1.0.1 LD %I1.0.1 ST %Q0.1 Dans cet exemple, l'application maître incrémente un mot mémoire interne et le communique à l'automate d'extension à l'aide d'un seul mot réseau. L'automate d'extension prend le mot reçu du maître et le renvoie. Dans le maître, un mot mémoire différent reçoit et stocke cette transmission. Pour communiquer avec l'automate d'E/S distantes, le maître envoie ses entrées locales aux sorties des E/S distantes. A l'aide de la connexion E/S externe des E/S distantes, les signaux sont renvoyés et récupérés par le maître. Note : Cette communication se produit sous l'application du maître. Il n'existe aucune application dans l'automate d'E/S distantes. 86 TWD USE 10AF 05/2002 Communications Communications ASCII Introduction TWD USE 10AF 05/2002 Le protocole ASCII offre aux automates Twido un protocole de mode caractère semi-duplex simple permettant de transférer et/ou de recevoir des données à l'aide d'un seul périphérique. Ce protocole est pris en charge à l'aide de l'instruction EXCHx et régulé à l'aide du bloc fonction %MSGx. Les trois types de communications suivants sont possibles à l'aide du protocole ASCII : l Transmission seule l Transmission/réception l Réception seule La taille maximale des trames transmises et/ou reçues à l'aide de l'instruction EXCHx s'élève à 128 octets. 87 Communications Configuration matérielle 88 Il est possible d'établir une liaison ASCII sur le port EIA RS-232 ou EIA RS-485 et de l'exécuter simultanément sur deux ports de communication au maximum. Le tableau suivant répertorie les périphériques utilisables. Périphérique Port Caractéristiques TWDCAA10/16/24DRF, TWDLMDA20/40DUK, TWDLMDA20/40DTK, TWDLMDA20DRT 1 Base automate prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur mini DIN. TWDNOZ232D 2 Module de communication prenant en charge un port EIA RS-232 à 3 fils à l'aide d'un connecteur mini DIN. Note : Ce module n'est disponible que pour les automates modulaires. Lorsque le module est connecté, l'automate ne peut pas disposer d'un module d'expansion Afficheur. TWDNOZ485D 2 Module de communication prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur mini DIN. Note : Ce module n'est disponible que pour les automates modulaires. Lorsque le module est connecté, l'automate ne peut pas disposer d'un module d'expansion Afficheur. TWDNOZ485T 2 Module de communication prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur de borne. Note : Ce module n'est disponible que pour les automates modulaires. Lorsque le module est connecté, l'automate ne peut pas disposer d'un module d'expansion Afficheur. TWDNAC232D 2 Adaptateur de communication prenant en charge un port EIA RS-232 à 3 fils à l'aide d'un connecteur mini DIN. Note : Cet adaptateur n'est disponible que pour les automates 16 et 24 E/S compacts et pour le module d'expansion Afficheur. TWDNAC485D 2 Adaptateur de communication prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur mini DIN. Note : Cet adaptateur n'est disponible que pour les automates 16 et 24 E/S compacts et pour le module d'expansion Afficheur. TWDNAC485T 2 Adaptateur de communication prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur de borne. Note : Cet adaptateur n'est disponible que pour les automates 16 et 24 E/S compacts et pour le module d'expansion Afficheur. TWD USE 10AF 05/2002 Communications Périphérique Port Caractéristiques TWDXCPODM 2 Module d’expansion Afficheur prenant en charge un port EIA RS-232 à 3 fils à l'aide d'un connecteur mini DIN, un port EIA RS-485 à 3 fils à l'aide d'un connecteur mini DIN ou un port EIA RS-485 à 3 fils à l'aide d'un connecteur de borne. Note : Ce module n'est disponible que pour les automates modulaires. Lorsque le module est connecté, l'automate ne peut pas disposer d'un module d'expansion Communication. Note : La configuration du port 2 (disponibilité et type) est uniquement contrôlée lors de la mise sous tension ou de la réinitialisation par le microprogramme de l'automate. TWD USE 10AF 05/2002 89 Communications Câblage nominal Les connexions de câble nominal sont représentées ci-dessous pour les types EIA RS-232 et EIA RS-485. Note : Si vous utilisez le port 1 de l'automate Twido, vous devez connecter le signal DPT à GND (terre). Ce signal permet d'indiquer à l'automate Twido que les communications via le port 1 relèvent du protocole ASCII et non du protocole utilisé pour communiquer avec le logiciel TwidoSoft. Ce périphérique distant spécifique peut requérir l'utilisation de signaux supplémentaires (DTR, DSR, etc.). Les connexions de câbles effectués à chaque périphérique sont représentées cidessous. Câble EIA RS-232 Automate Twido TXD RXD GND Périphérique distant TXD RXD GND Câble EIA RS-485 Automate Twido A(+) B(-) GND DPT Périphérique Périphérique distant distant ... A(+) B(-) GND A(+) B(-) GND Note : La connexion DPT à GND (terre) n'est nécessaire qu'en cas de connexion à une base automate sur le port 1. Configuration logicielle Pour configurer l'automate afin d'utiliser une connexion en série pour envoyer et recevoir des caractères à l'aide du protocole ASCII, vous devez procéder comme suit. Etape 90 Description 1 Configurez le port série pour le protocole ASCII à l'aide de TwidoSoft. 2 Créez dans votre application un tampon de transmission/réception pour que le protocole ASCII utilise l'instruction EXCHx. TWD USE 10AF 05/2002 Communications Configuration du port Un automate Twido peut utiliser son port 1 principal ou un port 2 configuré en option pour utiliser le protocole ASCII. Pour configurer un port série pour le protocole ASCII : Etape Configuration du tampon de transmission/ réception pour ASCII Action 1 Définissez tous les modules ou cartouches optionnels supplémentaires physiquement configurés sur la base. 2 Cliquez avec le bouton droit sur le port, puis cliquez sur Editer le paramétrage communication de l'automate... et modifiez le type du port série par "ASCII". 3 Définissez les paramètres de communication associés. La taille maximale des trames transmises et/ou reçues s'élève à 128 octets. En outre, la table de mots associée à l'instruction EXCHx se compose à la fois des tables de transmission et de réception. Octet le plus significatif Octet le moins significatif Mots de commande Commande Longueur (Transmetteur/ Récepteur) Réservés (0) Réservés (0) Table de transmission Octet 1 transmis Octet 2 transmis ... ... ... Octet n transmis Octet n+1 transmis Table de réception Octet 1 reçu Octet 2 reçu ... ... ... Octet p reçu Octet p+1 reçu Paramètres de contrôle TWD USE 10AF 05/2002 L’octet Longueur comprend la longueur à transmettre, qui est écrasée par le nombre de caractères reçus à la fin de la réception, si la réception est requise. L'octet Commande doit contenir l'un des éléments suivants : l 0: Transmission seule l 1: Transmission/réception l 2: Réception seule 91 Communications Tables de transmission/ réception En mode Transmission seule, les tables de contrôle et de transmission sont renseignées avant l'exécution de l'instruction EXCHx ; elles peuvent être de type %KW ou %MW. Aucun espace n'est requis pour la réception des caractères en mode Transmission seule. Une fois que tous les octets ont été transmis, l'état de %MSGx.D est réglé sur 1 ; il est alors possible d'exécuter une nouvelle instruction EXCHx. En mode Transmission/Réception, les tables de contrôle et de transmission sont renseignées avant l'exécution de l'instruction EXCHx ; elles doivent être de type %MW. Un espace prévu pour un maximum de 128 octets de réception est requis à la fin de la table de transmission. Une fois que tous les octets ont été transmis, l'automate Twido passe en mode de réception et est prêt à recevoir des octets. En mode Réception seule, la table de contrôle est renseignée avant l'exécution de l'instruction EXCHx ; elle doit être de type %MW. Un espace prévu pour un maximum de 128 octets de réception est requis à la fin de la table de contrôle. L'automate Twido passe immédiatement en mode de réception et est prêt à recevoir des octets. La réception est terminée une fois que l'octet de fin de trame a été reçu ou lorsque la table de réception est pleine. Si un délai différent de zéro est configuré, la réception se termine lorsque ce délai est écoulé. Si vous sélectionnez une valeur de délai égale à zéro, il n'existe aucun délai de réception. Par conséquent, pour arrêter la réception, vous devez activer l'entrée %MSGx.R. Il n'existe aucun repérage inhérent associé au protocole ASCII, sauf si le périphérique unique dispose d'un repérage intégré dans le protocole ; toutefois l'automate Twido ne le prend pas en charge. Echange de messages Il est possible de configurer l'automate Twido pour envoyer et/ou recevoir des messages en mode caractère. Le langage propose deux services pour celui-ci : l Instruction EXCHx : pour transmettre/recevoir des messages, l Bloc fonction %MSGx : pour contrôler les échanges de messages. L'automate Twido utilise le protocole configuré pour ce port lors du traitement d'une instruction EXCHx. Note : Il est possible de configurer chaque port de communication pour différents protocoles ou pour le même protocole. Pour accéder à l'instruction EXCHx ou au bloc fonction %MSGx de chaque port de communication, il suffit d'y ajouter le numéro du port (1 ou 2). 92 TWD USE 10AF 05/2002 Communications Instruction EXCHx L'instruction EXCHx permet à l'automate Twido d'envoyer et/ou de recevoir des informations vers/depuis des périphériques ASCII. L'utilisateur définit une table de mots (%MWi:L ou %KWi:L) contenant des informations de contrôle ainsi que les données à envoyer et/ou à recevoir (jusqu'à 64 mots de données dans la transmission et/ou réception). La description du format de la table de mots a été donnée précédemment. Un échange de messages s'effectue à l'aide de l'instruction EXCHx. Syntaxe : [EXCHx %MWi:L] ou [EXCHx %KWi:L] où : x = numéro du port (1 ou 2) L = nombre de mots du tableau des mots L'automate Twido doit terminer l'échange de la première instruction EXCHx avant de pouvoir en lancer une deuxième. Il est nécessaire d'utiliser le bloc fonction %MSGx lors de l'envoi de plusieurs messages. Le traitement de l'instruction par liste EXCHx se produit immédiatement, en sachant que toutes les transmissions sont démarrées sous contrôle d'interruptions (la réception des données est également sous contrôle d'interruptions), ce qui est considéré comme un traitement en arrière-plan. TWD USE 10AF 05/2002 93 Communications Bloc fonction %MSGx 94 L'utilisation du bloc fonction %MSGx est facultative ; il permet de gérer des échanges de données. Le bloc fonction %MSGx remplit trois fonctions : l Vérification des erreurs de communications La recherche d'erreurs permet de vérifier que la longueur du bloc (table de mots) programmée à l'aide de l'instruction EXCHx est suffisamment grande pour contenir la longueur du message à envoyer. Celle-ci est comparée à la longueur programmée dans l'octet le moins significatif du premier mot de la table de mots. l Coordination de plusieurs messages Pour garantir la coordination lors de l'envoi de plusieurs messages, le bloc fonction %MSGx fournit les informations requises pour déterminer le moment où la transmission du message précédent est terminée. l Transmission de messages prioritaires Le bloc fonction %MSGx vous permet de suspendre la transmission d'un message afin d'envoyer un message plus urgent. Le bloc fonction %MSGx dispose d'une entrée et de deux sorties qui lui sont associées : Entrée/Sortie Définition Description R Entrée RAZ Réglée sur 1 : réinitialise la communication ou le bloc (%MSGx.E = 0 et %MSGx.D = 1). %MSGx.D Communication terminée 0: requête en cours. 1: communication terminée en cas de fin de transmission, de réception du caractère de fin, d'erreur ou de réinitialisation du bloc. %MSGx.E erreur 0: longueur du message OK et liaison OK. 1: en cas de mauvaise commande, de table configurée de manière incorrecte, de mauvais caractère reçu (débit, parité, etc.) ou de saturation de la table de réception. TWD USE 10AF 05/2002 Communications Limitations Il est important de garder à l'esprit les limitations suivantes : l La disponibilité et le type du port 2 sont uniquement contrôlés lors de la mise sous tension ou de la réinitialisation. l Tout message en cours de traitement sur le port 1 est abandonné lorsque TwidoSoft est connecté. l Il est impossible de traiter EXCHx ou %MSG sur un port configuré en tant que liaison distante. l EXCHx abandonne le traitement Modbus esclave actif (à l'exception du traitement TwidoSoft). l Le traitement des instructions EXCHx ne fait pas l'objet d'une nouvelle tentative en cas d'erreur. l Il est possible d'utiliser R %MSGx pour annuler le traitement de la réception d'une instruction EXCHx. l Il est possible de configurer des instructions EXCHx avec un délai d'annulation de réception. l Les messages multiples sont contrôlés via %MSGx.D. Conditions d’erreur et de mode de fonctionnement Si une erreur se produit lors de l'utilisation de l'instruction EXCHx, les bits %MSGx.D et %MSGx.E sont réglés sur 1, le mot système %SW63 contient le code d'erreur du port 1 et %SW64 le code d'erreur du port 2. TWD USE 10AF 05/2002 Mots système Utilisation %SW63 Code d’erreur EXCH1 : 0 - opération réussie 1 - tampon de transmission trop important (> 128) 2 - tampon de transmission trop petit 3 - table de mots trop petite 4 - débordement de la table de réception 5 - délai écoulé 6 - erreur de transmission (erreur reçue en réponse) 7 - mauvaise commande dans la table 8 - port sélectionné non configuré/disponible 9 - erreur de réception 10 - impossible d'utiliser %KW en cas de réception 11 - décalage de transmission plus important que la table de transmission 12 - décalage de réception plus important que la table de réception 13 - interruption du traitement EXCH par l'automate %SW64 Code d'erreur EXCH2 : Voir %SW63. 95 Communications Redémarrage de l'automate maître/esclave Lorsqu'un automate maître/esclave redémarre, l'un des événements suivants se produit : l Un démarrage à froid (%S0 = 1) force la réinitialisation des communications. l Un démarrage à chaud (%S1 = 1) force la réinitialisation des communications. l En mode Stop, l'automate arrête toutes les communications ASCII. Exemple de liaison ASCII Pour configurer une liaison ASCII, vous devez procéder comme suit : 1. Configurez le matériel. 2. Connectez le câble de communication ASCII. 3. Configurez le port. 4. Ecrivez une application. 5. Initialisez l'éditeur de tables d'animation. L'illustration suivante représente l'utilisation des communications ASCII à l'aide d'un émulateur de terminal sur un PC. Etape 1 : Configuration du matériel Automate Twido Port 2 EIA RS-232 COM 2 série La configuration matérielle comporte deux connexions en série entre le PC et un automate Twido doté d'un port 2 EIA RS-232 optionnel. Sur un automate modulaire, le port 2 optionnel correspond à TWDNOZ232D. Sur l'automate compact, le port 2 optionnel est un port TWDNAC232D. Pour configurer l'automate, connectez le câble TSXPCX1031 (non illustré) au port 1 de l'automate Twido. Connectez ensuite le câble au port COM 1 du PC. Vérifiez que le commutateur est en position 2. Enfin, connectez le port COM 2 du PC au port 2 EIA RS-232 de l'automate Twido. Les connexions des broches et le câblage sont présentés dans l'étape suivante. Etape 2 : Connexion du câble de communication ASCII (EIA RS-232) Automate Twido TXD RXD GND Ordinateur personnel TXD RXD GND La configuration minimale requise pour le câblage du câble de communication ASCII correspond à une connexion à 3 fils de base. Croisez les signaux de transmission et de réception. Note : A l'extrémité PC du câble, des connexions supplémentaires (telles que DTR et DSR) peuvent être nécessaires afin de satisfaire le protocole de transmission. Aucune connexion supplémentaire n'est requise pour satisfaire l'automate Twido. 96 TWD USE 10AF 05/2002 Communications Etape 3 : Configuration du port Matériel -> Ajouter une option TWDNOZ232D Matériel => Comm. automate Réglage Port : 2 Type : ASCII Débit : 19 200 Données : 8 bits Parité : Aucune Arrêt : 1 bit Fin de trame : 65 Délai de réponse : 100 x 100 ms Emulateur de terminal sur un PC Port : COM2 Débit : 19 200 Données : 8 bits Parité : Aucune Arrêt : 1 bit Régulation du flux : Aucune Utilisez une simple application d'émulateur de terminal sur le PC pour configurer une configuration de port de base et pour garantir l'absence de régulation de flux. Utilisez TwidoSoft pour configurer le port de l'automate. En premier lieu, configurez l'option matérielle. Dans cet exemple, le port TWDNOZ232D est ajouté à la base automate modulaire. En second lieu, initialisez le paramétrage de la communication de l'automate à l'aide des mêmes paramètres que ceux de l'émulateur de terminal sur le PC. Dans cet exemple, la lettre majuscule "A" est choisie comme caractère de "fin de trame", afin de terminer le tampon de réception d'entrée. Un délai de dix secondes est choisi pour le paramètre Délai de réponse. Un seul de ces deux paramètres sera appelé, selon celui qui se produira en premier. Etape 4 : Ecriture d'une application LD 1 [%MW10 := 16#0104] [%MW11 := 16#0000] [%MW12 := 16#4F4B] [%MW13 := 16#0A0D] LD 1 AND %MSG2.D [EXCH2 %MW10:8] LD %MSG2.E ST %Q0.0 END Utilisez TwidoSoft pour créer un programme d'application en trois temps. Tout d'abord, initialisez la régulation et le tampon de transfert à utiliser pour l'instruction EXCH. Dans cet exemple, une commande est configurée pour à la fois envoyer et recevoir des données. La quantité de données à envoyer est réglée sur quatre octets et initialisée sur les caractères : "O", "K", CR et LF. Vérifiez ensuite le bit terminé associé à %MSG2 et émettez l'instruction EXCH2 uniquement si le port est prêt. Une valeur de huit caractères est spécifiée pour l'instruction EXCH2. Il existe deux mots de commande (%MW10 et %MW11), deux mots à utiliser pour les informations de transmission (%MW12 et %MW13) et quatre mots pour recevoir des données (%MW14 à %MW17). TWD USE 10AF 05/2002 97 Communications Enfin, l'état d'erreur de %MSG2 est détecté et stocké sur le premier bit de sortie de l'E/S de la base automate locale. Il est également possible d'ajouter une recherche d'erreurs supplémentaire à l'aide de %SW64 pour rendre celle-ci plus robuste. Etape 5 : Initialisation de l'éditeur de tables d'animation Format courant conservé du repère 1 %MW10 0104 0000 Hexadécimal 2 %MW10 0104 0000 Hexadécimal 3 %MW10 0104 0000 Hexadécimal 4 %MW13 0A0D 0000 Hexadécimal 5 %MW14 TW 0000 ASCII 6 %MW15 ID 0000 ASCII 7 %MW16 O 0000 ASCII 8 %MW17 A 0000 ASCII L'étape finale consiste à télécharger cette application d'automate et à l'exécuter. Initialisez l'éditeur de tables d'animation pour animer et afficher les mots %MW10 à %MW17. Sur l'émulateur de terminal, les caractères "O"-"K"-CR-LF s'affichent. De nombreux caractères peuvent s'afficher en fonction du nombre de fois que le délai du bloc EXCH s'est écoulé et qu'un nouveau bloc a été émis. Sur l'émulateur de terminal, tapez "T"-"W"-"I"-"D"-"O"-" "-"A". Ces informations sont échangées avec l'automate Twido et s'affichent dans l'éditeur de tables d'animation. 98 TWD USE 10AF 05/2002 Communications Communications Modbus Introduction TWD USE 10AF 05/2002 Le protocole Modbus est un protocole maître-esclave qui permet à un seul et unique maître de demander des réponses à des esclaves ou d'agir en fonction de la requête. Le maître peut s'adresser aux esclaves individuellement ou envoyer un message de diffusion générale à tous les esclaves. Les esclaves renvoient un message (réponse) aux requêtes qui leur sont adressées individuellement. Les réponses aux requêtes à diffusion générale ne sont pas renvoyées par le maître. 99 Communications Configuration matérielle 100 Il est possible d'établir une liaison Modbus sur le port EIA RS-232 ou EIA RS-485 et de l'exécuter simultanément sur deux ports de communication au maximum. Le tableau suivant répertorie les périphériques utilisables. Périphérique Port Caractéristiques TWDCAA10/16/24DRF, TWDLMDA20/40DUK, TWDLMDA20/40DTK, TWDLMDA20DRT 1 Base automate prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur mini DIN. TWDNOZ232D 2 Module de communication prenant en charge un port EIA RS-232 à 3 fils à l'aide d'un connecteur mini DIN. Note : Ce module n'est disponible que pour les automates modulaires. Lorsque le module est connecté, l'automate ne peut pas disposer d'un module d'expansion Afficheur. TWDNOZ485D 2 Module de communication prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur mini DIN. Note : Ce module n'est disponible que pour les automates modulaires. Lorsque le module est connecté, l'automate ne peut pas disposer d'un module d'expansion Afficheur. TWDNOZ485T 2 Module de communication prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur de borne. Note : Ce module n'est disponible que pour les automates modulaires. Lorsque le module est connecté, l'automate ne peut pas disposer d'un module d'expansion Afficheur. TWDNAC232D 2 Adaptateur de communication prenant en charge un port EIA RS-232 à 3 fils à l'aide d'un connecteur mini DIN. Note : Cet adaptateur n'est disponible que pour les automates 16 et 24 E/S compacts et pour le module d'expansion Afficheur. TWDNAC485D 2 Adaptateur de communication prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur mini DIN. Note : Cet adaptateur n'est disponible que pour les automates 16 et 24 E/S compacts et pour le module d'expansion Afficheur. TWDNAC485T 2 Adaptateur de communication prenant en charge un port EIA RS-485 à 3 fils à l'aide d'un connecteur de borne. Note : Cet adaptateur n'est disponible que pour les automates 16 et 24 E/S compacts et pour le module d'expansion Afficheur. TWD USE 10AF 05/2002 Communications Périphérique Port Caractéristiques TWDXCPODM 2 Module d’expansion Afficheur prenant en charge un port EIA RS-232 à 3 fils à l'aide d'un connecteur mini DIN, un port EIA RS-485 à 3 fils à l'aide d'un connecteur mini DIN ou un port EIA RS-485 à 3 fils à l'aide d'un connecteur de borne. Note : Ce module n'est disponible que pour les automates modulaires. Lorsque le module est connecté, l'automate ne peut pas disposer d'un module d'expansion Communication. Note : La configuration du port 2 (disponibilité et type) est uniquement contrôlée lors de la mise sous tension ou de la réinitialisation par le microprogramme de l'automate. TWD USE 10AF 05/2002 101 Communications Câblage nominal Les connexions de câble nominal sont représentées ci-dessous pour les types EIA RS-232 et EIA RS-485. Note : Si vous utilisez le port 1 de l'automate Twido, vous devez connecter le signal DPT à GND (terre). Ce signal permet d'indiquer à l'automate Twido que les communications via le port 1 relèvent du protocole Modbus et non du protocole utilisé pour communiquer avec le logiciel TwidoSoft. Ce périphérique distant spécifique peut requérir l'utilisation de signaux supplémentaires (DTR, DSR, etc.). Les connexions de câbles effectués à chaque périphérique sont représentées cidessous. Câble EIA RS-232 Automate Twido TXD RXD GND Périphérique distant TXD RXD GND Câble EIA RS-485 Automate Twido A(+) B(-) GND DPT Périphérique Périphérique distant distant ... A(+) B(-) GND A(+) B(-) GND Note : La connexion DPT à GND (terre) n'est nécessaire qu'en cas de connexion à une base automate sur le port 1. Configuration logicielle Pour configurer l'automate afin d'utiliser une connexion en série pour envoyer et recevoir des caractères à l'aide du protocole Modbus, vous devez procéder comme suit : Etape 102 Description 1 Configurez le port série pour le protocole Modbus à l'aide de TwidoSoft. 2 Créez dans votre application un tampon de transmission/réception pour que le protocole Modbus utilise l'instruction EXCHx. TWD USE 10AF 05/2002 Communications Configuration du port Un automate Twido peut utiliser son port 1 principal ou un port 2 configuré en option pour utiliser le protocole Modbus. Pour configurer un port série pour le protocole Modbus : Etape Modbus maître Action 1 Définissez tous les modules ou cartouches optionnels supplémentaires physiquement configurés sur la base. 2 Cliquez avec le bouton droit sur le port, puis cliquez sur Editer le paramétrage communication de l'automate... et modifiez le type du port série par "Modbus". 3 Définissez les paramètres de communication associés. Le mode Modbus maître permet à l'automate d'émettre la transmission d'une requête Modbus et d'en attendre une réponse d'un esclave Modbus. Le mode Modbus maître n'est pris en charge que par l'intermédiaire de l'instruction EXCHx. Les modes Modbus ASCII et RTU sont tous les deux pris en charge en mode Modbus maître. La taille maximale des trames transmises et/ou reçues s'élève à 128 octets. En outre, la table de mots associée à l'instruction EXCHx se compose des tables de transmission et de réception. Octet le plus significatif Octet le moins significatif Mots de commande Commande Longueur (Transmetteur/ Récepteur) Décalage récepteur Décalage transmetteur Table de transmission Octet 1 transmis Octet 2 transmis ... ... ... Octet n transmis Octet n+1 transmis Table de réception Octet 1 reçu Octet 2 reçu ... ... ... Octet p reçu Octet p+1 reçu TWD USE 10AF 05/2002 103 Communications Paramètres de contrôle 104 L’octet Longueur comprend la longueur à transmettre, qui est écrasée par le nombre de caractères reçus à la fin de la réception, si la réception est requise. Ce paramètre correspond à la longueur en octets de la table de transmission. Si le paramètre de décalage du transmetteur est égal à zéro, ce paramètre sera égal à la longueur même de la trame moins les deux octets CRC. Si le paramètre de décalage du transmetteur n'est pas égal à zéro, un octet du tampon (indiqué par la valeur de décalage) ne sera pas transmis et ce paramètre sera égal à la longueur même de la trame plus 1. L'octet Commande doit toujours être égal à 1 (transmetteur et récepteur) en cas de requête Modbus RTU (sauf pour une diffusion générale). L'octet Décalage transmetteur contient le décalage (1 pour le premier octet, 2 pour le deuxième octet, etc.) dans la table de transmission à ignorer lors de la transmission du paquet. Il est utilisé pour prendre en charge les émissions associées aux valeurs octet/mot dans le cadre du protocole Modbus. Par exemple, si cet octet est égal à 3, le troisième octet est ignoré, ce qui fait du quatrième octet de la table le troisième octet à transmettre. L'octet Décalage récepteur contient le décalage (1 pour le premier octet, 2 pour le deuxième octet, etc.) dans la table de réception à ajouter lors de la transmission du paquet. Il est utilisé pour prendre en charge les émissions associées aux valeurs octet/mot dans le cadre du protocole Modbus. Par exemple, si cet octet est égal à 3, le troisième octet de la table est renseigné par un ZERO et le troisième octet réellement reçu est entré dans le quatrième emplacement de la table. TWD USE 10AF 05/2002 Communications Tables de transmission/ réception Dans l’un ou l’autre des modes (Modbus ASCII ou Modbus RTU), la table de transmission est renseignée à l'aide de la requête avant l'exécution de l'instruction EXCHx. Au moment de l'exécution, l'automate détermine quelle est la couche liaison de données et effectue toutes les conversions nécessaires pour traiter la transmission et la réponse. Les caractères de début, de fin et de contrôle ne sont pas stockés dans les tables de transmission/réception. Une fois que tous les octets ont été transmis, l'automate passe en mode de réception et est prêt à recevoir des octets. La réception s'accomplit de l'une des manières suivantes : le caractère de fin de trame est reçu en mode ASCII ; un délai a été détecté sur un caractère ou une trame ; la table de réception est pleine. Les entrées Octet transmis X contiennent les données (codage RTU) de protocole Modbus à transmettre. Si le port de communication est configuré en Modbus ASCII, les caractères de trame corrects sont ajoutés à la transmission. Le premier octet comprend le repère du périphérique (spécifique ou général), le deuxième octet comprend le code de fonction et le reste comprend les informations associées à ce code de fonction. Note : Il s'agit d'une application typique, mais toutes les possibilités ne sont pas définies. Aucune validation des données en cours de transmission n'est effectuée. Les entrées Octet reçu X contiennent les données (codage RTU) de protocole Modbus à recevoir. Si le port de communication est configuré en Modbus ASCII, les caractères de trame corrects sont supprimés de la réponse. Le premier octet comprend le repère du périphérique, le deuxième octet comprend le code de fonction (ou code de réponse) et le reste comprend les informations associées à ce code de fonction. Note : Il s'agit d'une application typique, mais toutes les possibilités ne sont pas définies. Aucune validation des données en cours de réception n'est effectuée, à l'exception d'une vérification de checksum. TWD USE 10AF 05/2002 105 Communications Modbus esclave Le mode Modbus esclave permet à l'automate de répondre à des requêtes Modbus à partir d'un maître Modbus. L'automate prend en charge les fonctions de régulation et de données Modbus standard, ainsi que les extensions UMAS pour la configuration et l'accès aux objets. Lorsque le câble TSXPCX1031 est raccordé à l'automate, la communication en mode Modbus esclave démarre au niveau du port, ce qui désactive temporairement le mode de communication qui était en cours d'exécution avant la connexion de ce câble. Le protocole Modbus prend en charge deux formats de couche liaison de données : ASCII et RTU. Chaque format est défini par l'implémentation de la couche physique ; le format ASCII utilise sept bits de données tandis que le format RTU en utilise huit. En mode Modbus ASCII, chaque octet d'un message est envoyé sous la forme de deux caractères ASCII. La trame Modbus ASCII commence par un caractère de début (':') et se termine par deux caractères de fin (CR et LF). Le caractère de fin de trame par défaut est 0x0A (LF). L'utilisateur peut modifier la valeur de cet octet au cours de la configuration. La valeur de contrôle de la trame Modbus ASCII correspond à un simple complément de deux de la trame, excluant les caractères de début et de fin. Le mode Modbus RTU ne reformate pas le message avant de le transmettre ; cependant, il utilise un mode de calcul de checksum différent, spécifié sous forme de CRC. Les limitations de la couche liaison de données Modbus sont les suivantes : l Repère 1-247 l Bits : 128 bits sur demande à l'aide de requêtes ouvertes Modbus l Mots : 64 mots de 16 bits sur demande à l'aide de requêtes ouvertes Modbus Echange de messages Il est possible de configurer l'automate Twido pour envoyer et/ou recevoir des messages en mode caractère. Le langage propose deux services pour celui-ci : l Instruction EXCHx : pour transmettre/recevoir des messages l Bloc fonction %MSGx : pour contrôler les échanges de messages. L'automate Twido utilise le protocole configuré pour ce port lors du traitement d'une instruction EXCHx. Note : Il est possible de configurer chaque port de communication pour différents protocoles ou pour le même protocole. Pour accéder à l'instruction EXCHx ou au bloc fonction %MSGx de chaque port de communication, il suffit d'y ajouter le numéro du port (1 ou 2). 106 TWD USE 10AF 05/2002 Communications Instruction EXCHx L'instruction EXCHx permet à l'automate Twido d'envoyer et/ou de recevoir des informations vers/depuis des périphériques Modbus. L'utilisateur définit une table de mots (%MWi:L ou %KWi:L) contenant des informations de contrôle ainsi que les données à envoyer et/ou à recevoir (jusqu'à 64 mots de données dans la transmission et/ou réception). La description du format de la table de mots a été donnée précédemment. Un échange de messages s'effectue à l'aide de l'instruction EXCHx. Syntaxe : [EXCHx %MWi:L] ou [EXCHx %KWi:L] où : x = numéro du port (1 ou 2) L = nombre de mots du tableau des mots L'automate Twido doit terminer l'échange de la première instruction EXCHx avant de pouvoir en lancer une deuxième. Il est nécessaire d'utiliser le bloc fonction %MSGx lors de l'envoi de plusieurs messages. Le traitement de l'instruction par liste EXCHx se produit immédiatement, en sachant que toutes les transmissions sont démarrées sous contrôle d'interruptions (la réception des données est également sous contrôle d'interruptions), ce qui est considéré comme un traitement en arrière-plan. TWD USE 10AF 05/2002 107 Communications Bloc fonction %MSGx 108 L'utilisation du bloc fonction %MSGx est facultative ; il permet de gérer des échanges de données. Le bloc fonction %MSGx remplit trois fonctions : l Vérification des erreurs de communications La recherche d'erreurs permet de vérifier que la longueur du bloc (table de mots) programmée à l'aide de l'instruction EXCHx est suffisamment grande pour contenir la longueur du message à envoyer. Celle-ci est comparée à la longueur programmée dans l'octet le moins significatif du premier mot de la table de mots. l Coordination de plusieurs messages Pour garantir la coordination lors de l'envoi de plusieurs messages, le bloc fonction %MSGx fournit les informations requises pour déterminer le moment où la transmission du message précédent est terminée. l Transmission de messages prioritaires Le bloc fonction %MSGx vous permet de suspendre la transmission d'un message afin d'envoyer un message plus urgent. Le bloc fonction %MSGx dispose d'une entrée et de deux sorties qui lui sont associées : Entrée/Sortie Définition Description R Entrée RAZ Réglée sur 1 : réinitialise la communication ou le bloc (%MSGx.E = 0 et %MSGx.D = 1). %MSGx.D Communication terminée 0: requête en cours. 1: communication terminée en cas de fin de transmission, de réception du caractère de fin, d'erreur ou de réinitialisation du bloc. %MSGx.E erreur 0: longueur du message OK et liaison OK. 1: en cas de mauvaise commande, de table configurée de manière incorrecte, de mauvais caractère reçu (débit, parité, etc.) ou de saturation de la table de réception. TWD USE 10AF 05/2002 Communications Limitations Il est important de garder à l'esprit les limitations suivantes : l La disponibilité et le type du port 2 sont uniquement contrôlés lors de la mise sous tension ou de la réinitialisation. l Tout message en cours de traitement sur le port 1 est abandonné lorsque TwidoSoft est connecté. l Il est impossible de traiter EXCHx ou %MSG sur un port configuré en tant que liaison distante. l EXCHx abandonne le traitement Modbus esclave actif (à l'exception du traitement TwidoSoft). l Le traitement des instructions EXCHx ne fait pas l'objet d'une nouvelle tentative en cas d'erreur. l Il est possible d'utiliser R %MSGx pour annuler le traitement de la réception d'une instruction EXCHx. l Il est possible de configurer des instructions EXCHx avec un délai d'annulation de réception. l Les messages multiples sont contrôlés via %MSGx.D. Conditions d’erreur et de mode de fonctionnement Si une erreur se produit lors de l'utilisation de l'instruction EXCHx, les bits %MSGx.D et %MSGx.E sont réglés sur 1, le mot système %SW63 contient le code d'erreur du port 1 et %SW64 le code d'erreur du port 2. TWD USE 10AF 05/2002 Mots système Utilisation %SW63 Code d’erreur EXCH1 : 0 - opération réussie 1 - tampon de transmission trop important (> 128) 2 - tampon de transmission trop petit 3 - table de mots trop petite 4 - débordement de la table de réception 5 - délai écoulé 6 - erreur de transmission (erreur reçue en réponse) 7 - mauvaise commande dans la table 8 - port sélectionné non configuré/disponible 9 - erreur de réception 10 - impossible d'utiliser %KW en cas de réception 11 - décalage de transmission plus important que la table de transmission 12 - décalage de réception plus important que la table de réception 13 - interruption du traitement EXCH par l'automate %SW64 Code d'erreur EXCH2 : Voir %SW63. 109 Communications Redémarrage de l'automate maître Lorsqu'un automate maître/esclave redémarre, l'un des événements suivants se produit : l Un démarrage à froid (%S0 = 1) force la réinitialisation des communications. l Un démarrage à chaud (%S1 = 1) force la réinitialisation des communications. l En mode Stop, l'automate arrête toutes les communications Modbus. Exemple 1 de liaison Modbus Pour configurer une liaison Modbus, vous devez procéder comme suit : 1. Configurez le matériel. 2. Connectez le câble de communication Modbus. 3. Configurez le port. 4. Ecrivez une application. 5. Initialisez l'éditeur de tables d'animation. Les illustrations suivantes représentent l'utilisation du code de fonction Modbus 3 pour lire des mots de sortie d'un esclave. Cet exemple utilise deux automates Twido. Etape 1 : Configuration du matériel Automate 1 Port 1 EIA RS-485 Modbus maître Port 2 EIA RS-485 Vers COM 1 série TSXPCX1031 2 1 3 0 Automate 2 Port 1 EIA RS-485 Modbus esclave Port 2 EIA RS-485 La configuration matérielle comprend deux automates Twido. L'un d'entre eux est configuré en tant que Modbus maître et l'autre en tant que Modbus esclave. Note : Dans cet exemple, chaque automate est configuré afin d'utiliser EIA RS-485 sur le port 1 ainsi que EIA RS-485 sur le port 2 optionnel. Sur un automate modulaire, le port 2 optionnel peut être de type TWDNOZ485D ou TWDNOZ485T. Sur un automate compact, le port 2 optionnel peut être un port TWDNAC485D ou TWDNAC485T. Pour configurer chaque automate, connectez le câble TSXPCX1031 au port 1 du premier automate. Note : Le câble TSXPCX1031 peut uniquement être connecté à un automate à la fois, sur le port 1 EIA RS-485 uniquement. Connectez ensuite le câble au port COM 1 du PC. Assurez-vous que le commutateur est en position 2. Téléchargez et contrôlez chaque application. Répétez cette procédure pour le deuxième automate. 110 TWD USE 10AF 05/2002 Communications Etape 2 : Connexion du câble de communication Modbus Twido Modbus maître A(+) B(-) GND Twido Modbus esclave A(+) B(-) GND Le câblage utilisé dans cet exemple correspond à une simple connexion point à point. Les trois signaux A(+), B(-) et GND sont câblés conformément à l'illustration. En cas d'utilisation du port 1 de l'automate Twido, le signal DPT doit être relié à la terre. Cette condition du DPT détermine si TwidoSoft est connecté. Lorsqu'il est relié à la terre, l'automate utilise la configuration de port définie dans l'application pour déterminer le type de communication. Etape 3 : Configuration du port Matériel -> Ajouter une option TWDNOZ485- Matériel -> Ajouter une option TWDNOZ485- Matériel => Comm. automate Réglage Port : 2 Type : Modbus Repère : 1 Débit : 19 200 Données : 8 bits Parité : Aucune Arrêt : 1 bit Fin de trame : 65 Délai de réponse : 10 x 100 ms Dépassement trame : 10 ms Matériel => Comm. automate Réglage Port : 2 Type : Modbus Repère : 2 Débit : 19 200 Données : 8 bits Parité : Aucune Arrêt : 1 bit Fin de trame : 65 Délai de réponse : 100 x 100 ms Dépassement trame : 10 ms Dans les applications maître et esclave, les ports EIA RS-485 optionnels sont configurés. Assurez-vous de modifier les communications de l'automate pour émettre les repères Modbus ou le port 2 vers deux repères différents. Dans cet exemple, le maître est réglé sur un repère de 1 et l'esclave sur 2. Le nombre de bits est réglé sur 8, ce qui indique que le mode Modbus RTU sera utilisé. S'il avait été réglé sur 7, le mode Modbus ASCII aurait été utilisé. La seule autre valeur par défaut modifiée concerne l'augmentation du délai de réponse à 1 seconde. Note : Etant donné que le mode Modbus RTU a été sélectionné, le paramètre "Fin de trame" a été ignoré. TWD USE 10AF 05/2002 111 Communications Etape 4 : Ecriture d’une application LD 1 [%MW0 := 16#0106] [%MW1 := 16#0300] [%MW2 := 16#0203] [%MW3 := 16#0000] [%MW4 := 16#0004] LD 1 AND %MSG2.D [EXCH2 %MW0:11] LD %MSG2.E ST %Q0.0 END LD 1 [%MW0 := 16#6566] [%MW1 := 16#6768] [%MW2 := 16#6970] [%MW3 := 16#7172] END A l'aide de TwidoSoft, un programme d'application est écrit pour le maître et l'esclave. Pour l'esclave, il suffit d'émettre certains mots mémoire vers un ensemble de valeurs connues. Dans le maître, le bloc d'échange est initialisé afin de lire quatre mots de l'esclave au niveau du repère Modbus 2 qui démarre à l'emplacement %MW0. Note : Remarquez l'utilisation du décalage récepteur défini dans %MW1 du maître Modbus. Le décalage de trois ajoute un octet (valeur = 0) à la troisième position de la zone de réception de la table. Il permet d'aligner les mots dans le maître de façon à ce qu'ils entrent correctement dans les limites de mot. Sans ce décalage, chaque mot de données serait fractionné en deux mots dans le bloc d'échange. Ce décalage est utilisé pour des raisons de commodité. Avant d'émettre l'instruction EXHC2, l'application vérifie le bit terminé associé à %MSG2. Enfin, l'état d'erreur de %MSG2 est détecté et stocké sur le premier bit de sortie de l'E/S de la base automate locale. Il est également possible d'ajouter une recherche d'erreurs supplémentaire à l'aide de %SW64 pour rendre celle-ci plus robuste. Etape 5 : Initialisation de l'éditeur de tables d'animation Format courant conservé du repère 1 %MW5 0203 0000 Hexadécimal 2 %MW6 0008 0000 Hexadécimal 3 %MW7 6566 0000 Hexadécimal 4 %MW8 6868 0000 Hexadécimal 5 %MW9 6970 0000 Hexadécimal 6 %MW10 7172 0000 Hexadécimal 112 TWD USE 10AF 05/2002 Communications Après le téléchargement et la configuration de tous les automates en vue de leur exécution, ouvrez une table d'animation sur le maître. Examinez la section réponse de la table pour vérifier que le code de réponse correspond à 3 et que le nombre d'octets lus est correct. Notez également, dans cet exemple, que les mots lus de l'esclave (commençant par %MW7) sont correctement alignés avec les limites de mot dans le maître. TWD USE 10AF 05/2002 113 Communications Exemple 2 de liaison Modbus L'illustration suivante représente l'utilisation du code de fonction Modbus 16 pour écrire des mots de sortie sur un esclave. Cet exemple utilise deux automates Twido. Etape 1 : Configuration du matériel Automate 1 Modbus maître Port 1 EIA RS-485 Automate 2 Modbus esclave Port 1 EIA RS-485 Port 2 EIA RS-485 Vers COM 1 série TSXPCX1031 2 1 3 0 Port 2 EIA RS-485 La configuration matérielle est identique à celle de l'exemple précédent. Etape 2 : Connexion du câble de communication Modbus Twido Modbus maître A(+) B(-) GND Twido Modbus esclave A(+) B(-) GND Le câblage de communication Modbus est identique à celui de l'exemple précédent. Etape 3 : Configuration du port Matériel -> Ajouter une option TWDNOZ485- Matériel -> Ajouter une option TWDNOZ485- Matériel => Comm. automate Réglage Port : 2 Type : Modbus Repère : 1 Débit : 19200 Données : 8 bits Parité : Aucune Arrêt : 1 bit Fin de trame : 65 Délai de réponse : 10 x 100 ms Dépassement trame : 10 ms Matériel => Comm. automate Réglage Port : 2 Type : Modbus Repère : 2 Débit : 19200 Données : 8 bits Parité : Aucune Arrêt : 1 bit Fin de trame : 65 Délai de réponse : 100 x 100 ms Dépassement trame : 10 ms Les configurations du port sont identiques à celles de l'exemple précédent. 114 TWD USE 10AF 05/2002 Communications Etape 4 : Ecriture d’une application LD 1 [%MW0 := 16#010C] [%MW1 := 16#0007] [%MW2 := 16#0210] [%MW3 := 16#0010] [%MW4 := 16#0002] [%MW5 := 16#0004] [%MW6 := 16#6566] [%MW7 := 16#6768] LD 1 AND %MSG2.D [EXCH2 %MW0:11] LD %MSG2.E ST %Q0.0 END LD 1 [%MW18 := 16#FFFF] END A l'aide de TwidoSoft, un programme d'application est créé pour le maître et l'esclave. Pour l'esclave, émettez un seul mot mémoire %MW18. Cette action permet d'allouer de l'espace sur l'esclave pour les repères mémoire de %MW0 à %MW18. Sans allocation d'espace, le bloc d'échange essaierait d'écrire à des emplacements inexistants sur l'esclave. Dans le maître, le bloc d'échange est émis afin d'écrire douze mots (0C hexadécimal) vers l'esclave au niveau du repère Modbus 2 qui démarre à l'emplacement %MW16 (10 hexadécimal). Note : Remarquez l'utilisation du décalage transmetteur défini dans %MW1 de l'application du maître Modbus. Le décalage de sept permet de supprimer l'octet le plus significatif dans le sixième mot (valeur 00 hexadécimale dans %MW5). Cette action permet d'aligner les valeurs de données dans la table de transmission du bloc d'échange de façon à ce qu'elles entrent correctement dans les limites de mot. Avant d'émettre l'instruction EXHC2, l'application vérifie le bit terminé associé à %MSG2. Enfin, l'état d'erreur de %MSG2 est détecté et stocké sur le premier bit de sortie de l'E/S de la base automate locale. Il est également possible d'ajouter une recherche d'erreurs supplémentaire à l'aide de %SW64 pour rendre celle-ci plus robuste. TWD USE 10AF 05/2002 115 Communications Etape 5 : Initialisation de l'éditeur de tables d'animation Format courant conservé du repère 1 %MW0 010C 0000 Hexadécimal 2 %MW1 0007 0000 Hexadécimal 3 %MW2 0210 0000 Hexadécimal 4 %MW3 0010 0000 Hexadécimal 5 %MW4 0002 0000 Hexadécimal 6 %MW5 0004 0000 Hexadécimal 7 %MW6 6566 0000 Hexadécimal 8 %MW7 6768 0000 Hexadécimal 9 %MW8 0210 0000 Hexadécimal 10 %MW9 0010 0000 Hexadécimal 11 %MW10 0004 0000 Hexadécimal Format courant conservé du repère 1 %MW16 6566 0000 Hexadécimal 2 %MW17 6768 0000 Hexadécimal Après le téléchargement et la définition de tous les automates de sorte à ce qu'ils s'exécutent, ouvrez une table d'animation. Les deux valeurs de %MW16 et %MW17 sont écrites sur l'esclave. Dans le maître, il est possible d'utiliser la table d'animation afin d'examiner la partie table de réception des données d'échange. Ces données affichent le repère esclave, le code de réponse, le premier mot écrit et le nombre de mots écrits à partir de %MW8 dans l'exemple ci-dessus. 116 TWD USE 10AF 05/2002 Communications Requêtes Modbus standard Introduction Ces requêtes permettent d'échanger des données entre les périphériques afin d'accéder à des informations de bit ou de mot. Le format de table utilisé est le même pour le mode RTU et pour le mode ASCII. Format Maître Modbus : Lecture de N bits d'entrée et de sortie Référence Bit %Mi, registres 0x ou 1x Mot %MWi, registres 3x ou 4x La table suivante représente les requêtes 01 et 02. Index de la table Octet le plus significatif Octet le moins significatif 0 01 (Transmetteur/ Récepteur) 06 (Longueur Transmetteur) 1 00 (Décalage Récepteur) 00 (Décalage Transmetteur) Table de transmission 2 Esclave@(1..247) 01 (Code de requête) 3 Numéro du premier bit à lire 4 N = Nombre de bits à lire Table de réception (après réponse) 5 Esclave@(1..247) 6 Nombre d'octets des données transmis (un octet par bit) 7 Premier octet lu (valeur = 00 ou 01) 8 Troisième octet lu Contrôle 01 (Code de réponse) Deuxième octet lu (si N>1) ... (N/2)+6 TWD USE 10AF 05/2002 Nième octet lu (si N>1) 117 Communications Maître Modbus : Lecture de N mots d'entrée et de sortie La table suivante représente les requêtes 03 et 04. Index de la table Octet le plus significatif Octet le moins significatif 0 01 (Transmetteur/ Récepteur) 06 (Longueur Transmetteur) 1 03 (Décalage Récepteur) 00 (Décalage Transmetteur) Table de transmission 2 Esclave@(1..247) 03 (Code de requête) 3 Numéro du premier mot à lire 4 N = Nombre de mots à lire Table de réception (après réponse) 5 Esclave@(1..247) 03 (Code de réponse) 6 00 (octet ajouté à la suite d'une action de Décalage Récepteur) 2*N (nombre d'octets lus) 7 Premier mot lu 8 Deuxième mot lu (si N>1) Contrôle ... N+6 Nième mot lu (si N>2) Note : L'opération Décalage Récepteur = 3 ajoute un octet (valeur = 0) à la troisième position de la table de réception. Elle assure également un bon positionnement dans la table, du nombre d'octets lus et des valeurs des mots lus. 118 TWD USE 10AF 05/2002 Communications Maître Modbus : Ecriture d'un bit de sortie La table suivante représente la requête 05. Contrôle Table de transmission Table de réception (après réponse) Index de la table Octet le plus significatif Octet le moins significatif 0 01 (Transmetteur/ Récepteur) 06 (Longueur Transmetteur) 1 00 (Décalage Récepteur) 00 (Décalage Transmetteur) 2 Esclave@(1..247) 05 (Code de requête) 3 Numéro du bit à écrire 4 Valeur du bit à écrire 5 Esclave@(1..247) 6 Numéro du bit écrit 7 Valeur écrite 05 (Code de réponse) Note : l Il n'est pas nécessaire d'utiliser le décalage pour cette requête. l La trame de la réponse est identique à celle de cette requête (dans un cas normal). l Pour affecter la valeur 1 à un bit, le mot associé dans la table de transmission doit contenir la valeur FF00H, et 0 pour affecter la valeur 0 à un bit. TWD USE 10AF 05/2002 119 Communications Maître Modbus : Ecriture d'un mot de sortie La table suivante représente la requête 06. Contrôle Table de transmission Table de réception (après réponse) Index de la table Octet le plus significatif Octet le moins significatif 0 01 (Transmetteur/ Récepteur) 06 (Longueur Transmetteur) 1 00 (Décalage Récepteur) 00 (Décalage Transmetteur) 2 Esclave@(1..247) 06 (Code de requête) 3 Numéro du mot à écrire 4 Valeur du mot à écrire 5 Esclave@(1..247) 6 Numéro du mot écrit 7 Valeur écrite 06 (Code de réponse) Note : l Il n'est pas nécessaire d'utiliser le décalage pour cette requête. l La trame de la réponse est identique à celle de cette requête (dans un cas normal). 120 TWD USE 10AF 05/2002 Communications Maître Modbus : Ecriture de N bits de sortie La table suivante représente la requête 15. Contrôle Table de transmission Index de la table Octet le plus significatif Octet le moins significatif 0 01 (Transmetteur/ Récepteur) 8 + nombre d'octets (Transmetteur) 1 00 (Décalage Récepteur) 07 (Décalage Transmetteur) 2 Esclave@(1..247) 15 (Code de requête) 3 Numéro du premier bit à écrire 4 N1 = Nombre de bits à écrire 5 00 (octet non envoyé, effet N2 = Nombre d'octets des de décalage) données à écrire 6 Valeur du premier octet 7 Valeur du troisième octet Valeur du premier octet ... 6+(N2/2) Table de réception (après réponse) Valeur du N2ième octet Esclave@(1..247) 15 (Code de réponse) Numéro du premier bit écrit Nombre de bits écrits (= N1) Note : l L'opération Décalage Transmetteur = 7 supprime le 7ième octet de la trame envoyée. Elle permet également d'assurer une bonne correspondance entre les valeurs des mots de la table de transmission. TWD USE 10AF 05/2002 121 Communications Maître Modbus : Ecriture de N mots de sortie La table suivante représente la requête 16. Contrôle Table de transmission Index Octet le plus significatif de la table Octet le moins significatif 0 01 (Transmetteur/ Récepteur) 8 + (2*N) (Longueur Transmetteur) 1 00 (Décalage Récepteur) 07 (Décalage Transmetteur) 2 Esclave@(1..247) 16 (Code de requête) 3 Numéro du premier mot à écrire 4 N = Nombre de mots à écrire 5 00 (octet non envoyé, effet 2*N = Nb d'octets à écrire de décalage) 6 Première valeur du mot à écrire 7 Deuxième valeur à écrire ... Table de réception (après réponse) N+5 N valeurs à écrire N+6 Esclave@(1..247) N+7 Numéro du premier mot écrit N+8 Nombre de bits écrits (= N) 16 (Code de réponse) Note : L'opération Décalage Transmetteur = 7 supprime le 5ème octet MMSB de la trame envoyée. Elle permet également d'assurer une bonne correspondance entre les valeurs des mots de la table de transmission. 122 TWD USE 10AF 05/2002 Fonctions analogiques intégrées 6 En bref... Présentation Cette rubrique décrit la gestion de la voie analogique et des points de réglage analogique intégrés. Contenu de ce chapitre Ce chapitre contient les sujets suivants : TWD USE 10AF 05/2002 Sujet Page Points de réglage analogique 124 Voie analogique 126 123 Fonctions analogiques intégrées Points de réglage analogique Introduction Les automates Twido possèdent : l un point de réglage analogique sur les automates TWDLCAA10DRF et TWDLCAA16DRF l deux points de réglage analogique sur l’automate TWDLCAA24DRF. Programmation Les valeurs numériques, allant de 0 à 1023 pour le point de réglage analogique 1 et de 0 à 511 pour le point de réglage analogique 2, et correspondant aux valeurs analogiques données par ces points de réglage analogique sont contenues dans les deux mots système suivants : l %IW0.0.0 pour le point de réglage analogique 1 (situé le plus à gauche) l %IW0.0.1 pour le point de réglage analogique 2 (situé le plus à droite) Ces mots peuvent être utilisés dans des opérations arithmétiques et pour n’importe quel type de réglage (présélection d’une temporisation ou d’un compteur, ajustement de la fréquence du générateur d’impulsions ou de la durée de préchauffage d’une machine, etc.). 124 TWD USE 10AF 05/2002 Fonctions analogiques intégrées Exemple Utilisation du point de réglage analogique 1 pour modifier la durée de temporisation de 5 à 10 secondes : Ce réglage utilise la quasi-totalité de la plage du point de réglage analogique 1 (0 à 1023). 10s 5s 0 1023 Les paramètres suivants sont sélectionnés au moment de la configuration du bloc de temporisation %TM0 : l Type TON l Base temps (TB) : 10 ms La valeur de présélection de la durée de temporisation est calculée à partir de la valeur du point de réglage analogique, à l’aide de l’équation suivante %TM0.P := 2*%SW112+500. Code pour l’exemple précédent : %MW0:=2*%SW112 %TM0.P:=%MW0+500 %I0.2 %TM0 IN %Q0.0 Q LD 1 [%MW0:=2*%SW112] [%TM0.P:=%MW0+500] BLK %TM0 LD %I0.0 IN OUT_BLK LD Q ST %Q0.0 END_BLK ................... END TWD USE 10AF 05/2002 125 Fonctions analogiques intégrées Voie analogique Introduction Tous les automates modulaires (TWDLMDA20DTK, TWDLMDA20DUK, TWDLMDA20DRT, TWDLMD40DTK et TWDLMD40DUK) possèdent une voie analogique. La tension en entrée s'étend de 0 à 10 V et le signal numérisé de 0 à 511. La voie analogique utilise un schéma de calcul de moyennes simple qui s'applique sur huit échantillons. Principe Un convertisseur de données analogiques en données numériques échantillonne une tension allant de 0 à 10 V en une valeur numérique allant de 0 à 511. Cette valeur est stockée dans le mot système %IW0.0.1. La valeur est linéaire sur l'intégralité de la plage, et chaque comptage est de 20 MV (10 V/512) approximativement. Une lecture de 511 est utilisée pour détecter le dépassement éventuel de la valeur maximale du signal en entrée. Exemple de programmation : Régulation de la température d'un four : La température de cuisson est réglée sur 350°C. Une variation de +/- 2,5°C engendre une disjonction des sorties %Q0.1 et %Q0.2. La quasi-totalité de la plage de paramètres possibles de la voie analogique (de 0 à 511) est utilisée dans cet exemple. Les paramètres analogiques des différentes températures sont les suivants : Température (°C) Tension Mot système %IW0.0.1 0 0 0 347,5 7,72 395 350 7,77 398 352,5 7,83 401 450 10 511 Code de l’exemple précédent : %Q0.0 %IW0.0.1 = 395 %Q0.1 %IW0.0.1 <= 398 LD ST [%IW0.0.1 = 395] %Q0.0 LD ST [%IW0.0.1 <= 398] %Q0.1 LD ST [%IW0.0.1 >= 401] %Q0.2 %Q0.2 %IW0.0.1 >= 401 126 TWD USE 10AF 05/2002 Gestion des modules analogiques 7 En bref... Présentation Ce chapitre offre une présentation des procédures de gestion des modules analogiques des automates Twido. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Présentation du module analogique TWD USE 10AF 05/2002 Page 128 Adressage d’entrées et de sorties analogiques 129 Configuration d'entrées et de sorties analogiques 131 Exemples d'utilisation de modules analogiques 133 127 Gestion des modules analogiques Présentation du module analogique Introduction Fonctionnement des modules analogiques Outre le point de réglage analogique 10 bits et la voie analogique 9 bits, l’ensemble des automates Twido prenant en charge l’expansion d’E/S sont également capables de configurer et de communiquer avec des modules d’E/S analogiques. Ces modules analogiques sont les suivants : Nom Voies Plage du signal Codage TWDAMI2HT 2 en entrée 0 - 10 V ou 4 - 20 mA 12 bits TWDAM01HT 1 en sortie 0 - 10 V ou 4 - 20 mA 12 bits TWDAMM3HT 2 en entrée, 1 en sortie 0 - 10 V ou 4 - 20 mA 12 bits TWDALM3LT 2 en entrée, 1 en sortie 0 - 10 V, Entrées Th ou RTD, Sorties de 4 à 20 mA 12 bits Les mots en entrée et en sortie (%IW et %QW) sont utilisés pour échanger des données entre l’application utilisateur et les voies analogiques. La mise à jour de ces mots est effectuée de manière synchronisée avec la scrutation de l’automate en mode RUN. ATTENTION Mise en route non désirée d’équipements Lorsque l’automate est en position STOP, la sortie analogique se trouve en position de repli. Dans le cas d’une sortie numérique, la position de repli est zéro. Le non-respect de ces précautions peut entraîner des lésions corporelles ou/et des dommages matériels. 128 TWD USE 10AF 05/2002 Gestion des modules analogiques Adressage d’entrées et de sorties analogiques Introduction TWD USE 10AF 05/2002 Des adresses sont affectées aux voies analogiques en fonction de leur emplacement sur le bus d’expansion. 129 Gestion des modules analogiques Exemple d’adressage d’E/S analogique Dans cet exemple, un module TWDLMDA40DUK possède un point de réglage analogique 10 bits intégré, ainsi qu’une voie analogique 9 bits intégrée. Sur le bus d’expansion, sont configurés : un module analogique TWDAMM3HT, un module de relais numérique d’E/S TWDDMM8DRT, ainsi qu’un second module analogique TWDAMM3HT. Base Module 1 Module 2 Module 3 Le tableau suivant présente une description détaillée de l’adressage de chaque sortie. Description Base Pt de régl. analog. 1 %IW0.0.0 Module 1 Module 2 Module 3 Voie analogique intégrée %IW0.0.1 ou Pt de régl. analog. 2 130 Voie 1 d’entrée analogique %IW0.1.0 %IW0.3.0 Voie 2 d’entrée analogique %IW0.1.1 %IW0.3.1 Voie 1 de sortie analogique %QW0.1.0 %QW0.3.0 Voies d’entrée numérique %I0.2.0 - %I0.2.3 Voies de sortie numérique %Q0.2.0 -%Q0.2.3 TWD USE 10AF 05/2002 Gestion des modules analogiques Configuration d'entrées et de sorties analogiques Introduction Cette section présente des informations sur la configuration des entrées et des sorties du module analogique. Configuration d’E/S analogique La boîte de dialogue Configurer un module permet de gérer les paramètres des modules analogiques. Note : Vous pouvez modifier ces paramètres en mode local, lorsque vous n'êtes pas connecté à un automate. Des repères sont affectés aux voies analogiques en fonction de leur emplacement sur le bus d'expansion. Afin de vous aider dans vos travaux de programmation, vous pouvez également utiliser des symboles prédéfinis afin de faciliter la manipulation des données dans votre application utilisateur. Vous pouvez configurer la voie de sortie unique de TWDAM01HT, TWDAMM3HT TWDALM3LT comme suit : l Non utilisé l 0 – 10 V l 4 – 20 mA Vous pouvez configurer les deux voies d'entrée de TWDAMI2HT et TWDAMM3HT comme suit : l Non utilisé l 0 – 10 V l 4 – 20 mA ATTENTION Endommagement du matériel inattendu Lorsque vous raccordez votre entrée afin de mesurer la tension et que vous configurez TwidoSoft pour un type courant de configuration, vous risquez d'endommager le module analogique de façon irréversible. Assurez-vous que le raccordement est conforme à la configuration TwidoSoft. Le non-respect de ces précautions peut entraîner des lésions corporelles ou/et des dommages matériels. TWD USE 10AF 05/2002 131 Gestion des modules analogiques Les deux voies d'entrée de TWDALM3LT peuvent être configurées comme suit : l Non utilisé l Thermocouple K l Thermocouple J l Thermocouple T l PT 100 Lorsqu'une voie est configurée, vous pouvez lui affecter des unités et mapper la plage des entrées en fonction du tableau suivant. 132 Plage Unités Description Normale Aucune Plage fixe allant de 0 à 4095 (valeurs minimale et maximale). Personnalisée Aucune Définie par l'utilisateur, mais comprise entre –32 768 et +32 767. Celsius 0.1°C Echelle thermométrique internationale. Uniquement disponible pour les voies d'entrée TWDALM3LT. Fahrenheit 0.1°F Echelle thermométrique dans laquelle le point d'ébullition de l'eau est fixé à 212°F (100°C) et le point de gel à 32°F (0°C). Uniquement disponible pour les voies d'entrée TWDALM3LT. TWD USE 10AF 05/2002 Gestion des modules analogiques Exemples d’utilisation de modules analogiques Introduction Cette section présente un exemple d'utilisation des modules analogiques des automates Twido. Exemple Cet exemple compare le signal d'entrée analogique avec cinq valeurs de seuil distinctes. Une comparaison de l'entrée analogique est effectuée et un bit est réglé sur la base automate si le signal d'entrée est inférieur au seuil. %Q0.0 LD [%IW1.0 <= 16] ST %Q0.0 %IW1.0 <= 16 %Q0.1 LD [%IW1.0 <= 32] ST %Q0.1 %Q0.2 LD [%IW1.0 <= 64] ST %Q0.2 %Q0.3 LD [%IW1.0 <= 128] ST %Q0.3 %Q0.4 LD [%IW1.0 <= 256] ST %Q0.4 %IW1.0 <= 32 %IW1.0 <= 64 %IW1.0 <= 128 %IW1.0 <= 256 TWD USE 10AF 05/2002 133 Gestion des modules analogiques 134 TWD USE 10AF 05/2002 Fonctionnement de l’afficheur 8 En bref... Présentation Ce chapitre offre des informations sur l’utilisation de l’afficheur optionnel Twido. Contenu de ce chapitre Ce chapitre contient les sujets suivants : TWD USE 10AF 05/2002 Sujet Page Afficheur 136 Informations d'identification et états de l'automate 139 Variables et objets système 142 Paramètres de port série 148 Horloge Date/Heure 149 Facteur de correction de l'horodateur 150 135 Fonctionnement de l’afficheur Afficheur Introduction L'afficheur est une option de Twido dont l'interface permet d'afficher et de contrôler les données de l'application et quelques fonctions de l'automate, telles que l'état de fonctionnement et l'horodateur (RTC). Cette option est disponible sous la forme d’une cartouche (TWDXCPODC) pour les automates compacts ou d'un module d'expansion (TWDXCPODM) pour les automates modulaires. L'afficheur dispose de deux modes de fonctionnement : l mode affichage : affiche simplement les données. l mode édition : permet de modifier les données. Note : L'afficheur est mis à jour selon un intervalle défini dans le cycle de scrutation de l'automate. Cela peut provoquer des erreurs d'interprétation de l'affichage des sorties dédiées pour les impulsions %PLS et %PWM. Au moment de l'échantillonnage de ces sorties, leur valeur sera toujours égale à zéro et c'est cette valeur qui sera affichée. Assurez-vous que la configuration du bloc fonction de régulation agit sur la sortie dédiée actuelle. Affichage et fonctions L'afficheur comporte différents affichages et les fonctions associées. l informations sur l'identification et l'état de l'automate : affichage de la version du microprogramme et l'état de l'automate. Modification de l'état de l'automate à l'aide des commandes Run, Initial et Stop. Affichage des codes d'erreur à l'état Suspendu. l variables et objets système : sélection des données de l'application par l'adresse : %I, %Q et tous les autres objets logiciels de la base automate. Contrôle et modification de la valeur de l'objet donnée logicielle sélectionné. l paramètres du port série : affichage et configuration des paramètres du port de communication. l horloge Date/Heure affichage et configuration de la date et de l'heure actuelles lorsque l'horodateur (RTC) est installé. l facteur de correction du RTC : affichage et modification des valeurs de correction de l'horodateur (RTC) optionnel. Note : L'horloge Date/Heure et la correction du RTC ne sont disponibles que lorsque la cartouche horodateur optionnelle (TWDXCPRTC) est installée. 136 TWD USE 10AF 05/2002 Fonctionnement de l’afficheur Illustration L'illustration suivante présente un schéma simplifié de l'afficheur, composé d'une zone d'affichage et de quatre touches d’entrée. Zone d’affichage T V M 1 2 3 1 2 3 4 MOD/ ENTER ESC Touches d'entrée Zone d’affichage L'afficheur est composé d'un écran à cristaux liquides capable d’afficher deux lignes de caractères. l La première ligne de l'affichage est composée de trois caractères de 13 segments et de quatre caractères de 7 segments. l La seconde ligne est composée d'un caractère de 13 segments, d'un caractère de 3 segments (pour les signes plus et moins) et de cinq caractères de 7 segments. Touches d’entrée Les fonctions des quatre touches d’entrée dépendent du mode de l'afficheur. Touche En mode affichage ESC En mode édition Annule les modifications et revient à l'affichage précédent. Attribue la valeur de l’élément suivant à l'élément en cours d'édition. MOD/ ENTER TWD USE 10AF 05/2002 Passe à l'affichage suivant. Passe à l'élément à éditer suivant. Passe en mode édition. Accepte les modifications et revient à l'affichage précédent. 137 Fonctionnement de l’afficheur Sélection et navigation entre les affichages 138 L'affichage ou l’écran initial de l'afficheur présente des informations sur l'identification et l'état de l'automate. Appuyez sur la touche pour passer d'un affichage à l'autre. Les écrans de l'horloge Date/Heure et le facteur de correction du RTC apparaissent uniquement lorsque la cartouche horodateur (TWDXCPRTC) est détectée sur l'automate. Appuyez sur la touche ESC pour revenir à l'écran initial. Pour la plupart des écrans, le fait de libérer la touche ESC permet de revenir à l'écran Informations d'identification et états de l'automate. Le fait d'appuyer sur la touche ESC permet uniquement de retourner à la saisie du premier objet système ou de l'objet système initial lors de la modification de variables et d’objets système autres que l’entrée initiale (%I0.0.0). Pour modifier la valeur d'un objet, appuyez à nouveau sur la touche MOD/ENTER au lieu d'appuyer sur la touche pour accéder au premier chiffre de la valeur. TWD USE 10AF 05/2002 Fonctionnement de l’afficheur Informations d'identification et états de l'automate Introduction L'écran initial de l'afficheur optionnel Twido présente des informations sur l'identification et sur l'état de l'automate. Exemple Comme l'illustre le schéma suivant, la version du microprogramme est affichée dans le coin supérieur droit de la zone d'affichage, l'état de l'automate dans le coin supérieur gauche. R U N Etat de l'automate TWD USE 10AF 05/2002 1 2 3 Révision du microprogramme 139 Fonctionnement de l’afficheur Etats de l’automate L'automate peut se trouver dans l'un des états suivants : l NCF : Non configuré l l l l l 140 L'automate demeure en état NCF jusqu'à ce qu'une application soit chargée. Aucun autre état n'est permis avant le chargement du programme de l'application. Vous pouvez tester l'E/S en modifiant le bit système S8 (reportezvous à la rubrique Bits système (%S), p. 332). STP : Arrêté Dès qu'une application est chargée sur l'automate, ce dernier passe à l'état STP. Dans cet état, l'application ne fonctionne pas. Les entrées sont mises à jour et les valeurs des données restent inchangées. Les sorties ne sont pas mises à jour dans cet état. INI : Initial Seul un automate se trouvant à l'état STP peut passer à l'état INI. L'application n'est pas en cours d'exécution. Les entrées de l'automate sont mises à jour et les valeurs des données retrouvent leur état initial. Aucune sortie n'est mise à jour dans cet état. RUN : En cours d'exécution Dans cet état, l'application fonctionne. Les entrées de l'automate sont mises à jour et les valeurs des données sont réglées par l'application. Il s'agit du seul état au cours duquel les sorties sont mises à jour. HLT : Suspendu (Erreur d’application utilisateur) L'exécution de l'application est suspendue dès que l'automate passe à l'état ERR. Les entrées sont mises à jour et les valeurs des données restent inchangées. Dans cet état, les sorties ne sont pas mises à jour. Dans ce mode, le code de l'erreur est affiché dans la partie inférieure droite de l'afficheur. Ce code prend la forme d'une valeur décimale sans signe. NEX : Not Executable (non exécutable) Une modification en ligne a été apporté e à la logique utilisateur. Conséquence : l'application n'est plus exécutable. Elle ne retrouvera cet état qu'une fois que toutes les causes de l'état Non Exec auront été résolves. TWD USE 10AF 05/2002 Fonctionnement de l’afficheur Affichage et modification des états de l'automate TWD USE 10AF 05/2002 L'afficheur vous permet de faire passer l'automate de l'état STP à l'état INI, de l'état STP à l'état RUN, ou de l'état RUN à l'état STP. Pour modifier l'état de l'automate, procédez comme suit : Etape Action 1 Appuyez sur la touche jusqu'à ce que l'écran Affichage des opérations apparaisse (ou appuyez sur la touche ESC). L'état courant de l'automate apparaît dans le coin supérieur gauche de la zone d'affichage. 2 Appuyez sur la touche MOD/ENTER pour passer en mode édition. 3 Appuyez sur la touche 4 Appuyez sur la touche MOD/ENTER pour accepter la valeur modifiée, ou sur la touche ESC pour ignorer les modifications apportées en mode édition. pour sélectionner un état de l'automate. 141 Fonctionnement de l’afficheur Variables et objets système Introduction L'Afficheur optionnel permet de contrôler et d'ajuster les données de l'application à l'aide des fonctions suivantes : l sélection des données de l'application par l’adresse (telle que %I ou %Q) ; l contrôle de la valeur de l'objet/variable logiciel(le) sélectionné(e) ; l modification de la valeur de l'objet donnée actuellement affiché (y compris le forçage des entrées et des sorties). Variables et objets système Le tableau ci-après répertorie, dans leur ordre d'accès, les variables et objets système qui peuvent être affichés et modifiés par l'Afficheur. 142 Objet Variable/Attribut Description Accès Entrée %I.x.y.z Valeur Lecture/Forçage Sortie %Q.x.y.z Valeur Lecture/Ecriture/ Forçage Temporisateur %TMX.V %TMX.P %TMX.Q Valeur courante Valeur de présélection Terminé Lecture/Ecriture Lecture/Ecriture Lecture Compteur %Cx.V %Cx.P %Cx.D %Cx.E %Cx.F Valeur courante Valeur de présélection Terminé Vide Plein Lecture/Ecriture Lecture/Ecriture Lecture Lecture Lecture Bit mémoire %Mx Valeur Lecture/Ecriture Mot mémoire %MWx Valeur Lecture/Ecriture Mot constante %KWx Valeur Lecture Bit système %Sx Valeur Lecture/Ecriture Mot système %SWx Valeur Lecture/Ecriture Entrée analogique %IW.x.y.z Valeur Lecture Sortie analogique %QW.x.y.z Valeur Lecture/Ecriture Compteur rapide (FC) %FCx.V %FCx.P %FCx.D Valeur courante Valeur de présélection Terminé Lecture/Ecriture Lecture/Ecriture Lecture TWD USE 10AF 05/2002 Fonctionnement de l’afficheur TWD USE 10AF 05/2002 Objet Variable/Attribut Description Accès Compteur rapide (VFC) %VFCx.V %VFCx.P %VFCx.U %VFCx.C %VFCx.S0 %VFCx.S1 %VFCx.F %VFCx.M %VFC.T %VFC.R %VFC.S Valeur courante Valeur de présélection Sens de comptage Valeur de capture Valeur de seuil 0 Valeur de seuil 1 Débordement Fréquence mesurée Base temps Activation sortie réflexe Activation entrée réflexe Lecture/Ecriture Lecture/Ecriture Lecture Lecture Lecture/Ecriture Lecture/Ecriture Lecture Lecture/Ecriture Lecture/Ecriture Lecture/Ecriture Lecture/Ecriture Entrée mot réseau %INWx.z Valeur Lecture/Ecriture Sortie mot réseau %QNWx.z Valeur Lecture/Ecriture Grafcet %Xx Bit étape Lecture Générateur d'impulsions %PLS.N %PLS.P %PLS.D %PLS.Q Nombre de pulsations Valeur de présélection Terminé Sortie courante Lecture/Ecriture Lecture/Ecriture Lecture Lecture Modulateur de largeur d'impulsion %PMW.R %PMW.P Ratio Valeur de présélection Lecture/Ecriture Lecture/Ecriture Programmateur cyclique %DRx.S %DRx.F Nombre d’étapes courantes Plein Lecture Lecture Fonction pas à pas %SCx.n Bit de fonction pas à pas Lecture/Ecriture Registre %Rx.I %Rx.O %Rx.E %Rx.F Entrée Sortie Vide Plein Lecture/Ecriture Lecture Lecture Lecture Registre bits à décalage %SBR.x.yy Bit de registre Lecture/Ecriture Message %MSGx.D %MSGx.E Terminé Erreur Lecture Lecture 143 Fonctionnement de l’afficheur Remarques : 1. Les variables n'apparaîtront pas si elles ne sont pas utilisées dans une application, étant donné que Twido utilise l'affectation de mémoire dynamique. 2. Si la valeur de %MW est supérieure à +32767 ou inférieure à -32787, l'afficheur continue de clignoter. 3. Si la valeur de %SW est supérieure à 65 535, l'afficheur continue de clignoter, sauf pour %SW0 et pour %SW11. Lorsqu'une valeur dépassant les limites est entrée, elle est remplacée par la valeur configurée. 4. Lorsqu'une valeur dépassant les limites est entrée pour %PLS.P, la valeur est définie sur la saturation. Affichage et modification des objets et des variables Vous pouvez accéder à chaque type d'objet système en commençant par l'objet entrée (%I), en progressant de façon séquentielle jusqu’à l'objet message (%MSG) et en revenant finalement à l'objet entrée (%I). Pour afficher un objet système : Etape Action 1 Appuyez sur la touche jusqu'à ce que l'écran Affichage des données apparaisse. L'objet Entrée (« I ») apparaît dans le coin supérieur gauche de la zone d'affichage. La lettre « I » (ou le nom de l'objet précédent) ne clignote pas. 2 Appuyez sur la touche MOD/ENTER pour activer le mode édition. La lettre « I » de l'objet Entrée (ou le nom de l'objet précédent) commence à clignoter. 3 Appuyez sur la touche objets. pour progresser de façon séquentielle dans la liste des 4 Appuyez sur la touche pour progresser de façon séquentielle dans le champ d'un type d'objet et appuyez sur la touche champ. Utilisez les touches de l’objet affiché. 144 et pour incrémenter la valeur de ce pour consulter et modifier tous les champs 5 Répétez les étapes 3 et 4 jusqu'à ce que l'édition soit terminée. 6 Appuyez sur la touche MOD/ENTER pour accepter les valeurs modifiées. Remarque : Le nom et l'adresse de l'objet doivent être validés pour pouvoir accepter ces modifications. Cela signifie qu'ils doivent exister dans la configuration de l'automate avant l'utilisation de l'afficheur. Appuyez sur la touche ESC pour annuler les modifications apportées en mode édition. TWD USE 10AF 05/2002 Fonctionnement de l’afficheur Valeurs des données et formats d'affichage En général, la valeur de donnée pour un objet ou une variable est affichée comme un entier avec signe ou sans signe dans la partie inférieure droite de la zone d'affichage. Les zéros non significatifs sont supprimés de tous les champs pour l’affichage des valeurs. L'adresse de chaque objet apparaît dans l'Afficheur dans l'un des six formats suivants : l format E/S l format bloc fonction l format simple l format E/S réseau l format fonction pas à pas l format registre bits à décalage. Format Entrée/ Sortie Les objets entrée/sortie (%I, %Q, %IW et %QW) ont une adresse en trois parties (ex : %IX.Y.Z) et apparaissent sous la forme suivante : l type d'objet et adresse de l'automate dans la partie supérieure gauche ; l adresse de l'expansion dans la partie supérieure centrale ; l voie d’E/S dans la partie supérieure droite. Dans le cas d'une entrée (%I) et d'une sortie (%Q) simples, la lettre « U » pour un bit non forcé (unforced) ou la lettre « F » pour un bit forcé (forced) apparaît dans la partie inférieure gauche de l'affichage. La valeur de forçage apparaît dans la partie inférieure droite de l'écran. L'objet sortie %Q0.3.11 apparaît dans la zone d'affichage sous la forme suivante : Q 0 F Format bloc fonction 1 1 1 Les blocs fonctions (%TM, %C, %FC, %VFC, %PLS, %PWM, %DR, %R et %MSGj) ont une adresse en deux parties comprenant le numéro de l’objet et le nom d'une variable ou d'un attribut. Ils apparaissent sous la forme suivante : l nom du bloc fonction en haut à gauche ; l numéro (ou instance) du bloc fonction en haut à droite ; l variable ou attribut en bas à gauche ; l valeur de l'attribut en bas à droite. Dans l'exemple suivant, la valeur courante pour le temporisateur numéro 123 est réglée sur 1 234. T V TWD USE 10AF 05/2002 3 M 1 2 3 1 2 3 4 145 Fonctionnement de l’afficheur Format simple Un format simple est utilisé pour les objets %M, %MW, %KW, %S, %SW et %X : l numéro de l'objet dans la partie supérieure droite ; l valeur avec signe pour les objets dans la partie inférieure. Dans l'exemple suivant, le mot mémoire numéro 67 contient la valeur +123. M W 6 7 + Format Entrée/ Sortie réseau Les objets entrée/sortie réseau (%INW et %QNW) apparaissent dans la zone d'affichage sous la forme suivante : l nom de l'objet dans la partie supérieure gauche ; l adresse de l'automate dans la partie supérieure centrale ; l numéro de l'objet dans la partie supérieure droite ; l Valeur avec signe de l'objet dans la partie inférieure. Dans l'exemple suivant, le premier mot d’entrée ou mot réseau de l'automate distant configuré à l'adresse distante n°2 a pour valeur -4. M N W Format fonction pas à pas 2 1 4 Le format fonction pas à pas (%SC) affiche le numéro de l'objet et le bit de fonction pas à pas sous la forme suivante : l nom et numéro de l'objet dans la partie supérieure gauche ; l bit de fonction pas à pas dans la partie supérieure droite ; l valeur de l'objet dans la partie inférieure. Dans l'exemple suivant, le bit numéro 129 de la fonction pas à pas numéro 3 est réglé sur -1. S C 3 - 146 1 2 3 1 2 9 1 TWD USE 10AF 05/2002 Fonctionnement de l’afficheur Format registre bits à décalage Le format registre bit à décalage (%SBR) affiche le numéro de l'objet et le bit registre sous la forme suivante : l nom et numéro de l'objet dans la partie supérieure gauche ; l bit de registre dans la partie supérieure droite. Vous trouverez ci-après un exemple de l'affichage du registre bit à décalage numéro 4. S B R 4 9 1 TWD USE 10AF 05/2002 147 Fonctionnement de l’afficheur Paramètres de port série Introduction Affichage et modification des paramètres d'un port série 148 L'afficheur vous permet de visualiser et de modifier les paramètres d'un protocole. Un maximum de deux ports série peuvent être utilisés. Dans l'exemple suivant, le premier port est configuré pour le protocole Modbus et porte l'adresse 123. Le second port est configuré en tant que liaison distante et porte l'adresse 5. M 1 2 3 R 4 Les automates Twido peuvent gérer un maximum de deux ports série. Pour visualiser les paramètres des ports série sur l'afficheur : Etape Action 1 Appuyez sur la touche jusqu'à ce que l'écran Affichage des communications apparaisse. Une lettre, correspondant au paramètre de protocole du premier port (M, R ou A), sera affichée dans le coin supérieur gauche de l'afficheur. 2 Appuyez sur la touche MOD/ENTER pour passer en mode édition. 3 Appuyez sur la touche modifier. jusqu'à ce que vous vous trouviez dans le champ à 4 Appuyez sur la touche pour incrémenter la valeur de ce champ. 5 Répétez les étapes 3 et 4 jusqu'à ce que tous les paramètres du port série aient été définis. 6 Appuyez sur la touche MOD/ENTER pour enregistrer les modifications apportées en mode édition ou sur ESC pour les ignorer. TWD USE 10AF 05/2002 Fonctionnement de l’afficheur Horloge Date/Heure Introduction Les paramètres de date et d'heure ne peuvent être mis à jour depuis l'afficheur que si la cartouche optionnelle de l'horodateur (TWDXCPRTC) est installée dans votre automate Twido. Le mois apparaît dans le coin supérieur gauche de l'afficheur. La valeur « RTC » figurera dans ce champ jusqu'à ce que des paramètres de date et d'heure valides aient été entrés. Le jour du mois apparaît dans le coin supérieur droit de l'afficheur. Cette heure est affichée au format dit « militaire ». Les heures et les minutes sont affichées dans le coin inférieur droit de l'afficheur et sont séparées par la lettre « h ». L'exemple suivant illustre ce qu'indiquerait l'afficheur, le 28 mars à 14:22. 2 8 M A R 1 4 h 2 2 Affichage et modification de l’horloge Date/ Heure TWD USE 10AF 05/2002 Pour afficher et modifier l'horloge Date/Heure : Etape Action 1 Appuyez sur la touche jusqu'à ce que l'écran Affichage Date/Heure apparaisse. Le code du mois (« JAN » ou « FEV », par exemple) apparaît dans le coin supérieur gauche de la zone d'affichage. La mention « RTC » est affichée tant que le mois n'a pas été défini. 2 Appuyez sur la touche MOD/ENTER pour passer en mode édition. 3 Appuyez sur la touche modifier. jusqu'à ce que vous vous trouviez dans le champ à 4 Appuyez sur la touche pour incrémenter la valeur de ce champ. 5 Répétez les étapes 3 et 4 jusqu'à ce que tous les paramètres de date et d'heure aient été définis. 6 Appuyez sur la touche MOD/ENTER pour enregistrer les modifications apportées en mode édition ou sur ESC pour les ignorer. 149 Fonctionnement de l’afficheur Facteur de correction de l’horodateur Introduction L’afficheur vous permet de visualiser et de modifier le facteur de correction de l’horodateur (RTC). Pour chaque module option horodateur (RTC), une valeur de correction du RTC permet de corriger les imprécisions du cristal du module RTC. Ce facteur prend la forme d'un nombre entier sans signe, composé de trois chiffres, compris entre 0 et 127. Cette valeur apparaît dans le coin supérieur droit de l'afficheur. L'exemple suivant illustre un facteur de correction de 127. R T C C o r r 1 2 7 Affichage et modification de la correction du RTC 150 Pour afficher et modifier le facteur de correction du RTC : Etape Action 1 Appuyez sur la touche jusqu'à ce que l'écran Affichage du facteur RTC apparaisse. "RTC Corr" s'affiche dans la ligne supérieure de l'afficheur. 2 Appuyez sur la touche MOD/ENTER pour passer en mode édition. 3 Appuyez sur la touche modifier. jusqu'à ce que vous vous trouviez dans le champ à 4 Appuyez sur la touche pour incrémenter la valeur de ce champ. 5 Répétez les étapes 3 et 4 jusqu'à ce que la valeur de correction du RTC ait été définie. 6 Appuyez sur la touche MOD/ENTER pour enregistrer les modifications apportées en mode édition ou sur ESC pour les ignorer. TWD USE 10AF 05/2002 Description des langages Twido III En bref... Présentation Cette rubrique fournit des instructions d’utilisation des langages de programmation Grafcet, schéma à contacts et liste d’instructions permettant de créer des programmes de régulation des automates programmables Twido. Contenu de cet intercalaire Cet intercalaire contient les chapitres suivants : TWD USE 10AF 05/2002 Chapitre Titre du chapitre Page 9 Langage schéma à contacts 153 10 Langage liste d'instructions 177 11 Grafcet 191 151 Description des langages Twido 152 TWD USE 10AF 05/2002 Langage schéma à contacts 9 En bref... Présentation Cette rubrique décrit la programmation à l'aide du langage schéma à contacts. Contenu de ce chapitre Ce chapitre contient les sujets suivants : TWD USE 10AF 05/2002 Sujet Page Introduction aux schémas à contacts 154 Principes de programmation en langage schéma à contacts 156 Blocs de schémas à contacts 158 éléments graphiques du langage schéma à contacts 161 Instructions spéciales OPEN et SHORT du langage schéma à contacts 164 Conseils de programmation 165 Réversibilité schéma à contacts/liste 169 Recommandations pour la réversibilité entre le langage schéma à contacts et le langage liste d’instructions 171 Documentation du programme 173 153 Langage schéma à contacts Introduction aux schémas à contacts Introduction Les schémas à contacts utilisent la même représentation graphique que celle des circuits de relais en logique programmée, à ceci près que, dans un schéma à contacts : l Toutes les entrées sont représentées par des symboles de contacts ( ). l Toutes les sorties sont représentées par des symboles de bobines ( ). l Les opérations numériques sont comprises dans le jeu d’instructions graphiques du schéma à contacts. Représentations de schémas à contacts correspondant aux circuits de relais L’illustration suivante présente un schéma simplifié de câblage d’un relais en logique programmée, et son équivalent en langage schéma à contacts. LS1 PB1 CR1 LS2 SS1 M1 LS1 %I0.0 PB1 %I0.2 CR1 %I0.4 LS2 %I0.1 SS1 %I0.7 M1 %Q0.4 Circuit de relais en logique programmée Schéma à contacts Dans l’illustration précédente, toutes les entrées associées à un périphérique de commutation dans le circuit de relais en logique programmée sont représentées sous la forme de contacts dans le schéma à contacts. La bobine de sortie M1 du circuit logique de relais est représentée par un symbole de bobine dans le schéma à contacts. Les numéros des adresses apparaissant au-dessus du symbole de chaque contact et de chaque bobine dans le schéma à contacts sont des références aux emplacements des connexions externes en entrée et en sortie vers l’automate. 154 TWD USE 10AF 05/2002 Langage schéma à contacts Réseaux schéma à contacts Un programme en langage schéma à contacts est composé de « réseaux », représentant des ensembles d’instructions graphiques et apparaissant entre deux barres verticales. Les réseaux sont exécutés de manière séquentielle par l’automate. L’ensemble des instructions graphiques représente les fonctions suivantes : l entrées/sorties de l’automate (boutons de commande, capteurs, relais, voyants, etc.) l fonctions de l’automate (temporisateurs, compteurs, ...) l opérations mathématiques et logiques (addition, division, AND, XOR, etc.) l opérateurs de comparaison et autres opérations numériques (A<B, A=B, décalage, rotation, etc.) l variables internes de l’automate (bits, mots, etc.) Ces instructions sont disposées graphiquement à l’aide de barres verticales et horizontales et peuvent déboucher sur une ou plusieurs sorties et/ou actions. Un réseau ne peut pas contenir plus d’un groupe d’instructions liées. Exemple de réseaux schéma à contacts L’exemple suivant illustre un programme en langage schéma à contacts composé de deux réseaux. %I0.1 %M42 Exemple de réseau 1 %I0.3 %M42 %Q1.2 Exemple de réseau 2 %M22:=%MW15+%KW1 TWD USE 10AF 05/2002 155 Langage schéma à contacts Principes de programmation en langage schéma à contacts Grille de programmation Chaque réseau schéma à contacts se compose d’une grille comportant sept lignes et onze colonnes organisées en deux zones, comme l'indique l'illustration suivante : 1 2 3 4 5 Colonnes 6 7 9 8 10 11 Lignes 1 2 3 4 5 Cellules Barres verticales 6 7 Zone de test Zone d’action Zones de la grille 156 La grille de programmation en langage schéma à contacts est divisée en deux zones : l Zone de test Contient les conditions testées avant d'effectuer des actions. Comprend les colonnes 1 à 10 et contient les contacts, les blocs fonctions et les blocs comparaisons. l Zone d'action Contient la sortie ou l'opération qui sera effectuée en fonction des résultats des tests réalisés sur les conditions dans la zone de test. Comprend les colonnes 8 à 11 et contient les bobines et les blocs opérations. TWD USE 10AF 05/2002 Langage schéma à contacts Saisie d’instructions dans la grille La grille de sept lignes sur onze colonnes que constitue le réseau schéma à contacts se lit à partir de la cellule située en haut à gauche. La programmation consiste à entrer des instructions dans les cellules de la grille. Les instructions de test, de comparaison et de fonctions sont entrées dans les cellules de la zone de test et sont justifiées à gauche. La logique du test permet d'assurer la continuité dans la zone d'action, où les bobines, les opérations numériques et les instructions de régulation du flux du programme sont entrées et justifiées à droite. Le réseau est traité ou exécuté (tests effectués et sorties affectées) dans la grille de haut en bas et de gauche à droite. En-tête réseau Un en-tête apparaît directement au-dessus du réseau. Vous pouvez l'utiliser pour donner des informations sur la finalité logique du réseau. L'en-tête de réseau peut contenir les informations suivantes : l le numéro du réseau ; l des étiquettes (%Li) ; l des déclarations de sous-programme (SRi:) ; l le titre du réseau ; l des commentaires sur le réseau. Pour obtenir davantage d'informations sur l'utilisation d'un en-tête réseau pour documenter vos programmes, reportez-vous à la rubrique Documentation du programme, p. 173. TWD USE 10AF 05/2002 157 Langage schéma à contacts Blocs de schémas à contacts Introduction Les schémas à contacts se composent de blocs correspondant à des actions et/ou des fonctions d’un programme, telles que : l des contacts l des bobines l des instructions de déroulement du programme l des blocs fonctions l des blocs comparaisons l des blocs opérations Contacts, bobines et déroulement du programme Les contacts, bobines et les instructions de déroulement du programme (sauts et appels) n’occupent qu’une seule cellule dans la grille de programmation du schéma à contacts. Les blocs fonctions, les blocs comparaisons et les blocs opérations peuvent en revanche occuper plusieurs cellules. Les exemples suivants illustrent un contact et une bobine. Contact 158 Bobine TWD USE 10AF 05/2002 Langage schéma à contacts Blocs fonctions Les blocs fonctions sont placés dans la zone de test de la grille de programmation. Le bloc doit figurer sur la première ligne ; aucune instruction de schéma à contacts ou aucune ligne de continuité ne peut apparaître au-dessus ou en dessous du bloc fonction. Les instructions de test du schéma à contacts mènent à l’entrée du bloc fonction, alors que les instructions de test et/ou les instructions d’action proviennent de la sortie du bloc. Les blocs fonctions sont orientés de manière verticale et occupent deux colonnes sur quatre lignes dans la grille de programmation. L’exemple suivant illustre un bloc fonction temporisateur. %C0 R E S ADJ Y %C0.P 9999 D CU F CD Blocs comparaisons Les blocs comparaisons sont placés dans la zone de test de la grille de programmation. Le bloc peut apparaître sur n’importe quelle ligne ou colonne de la zone de test. L’intégralité de l’instruction doit résider dans cette zone. Les blocs comparaisons sont orientés de manière horizontale et occupent deux colonnes sur une ligne dans la grille de programmation. L’exemple suivant présente un bloc comparaison. %MW0=%SW50 TWD USE 10AF 05/2002 159 Langage schéma à contacts Blocs opérations Les blocs opérations sont placés dans la zone d’action de la grille de programmation. Le bloc peut apparaître sur n’importe quelle ligne de la zone d’action. L’instruction est justifiée à droite ; elle apparaît à droite et se termine dans la dernière colonne. Les blocs opérations sont orientés de manière horizontale et occupent quatre colonnes sur une ligne dans la grille de programmation. L’exemple suivant illustre un bloc opération. %MW120 := SQRT (%MW15) 160 TWD USE 10AF 05/2002 Langage schéma à contacts éléments graphiques du langage schéma à contacts Introduction Les instructions des schémas à contacts sont constituées d'éléments graphiques. Cette section répertorie et décrit les éléments graphiques utilisés dans les instructions du langage schéma à contacts Twido. Reportez-vous au guide d'exploitation TwidoSoft pour plus de détails sur l'utilisation de ces éléments graphiques dans les programmes par schémas à contacts Twido. Contacts Les éléments graphiques des contacts sont programmés dans la zone de test et occupent une cellule (une ligne sur une colonne). Nom Eléments de liaison Instruction Fonction Contact à ouverture LD Fait passer le contact lorsque l'objet bit de régulation se trouve à l'état 1. Contact à fermeture LDN Fait passer le contact lorsque l'objet bit de régulation se trouve à l'état 0. LDR Front montant : détecte le passage de 0 à 1 de l'objet bit de régulation. LDF Front descendant : détecte le passage de 1 à 0 de l'objet bit de régulation. Contact de détection d'un front montant P Contact de détection d'un front descendant N Les éléments de liaison graphique s'utilisent pour connecter les éléments graphiques de test et d'action. Nom TWD USE 10AF 05/2002 Elément graphique Elément graphique Fonction Connecteur horizontal Relie en série les éléments graphiques de test et d'action entre les deux barres verticales. Connecteur secondaire Relie les éléments graphiques de test et d'action en parallèle (connexion verticale). 161 Langage schéma à contacts Bobines Les éléments graphiques des bobines sont programmés dans la zone d'action et occupent une cellule (une ligne sur une colonne). Nom Instruction Fonction Bobine directe ST L'objet bit associé prend la valeur du résultat de la zone de test. Bobine négation STN L'objet bit associé prend la valeur du résultat négatif de la zone de test. S L'objet bit associé est réglé sur 1 lorsque le résultat de la zone de test est 1. R L'objet bit associé est réglé sur 0 lorsque le résultat de la zone de test est 1. JMP SR Se connecte à une instruction portant une étiquette, en amont ou en aval. Bobine SET Bobine RESET Appel de saut ou de sous-programme Elément graphique S R ->>%Li ->>%SRi Bobine dièse Langage Grafcet. Utilisée lorsque la programmation des conditions de transition associées aux transitions provoque une permutation sur l'étape suivante. # Retour d'un sousprogramme RET Placé à la fin des sous-programmes pour retourner au programme principal. END Définit la fin du programme. <RET> Arrêt du programme <END> 162 TWD USE 10AF 05/2002 Langage schéma à contacts Blocs fonctions Les éléments graphiques des blocs fonctions sont programmés dans la zone de test et occupent quatre lignes sur deux colonnes (excepté les compteurs rapides (VFC), qui requièrent cinq lignes sur deux colonnes). Nom Elément graphique Temporisateurs, compteurs, registres, etc. Blocs opérations et comparaisons Chaque bloc fonction utilise les entrées et les sorties permettant la liaison aux autres éléments graphiques. Note : Les sorties des blocs fonctions ne peuvent pas être connectées les unes aux autres (liaisons verticales). Les blocs comparaisons sont programmés dans la zone de test et les blocs opérations, dans la zone d'action. Nom TWD USE 10AF 05/2002 Fonction Elément graphique Fonction Bloc comparaison Compare deux opérandes. La sortie prend la valeur 1 lorsque le résultat est vérifié. Taille : Une ligne sur deux colonnes Bloc opération Effectue des opérations arithmétiques et logiques. Taille : Une ligne sur quatre colonnes 163 Langage schéma à contacts Instructions spéciales OPEN et SHORT du langage schéma à contacts Introduction Les instructions OPEN et SHORT permettent de déboguer rapidement et simplement des programmes en langage schéma à contacts. Ces instructions spéciales modifient la logique d’un réseau, soit en raccourcissant, soit en ouvrant la continuité d’un réseau, conformément aux explications fournies dans le tableau suivant. Instruction Description Instruction en langage liste d’instructions OPEN Crée un arrêt dans la continuité d’un réseau schéma à contacts, et ce, quels que soient les résultats de la dernière opération logique. AND 0 SHORT Permet à la continuité de traverser le réseau schéma à contacts, et ce, quels que soient les résultats de la dernière opération logique. OR 1 En langage liste d’instructions, les instructions OR et AND sont utilisées pour créer les instructions OPEN et SHORT à l'aide des valeurs immédiates respectives de 0 et 1. Exemples Les exemples suivants illustrent l’utilisation des instructions SHORT et OPEN. %I0.1 %M3 %Q0.1 OPEN %Q1.5 %I0.9 %Q1.6 LD OR ANDN AND ST LD OR ST %I0.1 %Q1.5 %M3 0 %Q0.1 %I0.9 1 %Q1.6 SHORT 164 TWD USE 10AF 05/2002 Langage schéma à contacts Conseils de programmation Gestion de sauts de programme Utilisez les sauts de programme avec la plus grande précaution, car ils peuvent être à l'origine de boucles qui ralentiront considérablement les opérations de scrutation. Evitez d'insérer des sauts pointant vers des instructions situées en amont. Une instruction en amont apparaît avant un saut dans un programme. A l'inverse, une instruction en aval apparaît après un saut dans un programme. Programmation des sorties Les bits de sortie, tout comme les bits internes, ne peuvent être régulés que s'ils figurent dans le programme. Pour les bits de sortie, seule la dernière valeur scrutée est prise en compte lors de la mise à jour des sorties. Utilisation de capteurs d'arrêt d'urgence à liaison directe Les capteurs utilisés en cas d'arrêt d'urgence ne doivent pas être gérés par l'automate. Ces capteurs doivent être raccordés directement aux sorties correspondantes. Gestion des reprises de l’alimentation Lors d'un fonctionnement manuel, les reprises de l'alimentation doivent être conditionnelles. En effet, un redémarrage automatique de l'installation pourrait provoquer une mise sous tension non souhaitée de certains équipements (utilisez les bits système %S0, %S1 et %S9). Gestion des blocs Heure et Horodateur Il est nécessaire de vérifier l'état du bit système %S51, qui indique d'éventuels défauts de bloc Horodateur. Vérification de la syntaxe et recherche d'erreurs Lors de la saisie d'un programme, TwidoSoft vérifie la syntaxe de ses instructions et opérandes, ainsi que leur association. Pour plus d'informations, reportez-vous au guide d'exploitation TwidoSoft. TWD USE 10AF 05/2002 165 Langage schéma à contacts Remarques complémentaires sur l'utilisation des parenthèses Les opérations d'affectation ne doivent pas être placées entre parenthèses : %I0.0 %I0.1 %I0.2 %Q0.1 %I0.3 LD AND OR( ST AND ) ST %I0.0 %I0.1 %I0.2 %Q0.0 %I0.3 %Q0.1 %Q0.0 Afin d'effectuer la fonction correspondante, les équations suivantes doivent être programmées : %I0.0 %I0.1 %I0.2 %I0.2 166 %Q0.1 %I0.3 %Q0.0 LD MPS AND( OR( AND ) ) ST MPP AND ST %I0.0 %I0.1 %I0.2 %I0.3 %Q0.1 %I0.2 %Q0.0 TWD USE 10AF 05/2002 Langage schéma à contacts Les contacts placés en parallèle doivent être imbriqués au sein d'un autre contact ou être totalement indépendants les uns des autres : %I0.0 %I0.0 TWD USE 10AF 05/2002 %I0.1 %I0.5 %I0.2 %I0.3 %I0.6 %I0.7 %I0.1 %I0.5 %I0.2 %I0.4 %Q0.1 %Q0.1 167 Langage schéma à contacts Les schémas suivants ne peuvent pas être programmés : %I0.0 %I0.1 %I0.2 %Q0.1 %I0.3 %I0.4 %I0.0 %I0.1 %I0.2 %I0.5 %Q0.1 %I0.3 %I0.4 Afin d'exécuter les schémas équivalents, modifiez-les comme illustré ci-dessous : %I0.0 %I0.2 %I0.4 %I0.0 %I0.3 %I0.3 %I0.1 %I0.2 %I0.2 168 %Q0.1 %I0.1 %I0.5 %I0.3 %I0.4 %Q0.1 LD AND( OR( AND ) ) OR( AND ) ST %I0.0 %I0.1 %I0.2 %I0.3 LD AND( OR( AND ) AND OR( AND ) ) ST %I0.0 %I0.1 %I0.2 %I0.3 %I0.4 %I0.3 %Q0.1 %I0.5 %I0.2 %I0.4 %Q0.1 TWD USE 10AF 05/2002 Langage schéma à contacts Réversibilité schéma à contacts/liste Introduction La fonctionnalité de réversibilité du logiciel de programmation TwidoSoft permet de convertir des programmes par schémas à contacts en programmes par listes d'instructions, et vice versa. Les préférences utilisateur réglées dans TwidoSoft permettent de choisir la méthode d'affichage par défaut des programmes : soit au format liste, soit au format schéma à contacts. TwidoSoft permet également de basculer entre les affichages par liste et par schéma à contacts (reportez-vous au guide d'exploitation TwidoSoft pour plus de détails). Qu’est-ce que la "réversibilité" ? Pour bien comprendre à quoi correspond la fonction de réversibilité du programme, il convient d'examiner avec attention les relations existant entre le réseau d'un schéma à contacts et la séquence de la liste d'instructions correspondante : l Réseau de schéma à contacts : ensemble d'instructions par schémas à contacts formant une expression logique. l Séquence de liste : ensemble d’instructions d’un programme par listes, correspondant aux instructions par schémas à contacts et relatif à la même expression logique. L'illustration suivante présente un réseau de schéma à contacts courant, ainsi que la logique du programme équivalente, exprimée sous la forme d'une liste d'instructions. %I0.5 %I0.4 %Q0.4 LD OR ST %I0.5 %I0.4 %Q0.4 Un programme d'application est stocké en interne sous la forme d'une liste d'instructions, et ce, que le programme ait été rédigé en langage par schémas à contacts ou par listes. TwidoSoft utilise les similarités de structure de programme existant entre les deux langages, ainsi que l'image liste interne du programme pour l'afficher dans des afficheurs et des éditeurs de listes ou de schémas à contacts, soit sous la forme d'une liste d'instructions (forme élémentaire), soit de manière graphique, sous la forme d'un schéma à contacts, en fonction des préférences sélectionnées par l'utilisateur. TWD USE 10AF 05/2002 169 Langage schéma à contacts Garantie de réversibilité 170 Tout programme créé sous forme de schéma à contacts peut être converti en une liste d'instructions. En revanche, certaines logiques du langage par listes ne peuvent pas être converties en langage par schémas à contacts. Pour garantir une réversibilité totale entre le langage par listes et le langage par schémas à contacts, il est important d'observer les directives présentées à la section Recommandations pour la réversibilité entre le langage schéma à contacts et le langage liste d’instructions, p. 171. TWD USE 10AF 05/2002 Langage schéma à contacts Recommandations pour la réversibilité entre le langage schéma à contacts et le langage liste d’instructions Instructions requises pour la réversibilité La structure d'un bloc fonction réversible dans le langage liste d’instructions requiert l'utilisation des instructions suivantes : l BLK marque le début du bloc et définit le début du réseau, ainsi que celui de la portion d'entrée dans le bloc. l OUT_BLK marque le début de la portion de sortie du bloc. l END_BLK marque la fin du bloc et du réseau. Il n'est pas nécessaire d'utiliser des instructions de blocs fonctions réversibles pour un programme liste d'instructions qui fonctionne correctement. Certaines instructions permettent une programmation liste d'instructions non réversible. Pour obtenir des informations complètes sur la programmation liste d'instructions non réversible de blocs fonctions, reportez-vous à la rubrique Principes de programmation de blocs fonctions élémentaires, p. 224. Instructions sans équivalences à éviter Evitez d’utiliser certaines instructions en langage liste ou certaines associations d'instructions et d'opérandes, pour lesquelles les schémas à contacts ne possèdent pas d'équivalents. Par exemple, l'instruction N (permettant d'inverser la valeur de l'accumulateur booléen) n'a pas d'équivalent dans le langage schémas à contacts. Le tableau suivant répertorie toutes les instructions de programmation liste d'instructions qui ne s'inversent pas dans le langage schéma à contacts : TWD USE 10AF 05/2002 Instruction par liste Opérande Description JMPCN %Li Not saut conditionnel N aucun Négation (Not) ENDCN aucun Not fin conditionnelle 171 Langage schéma à contacts Réseaux inconditionnels La programmation des réseaux inconditionnels requiert également l'application des recommandations de programmation liste d'instructions suivantes pour que la réversibilité liste d’instructions/schéma à contacts puisse s'opérer. Les réseaux inconditionnels ne sont soumis à aucun test ou à condition. Les sorties ou les instructions d'action sont toujours activées ou exécutées. Le diagramme suivant présente des exemples de réseaux inconditionnels, ainsi que la séquence en langage liste d’instructions équivalente. %Q0.4 %MW5 := 0 LD 1 ST %Q0.4 LD 1 [%MW5 := 0] JMP %L6 >>%L6 Vous noterez que chacune des séquences liste d’instructions inconditionnelles cidessus commence par une instruction de chargement suivie d'un 1, excepté pour l'instruction JMP. Cette combinaison règle la valeur de l'accumulateur booléen sur 1, et règle par conséquent la bobine (instruction de stockage) sur 1 et %MW5 sur 0 lors de chaque scrutation du programme. L'exception est l'instruction de saut liste inconditionnel (JMP %L6), qui est exécutée quelle que soit la valeur de l'accumulateur et ne nécessite pas le réglage de l'accumulateur sur un. Réseau schéma à contacts / liste d’instructions 172 Si un programme liste d'instructions qui n'est pas totalement réversible est inversé, les parties réversibles sont affichées dans la visualisation par schémas à contacts et celles qui sont irréversibles sont affichées sur les réseaux schéma à contacts / liste d’instructions. Un réseau schéma à contacts / liste d’instructions fonctionne exactement comme un petit éditeur liste d’instructions. Il permet en effet à l'utilisateur de visualiser et de modifier les parties irréversibles d'un programme schéma à contacts. TWD USE 10AF 05/2002 Langage schéma à contacts Documentation du programme Documentation de votre programme Vous pouvez documenter votre programme en y ajoutant des commentaires à l'aide des éditeurs de listes et de schémas à contacts (pour plus d'informations sur l'utilisation de ces éditeurs de programmes, reportez-vous au guide d'exploitation TwidoSoft) : l Dans l'éditeur de listes, des commentaires de lignes vous permettent de documenter votre programme. Ces commentaires peuvent figurer sur la même ligne que les instructions de programmation, ou sur des lignes individuelles distinctes. l Dans l'éditeur de schémas à contacts, des en-têtes réseau vous permettent de documenter votre programme. Ces en-têtes se situent juste au-dessus du réseau. Le logiciel de programmation TwidoSoft utilise ces commentaires à des fins de réversibilité. Lors de la conversion d'un programme par listes en programme par schémas à contacts, TwidoSoft utilise certains des commentaires liste pour créer un en-tête réseau. Pour ce faire, les commentaires insérés entre les séquences de liste sont utilisés comme en-têtes réseau. Exemple de commentaires de ligne de liste L'exemple suivant illustre un programme par listes possédant des commentaires de lignes. TWD USE 10AF 05/2002 ---- ( * TITRE DE L’EN-TETE DU RESEAU 0 * ) ---- ( * PREMIER COMMENTAIRE DE L’EN-TETE DU RESEAU 0 * ) ---- ( * DEUXIEME COMMENTAIRE DE L’EN-TETE DU RESEAU 0 * ) 0 LD % I0. 0 ( * COMMENTAIRE DE LIGNE *) 1 OR %I0. 1 ( * LIGNE DE COMMENTAIRE IGNOREE LORS DE LA CONVERSION EN SCHEMA À CONTACTS * ) 2 ANDM %M10 3 ST M101 ---- ( * EN-TETE DU RESEAU 1 * ) ---- ( * CE RESEAU CONTIENT UNE ETIQUETTE * ) ---- ( * DEUXIEME COMMENTAIRE DE L'EN-TETE DU RESEAU 1 * ) ---- ( * TROISIEME COMMENTAIRE DE L'EN-TETE DU RESEAU 1 * ) ---- ( * QUATRIEME COMMENTAIRE DE L'EN-TETE DU RESEAU 1 * ) 4 % L5: 5 LD %M101 6 [ %MW20 := %KW2 * 16] ---- ( * CE RESEAU NE CONTIENT QUE LE TITRE D’UN EN-TETE * ) 7 LD %Q0. 5 8 OR %I0. 3 9 ORR I0. 13 10 ST %Q0.5 173 Langage schéma à contacts Conversion de commentaires de liste en en-tête réseau de schéma à contacts Lorsque qu'un programme par listes est converti en programme par schémas à contacts, les commentaires de ligne de liste sont affichés dans l'éditeur de schémas à contacts en fonction des règles suivantes : l Le premier commentaire figurant sur une ligne individuelle est utilisé comme entête réseau. l Les commentaires suivants sont utilisés pour former le corps du réseau. l Lorsque les lignes du corps de l'en-tête sont toutes remplies, les commentaires de ligne compris entre les séquences de liste sont ignorés, tout comme les autres commentaires situés dans des lignes de liste et qui contiennent également des instructions. Exemple de commentaires d'en-têtes réseau L'exemple suivant illustre un programme par schémas à contacts possédant des commentaires d'en-têtes réseau. 174 TWD USE 10AF 05/2002 Langage schéma à contacts Conversion de commentaires de schémas à contacts en commentaires de listes TWD USE 10AF 05/2002 Lorsqu'un schéma à contacts est converti en une liste d'instructions, les commentaires d'en-têtes réseau sont affichés dans l'éditeur de listes en fonction des règles suivantes : l Tous les commentaires d'en-tête réseau sont insérés entre les séquences de liste associées. l Toutes les étiquettes (%Li: ) et les déclarations de sous-programme (SRi:) sont placées sur la ligne suivant l'en-tête et précédant immédiatement la séquence de liste. l Si le programme avait déjà été converti du format liste au format schéma à contacts, tous les commentaires précédemment ignorés seront de nouveau affichés dans l'éditeur de listes. 175 Langage schéma à contacts 176 TWD USE 10AF 05/2002 Langage liste d’instructions 10 En bref... Présentation Cette rubrique décrit la programmation à l'aide du langage liste d'instructions. Contenu de ce chapitre Ce chapitre contient les sujets suivants : TWD USE 10AF 05/2002 Sujet Page Vue d’ensemble des programmes en langage liste d’instructions 178 Fonctionnement des listes d’instructions 180 Instructions en langage liste d’instructions 181 Utilisation de parenthèses 185 Instructions de pile (MPS, MRD, MPP) 188 177 Langage liste d’instructions Vue d’ensemble des programmes en langage liste d’instructions Introduction Un programme écrit en langage liste d'instructions est constitué d'une série d'instructions exécutées en séquence par l'automate. Chaque instruction est représentée par une seule ligne de code et se compose de trois éléments : l Numéro de ligne l Code d'instruction l Opérande(s) Exemple de programme liste d’instructions L'illustration suivante est un exemple de programme liste d'instructions. Numéro de ligne 178 0 1 2 3 4 5 6 7 LD ST LDN ST LDR ST LDF ST %I0.1 %Q0.3 %M0 %Q0.2 %I0.2 %Q0.4 %I0.3 %Q0.5 0 LD %I0.1 Opérande(s) Code d'instruction Numéro de ligne Les numéros de ligne sont générés automatiquement lorsque vous saisissez une instruction. Les lignes vides et les lignes de commentaires n'ont pas de numéro de ligne. TWD USE 10AF 05/2002 Langage liste d’instructions Code d’instruction Le code d'instruction est un symbole désignant un opérateur qui identifie l'opération à effectuer à l'aide des opérandes. Les opérateurs types spécifient les opérations booléennes et numériques. Par exemple, dans l'échantillon de programme présenté ci-dessus, LD est l'abréviation de LOAD en code d'instruction. L'instruction LOAD place (charge) la valeur de l'opérande %I0.1 dans un registre interne nommé accumulateur. Il existe deux types d'instructions de base : l Instructions de test Il s'agit de réglages ou de tests des conditions nécessaires à l'accomplissement d'une action. Par exemple, LOAD (LD) et AND. l Instructions d'action Elles permettent d'effectuer les actions autorisées lorsque les conditions de configuration sont remplies. Par exemple, des instructions d'affectation telles que STORE (ST) et RESET (R). Opérande Un opérande est un nombre, un repère ou un symbole représentant une valeur qu'un programme peut manipuler au sein d'une instruction. Par exemple, dans l'échantillon de programme présenté ci-dessus, l'opérande %I0.1 est un repère auquel on a affecté la valeur d'une entrée de l'automate. Une instruction peut avoir entre zéro et trois opérandes selon le type de code d'instruction. Les opérandes peuvent représenter les éléments suivants : l les entrées/sorties de l'automate, telles que les capteurs, boutons poussoirs et relais ; l les fonctions système prédéfinies, telles que les temporisateurs et les compteurs ; l les opérations arithmétiques, logiques, de comparaisons et numériques ; l les variables internes de l'automate, telles que les bits et les mots. TWD USE 10AF 05/2002 179 Langage liste d’instructions Fonctionnement des listes d’instructions Introduction Les listes d’instructions ne possèdent qu’une seule opérande explicite, l’autre étant implicite. L’opérande implicite correspond à la valeur de l’accumulateur booléen. Par exemple, dans l’instruction LD %I0.1, %I0.1 est l’opérande explicite. Une opérande implicite est stockée dans l’accumulateur et se voit écrasée par la valeur de %I0.1. Fonctionnement Une instruction en langage liste d’instructions exécute une opération spécifiée sur le contenu de l’accumulateur et sur l’opérande explicite, puis remplace le contenu de l’accumulateur par le résultat obtenu. Par exemple, l’opération AND %I1.2 effectue un AND logique entre le contenu de l’accumulateur et celui de l’entrée 1.2 et remplace le contenu de l’accumulateur par ce résultat. L’ensemble des instructions booléennes, à l’exception des instructions de chargement, de stockage et les instructions NOT, fonctionnent avec deux opérandes. La valeur des deux opérandes peut être True ou False et l’exécution des instructions par le programme génère une valeur unique : soit True, soit False. Les instructions de chargement placent la valeur de l’opérande dans l’accumulateur, tandis que les instructions de stockage transfèrent la valeur de l’accumulateur vers l’opérande. L’instruction NOT ne possède aucune opérande explicite et a seulement pour effet d’inverser l’état de l’accumulateur. Instructions en langage liste d’instructions prises en charge Le tableau suivant répertorie les différents types d'instructions en langage liste d’instructions prises en charge : 180 Type d’instruction Exemple Fonction Instruction Bit LD %M10 Lit le bit interne %M10 Intruction sur bloc IN %TM0 Démarre le temporisateur %TM0 Instruction sur mot [%MW10 := %MW50+100] Opération d’addition Instruction sur programme SR5 Appelle le sous-programme n°5 Instruction Grafcet -*-8 Etape n°8 TWD USE 10AF 05/2002 Langage liste d’instructions Instructions en langage liste d’instructions Introduction Le langage liste d’instructions comprend les types d'instructions suivants : l Instructions de test l Instructions d'action l Instructions de blocs fonctions Cette rubrique identifie et décrit les instructions Twido de programmation en langage liste d’instructions. Instructions de test Le tableau suivant décrit les instructions de test du langage liste d’instructions. Nom Elément graphique correspondant LD Le résultat booléen correspond à l'état de l'opérande. LDN Le résultat booléen correspond à l'état inversé de l'opérande. LDR P Le résultat booléen prend la valeur 1 lorsque le passage de l'opérande (front montant) de 0 à 1 est détecté. N Le résultat booléen devient 1 lorsque le passage de l'opérande (front descendant) de 1 à 0 est détecté. LDF AND Le résultat booléen est égal à la logique AND entre le résultat booléen de l'instruction précédente et l'état de l'opérande. ANDN Le résultat booléen est égal à la logique AND entre le résultat booléen de l'instruction précédente et l'état inversé de l'opérande. ANDR P Le résultat booléen est égal à la logique AND entre le résultat booléen de l'instruction précédente et la détection du front montant de l'opérande (1 = front montant). N Le résultat booléen est égal à la logique AND entre le résultat booléen de l'instruction précédente et la détection du front descendant de l'opérande (1 = front descendant). ANDF OR TWD USE 10AF 05/2002 Fonction Le résultat booléen est égal à la logique OR entre le résultat booléen de l'instruction précédente et l'état de l'opérande. 181 Langage liste d’instructions Nom Elément graphique correspondant Fonction AND( Logique AND (8 niveaux de parenthèses) OR( Logique OR (8 niveaux de parenthèses) XOR, XORN, XORR, XORF XOR OR exclusif XORN XORF XORF MPS MRD MPP N 182 Commutation vers les bobines - Négation (NOT) TWD USE 10AF 05/2002 Langage liste d’instructions Instructions d’action Le tableau suivant décrit les instructions d'action du langage liste d’instructions. Nom Elément graphique correspondant Fonction ST L'opérande associée prend la valeur du résultat de la zone de test. STN L'opérande associée prend la valeur inversée du résultat de la zone de test. S S L'opérande associée est réglée sur 1 lorsque le résultat de la zone de test est 1. R L'opérande associée est réglée sur 0 lorsque le résultat de la zone de test est 1. R JMP ->>%Li SRn Se connecte inconditionnellement à une séquence portant une étiquette, en amont ou en aval. Connexion au début d'un sous-programme. ->>%SRi RET Retour d'un sous-programme. <RET> END Fin de programme. <END> ENDC <ENDC> Fin du programme conditionné avec un résultat booléen de 1. <ENDCN> Fin du programme conditionné avec un résultat booléen de 0. ENDCN TWD USE 10AF 05/2002 183 Langage liste d’instructions Instructions de blocs fonctions Le tableau suivant décrit les instructions de blocs fonctions du langage liste d’instructions. Nom Temporisateurs, compteurs, registres, etc. 184 Elément graphique correspondant Fonction Il existe des instructions de régulation de bloc pour chaque bloc fonction. Une forme structurée est utilisée pour raccorder directement les entrées et les sorties du bloc. Remarque : Les sorties des blocs fonctions ne peuvent pas être connectées les unes aux autres (liaisons verticales). TWD USE 10AF 05/2002 Langage liste d’instructions Utilisation de parenthèses Introduction Dans les instructions logiques AND et OR, les parenthèses permettent de spécifier des divergences dans des schémas à contacts. Les parenthèses ouvrante et fermante sont associées à des instructions, de la manière suivante : l L’ouverture des parenthèses est associée à l’instruction AND ou OR. l La fermeture des parenthèses correspond à une instruction requise pour chaque parenthèse ouvrante. Exemple d’utilisation d’une instruction AND Les schémas suivants illustrent l’utilisation des parenthèses dans une instruction AND : AND(...). %I0.0 %I0.1 %Q0.0 %I0.2 %I0.0 %I0.1 %Q0.1 %I0.2 Exemple d’utilisation d’une instruction OR %I0.0 %I0.1 %I0.2 %Q0.0 LD AND( OR ) ST %I0.0 %I0.1 %I0.2 %Q0.1 Les schémas suivants illustrent l’utilisation des parenthèses dans une instruction OR : OR(...). %I0.0 %I0.1 %I0.2 %I0.3 TWD USE 10AF 05/2002 LD AND OR ST %Q0.0 LD AND OR( AND ) ST %I0.0 %I0.1 %I0.2 %I0.3 %Q0.0 185 Langage liste d’instructions Modificateurs Imbrication de parenthèses 186 Le tableau suivant répertorie les modificateurs pouvant être affectés à des parenthèses. Modificateur Fonction Exemple N Négation AND(N ou OR(N F Front descendant AND(F ou OU(F R Front montant AND(R ou OU(R [ Comparaison Reportez-vous à la rubrique Instructions de comparaison, p. 252 Il est possible d’imbriquer un maximum de huit niveaux de parenthèses. Veuillez appliquer les règles suivantes lors de l’imbrication de parenthèses : l Une parenthèse fermante doit être insérée pour chaque parenthèse ouvrante. l Les étiquettes (%Li:), les sous-programmes (SRi:), les instructions de saut (JMP) et les instructions de bloc fonction ne doivent pas être placés dans des expressions comprises entre parenthèses. l Les instructions de stockage ST, STN, S et R ne doivent pas être programmées entre parenthèses. l Les instructions de pile MPS, MRD et MPP ne peuvent pas être utilisées entre parenthèses. TWD USE 10AF 05/2002 Langage liste d’instructions Exemples d’imbrication de parenthèses Les schémas suivants illustrent l’imbrication de parenthèses. %I0.0 %I0.1 %I0.2 %I0.1 %M3 %I0.2 %I0.3 %I0.5 %I0.6 %I0.7 %I0.8 TWD USE 10AF 05/2002 %Q0.0 %I0.4 %Q0.0 LD AND( OR(N AND ) ) ST %I0.0 %I0.1 %I0.2 %M3 LD AND( AND OR( AND ) AND OR( AND ) ) ST %I0.1 %I0.2 %I0.3 %I0.5 %I0.6 %Q0.0 %I0.4 %I0.7 %I0.8 %Q0.0 187 Langage liste d’instructions Instructions de pile (MPS, MRD, MPP) Introduction Les instructions de pile permettent de traiter le routage vers des bobines .Les instructions MPS, MRD et MPP utilisent une zone de stockage temporaire appelée « pile ». Cette pile peut stocker un maximum de huit expressions booléennes. Note : Ces instructions ne peuvent pas être utilisées dans une expression comprise entre parenthèses. Fonctionnement des instructions de pile Exemples d’instructions de pile 188 Le tableau suivant décrit le fonctionnement des trois instructions de pile. Instruction Description Fonction MPS Abréviation de Memory Push onto Stack (Push mémoire sur la pile) Stocke le résultat de la dernière instruction logique (contenu de l’accumulateur) en haut de la pile. Ceci a pour effet de décaler les autres valeurs de la pile vers le bas. MRD Abréviation de Memory Read from stack (Lecture mémoire depuis la pile) Lit la valeur stockée en haut de la pile et la transmet à l’accumulateur. MPP Abréviation de Memory Coupe la valeur située dans le haut de la pile, la Pop from Stack (Extraction transmet à l’accumulateur et déplace les autres mémoire depuis la pile) valeurs de la pile vers le haut. Les schémas suivants illustrent l’utilisation d’instructions de pile. %I0.0 %I0.1 %Q0.0 MPS %I0.2 %Q0.1 MRD %I0.3 %Q0.2 MPP %I0.4 %Q0.3 %M1 LD AND MPS AND ST MRD AND ST MRD AND ST MPP AND ST %I0.0 %M1 %I0.1 %Q0.0 %I0.2 %Q0.1 %I0.3 %Q0.2 %I0.4 %Q0.3 TWD USE 10AF 05/2002 Langage liste d’instructions Exemples du fonctionnement de la pile Les schémas suivants illustrent le fonctionnement des instructions de pile. %I0.0 %I0.1 %I0.3 %Q0.0 %M0 %M1 %I0.4 %M10 TWD USE 10AF 05/2002 %Q0.1 %Q0.2 %Q0.3 LD MPS AND MPS AND( OR ) ST MPP ANDN ST MRD AND ST MPP AND ST %I0.0 %I0.1 %I0.3 %M0 %Q0.0 %M1 %Q0.1 %I0.4 %Q0.2 %M10 %Q0.3 189 Langage liste d’instructions 190 TWD USE 10AF 05/2002 Grafcet 11 En bref... Présentation Cette rubrique décrit la programmation à l'aide du langage Grafcet. Contenu de ce chapitre Ce chapitre contient les sujets suivants : TWD USE 10AF 05/2002 Sujet Page Description des instructions Grafcet 192 Description de la structure d’un programme Grafcet 196 Actions associées aux étapes Grafcet 200 191 Grafcet Description des instructions Grafcet Introduction 192 Les instructions Grafcet de TwidoSoft offrent une méthode simple de traduction de séquences de régulation (graphe Grafcet). Le nombre maximum d'étapes Grafcet dépend du type d'automate Twido. Le nombre d'étapes pouvant être activées simultanément est uniquement limité par le nombre total d'étapes. Pour les automates TWDLCAA10DRF et TWDLCAA16DRF, les étapes 1 à 62 sont disponsibles. Pour tous les autres automates, les étapes 1 à 94 sont disponibles. TWD USE 10AF 05/2002 Grafcet Instructions Grafcet Le tableau suivant répertorie toutes les instructions et les objets requis pour la programmation d’un graphe Grafcet. Représentation graphique (1) Étape initiale Transcription dans le langage TwidoSoft Fonction =*= i Lance l'étape initiale (2). #i Active l'étape i après avoir désactivé l'étape courante. -*- i Lance l'étape i et valide la transition associée (2). # Désactive l'étape courante sans activer d'autre étape. Transition Étape Xi Xi S #Di Désactive l'étape i et l'étape courante. =*= POST Lance le traitement postérieur et termine le traitement séquentiel. %Xi Bit associé à l'étape i. Peut être testé et écrit (le nombre maximum d'étapes dépend de l'automate). LD %Xi, LDN %Xi AND %Xi, ANDN %Xi, OR %Xi, ORN %Xi XOR %Xi, XORN %Xi Teste l'activité de l'étape i. S %Xi Active l'étape i. R %Xi Désactive l'étape i. Xi R (1) Graphical Grafcet n'est pas pris en charge. (2) La première étape =*=i ou -*-i écrite indique le lancement du traitement séquentiel et, par conséquent, la fin du pré-traitement. TWD USE 10AF 05/2002 193 Grafcet Exemples Grafcet Séquence linéaire : 1 =*=1 %I0.1 %I0.1 2 # -*-2 2 %I0.2 %I0.2 3 =*= LD # 1 %I0.1 2 -*LD # 2 %I0.2 3 # 3 Non pris en charge Programme schéma à contacts Twido Programme liste d’instructions Twido Séquence de divergences : -*-4 4 %I0.3 %I0.3 %I0.4 # %I0.4 6 5 %I0.5 5 6 # %I0.6 -*-5 %I0.5 7 -*LD # LD # 4 %I0.3 5 %I0.4 6 -*LD # 5 %I0.5 7 -*LD # 6 %I0.6 7 # 7 -*-6 %I0.6 7 # Non pris en charge 194 Programme schéma à contacts Twido Programme liste d’instructions Twido TWD USE 10AF 05/2002 Grafcet Séquences simultanées : 8 -*-8 %I0.7 %I0.7 9 # 10 10 9 %I0.8 %I0.9 # -*-9 %I0.8 11 11 12 %M0 # - * - 10 %I0.9 8 %I0.7 9 10 -*LD # 9 %I0.8 11 -*LD # 10 %I0.9 12 -*LD AND #D # 11 %M0 %X12 12 13 -*LD AND #D # 12 %M0 %X11 11 13 12 # 13 - * - 11 %M0 -*LD # # %X12 12 #D 13 # - * - 12 %M0 %X11 11 #D 13 # Non pris en charge Programme schéma à contacts Twido Programme liste d’instructions Twido Note : Pour qu'un graphe Grafcet soit opérationnel, au moins une étape active doit être déclarée à l'aide de l'instruction =*=i (étape initiale) ou le graphe doit être prépositionné lors du pré-traitement à l'aide du bit système %S23 et de l'instruction S %Xi. TWD USE 10AF 05/2002 195 Grafcet Description de la structure d’un programme Grafcet Introduction 196 Un programme TwidoSoft Grafcet se déroule en trois phases : l Pré-traitement l Traitement séquentiel l Traitement postérieur TWD USE 10AF 05/2002 Grafcet Pré-traitement Le pré-traitement gère les éléments suivants : l les reprises de l'alimentation ; l les défauts ; l les changements du mode de fonctionnement ; l le pré-positionnement des étapes Grafcet ; l la logique d'entrée. Dans l'exemple de pré-traitement ci-dessous (zone préalable à la première étape Grafcet), l'état 0 de l'entrée %I0.6 vous invite à réinitialiser le graphe Grafcet en réglant le bit système %S22 sur 1. Ceci a pour effet de désactiver les étapes actives. Le front montant de l'entrée %I0.6 prépositionne le graphe sur l'étape X1. Enfin, l'utilisation du bit système %S21 force l'initialisation de Grafcet. %I0.6 %S22 / S %M0 %I0.6 %S21 P S 000 001 002 003 004 LDN S ST LDR S %I0.6 %S22 %M0 %I0.6 %S21 Le pré-traitement commence à la première ligne du programme et se termine à la première occurrence d'une instruction "= * =" ou "- * -". Trois bits système sont dédiés à la régulation Grafcet : %S21, %S22 et %S23. Chaque bit système est réglé sur 1 (si nécessaire) par l'application, lors du prétraitement généralement. La fonction associée est exécutée par le système à la fin du pré-traitement et le bit système est remis à 0 par le système. TWD USE 10AF 05/2002 Bit système Nom Description %S21 Initialisation de Grafcet Toutes les étapes actives sont désactivées et les étapes initiales sont activées. %S22 Réinitialisation de Grafcet Toutes les étapes sont désactivées. %S23 Prépositionne ment de Grafcet Ce bit doit être réglé sur 1 si les objets %Xi sont explicitement écrits par l'application lors du prétraitement. Si ce bit est maintenu sur 1 lors du prétraitement sans changement explicite des objets %Xi, Grafcet est figé (aucune mise à jour n'est prise en compte). 197 Grafcet Traitement séquentiel Le traitement séquentiel est exécuté dans le graphe (instructions représentant le graphe) : l étapes l actions associées aux étapes l transitions l conditions de transition Exemple : =*= 1 %I0.2 %I0.3 %I0.3 2 / # %I0.2 3 / # -*- 2 %I0.4 1 # -*- 3 %I0.5 005 006 007 008 009 010 011 012 013 014 015 016 017 =*= LD ANDN # LD ANDN # -*LD # -*LD # 1 %I0.2 %I0.3 2 %I0.3 %I0.2 3 2 %I0.4 1 3 %I0.5 1 1 # Le traitement séquentiel se termine par l'exécution de l'instruction "= * = POST" ou par la fin du programme. 198 TWD USE 10AF 05/2002 Grafcet Traitement postérieur Le traitement postérieur gère les éléments suivants : l les commandes du traitement séquentiel pour la régulation des sorties ; l le verrouillage de sécurité spécifique aux sorties. Exemple : %X1 %Q0.1 %X2 %Q0.2 %X2 %Q0.3 %M1 %I0.2 %I0.7 018 019 020 021 022 023 024 025 026 027 028 =*= LD ST LD ST LD OR( ANDN AND ) ST POST %X1 %Q0.1 %X2 %Q0.2 %X3 %M1 %I0.2 %I0.7 %Q0.3 / TWD USE 10AF 05/2002 199 Grafcet Actions associées aux étapes Grafcet Introduction Un programme Grafcet TwidoSoft offre deux modes de programmation des actions associées aux étapes : l dans la section de traitement postérieur ; l dans les listes d’instructions ou les réseaux schéma à contacts des étapes mêmes. Association des actions dans le traitement postérieur Si des contraintes de sécurité ou de mode d'exécution sont appliquées, il est préférable de programmer les actions dans la section de traitement postérieur d'une application Grafcet. Vous pouvez utiliser les instructions en langage liste d’instructions SET et RESET ou activer les bobines d'un programme schéma à contacts pour lancer les étapes Grafcet (%Xi). Exemple : Association d'actions à partir d'une application %X1 %Q0.1 %X2 %Q0.2 %X2 %Q0.3 018 019 020 021 022 023 024 =*= LD ST LD ST LD ST POST %X1 %Q0.1 %X2 %Q0.2 %X3 %Q0.3 Vous pouvez programmer les actions associées aux étapes sous forme de listes d'instructions ou de réseaux schéma à contacts. Dans ce cas, la liste d’instructions ou le réseau schéma à contacts n'est pas scruté(e), à moins que l'étape ne soit active. Ce mode d'utilisation du langage Grafcet est le plus efficace, le plus lisible et le plus facile à gérer. Exemple : -*- 3 %Q0.5 S 4 # -*- 4 %Q0.5 020 021 022 023 024 025 026 027 028 029 -*LD S LD # -*LD R ... ... 3 1 %Q0.5 %M10 4 4 1 %Q0.5 R 200 TWD USE 10AF 05/2002 Description des instructions et des fonctions IV En bref... Présentation Cette rubrique fournit des descriptions détaillées des instructions élémentaires et avancées, ainsi que des bits et des mots système des langages Twido. Contenu de cet intercalaire Cet intercalaire contient les chapitres suivants : TWD USE 10AF 05/2002 Chapitre Titre du chapitre Page 12 Instructions élémentaires 203 13 Instructions avancées 271 14 Bits système et mots système 331 201 Description des instructions et des fonctions 202 TWD USE 10AF 05/2002 Instructions élémentaires 12 En bref... Présentation Cette rubrique fournit des détails sur les instructions et les blocs fonctions utilisés pour créer des programmes de régulation élémentaires des automates Twido. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : TWD USE 10AF 05/2002 Souschapitre Sujet Page 12.1 Traitement booléen 204 12.2 Blocs fonctions élémentaires 221 12.3 Traitement numérique 246 12.4 Instructions sur programme 264 203 Instructions élémentaires 12.1 Traitement booléen Introduction au traitement booléen Présentation Cette rubrique offre une introduction au traitement booléen. Elle s'appuie sur des descriptions et des directives de programmation d'instructions booléennes. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : 204 Sujet Page Instructions booléennes 205 Explication du format de description des instructions booléennes 208 Instructions de chargement (LD, LDN, LDR, LDF) 210 Instructions de stockage (ST, STN, R, S) 212 Instructions AND logique (AND, ANDN, ANDR, ANDF) 214 Instructions OR logique (OR, ORN, ORR, ORF) 216 Instructions OR exclusif (XOR, XORN, XORR, XORF) 218 Instruction NOT (N) 220 TWD USE 10AF 05/2002 Instructions élémentaires Instructions booléennes Introduction Les instructions booléennes s’apparentent aux éléments graphiques du langage schéma à contacts. Ces instructions sont présentées dans le tableau suivant. Elément Instruction Exemple Description Eléments de test L’instruction de chargement (LD) équivaut à un contact ouvert. LD %I0.0 Le contact est fermé lorsque le bit de régulation se trouve à l'état 1. Eléments d’action L’instruction de stockage (ST) équivaut à une bobine. ST %Q0.0 L'objet bit associé prend la valeur logique de l’accumulateur de bit (résultat de la logique précédente). Le résultat booléen des éléments de test est appliqué aux éléments d’action, comme l’illustrent les instructions suivantes. LD %I0.0 AND %I0.1 ST %Q0.0 Test des entrées de l’automate Des instructions de test booléennes peuvent être utilisées pour détecter des fronts montants ou descendants sur les entrées de l’automate. Un front est détecté lorsque l’état d’une entrée est passé de la valeur « scan n-1 » à la valeur « scan n » courante. La détection de ce front reste effective pendant la scrutation courante. Détection d’un front montant L’instruction LDR (Load Rising Edge - chargement du front montant) équivaut à un contact de détection d’un front montant. Le front montant détecte le passage des valeurs des entrées de régulation de 0 à 1. Un contact de détection de transition positive est utilisé pour détecter un front montant, comme l’illustre le schéma suivant. %I0.0 LDR %I0.0 TWD USE 10AF 05/2002 P P : contact de détection de transition positive 205 Instructions élémentaires Détection d’un front descendant L’instruction LDF (Load Falling Edge - chargement du front descendant) équivaut à un contact de détection d’un front descendant. Le front descendant détecte le passage de la valeur de l’entrée de régulation de 1 à 0. Un contact de détection de transition négative est utilisé pour détecter un front descendant, comme l’illustre le schéma suivant. %I0.0 LDF %I0.0 Temporisation de détection d’un front N N : contact de détection de transition négative Le tableau suivant résume les instructions, ainsi que la temporisation des instructions booléennes utilisées pour détecter les fronts montants et descendants. Front Instruction de test Front montant LDR %I0.0 Schéma à contacts Temporisation Front montant %I0.0 P %I0.2 temps Résultat booléen 1 scrutation de l’automate temps Front descendant LDF %I0.0 Front descendant %I0.0 N %I0.2 Résultat booléen temps 1 scrutation de l'automate temps 206 TWD USE 10AF 05/2002 Instructions élémentaires Utilisation de bits internes pour la détection d’un front Les instructions placées sur un front montant ou descendant s’appliquent aux entrées %I. Il est cependant possible de détecter des fronts sur tout autre bit (ou sur tout autre résultat booléen), à l’aide de deux bits internes. Dans l’exemple suivant, le bit %M11 enregistre le front montant du bit %M0. %M0 %M0 %M10 %M11 %M10 LD ANDN ST LDN ST %M0 %M10 %M11 %M0 %M10 Note : Lors d’un démarrage à froid ou d’une reprise à chaud, l’application détecte un front montant même si la valeur de l’entrée est restée sur 1. Ceci peut être masqué en démarrant le programme sur des instructions LD %S1 et ENDC. Note : Seuls les bits d’entrée (%Ii) permettent de détecter directement des fronts montants ou descendants. TWD USE 10AF 05/2002 207 Instructions élémentaires Explication du format de description des instructions booléennes Introduction Chaque instruction booléenne de cette rubrique est décrite à l'aide des informations suivantes : l Description rapide l Exemple représentant l'instruction et schéma à contacts correspondant l Liste d'opérandes autorisées l Chronogramme Les explications ci-dessous présentent plus en détails le mode de description des instructions booléennes dans cette rubrique. Exemples L'illustration suivante présente le mode d'affichage des exemples pour chaque instruction. %I0.1 %Q0.3 %M0 %Q0.2 %I0.1 %Q0.4 P %I0.3 %Q0.5 N Équivalents dans le langage schéma à contacts Opérandes autorisées 208 LD ST LDN ST LDR ST LDF ST %I0.1 %Q0.3 %M0 %Q0.2 %I0.1 %Q0.4 %I0.3 %Q0.5 Instructions en langage liste d’instructions Le tableau suivant définit les types d'opérandes autorisées utilisées dans les instructions booléennes. Opérande Description 0/1 Valeur immédiate de 0 ou 1 %I Entrée automate %Ii.j %Q Sortie automate %Qi.j %M Bit interne %Mi %S Bit système %Si %X Bit d'étape %Xi %BLK.x Bit de bloc fonction (%TMi.Q, par exemple) %•:Xk Bit de mot (%MWi:Xk, par exemple) [ Expression de comparaison ([%MWi<1000], par exemple) TWD USE 10AF 05/2002 Instructions élémentaires Chronogrammes L'illustration suivante présente le mode d'affichage des chronogrammes pour chaque instruction. LD Input state %I0.1 Output state %Q0.3 Timing diagram for the LD instruction TWD USE 10AF 05/2002 LD LDN LDR LDF %I0.1 %M0 %I0.2 %I0.3 %Q0.3 %Q0.2 %Q0.4 %Q0.5 Timing diagrams for the four types of Load instructions are grouped together. 209 Instructions élémentaires Instructions de chargement (LD, LDN, LDR, LDF) Introduction Les instructions de chargement LD, LDN, LDR et LDF correspondent respectivement aux contacts Ouvert, Fermé, Front montant et Front descendant (les instructions LDR et LDF ne sont utilisées qu'avec des entrées de l'automate). Exemples Les schémas suivants sont des exemples d'instructions de chargement. %I0.1 %Q0.3 %M0 %Q0.2 %I0.2 %Q0.4 LD ST LDN ST LDR ST LDF ST P %Q0.5 %I0.3 N Opérandes autorisés %I0.1 %Q0.3 %M0 %Q0.2 %I0.2 %Q0.4 %I0.3 %Q0.5 Le tableau suivant répertorie les types d'instructions de chargement, leurs équivalents dans le langage schéma à contacts, ainsi que les opérandes autorisés. Instruction par liste Symbole équivalent dans un schéma à contacts Opérandes autorisés LD 0/1,%I,%Q,%M,%S,%X,%BLK.x,%•:Xk,[ LDN %I,%Q,%M,%S,%X,%BLK.x,%•:Xk,[ LDR %I P LDF %I N 210 TWD USE 10AF 05/2002 Instructions élémentaires Chronogramme TWD USE 10AF 05/2002 Le diagramme suivant illustre la temporisation des instructions de chargement. LD LDN LDR LDF %I0.1 %M0 %I0.2 %I0.3 %Q0.3 %Q0.2 %Q0.4 %Q0.5 211 Instructions élémentaires Instructions de stockage (ST, STN, R, S) Introduction Les instructions de stockage ST, STN, S et R correspondent respectivement aux bobines Directe, Inverse, SET et RESET. Exemples Les schémas suivants sont des exemples d'instructions de stockage. %I0.1 %Q0.3 LD ST %I0.1 %Q0.3 STN S %Q0.2 %Q0.4 LD R %I0.2 %Q0.4 %Q0.2 / %Q0.4 S %Q0.4 %I0.2 R Opérandes autorisés Le tableau suivant répertorie les types d'instructions de stockage, leurs équivalents dans le langage schéma à contacts, ainsi que les opérandes autorisés. Instruction par liste Symbole équivalent dans un schéma à contacts Opérandes autorisés ST %Q,%M,%S,%BLK.x,%•:Xk STN %Q,%M,%S,%BLK.x,%•:Xk S %Q,%M,%S,%X,%BLK.x,%•:Xk S R %Q,%M,%S,%X,%BLK.x,%•:Xk R 212 TWD USE 10AF 05/2002 Instructions élémentaires Chronogramme TWD USE 10AF 05/2002 Le diagramme suivant illustre la temporisation des instructions de stockage. ST STN S R %I0.1 %I0.1 %I0.1 %I0.2 %Q0.3 %Q0.2 %Q0.4 %Q0.4 213 Instructions élémentaires Instructions AND logique (AND, ANDN, ANDR, ANDF) Introduction Les instructions AND effectuent une opération de liaison AND logique entre l'opérande (ou son inverse, ou son front montant ou descendant) et le résultat booléen de l'instruction précédente. Exemples Les schémas suivants sont des exemples d'instructions AND. %I0.1 %M1 %Q0.3 %M2 %I0.2 %Q0.2 %I0.3 %I0.4 %Q0.4 P S %I0.5 %Q0.5 N S %M3 Opérandes autorisés LD AND ST LD ANDN ST LD ANDR S LD ANDF S %I0.1 %M1 %Q0.3 %M2 %I0.2 %Q0.2 %I0.3 %I0.4 %Q0.4 %M3 %I0.5 %Q0.5 Le tableau suivant répertorie les types d'instructions AND, leurs équivalents dans le langage schéma à contacts, ainsi que les opérandes autorisés. Instruction par liste Symbole équivalent dans un schéma à contacts Opérandes autorisés AND 0/1,%I,%Q,%M,%S,%X,%BLK.x,%•:Xk, [ ANDN %I,%Q,%M,%S,%X,%BLK.x,%•:Xk, [ ANDR %I P ANDF %I N 214 TWD USE 10AF 05/2002 Instructions élémentaires Chronogramme TWD USE 10AF 05/2002 Le diagramme suivant illustre la temporisation des instructions AND. AND ANDN ANDR ANDF %I0.1 %M2 %I0.3 %M3 %M1 %I0.2 %I0.4 %I0.5 %Q0.3 %Q0.2 %Q0.4 %Q0.5 215 Instructions élémentaires Instructions OR logique (OR, ORN, ORR, ORF) Introduction Les instructions OR effectuent une opération de liaison OR logique entre l'opérande (ou son inverse, ou son front montant ou descendant) et le résultat booléen de l'instruction précédente. Exemples Les schémas suivants sont des exemples d'instructions OR. %I0.1 %Q0.3 %M1 %M2 %I0.4 P %I0.6 N 216 LD ORN ST %M2 %I0.2 %Q0.2 LD ORR S %M3 %I0.4 %Q0.4 LDF ORF S %I0.5 %I0.6 %Q0.5 %Q0.4 S %I0.5 N %I0.1 %M1 %Q0.3 %Q0.2 %I0.2 %M3 LD OR ST %Q0.5 S TWD USE 10AF 05/2002 Instructions élémentaires Opérandes autorisés Le tableau suivant répertorie les types d'instructions OR, leurs équivalents dans le langage schéma à contacts, ainsi que les opérandes autorisés. Instruction par liste Symbole équivalent dans un schéma à contacts Opérandes autorisés OR 0/1,%I,%Q,%M,%S,%X,%BLK.x,%•:Xk ORN %I,%Q,%M,%S,%X,%BLK.x,%•:Xk ORR %I P ORF %I N Chronogramme TWD USE 10AF 05/2002 Le diagramme suivant illustre la temporisation des instructions OR. OR ORN ORR ORF %I0.1 %M2 %M3 %I0.5 %M1 %I0.2 %I0.4 %I0.6 %Q0.3 %Q0.2 %Q0.4 %Q0.5 217 Instructions élémentaires Instructions OR exclusif (XOR, XORN, XORR, XORF) Introduction Les instructions XOR effectuent une opération de liaison OR exclusif entre l’opérande (ou son inverse, ou son front montant ou descendant) et le résultat booléen de l’instruction précédente. Exemples Les exemples suivants illustrent l’utilisation d’instructions XOR. %M1 %I0.1 %Q0.3 LD XOR ST %Q0.3 LD ANDN OR( ANDN ) ST XOR Opérandes autorisées 218 %I0.1 %M1 %M1 %I0.1 %I0.1 %M1 %Q0.3 %I0.1 %M1 %M1 %I0.1 %Q0.3 Le tableau suivant répertorie les types d’instructions XOR, ainsi que les opérandes autorisées. Liste d’instructions Opérandes autorisées XOR %I,%Q,%M,%S,%X,%BLK.x,%•:Xk XORN %I,%Q,%M,%S,%X,%BLK.x,%•:Xk XORR %I XORF %I TWD USE 10AF 05/2002 Instructions élémentaires Chronogramme Le diagramme suivant illustre la temporisation des instructions XOR. XOR %I0.1 %M1 %Q0.3 Cas spéciaux Veuillez observer les précautions suivantes lors de l’utilisation d’instructions XOR dans des programmes en langage schéma à contacts : l Ne commencez jamais un réseau par un contact XOR. l N’insérez jamais de contacts XOR parallèlement à d’autres éléments du schéma à contacts (reportez-vous à l’exemple suivant.) Comme l’illustre l’exemple suivant, l’insertion d’un élément parallèle à un contact XOR générera une erreur de validation. %M13 %I1.5 %Q1.10 XOR %M10 TWD USE 10AF 05/2002 219 Instructions élémentaires Instruction NOT (N) Introduction L’instruction NOT (N) inverse le résultat booléen de l’instruction précédente. Exemple L’exemple suivant illustre l’utilisation de l’instruction NOT. LD OR ST N AND ST %I0.1 %M2 %Q0.2 %M3 %Q0.3 Note : L’instruction NOT n’est pas réversible. Opérandes autorisées Sans objet. Chronogramme Le diagramme suivant illustre la temporisation de l’instruction NOT. NOT %I0.1 %M2 %Q0.2 %M3 %Q0.3 220 TWD USE 10AF 05/2002 Instructions élémentaires 12.2 Blocs fonctions élémentaires En bref... Présentation Cette rubrique présente des descriptions et des conseils de programmation relatifs aux blocs fonctions élémentaires. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : TWD USE 10AF 05/2002 Sujet Page Blocs fonctions élémentaires 222 Principes de programmation de blocs fonctions élémentaires 224 Bloc fonction temporisateur (%TMi) 226 Type de temporisateur TOF 228 Type de temporisateur TON 229 Type de temporisateur TP 230 Programmation et configuration de temporisateurs 231 Bloc fonction compteur/décompteur (%Ci) 234 Programmation et configuration des compteurs 238 Bloc fonction registre bits à décalage (%SBRi) 239 Bloc fonction pas à pas (%SCi) 242 221 Instructions élémentaires Blocs fonctions élémentaires Introduction Les blocs fonctions sont les sources des objets bits et des mots spécifiques utilisés par les programmes. Les blocs fonctions élémentaires comportent des fonctions simples telles que des temporisateurs ou des compteurs/décompteurs. Exemple de bloc fonction L’illustration suivante présente un exemple de bloc fonction compteur/décompteur. %Ci R S CU CD E ADJ Y %Ci.P 9999 D F Bloc compteur/décompteur Objets bits Les objets bits correspondent aux sorties blocs. Les instructions booléennes de test peuvent accéder à ces bits selon l'une ou l'autre de ces méthodes : l directement (LD E, par exemple) s'ils sont liés au bloc par une programmation réversible (voir rubrique Principes de programmation de blocs fonctions élémentaires, p. 224). l en spécifiant le type de bloc (LD %Ci.E, par exemple). Les instructions peuvent accéder aux entrées. Objets mots Les objets mots correspondent aux paramètres et valeurs spécifiés suivants : l Paramètres de configuration du bloc : Le programme peut accéder à certains paramètres (paramètres de pré-sélection, par exemple), mais pas à d'autres (base temps, par exemple). l Valeurs courantes : %Ci.V, la valeur de comptage courante, par exemple. 222 TWD USE 10AF 05/2002 Instructions élémentaires Objets bits et objets mots accessibles Le tableau suivant décrit les objets bits et les objets mots de blocs fonctions auxquels le programme a accès. Bloc fonction élémentaire Symbole Plage (i) Types d'objets Description Temporisateur %TMi Valeur courante %TMi.V non Valeur de présélection %TMi.P oui Bit Sortie du temporisateur %TMi.Q non Mot Valeur courante %Ci.V non Valeur de présélection oui Compteur/ Décompteur %Ci 0 - 127 0 - 31 Mot Bit TWD USE 10AF 05/2002 Adresse %Ci.P Accès en mode écriture %Ci.E Sortie pour dépassement par valeur inférieure (vide) non Sortie prédéfinie atteinte %Ci.D non Sortie pour débordement (plein) %Ci.F non 223 Instructions élémentaires Principes de programmation de blocs fonctions élémentaires Introduction Pour programmer des blocs de fonction élémentaires, appliquez l’une des méthodes suivantes : l Utilisez des instructions de blocs fonctions (par exemple, BLK %TM2) : Cette méthode de programmation en langage schéma à contacts permet l’exécution d’opérations sur le bloc, à un emplacement unique du programme. l Utilisez des instructions spécifiques (par exemple, CU %Ci) : Cette méthode non réversible permet l’exécution d’opérations sur les entrées du bloc, à plusieurs emplacements du programme (par exemple, line 100 CU %C1, line 174 CD %C1, line 209 LD %C1.D). Programmation réversible Utilisez les instructions BLK, OUT_BLK et END_BLK pour une programmation réversible : l BLK: Indique le début du bloc. l OUT_BLK: Utilisé pour lier directement les sorties du bloc. l END_BLK: Indique la fin du bloc. Exemple de sorties liées Vous trouverez ci-dessous un exemple de programmation réversible d’un bloc fonction compteur avec des sorties liées. %I1.1 N R %C8 E %M1 %Q0.4 S %I1.2 %M0 ADJ Y D CU %Ci.P 9999 CD 224 F BLK %C8 LDF %I1.1 R LD %I1.2 AND %M0 CU OUT_BLK LD D AND %M1 ST %Q0.4 END_BLK Traitement en entrée Traitement en sortie TWD USE 10AF 05/2002 Instructions élémentaires Exemple sans sortie liée Vous trouverez ci-dessous un exemple de programmation réversible d’un bloc fonction compteur dépourvu de sortie liée. %I1.1 N R %C8 E S %I1.2 %M0 CU CD %C8.D %M1 ADJ Y D %Ci.P 9999 F %Q0.4 BLK %C8 LDF %I1.1 R LD %I1.2 AND %M0 CU END_BLK LD %C8.D AND %M1 ST %Q0.4 Input Processing Output Processing Note : Seules les instructions de test et d’entrée sur le bloc correspondant peuvent être placées entre les instructions BLK et OUT_BLK (ou entre BLK et END_BLK lorsque OUT_BLK n’est pas programmé). TWD USE 10AF 05/2002 225 Instructions élémentaires Bloc fonction temporisateur (%TMi) Introduction Il existe trois types de blocs fonctions temporisateur : l TON (Timer On-Delay, temporisateur de délai à l’activation) : ce type de temporisateur permet de réguler les actions de délai à l’activation. l TON (Timer Off-Delay, temporisateur de délai à la désactivation) : ce type de temporisateur permet de réguler les actions de délai à la désactivation. l TP (Timer – Pulse, Temporisateur – Pulsation) : ce type de temporisateur permet de générer des pulsations d’une durée précise. TwidoSoft permet de programmer et de modifier les délais de ces temporisateurs et/ ou les durées des pulsations qu’ils génèrent. Illustration L’exemple suivant illustre l’utilisation du bloc fonction temporisateur. %TMi Q IN TYPE TON TB 1min ADJ Y %TMi.P 9999 Bloc fonction temporisateur 226 TWD USE 10AF 05/2002 Instructions élémentaires Paramètres Le bloc fonction temporisateur possède les paramètres suivants : Paramètre Etiquette Valeur Numéro du temporisateur %TMi Automates compacts 0 à 63 Automates modulaires 0 à 127 Type TON • délai à l’activation (par défaut) TOF • délai à la désactivation TP • pulsation (monostable) Base temps TB 1 min (par défaut), 1 s, 100 ms, 10 ms, 1 ms (pour TM0 et TM1). Valeur courante %TMi.V Mot avec incrémentation allant de 0 à %TMi.P lorsque le temporisateur est en cours d’exécution. Peut être lu et testé, mais pas écrit par le programme. %TMi.V peut être modifié par l’éditeur de données. Valeur de présélection %TMi.P de 0 à 9999. Mot pouvant être lu, testé et écrit par le programme. La valeur par défaut est de 9999. La période ou le délai généré est égal à (%TMi.P x TB). Editeur de données Y/N Y : Oui, la valeur %TMi.P de présélection peut être modifiée à l’aide de l’éditeur de données. N : Non, la valeur %TMi.P de présélection ne peut pas être modifiée. Définition de l’entrée (ou de l’instruction) IN Démarre le temporisateur sur le front montant (types TON ou TP) ou descendant (type TOF). Sortie du temporisateur Q Le bit associé %TMi.Q est réglé sur 1 en fonction de la fonction exécutée : TON, TOF ou TP.1. Note : Plus la valeur de présélection est grande, plus le temporisateur sera précis. TWD USE 10AF 05/2002 227 Instructions élémentaires Type de temporisateur TOF Introduction Le type de temporisateur TOF (Timer Off-Delay, temporisateur de délai à la désactivation) permet de réguler les actions de délai à la désactivation. TwidoSoft permet de programmer ce délai. Chronogramme Le chronogramme suivant illustre le fonctionnement du type de temporisateur TOF. (1) (1) (3) IN (2) (5) Q %TMi.P (4) %TMi.V Fonctionnement Le tableau suivant décrit le fonctionnement du type de temporisateur TOF. Phase 228 Description 1 La valeur courante %TMi.V est réglée sur 0 sur un front montant en entrée IN, et ce, même si le temporisateur est en cours d’exécution. 2 Le bit de sortie %TMi.Q est réglé sur 1 lorsqu’un front montant est détecté en entrée IN. 3 Le temporisateur démarre sur le front descendant de l’entrée IN. 4 La valeur courante %TMi.V augmente jusqu’à %TMi.P, par incréments d’une unité à chaque pulsation de la base temps TB. 5 Le bit de sortie %TMi.Q est remis à 0 lorsque la valeur courante atteint %TMi.P. TWD USE 10AF 05/2002 Instructions élémentaires Type de temporisateur TON Introduction Le type de temporisateur TON (Timer On-Delay, temporisateur de délai à l’activation) permet de réguler les actions de délai à l’activation. TwidoSoft permet de programmer ce délai. Chronogramme Le chronogramme suivant illustre le fonctionnement du type de temporisateur TON. (1) IN (5) (3) Q (4) %TMi.P (2) %TMi.V Fonctionnement Le tableau suivant décrit le fonctionnement du type de temporisateur TON. Phase TWD USE 10AF 05/2002 Description 1 Le temporisateur démarre sur le front montant de l’entrée IN. 2 La valeur courante %TMi.V augmente de 0 à %TMi.P, par incréments d’une unité à chaque pulsation de la base temps TB. 3 Le bit de sortie %TMi.Q est réglé sur 1 lorsque la valeur courante a atteint %TMi.P. 4 Le bit de sortie %TMi.Q conserve la valeur 1 tant que la valeur de l’entrée IN est de 1. 5 Lorsqu’un front descendant est détecté en entrée IN, le temporisateur s’arrête, et ce, même s’il n’a pas atteint %TMi.P et que %TMi.V est réglé sur 0. 229 Instructions élémentaires Type de temporisateur TP Introduction Le type de temporisateur TP (Timer – Pulse, Temporisateur – Pulsation) permet de générer des pulsations d’une durée spécifique. TwidoSoft permet de programmer ce délai. Chronogramme Le chronogramme suivant illustre le fonctionnement du type de temporisateur TP. (1) IN (2) (6) (4) Q %TMi.P (3) (5) %TMi.V Fonctionnement Le tableau suivant décrit le fonctionnement du type de temporisateur TP. Phase 230 Description 1 Le temporisateur démarre sur le front montant de l’entrée IN. La valeur courante %TMi.V est réglée sur 0 si le temporisateur n’a pas encore démarré. 2 Le bit de sortie %TMi.Q est réglé sur 1 lorsque le temporisateur démarre. 3 La valeur courante %TMi.V du temporisateur augmente de 0 à %TMi.P, par incréments d’une unité à chaque pulsation de la base temps TB. 4 Le bit de sortie %TMi.Q est réglé sur 0 lorsque la valeur courante atteint %TMi.P. 5 La valeur courante %TMi.V est réglée sur 0 lorsque %TMi.V égale %TMi.P et que l’entrée IN retrouve la valeur 0. 6 Le temporisateur ne peut pas être remis à zéro. Lorsque %TMi.V égale %TMi.P et que l’entrée IN est réglée sur 0, %TMi.V est réglé sur 0. TWD USE 10AF 05/2002 Instructions élémentaires Programmation et configuration de temporisateurs Introduction Tous les blocs fonctions temporisateur (%TMi) sont programmés de la même façon, indépendamment de leur mode d'utilisation. La fonction temporisateur (TON, TOF ou TP) est sélectionnée au moment de la configuration. Exemples L'illustration suivante représente un bloc fonction temporisateur et affiche des exemples de programmation réversible et non réversible. %I0.1 %Q0.3 %TMi IN Q TYPE TON TB 1min ADJ Y %TMi.P 9999 Programmation réversible BLK %TM1 LD %I0.1 IN OUT_BLK LD Q ST %Q0.3 END_BLK Configuration TWD USE 10AF 05/2002 Programmation non réversible LD IN LD ST %I0.1 %TM1 %TM1.Q %Q0.3 Les paramètres suivants doivent être saisis au moment de la configuration : l Type temporisateur : TON, TOF ou TP l Base temps (TB) : 1 min, 1 s, 100 ms, 10 ms ou 1 ms l Valeur de présélection (%TMi.P) : de 0 à 9999 l Réglage : Yes ou No (Y ou N) 231 Instructions élémentaires Cas spéciaux Le tableau suivant présente une liste des cas spéciaux de programmation et de configuration des temporisateurs. Cas spécial Description Effet d'un redémarrage à froid (%S0=1) Impose 0 à la valeur courante. Règle la sortie %TMi.Q sur 0. La valeur de présélection reprend la valeur réglée au moment de la configuration. Effet d'un redémarrage à chaud (%S1=1) Un redémarrage à chaud n'a aucun effet sur la valeur courante et la valeur de présélection du temporisateur. La valeur courante n'est pas modifiée lors d'une coupure secteur. Effet d'un arrêt de l'automate L'arrêt de l'automate ne provoque pas le gel de la valeur courante. Effet d'un saut de programme Le saut d'un bloc temporisateur ne provoque pas le gel du temporisateur. L'incrémentation du temporisateur se poursuit jusqu'à ce que la valeur de présélection (%TMi.P) soit atteinte. A ce stade, l'état du bit Terminé (%TMi.Q) affecté à la sortie Q du bloc temporisateur est modifié. Cependant, la sortie associée liée directement à la sortie bloc n'est ni activée, ni scrutée par l'automate. Test par bit %TMi.Q (bit terminé) Nous conseillons de ne tester le bit %TMi.Q qu'une seule fois dans le programme. Effet de la modification de la La modification de la valeur de présélection à l'aide d'une valeur de présélection de %TMi.P instruction ou d'un réglage ne prend effet qu'à la prochaine activation du temporisateur. Temporisateurs avec base temps de 1 ms 232 La base temps de 1 ms n'est disponible que sur les temporisateurs %TM0 et %TM1. Les quatre mots système %SW76, %SW77, %SW78 et SW79 peuvent être utilisés comme des "sabliers". Les valeurs de ces quatre mots sont diminuées d'une unité par le système, toutes les millisecondes, si ces mots ont une valeur positive. Il est possible de créer une temporisation multiple en chargeant successivement un de ces mots ou en testant les valeurs intermédiaires. Les valeurs négatives de ces quatre mots ne seront pas modifiées. Un temporisateur peut être "gelé" en réglant le bit 15 sur la valeur 1, puis "dégelé" en remettant à zéro cette valeur. TWD USE 10AF 05/2002 Instructions élémentaires Exemple de programmation L’exemple suivant illustre la programmation d’un bloc fonction temporisateur. LDR %I0.1 %I0.1) [%SW76:=XXXX] LD %I0.2 ST %SW76:X15 LD [%SW76=0] ST %M0 .............. (Lancement du temporisateur sur le front montant de (XXXX = valeur requise) (gestion optionnelle du gel, gel de l'entrée I0.2) (réinitialisation du temporisateur de fin) %I0.1 P %SW76:=XXXX %I0.2 %SW76:X15 %M0 %SW76=0 TWD USE 10AF 05/2002 233 Instructions élémentaires Bloc fonction compteur/décompteur (%Ci) Introduction Le bloc fonction compteur (%Ci) permet de compter ou de décompter des événements. Ces deux opérations peuvent être réalisées simultanément. Illustration L’illustration suivante présente un exemple de bloc fonction compteur/décompteur. R S CU CD %Ci E D ADJ Y %TMi.P 9999 F Bloc fonction compteur/décompteur 234 TWD USE 10AF 05/2002 Instructions élémentaires Paramètres TWD USE 10AF 05/2002 Le bloc fonction compteur possède les paramètres suivants : Paramètre Etiquette Valeur Numéro du compteur %Ci 0 à 31 Valeur courante %Ci.V La valeur du mot est augmentée ou diminuée d’une unité en fonction des entrées (ou des instructions) CU et CD. Peut être lue et testée, mais pas écrite par le programme. Utilisez l’éditeur de données pour modifier %Ci.V. Valeur de présélection %Ci.P 0 - %Ci.P-9999. Le mot peut être lu, testé et écrit (valeur par défaut : 9999). Edition à l’aide de l’éditeur de données Y/N l l Y : Oui, la valeur de présélection peut être modifiée à l’aide de l’éditeur de données. N : Non, la valeur de présélection ne peut pas être modifiée à l’aide de l’éditeur de données. Entrée (ou instruction) R de présélection A l’état 1 : %Ci.V = 0. Entrée (ou instruction) S réglée A l’état 1 : %Ci.V = %Ci.P. Entrée (ou instruction) CU de compte croissant Augmente la valeur de %Ci.V d’une unité sur un front montant. Entrée (ou instruction) CD de décompte (compte décroissant) Diminue la valeur de %Ci.V d’une unité sur un front montant. Sortie pour dépassement par valeur inférieure E (vide) Le bit associé %Ci.E est égal à 1, lorsque la valeur du décompteur %Ci.V passe de 0 à 9999 (réglé sur 1 lorsque %Ci.V atteint 9999 et remis à zéro si le décomptage se poursuit). Sortie prédéfinie atteinte D (Terminé) Le bit associé %Ci.D est égal à 1, lorsque %Ci.V est égal à %Ci.P. Sortie pour débordement F (plein) Le bit associé %Ci.F est égal à 1, lorsque la valeur de %Ci.V passe de 9999 à 0 (réglé sur 1 lorsque %Ci.V atteint 0 et remis à zéro si le comptage croissant se poursuit). 235 Instructions élémentaires Fonctionnement Le tableau suivant décrit les étapes principales des opérations de comptage et de décomptage. Fonctionnement Action Résultat Compte croissant Un bord montant apparaît sur le La valeur courante de %Ci.V est CU d’entrée de compte croissant augmentée d’une unité. (ou l’instruction CU est activée). Décompte (compte décroissant) 236 La valeur courante de %Ci.V est égale à la valeur de présélection de %Ci.P. L’état du bit de sortie « préselection atteinte » %Ci.D affecté à la sortie D devient 1. La valeur courante de %Ci.V passe de 9999 à 0. L’état du bit de sortie %Ci.F (dépassement de compte croissant) devient 1. Si le comptage se poursuit. L’état du bit de sortie %Ci.F (dépassement de compte croissant) est remis à zéro. Un bord montant apparaît sur le CD d’entrée de décompte (ou l’instruction CD est activée). La valeur courante de %Ci.V est diminuée d’une unité. La valeur courante de %Ci.V passe de 0 à 9999. L’état du bit de sortie %Ci.E (dépassement par valeur inférieure) devient 1. Si le décomptage se poursuit. L’état du bit de sortie %Ci.F (dépassement par valeur inférieure) est remis à zéro. Compteur/ Décompteur Pour utiliser simultanément les fonctions compteur et décompteur (ou pour activer les deux instructions CD et CU), les deux entrées CU et CD correspondantes doivent être régulées. Ces deux entrées sont ensuite scrutées. Si leur valeur est de 1, la valeur courante n’est pas modifiée. Remise à zéro L’état de l’entrée R devient 1 (ou l’instruction R est activée). Force la remise à zéro de la valeur %Ci.V. Les sorties %Ci.E, %Ci.D et %Ci.F sont réglées sur 0. L’entrée remise à zéro est prioritaire. Définition Si l’entrée S est réglée sur 1 (ou si l’instruction S est activée) et que l’entrée de présélection est réglée sur 0 (ou que l’instruction R est inactive). La valeur courante %Ci.V prend la valeur de %Ci.P et la sortie %Ci.D est réglée sur 1. TWD USE 10AF 05/2002 Instructions élémentaires Cas spéciaux Le tableau suivant présente une liste des cas spéciaux de programmation et de configuration des compteurs. Cas spécial Effet d’un démarrage à froid (%S0=1) Description l l l TWD USE 10AF 05/2002 La valeur courante de %Ci.V est réglée sur 0. Les bits de sortie %Ci.E, %Ci.D et %Ci.F sont réglés sur 0. La valeur de présélection est initialisée avec la valeur réglée au moment de la configuration Effet d’une reprise à chaud (%S1=1) d’un arrêt de l’automate N’a aucun effet sur la valeur courante du compteur (%Ci.V). Effet de la modification de la valeur de présélection de %Ci.P La modification de la valeur de présélection à l’aide d’une instruction ou d’un réglage ne prend effet qu’au moment du traitement du bloc par l’application (activation de l’une des entrées). 237 Instructions élémentaires Programmation et configuration des compteurs Introduction L’exemple suivant illustre un compteur permettant de compter un maximum de 5 000 articles. Chaque impulsion sur l’entrée %I1.2 (lorsque le bit interne %M0 est réglé sur 1) incrémente la valeur du compteur %C8 d’une unité, jusqu’à la valeur de présélection finale (bit %C8.D=1). Le compteur est remis à zéro par l’entrée %I1.1. Exemple de programmation L’illustration suivante représente un bloc fonction compteur et affiche des exemples de programmation réversible et non réversible. %I1.1 R %C8 E S %I1.2 %M0 ADJ Y D CU %Ci.P 9999 CD F %C8.D %Q0.0 Schéma à contacts BLK %C8 LD %I1.1 R LD %I1.2 AND %M0 CU END_BLK LD %C8.D ST %Q0.0 Programmation réversible Configuration 238 LD R LD AND CU LD ST %I1.1 %C8 %I1.2 %M0 %C8 %C8.D %Q0.0 Programmation non réversible Les paramètres suivants doivent être saisis au moment de la configuration : l Valeur de présélection (%Ci.P) : réglée sur 5000 dans cet exemple l Réglage : Oui TWD USE 10AF 05/2002 Instructions élémentaires Bloc fonction registre bits à décalage (%SBRi) Introduction Le bloc fonction registre bits à décalage (%SBRi) effectue un décalage vers la gauche ou vers la droite des bits de données binaires (0 ou 1). Illustration L’exemple suivant illustre un bloc fonction registre à décalage : %SBRi R CU CD Paramètres TWD USE 10AF 05/2002 Le bloc fonction registre bits à décalage possède les paramètres suivants : Paramètre Étiquette Valeur Numéro de registre %SBRi 0à7 Bit de registre %SBRi.j Les bits 0 à 15 (j = 0 à 15) du registre à décalage peut être testé par une instruction de test et écrit à l'aide d'une instruction d'affectation. Entrée (ou instruction) R RAZ Sur un front montant, règle les bits de registre 0 à 15 %SBRi.j sur 0. Décalage vers l'entrée CU (ou l'instruction) de gauche Sur un front montant, décale un bit de registre vers la gauche. Décalage vers l'entrée CD (ou l'instruction) de droite Sur un front montant, décale un bit de registre vers la droite. 239 Instructions élémentaires Fonctionnement L'illustration suivante présente une configuration binaire avant et après une opération de décalage. Fonctionnement État initial 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 Bit 15 0 Bit 0 CU %SBRi effectue un décalage vers la gauche 1 Le bit 15 est perdu 0 0 0 0 0 0 1 1 0 1 1 Bit 15 1 0 0 0 Bit 0 Cet exemple peut également s'appliquer à une requête de décalage d'un bit vers la droite (Bit 15 à Bit 0) à l'aide de l'instruction CD. Le bit 0 est perdu. Si un registre de 16 bits n'est pas adapté, il est possible d'utiliser le programme pour afficher en cascade plusieurs registres. Programmation Dans l'exemple suivant, un bit est décalé vers la gauche à chaque seconde et le bit 0 prend l'état opposé au bit 15. Programmation réversible %SBR0.15 %SBR0.0 / %SBR0 LDN %SBR0.15 ST %SBR0.0 BLK %SBR0 LD %S6 CU END_BLK R %S6 CU CD 240 Programmation non réversible LDN ST LD CU %SBR0.15 %SBR0.0 %S6 %SBR0 TWD USE 10AF 05/2002 Instructions élémentaires Cas spéciaux Le tableau suivant présente une liste des cas spéciaux de programmation du bloc fonction registre bits à décalage. Cas spécial TWD USE 10AF 05/2002 Description Effet d’un démarrage à froid (%S0=1) Règle tous les bits du mot registre sur 0. Effet d’une reprise à chaud (%S1=1) N’a aucun effet sur les bits du mot registre. 241 Instructions élémentaires Bloc fonction pas à pas (%SCi) Introduction Un bloc fonction pas à pas (%SCi) permet d'accomplir une série d'étapes auxquelles des actions peuvent être affectées. Le passage d'une étape à l'autre dépend d'événements internes ou externes. Chaque fois qu'une étape est active, le bit associé est réglé sur 1. Une seule étape d'une fonction pas à peut être active à la fois. Illustration L’exemple suivant illustre un bloc fonction pas à pas : %SCi R CU CD Paramètres 242 Le bloc fonction pas à pas possède les paramètres suivants : Paramètre Étiquette Valeur Numéro de fonction pas à pas %SCi 0à7 Bit de fonction pas à pas %SCi.j Les bits de fonction pas à pas 0 à 255 (j = 0 à 255) peuvent être testés par une instruction logique de chargement et écrits à l'aide d'une instruction d'affectation. Entrée (ou instruction) R RAZ Sur un front montant, réinitialise la fonction pas à pas. Entrée (ou instruction) CU d'incrémentation Sur un front montant, incrémente la fonction pas à pas d'une étape. Entrée (ou instruction) CD de décrémentation Sur un front montant, décrémente la fonction pas à pas d'une étape. TWD USE 10AF 05/2002 Instructions élémentaires Chronogramme Le chronogramme suivant illustre le fonctionnement du bloc fonction pas à pas. Entrée CU Entrée CD N° des entrées inactives TWD USE 10AF 05/2002 0 1 2 3 2 1 0 243 Instructions élémentaires Programmation L’exemple suivant illustre un bloc fonction pas à pas. l La fonction pas à pas 0 est incrémentée d'une entrée %I0.2. l La fonction pas à pas 0 est remise à 0 par l'entrée %I0.3 ou lorsqu'elle arrive à l'étape 3. l L'étape 0 régule la sortie %Q0.1, l'étape 1 régule la sortie %Q0.2 et l'étape 2 régule la sortie %Q0.3. L'illustration suivante présente la programmation réversible et non réversible correspondant à cet exemple. Programmation réversible BLK %SC0 LD %SC0.3 OR %I0.3 R LD %I0.2 CU END_BLK LD %SC0.0 ST %Q0.1 LD %SC0.1 ST %Q0.2 LD %SC0.2 ST %Q0.3 %SC0.3 %SC0 %I0.3 R %I0.2 CU CD %SC0.0 244 %Q0.1 %SC0.1 %Q0.2 %SC0.2 %Q0.3 Programmation non réversible LD OR R LD CU LD ST LD ST LD ST %SC0.3 %I0.3 %SC0 %I0.2 %SC0 %SC0.0 %Q0.1 %SC0.1 %Q0.2 %SC0.2 %Q0.3 TWD USE 10AF 05/2002 Instructions élémentaires Cas spéciaux TWD USE 10AF 05/2002 Le tableau suivant présente une liste des cas spéciaux de programmation du bloc fonction pas à pas. Cas spécial Description Effet d’un démarrage à froid (%S0=1) Initialise la fonction pas à pas. Effet d’une reprise à chaud (%S1=1) N'a aucun effet sur la fonction pas à pas. 245 Instructions élémentaires 12.3 Traitement numérique Introduction au traitement numérique Présentation Cette rubrique offre une introduction au traitement numérique, qui s'appuie sur des descriptions et des directives de programmation. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet Introduction aux instructions numériques 246 Page 247 Instructions d'affectation 248 Instructions de comparaison 252 Instructions arithmétiques 254 Instructions logiques 258 Instructions de décalage 260 Instructions de conversion 262 TWD USE 10AF 05/2002 Instructions élémentaires Introduction aux instructions numériques Présentation TWD USE 10AF 05/2002 Les instructions numériques s'appliquent généralement aux mots de 16 bits (voir section Objets mots, p. 28). Ces instructions apparaissent entre crochets. Si le résultat de l'opération logique précédente est True (accumulateur booléen = 1), l'instruction numérique est exécutée. Si ce résultat est False (accumulateur booléen = 0), l'instruction numérique n'est pas exécutée et l'opérande reste inchangé. 247 Instructions élémentaires Instructions d’affectation Introduction Les instructions d'affectation permettent de charger l'opérande Op2 dans l'opérande Op1. Affectation Syntaxe des instructions d'affectation [Op1:=Op2] <=> Op2 -> Op1 Les opérations d'affectation peuvent être exécutées sur : l des chaînes de bits l des mots l des tables de mots Affectation de chaînes de bits 248 Les opérations peuvent être exécutées sur les chaînes de bits suivantes (voir section Objets structurés, p. 37) : l Chaîne de bit -> chaîne de bit (Exemple 1) l Chaîne de bit -> mot (Exemple 2) l Mot -> chaîne de bit (Exemple 3) l Valeur immédiate -> chaîne de bit TWD USE 10AF 05/2002 Instructions élémentaires Exemples Exemples d'affectations de chaînes de bits %Q0:8:=%MW64:8 LD 1 [%Q0:8:=%M64:8] (Ex. 1) %MW100:=%I0:16 LD %I0.2 [%MW100:=%I0:16] (Ex. 2) %MW104:16:=%KW0 LDR %I0.3 [%M104:16:=%KW0] (Ex. 3) %I0.2 %I0.3 P Règles d'utilisation : l Pour l'affectation chaîne de bits -> mot : les bits de la chaîne sont transférés vers le mot en commençant par la droite (premier bit de la chaîne vers bit 0 du mot) et les bits de mot non concernés par le transfert (longueur<16) sont réglés sur 0. l Pour l'affectation mot -> chaîne de bits : les bits de mot sont transférés en partant de la droite (bit de mot 0 vers premier bit de la chaîne). Affectations de chaînes de bits Syntaxe des affectations de chaînes de bits Opérateur Syntaxe Opérande 1 (Op1) Opérande 2 (Op2) := [Op1: = Op2] %MWi,%QWi, %SWi %MWi[MWi], %Mi:L, %Qi:L, %Si:L, %Xi:L Valeur immédiate, %MWi, %KWi, %IW, %INWi, %QW, %QNWi, %SWi, %BLK.x, %MWi[MWi], %KWi[MWi], %Mi:L,%Qi:L, %Si:L, %Xi:L, %Ii:L L'opérande 1 (Op1) prend la valeur de l'opérande 2 (Op2). Note : L'abréviation %BLK.x (%C0.P, par exemple) est utilisée pour décrire tout mot de bloc fonction. TWD USE 10AF 05/2002 249 Instructions élémentaires Affectation de mots Les opérations d'affectation peuvent être exécutées sur les mots suivants : l Mot -> mot (Exemple 1) l Mot indexé -> mot l Valeur immédiate -> mot (Exemple 3) l Chaîne de bit -> mot l Mot -> mot indexé l Mot indexé -> mot indexé (Exemple 2) l Valeur immédiate -> mot indexé l Mot -> chaîne de bit Exemples Exemples d'affectations de mots LD 1 [%SW112:=%MW100] %SW112:=%MW100 %I0.2 %MW0[%MW10]:=%KW0[%MW20] LD %I0.2 [%MW0[%MW10]:=] %KW0[%MW20] (Ex. 1) (Ex. 2) %I0.3 P Syntaxe %MW10:=100 LDR %I0.3 [%MW10:=100] (Ex. 3) Syntaxe des affectations de mots Opérateur Syntaxe Opérande 1 (Op1) Opérande 2 (Op2) := [Op1: = Op2] %BLK.x, %MWi, %QWi, %SWi %MWi[MWi], %Mi:L, %Qi:L, %Si:L, %Xi:L Valeur immédiate, %MWi, %KWi, %IW, %QW, %SWi, %MWi[MWi], %KWi[MWi], %INW, %Mi:L, %Qi:L, %QNW, %Si:L, %Xi:L, %Ii:L L'opérande 1 (Op1) prend la valeur de l'opérande 2 (Op2). Note : L'abréviation %BLK.x (%R3.I, par exemple) est utilisée pour décrire tout mot de bloc fonction. Pour les chaînes de bits %Mi:L, %Si:L et %Xi:L, le repère de base du premier bit de la chaîne doit être un multiple de 8 (0, 8, 16, ..., 96, ...). 250 TWD USE 10AF 05/2002 Instructions élémentaires Affectation de tables de mots Les opérations d'affectation peuvent être exécutées sur les tables de mots suivantes (voir section Tables de mots, p. 38) : l Valeur immédiate -> table de mot (Exemple 1) l Mot -> table de mot (Exemple 2) l Table de mot -> table de mot (Exemple 3) La longueur de la table (L) doit être la même pour les deux tables. Exemples Exemples d'affectations de tables de mots %MW0:10:=100 %I0.2 %MW0:10:=%MW11 %I0.3 P Syntaxe %MW10:20:=%KW30:20 LD 1 [%MW0:10:=100] (Ex. 1) LD %I0.2 [%MW0:10:=%MW11] (Ex. 2) LDR %I0.3 [%MW10:20:=%KW30:20] (Ex. 3) Syntaxe des affectations de tables de mots Opérateur Syntaxe Opérande 1 (Op1) Opérande 2 (Op2) := [Op1: = Op2] L'opérande 1 (Op1) prend la valeur de l'opérande 2 (Op2). %MWi:L, %SWi:L %MWi:L, %SWi:L, Valeur immédiate, %MWi, %KWi, %IW, %QW, %SWi, %BLK.x Note : L'abréviation %BLK.x (%R3.I, par exemple) est utilisée pour décrire tout mot de bloc fonction. Pour les chaînes de bits %Mi:L, %Si:L et %Xi:L, le repère de base du premier bit de la chaîne doit être un multiple de 8 (0, 8, 16, ..., 96, ...). TWD USE 10AF 05/2002 251 Instructions élémentaires Instructions de comparaison Introduction Les instructions de comparaison permettent de comparer deux opérandes. Le tableau suivant répertorie les différents types d'instructions de comparaison. Instruction Structure Fonction > Teste si l'opérande 1 est supérieur à l'opérande 2. >= Teste si l'opérande 1 est supérieur ou égale à l'opérande 2. < Teste si l'opérande 1 est inférieur à l'opérande 2. <= Teste si l'opérande 1 est inférieur ou égal à l'opérande 2. = Teste si l'opérande 1 est égal à l'opérande 2. <> Teste si l'opérande 1 est différent de l'opérande 2. La comparaison s'effectue entre les crochets qui suivent les instructions LD, AND et OR. Le résultat est 1 lorsque le résultat de la comparaison requise est True. Exemples d'instructions de comparaison %Q0.3 LD ST %MW10>100 %M0 %Q0.2 LD %M0 AND [%MW20 < %KW35] ST %Q0.2 %Q0.4 LD OR ST %MW20<%KW35 %I0.2 [%MW10 > 100] %Q0.3 %I0.2 [%MW30>=%MW40] %Q0.4 %MW30>=%MW40 252 TWD USE 10AF 05/2002 Instructions élémentaires Syntaxe Syntaxe des instructions de comparaison Opérateur Syntaxe >, >=, <, <=, =, <> Opérande 1 (Op1) LD [Op1 Opérateur Op2] %MWi, %KWi, %INWi, AND [Op1 Opérateur Op2] %IW, %QNWi, %QWi, OR [Op1 Opérateur Op2] %QNWi, %SWi, %BLK.x Opérande 2 (Op2) Valeur immédiate, %MWi, %KWi, %INWi, %IW, %QNWi, %QW, %SWi, %BLK.x, %MWi [%MWi], %KWi [%MWi] Note : Les instructions de comparaison peuvent apparaître entre parenthèses. Exemple d'utilisation d'une instruction de comparaison entre parenthèses LD %M0 AND( [%MW20 > 10] OR %I0.0 ) ST %Q0.1 TWD USE 10AF 05/2002 253 Instructions élémentaires Instructions arithmétiques Introduction Les instructions arithmétiques permettent d'effectuer des opérations arithmétiques entre deux opérandes ou sur une opérande. Le tableau suivant répertorie les différents types d'instructions arithmétiques. Instruction Structure Fonction + Addition de deux opérandes - Soustraction de deux opérandes * Multiplication de deux opérandes / Division de deux opérandes REM Reste de la division de deux opérandes SQRT Racine carrée d'une opérande INC Incrémentation d'une opérande DEC Décrémentation d'une opérande Les opérations arithmétiques sont effectuées de la façon suivante : %M0 %MW0:=%MW10+100 %I0.2 %MW0:=SQRT(%MW10) %I0.3 P 254 INC %MW100 LD %M0 [%MW0:=%MW10 + 100] LD %I0.2 [%MW0:=SQRT(%MW10)] LDR %I0.3 [INC %MW100] TWD USE 10AF 05/2002 Instructions élémentaires Syntaxe La syntaxe dépend des opérateurs utilisés, tel que l'indique le tableau ci-dessous. Opérateur Syntaxe Opérande 1 (Op1) Opérandes 2 et 3 (Op2 & 3) +, -, *, /, REM SQRT (1) [Op1: = Op 2 Opérateur Op3] %MWi, %QWi, %SWi [Op1: = SQRT(Op2)] INC, DEC [Opérateur Op1] Valeur immédiate (2), %MWi, %KWi, %INW, %IW, %QNW, %QW, %SWi, %BLK.x Note : (1) Avec SQRT, Op2 ne peut pas être une valeur immédiate. TWD USE 10AF 05/2002 255 Instructions élémentaires Débordement et conditions d'erreurs Addition l Débordement pendant l'opération Si le résultat dépasse les limites de -32768 ou de +32767, le bit %S18 (débordement) est réglé sur 1. Le résultat est alors incorrect en soi (voir Exemple 1 page suivante). Le programme utilisateur gère le bit %S18. l Débordement absolu du résultat (arithmétique sans signe) Lors de certains calculs, il peut être nécessaire d'interpréter une opérande au moyen de l'arithmétique sans signe (le bit 15 représente alors la valeur 32768). La valeur maximum d'une opérande est 65535. L'addition de deux valeurs absolues (sans signe) dont le résultat est supérieur à 65535 provoque un débordement. Ceci est signalé par l'affectation de la valeur 1 au bit système %S17 (retenue), qui représente la valeur 65536. Soustraction l Résultat négatif Si le résultat de la soustraction est négatif, le bit système %S17 est réglé sur 1. Multiplication l Débordement pendant l'opération Si le résultat dépasse la capacité du mot de résultat, le bit %S18 (débordement) est réglé sur 1 et le résultat n'est pas significatif. Division / reste l Division par 0 Si le dividende est 0, la division est impossible et le bit système %S18 est réglé sur 1. Le résultat est alors incorrect. l Débordement pendant l'opération Si le quotient de la division dépasse la capacité du mot de résultat, le bit système %S18 est réglé sur 1. Calcul de la racine carrée l Débordement pendant l'opération La calcul de la racine carrée est uniquement effectué sur les valeurs positives. Le résultat est, par conséquent, toujours positif. Si l'opérande de racine carrée est négative, le bit système %S18 est réglé sur 1 et le résultat est incorrect. Note : Le programme utilisateur gère les bits système %S17 et %S18. L'automate les règle sur 1. Ils doivent être remis à 0 par le programme afin de pouvoir être réutilisés (voir exemple page précédente). 256 TWD USE 10AF 05/2002 Instructions élémentaires Exemples Exemple 1 : débordement lors de l'addition %M0 LD %M0 [%MW0:=%MW1 + %MW2] %MW0:=%MW1+%MW2 %S18 / LDN %S18 [%MW10:=%MW0] %MW10:=%MW0 %S18 LD %S18 [%MW10:=32767] R %S18 %MW10:=32767 %S18 R Si %MW1 =23241 et %MW2=21853, le résultat réel (45094) ne peut pas être exprimé par un mot de 16 bits, le bit %S18 est réglé sur 1 et le résultat obtenu (20442) est incorrect. Dans cet exemple, la valeur est fixée à 32767 lorsque le résultat est supérieur à cette valeur. Exemple 2 : [%MW2:=%MW0 + %MW1], où %MW0 =65086, %MW1=65333. Le mot %MW2 contient le nombre 64883. Le bit %S17 est réglé sur 1 et représente la valeur 65536. Le résultat arithmétique sans signe est alors égal à : 65536 + 64883 = 130419. Exemple 3 : [%MW2:=%MW0 + %MW1], où %MW0 =45736 (soit une valeur avec signe de -19800), %MW1=38336 (soit une valeur avec signe de 27200). Les deux bits système %S17 et %S18 sont réglés sur 1. Le résultat arithmétique avec signe (+18536) est incorrect. En arithmétique sans signe, le résultat (18536 + la valeur de %S17, qui est 84072) est correct. TWD USE 10AF 05/2002 257 Instructions élémentaires Instructions logiques Introduction Structure Les instructions logiques permettent d'effectuer des opérations logiques entre deux opérandes par mot ou sur un opérande par mot. Le tableau suivant répertorie les différents types d'instructions logiques : Instruction Fonction AND AND (bit à bit) entre deux opérandes OR OR logique (bit à bit) entre deux opérandes XOR OR exclusif (bit à bit) entre deux opérandes NOT Complément logique (bit à bit) d'un opérande Les opérations logiques sont effectuées de la façon suivante : %M0 %MW0:=%MW10 AND 16#FF00 [%MW0:=%KW5 OR %MW10] LD %M0 [%MW0:=%MW10 AND 16#FF00] LD 1 [%MW0:=%KW5 OR %MW10] %I0.3 %MW102:=NOT (%MW100) 258 LD %I0.3 [%MW102:=NOT(%MW100)] TWD USE 10AF 05/2002 Instructions élémentaires Syntaxe La syntaxe dépend des opérateurs utilisés : Opérateur Syntaxe AND, OR, XOR [Op1: = Op 2 Opérateur Op3] %MWi, %QWi, %SWi [NOT(Op2)] NOT Opérande 1 (Op1) Opérandes 2 et 3 (Op2 et 3) Valeur immédiate (1), %MWi, %KWi, %IW, %QW, %SWi, %BLK.x Note : (1) Avec NOT, Op2 ne peut pas être une valeur immédiate. Exemple TWD USE 10AF 05/2002 L'exemple suivant présente une instruction AND logique. [%MW15:=%MW32 AND %MW12] 259 Instructions élémentaires Instructions de décalage Introduction Les instructions de décalage déplacent les bits d'un opérande d'un certain nombre de positions vers la droite ou vers la gauche. Le tableau suivant répertorie les différents types d'instructions de décalage. Instruction Fonction Décalage logique SHL(op2,i) Décalage logique de i positions vers la gauche F Décalage logique de i positions vers la droite F 0 %S17 SHR(op2,i) 0 %S17 Décalage circulaire ROL(op2,i) Décalage circulaire de i positions vers la gauche F 0 %S17 ROL(op2,i) Décalage circulaire de i positions vers la droite F 0 %S17 260 TWD USE 10AF 05/2002 Instructions élémentaires Structure Les opérations de décalage sont effectuées de la façon suivante : %I0.1 P %MW0:=SHL(%MW10.5) %I0.2 P Syntaxe LDR %I0.2 [%MW10 :=ROR(%KW9.8)] La syntaxe dépend des opérateurs utilisés, comme indiqué dans le tableau suivant. Opérateur Syntaxe Opérande 1 (Op1) Opérande 2 (Op2) SHL, SHR [Op1: = Opérateur (Op2,i)] %MWi, %QWi, %SWi ROL, ROR TWD USE 10AF 05/2002 %MW10:=ROR(%KW9.8) LDR %I0.1 [%MW0 :=SHL(%MW10.5)] %MWi, %KWi, %IW, %QW, %SWi, %BLK.x 261 Instructions élémentaires Instructions de conversion Introduction Révision du code BCD Les instructions de conversion permettent d’effectuer la conversion entre les différentes représentations numériques. Le tableau suivant répertorie les différents types d'instructions de conversion. Instruction Fonction BTI BCD --> Conversion binaire ITB Binaire --> Conversion BCD Le codage BCD (Binary Coded Decimal - décimal codé binaire) représente les décimaux (entre 0 et 9) par un code à quatre bits binaires. Un objet mot de 16 bits peut ainsi contenir un numéro exprimé par quatre chiffres (0000 - 9999). Lors d'une conversion, le bit système %S18 est réglé sur 1 si la valeur n'est pas BCD. Ce bit doit être testé et remis à 0 par le programme. Représentation BCD des décimaux : Décimal BCD 0 1 2 3 4 5 6 7 8 9 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Exemples : l Le mot %MW5 exprime la valeur BCD « 2450 », qui correspond à la valeur binaire 0010 0100 0101 0000 l Le mot %MW12 exprime la valeur décimale « 2450 », qui correspond à la valeur binaire 0000 1001 1001 0010. Le mot %MW5 est converti en mot %MW12 à l'aide de l'instruction BTI. Le mot %MW12 est converti en mot %MW5 à l'aide de l'instruction ITB. Structure Les opérations de conversion sont effectuées de la façon suivante : %M0 %MW0:=BTI(%MW10) %I0.2 %MW10:=ITB(%KW9) 262 LD %M0 [%MW0 :=BTI(%MW10)] LD %I0.2 [%MW10 :=ITB(%KW9)] TWD USE 10AF 05/2002 Instructions élémentaires Syntaxe Exemples d’application : TWD USE 10AF 05/2002 La syntaxe dépend des opérateurs utilisés, tel que l'indique le tableau ci-dessous. Opérateur Syntaxe Opérande 1 (Op1) Opérande 2 (Op2) BTI, ITB [Op1: = Opérateur (Op2,i)] %MWi, %QWi, %SWi %MWi, %KWi, %IW, %QW, %SWi, %BLK.x L'instruction BTI peut être utilisée pour traiter une valeur de consigne aux entrées de l'automate via des molettes codées en BCD. L'instruction peut être utilisée pour afficher des valeurs numériques sur des écrans codés en BCD (résultat d'un calcul, valeur courante d'un bloc fonction, par exemple). 263 Instructions élémentaires 12.4 Instructions sur programme Introduction aux instructions sur programme Présentation Cette rubrique présente une introduction aux instructions sur programme. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : 264 Sujet Page Instructions END 265 Instruction NOP 267 Instructions de saut 268 Instructions de sous-programme 269 TWD USE 10AF 05/2002 Instructions élémentaires Instructions END Introduction Les instructions END définissent la fin de l'exécution de la scrutation d'un programme. END, ENDC et ENDCN Il existe trois instructions END différentes : l END : fin de programme inconditionnelle. l ENDC : fin de programme si le résultat booléen de l'instruction de test précédente est 1. l ENDCN : fin de programme si le résultat booléen de l'instruction de test précédente est 0. Par défaut (en mode Normal), des sorties sont générées et la scrutation suivante est lancée dès la fin d'un programme. Si la scrutation est périodique, des sorties sont générées et la scrutation suivante est lancée dès que la fin de période est atteinte. TWD USE 10AF 05/2002 265 Instructions élémentaires Exemples Exemple d’instruction END inconditionnelle %M1 %Q0.1 %M2 %Q0.2 LD ST LD ST %M1 %Q0.1 %M2 %Q0.2 ................... END END Exemple d’instruction END conditionnelle %M1 %Q0.1 %M2 %Q0.2 LD ST LD ST %M1 %Q0.1 %M2 %Q0.2 ................... %I0.2 END %M2 LD %I0.2 ENDC LD %M2 ST %Q0.2 %Q0.2 ................... END 266 If %I0.2 = 1, end of program scanning If %I0.2 = 0, continues program scanning until new END instruction END TWD USE 10AF 05/2002 Instructions élémentaires Instruction NOP NOP TWD USE 10AF 05/2002 L'instruction NOP n'effectue aucune opération. Utilisez cette instruction pour « réserver » des lignes d’un programme afin de pouvoir insérer ultérieurement des instructions, sans modifier les numéros de ligne. 267 Instructions élémentaires Instructions de saut Introduction Les instructions de saut ont pour effet d'interrompre immédiatement l'exécution d'un programme et de le reprendre à partir de la ligne suivant la ligne contenant l'étiquette %Li (i = 0 à 15). JMP, JMPC et JMPCN Trois instructions de saut différentes sont disponibles : l JMP : saut de programme inconditionnel l JMPC : saut de programme si le résultat booléen de la logique précédente est 1. l JMPCN : saut de programme si le résultat booléen de la logique précédente est 0. Exemples Exemples d’instructions de saut 000 LD %M15 001 JMPC %L8 002 LD [%MW24>%MW12] 003 ST %M15 004 JMP %L12 005 %L8 006 LD %M12 007 AND %M13 008 ST %M12 009 JMPCN %L12 010 OR %M11 011 S %Q0.0 012 %L12 013 LD %I0.0 Directives Saut vers l'étiquette %L8 si la valeur %M15 est 1 Saut inconditionnel vers l'étiquette %L12 : Saut vers l'étiquette %L12 si la valeur %M2 est 0 l Les instructions de saut ne peuvent pas apparaître entre parenthèses et ne doivent pas être placées entre les instructions AND(, OR( et une parenthèse fermante «)». l L'étiquette peut uniquement être placée devant une instruction LD, LDN, LDR, LDF ou BLK. l Le numéro de l'étiquette %Li doit être défini une seule fois dans un programme. l Le saut de programme est effectué vers une ligne de programmation en amont ou en aval. Lorsque le saut est en amont, le temps de scrutation doit être contrôlé. Un temps de scrutation trop long peut provoquer l'expiration du temporisateur chien de garde. 268 TWD USE 10AF 05/2002 Instructions élémentaires Instructions de sous-programme Introduction Les instructions de sous-programme déclenchent l'exécution d'un sous-programme, puis le retour vers le programme principal. SRn, SRn: et RET Les sous-programmes se composent de trois étapes : l L'instruction SRn appelle le sous-programme référencé par l'étiquette SRn, si le résultat de l'instruction booléenne précédente est 1. l Le sous-programme est référencé par l'étiquette SRn:, n pouvant prendre une valeur comprise entre 0 à 15 pour TWDLCAA10DRF, TWDLCAA16DRF et 0 à 63 pour tous les autres automates. l L'instruction RET placée à la fin du sous-programme provoque le retour au programme principal. Exemple Exemples d'instructions de sous-programme 000 LD %M15 001 AND %M5 002 ST %Q0.0 003 LD [%MW24>%MW12] 004 SR8 005 LD %I0.4 006 AND M13 007 _ 008 _ 009 _ 010 END 011 012 013 014 015 010 TWD USE 10AF 05/2002 SR8: LD IN LD ST RET 1 %TM0 [%TM0.Q] %M15 269 Instructions élémentaires Directives l Un sous-programme ne doit pas appeler un autre sous-programme. l Les instructions de sous-programme ne peuvent pas apparaître entre parenthèses et ne doivent pas être placées entre les instructions AND(, OR( et une parenthèse fermante ")". l L'étiquette peut uniquement être placée devant une instruction LD ou BLK pour marquer le début d'une équation booléenne (ou d'un réseau booléen). l L'appel du sous-programme ne doit pas être suivi d'une instruction d'affectation. En effet, le sous-programme risque de modifier le contenu de l'accumulateur booléen. Aussi celui risque d'avoir une valeur de retour différente de celle qu'il avait avant l'appel. Voir l'exemple suivant. Exemple de programmation d'un sous-programme LD SR0 ST %I0.0 %I0.0 %Q0.0 >>%SR0 %Q0.0 270 LD ST SR0 %I0.0 %Q0.0 TWD USE 10AF 05/2002 Instructions avancées 13 En bref... Présentation Ce chapitre offre des informations sur les instructions et les blocs fonctions utilisés pour créer des programmes de régulation avancés destinés aux automates Twido. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : TWD USE 10AF 05/2002 Sous-chapitre Sujet 13.1 Blocs fonctions avancés Page 272 13.2 Fonctions horodateur 319 271 Instructions avancées 13.1 Blocs fonctions avancés En bref... Présentation Cette rubrique offre une présentation des blocs fonctions avancés et contient des exemples de programmation. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : 272 Sujet Page Objets mots et objets bits associés à des blocs fonctions avancés 273 Principes de programmation de blocs fonctions avancés 275 Bloc fonction registre LIFO/FIFO (%Ri) 278 LIFO, fonctionnement 280 FIFO, fonctionnement 281 Programmation et configuration des registres 282 Bloc fonction %PWM (modulation de la largeur d'impulsion) 285 Bloc fonction sortie du générateur d'impulsion (%PLS) 289 Bloc fonction programmateur cyclique (%DR) 292 Fonctionnement des blocs fonctions du programmateur cyclique 294 Programmation et configuration des programmateurs cycliques 296 Bloc fonction compteur rapide (%FC) 298 Bloc fonction compteur rapide (%VFC) 302 Transmission et réception de messages - Instruction d'échange (EXCH) 314 Bloc fonction de contrôle d'échange (%MSG) 315 TWD USE 10AF 05/2002 Instructions avancées Objets mots et objets bits associés à des blocs fonctions avancés Introduction Les blocs fonctions avancés utilisent des mots et des bits dédiés de type identique comme blocs fonctions élémentaires. L'utilisation de blocs fonctions avancés est réservée aux programmateurs les plus expérimentés. Les blocs fonctions avancés comprennent : l les registres LIFO/FIFO (%R) ; l les programmateurs cycliques (%DR) ; l les compteurs rapides (%FC) ; l les compteurs rapides (%VFC) ; l la sortie de modulation de la largeur de l'impulsion (%PWM) ; l la sortie du générateur d'impulsion (%PLS) ; l le registre bits à décalage (%SBR) ; l le compteur à décalage (%SC) ; l le bloc contrôle message (%MSG). Objets accessibles par le programme Le tableau suivant présente les mots et les bits associés aux différents blocs fonctions avancés. Veuillez noter que l'accès en écriture mentionné dans le tableau suivant dépend du paramètre « Réglable », sélectionné au moment de la configuration. Ce réglage permet d'autoriser ou de refuser l'accès aux mots ou aux bits par TwidoSoft ou par l'interface opérateur. Bloc fonction Mots et bits associés avancé Adresse Accès en écriture %R %DR %FC TWD USE 10AF 05/2002 Mot Accès au registre %Ri.I Oui Mot Sortie du registre %Ri.O Oui Bit Sortie registre pleine %Ri.F Non Bit Sortie registre vide %Ri.E Non Mot Numéro du pas courant %DRi.S Oui Bit Dernier pas égal au pas courant %DRi.F Oui Mot Valeur courante %FCi.V Non Mot Valeur de présélection %FCi.P Oui Bit Terminé %FCi.D Non 273 Instructions avancées Bloc fonction Mots et bits associés avancé Adresse Accès en écriture %VFC Valeur courante %VFCi.V Non Mot Valeur de présélection %VFCi.P Oui Bit Sens de comptage %VFCi.U NON Mot Valeur de capture %VFCi.C Non Mot Valeur de seuil 0 %VFCi.SO Oui Mot Valeur de seuil 0 %VFCi.S1 Oui Bit Débordement %VFCi.F Non Bit Fréquence terminée %VFCi.M Oui Bit Sortie réflexe 0 activée %VFCi.R Oui Bit Sortie réflexe 1 activée %VFCi.S Oui Bit Sortie seuil 0 %VFCi.TH0 Non Bit Base temps de la mesure de fréquence %VFCi.T Oui %PWM Mot Pourcentage d'impulsions au pas 1 par rapport à la période totale. %PWMi.R Oui Mot Période préréglée %PWMi.P Oui %PLS Mot Nombre de pulsations %PLSi.N Oui Mot Valeur de présélection %PLSi.P Oui Bit Sortie courante activée %PLSi.Q Non Bit Génération terminée %PLSi.D Non Bit Bit de registre %SBRi.J Non %SBR 274 Mot %SC Bit Bit de compteur à pas %SCi.j Oui %MSG Bit Terminé %MSGi.D Non Bit Erreur %MSGi.E Non TWD USE 10AF 05/2002 Instructions avancées Principes de programmation de blocs fonctions avancés Présentation Les applications Twido sont stockées sous la forme de programmes par listes, et ce, même si ces applications ont été rédigées à l'aide d'un éditeur schéma à contacts. Les automates Twido peuvent ainsi être considérées comme des "machines à listes". Le terme "réversibilité" se rapporte à la capacité de TwidoSoft à convertir une application liste d'instructions en application schémas à contacts, et vice versa. Par défaut, tous les programmes schémas à contacts sont réversibles. Tout comme les blocs fonctions élémentaires, les blocs fonctions avancés doivent se conformer à des règles de réversibilité. La structure des blocs fonctions réversibles dans le langage liste d'instructions requiert l'utilisation des instructions suivantes : l BLK : marque le début du bloc et la section d'entrée du bloc fonction. l OUT_BLK : marque la fin de la section de sortie du bloc fonction. l END_BLK : marque la fin du bloc fonction. Note : Il n'est pas nécessaire d'utiliser ces instructions de blocs fonctions réversibles pour un programme par listes d'instructions qui fonctionne correctement. Certaines instructions permettent une programmation en langage liste d'instructions non réversible. TWD USE 10AF 05/2002 275 Instructions avancées Entrées et sorties dédiées Les fonctions avancées Compteur rapide (FC), Compteur rapide (VFC), PLS et PWM utilisent des entrées et des sorties dédiées. Ces bits ne sont toutefois pas réservés à une utilisation exclusive par un bloc unique. Au contraire, l'utilisation de ces ressources dédiées doit faire l'objet d'une gestion spécifique. Lorsque vous utilisez des fonctions avancées, il est nécessaire que vous gériez la méthode d'allocation des entrées et des sorties dédiées. TwidoSoft vous assiste lors de la configuration de ces ressources en affichant des informations de configuration d'E/S et en vous avertissant si une entrée ou une sortie dédiée est déjà utilisée par un bloc fonction configuré (reportez-vous au guide d'exploitation TwidoSoft). Le tableau suivant résume les dépendances des entrées et des sorties dédiées, ainsi que les fonctions spécifiques. En cas d'utilisation avec des fonctions de comptage : Entrées Utilisation %I0.0.0 %VFC0 : Gestion Haut/Bas ou Phase B %I0.0.1 %VFC0 : Entrée d'impulsion ou phase A %I0.0.2 %FC0 : Entrée d'impulsion ou entrée de présélection %VFC0 %I0.0.3 %FC1 : Entrée d'impulsion ou entrée de capture %VFC0 %I0.0.4 %FC2 : Entrée d'impulsion ou entrée de capture %VFC1 %I0.0.5 Entrée de présélection %VFC1 %I0.0.6 %VFC1 : Gestion Haut/Bas ou Phase B %I0.0.7 %VFC1 : Entrée d'impulsion ou phase A En cas d'utilisation avec des fonctions de comptage ou des fonctions spéciales : Sorties Utilisation %Q0.0.0 Sortie %PLS0 ou PWM0 %Q0.0.1 Sortie %PLS1 ou PWM1 %Q0.0.2 Sorties réflexes pour %VFC0 %Q0.0.3 %Q0.0.4 Sorties réflexes pour %VFC1 %Q0.0.5 276 TWD USE 10AF 05/2002 Instructions avancées Utilisation d'entrées et de sorties dédiées TwidoSoft utilise les règles suivantes lors de l'utilisation d'entrées et de sorties dédiées. l Chaque bloc fonction utilisant des E/S dédiées doit être configuré et référencé dans l'application. L'E/S est uniquement allouée lors de la configuration d'un bloc fonction. Elle ne l'est pas lors de son référencement dans un programme. l Après qu'un bloc fonction a été configuré, son entrée et sa sortie dédiées ne peuvent pas être utilisées par l'application ou par un autre bloc fonction. Par exemple, si vous configurez %PLS0, vous ne pouvez pas utiliser %Q0.0.0 dans %DR0 (programmateur cyclique) ou dans la logique de l'application (ST %Q0.0.0). l Si une entrée ou une sortie dédiée est requise par un bloc fonction déjà utilisé par l'application ou par un autre bloc fonction, il n'est pas possible de configurer ce bloc fonction. Par exemple, si vous configurez %FC0 comme compteur, %VFC0 ne pourra pas être configuré pour utiliser %I0.0.2 comme entrée de capture. Note : Pour modifier l'utilisation des E/S dédiées, vous devez d'abord supprimer la configuration du bloc fonction en définissant le type d'objet sur "non utilisé", puis supprimer les références au bloc fonction dans votre application. TWD USE 10AF 05/2002 277 Instructions avancées Bloc fonction registre LIFO/FIFO (%Ri) Introduction Un registre est un bloc mémoire qui permet de stocker jusqu'à 16 mots de 16 bits de deux manières différentes : l par une file d'attente, appelée « FIFO » (First In, First Out – Premier entré, Premier sorti) ; l par une pile, appelée « LIFO » (Last In, First Out – Dernier entré, Premier sorti). Illustration L’exemple suivant illustre l’utilisation du bloc fonction registre. %Ri R E I F TYPE FIFO O Bloc fonction registre 278 TWD USE 10AF 05/2002 Instructions avancées Paramètres Le bloc fonction registre possède les paramètres suivants : Paramètre TWD USE 10AF 05/2002 Etiquette Valeur Numéro de registre %Ri 0à3 Type FIFO LIFO File d'attente (sélection par défaut) Pile Mot d’entrée %Ri.I Mot d’entrée registre. Peut être lu, testé et écrit. Mot de sortie %Ri.O Mot de sortie registre. Peut être lu, testé et écrit. Entrée (ou instruction) de stockage I (In, Entrée) Sur un front montant, stocke le contenu du mot %Ri.I dans le registre. Entrée (ou instruction) de récupération O (Out, Sortie) Sur un front montant, charge un mot de données dans le mot %Ri.O. Entrée (ou instruction) RAZ R (Reset, Remise à zéro) A l'état 1, initialise le registre. Sortie « Vide » E (Empty, Vide) Le bit %Ri.E associé indique que le registre est vide. Peut être testé. Sortie « Plein » F (Full, Plein) Le bit %Ri.F associé indique que le registre est plein. Peut être testé. 279 Instructions avancées LIFO, fonctionnement Introduction En fonctionnement LIFO (Last In, First Out - Dernier entré, Premier sorti), la dernière information entrée est la première à être récupérée. Fonctionnement Le tableau suivant décrit le fonctionnement LIFO. Etape 1 2 3 280 Description A la réception d'une demande de stockage (front montant sur l’entrée I ou activation de l’instruction I), le contenu du mot d’entrée %Ri.I (qui a préalablement été chargé) est stocké au plus haut de la pile (fig. a). Lorsque la pile est pleine (sortie F=1), plus aucun élément ne peut être stocké. A la réception d'une demande de récupération (front montant sur l'entrée O ou activation de l'instruction O), le mot de données le plus haut (le dernier à avoir été entré) est chargé dans le mot %Ri.0 (fig. b). Lorsque le registre est plein (sortie E=1), plus aucun élément ne peut être récupéré. Le mot de sortie %Ri.O n'est pas modifié et sa valeur reste inchangée. La pile peut être réinitialisée à tout moment (état 1 sur l'entrée R ou activation de l'instruction R). L'élément indiqué par le pointeur se retrouve le plus haut dans la pile. Exemple Storage of the contents of %Ri.I at the top of the stack. 20 %Ri.I (a) 20 80 50 Retrieval of the data word highest in the stack. 20 80 50 %Ri.O 20 (b) 80 50 TWD USE 10AF 05/2002 Instructions avancées FIFO, fonctionnement Introduction En fonctionnement FIFO (First In, First Out - Premier entré, Premier sorti), la première information entrée est la première à être récupérée. Fonctionnement Le tableau suivant décrit le fonctionnement FIFO. Etape 1 2 3 TWD USE 10AF 05/2002 Description A la réception d'une demande de stockage (front montant sur l’entrée I ou activation de l’instruction I), le contenu du mot d’entrée %Ri.I (qui a préalablement été chargé) est stocké au plus haut de la file d'attente (fig. a). Lorsque la file d'attente est pleine (sortie F=1), plus aucun élément ne peut être stocké. A la réception d'une demande de récupération (front montant sur l’entrée O ou activation de l’instruction O), le mot de données le moins haut dans la file d'attente est chargé dans le mot de sortie %Ri.O et le contenu du registre est déplacé d’une place vers le bas, dans la file d'attente (fig. b). Lorsque le registre est plein (sortie E=1), plus aucun élément ne peut être récupéré. Exemple Storage of the contents of %Ri.I at the top of the queue. 20 %Ri.I (a) 20 80 50 Retrieval of the first data item which is then loaded into %Ri.O. 20 80 50 (b) %Ri.O 50 20 80 Le mot de sortie %Ri.O n'est pas modifié et sa valeur reste inchangée. La file d'attente peut être réinitialisée à tout moment (état 1 sur l'entrée R ou activation de l'instruction R). 281 Instructions avancées Programmation et configuration des registres Introduction 282 L'exemple de programmation suivant illustre le chargement d'un mot mémoire (%MW34) dans un registre (%R2.I) à la demande de stockage %I0.2, si le registre %R2 n'est pas plein (%R2.F = 0). La demande de stockage dans le registre est faite par %M1. La demande de récupération est faite par l’entrée %I0.3 et %R2.O est chargé dans %MW20, si le registre n’est pas vide (%R2.E = 0). 1. Une demande de stockage dans le registre est faite par %M1. 2. Un mot mémoire (%MW34) est chargé dans un registre (%R2.I). Une demande de stockage à %I0.2 est faite, si le registre %R2 n'est pas plein (%R2.F = 0). 3. Une demande de stockage à %I0.2 est faite, si le registre %R2 n'est pas plein (%R2.F = 0). TWD USE 10AF 05/2002 Instructions avancées Exemple de programmation L’illustration suivante représente un bloc fonction registre et présente des exemples de programmation réversible et non réversible. R E %R2 %M1 I F TYPE FIFO %I0.3 O %I0.3 %R2.E %I0.2 %R2.F %MW20:=%R2.0 %R2.1:=%MW34 %M1 Schéma à contacts BLK %R2 LD %M1 I LD %I0.3 O END_BLK LD %I0.3 ANDN %R2.E [%MW20:=%R2.0] LD %I0.2 ANDN %R2.F [%R2.1:=%MW34] ST %M1 Programme réversible TWD USE 10AF 05/2002 LD %M1 I %R2 LD %I0.3 O %R2 ANDN %R2.E [%MW20:=%R2.0] LD %I0.2 ANDN %R2.F [%R2.1:=%MW34] ST %M1 Programme non réversible 283 Instructions avancées Configuration Seul le type du registre devra être entré au cours de la configuration. l FIFO (par défaut), ou l LIFO Cas spéciaux Le tableau suivant présente une liste des cas spéciaux de programmation et de configuration des registres. Cas spécial Description Effet d’un démarrage à froid (%S0=1) Provoque l’initialisation du contenu du registre. Le bit de sortie %Ri.E associé à la sortie E est mis à 1. Effet d’une reprise à chaud (%S1=1) d’un arrêt de l’automate 284 N’a aucun effet sur la valeur courante du registre ou sur l'état de ses bits de sortie. TWD USE 10AF 05/2002 Instructions avancées Bloc fonction %PWM (modulation de la largeur d’impulsion) Introduction Le bloc fonction de modulation de la largeur d'impulsion (%PWM) génère un signal d'onde carrée sur des voies de sortie dédiées (%Q0.0.0 ou %Q0.0.1). Le bloc fonction %PWM vous permet d'ajuster la largeur du signal, et, par conséquent, le cycle de charge. Les automates disposant de sorties relais pour ces deux voies ne prennent pas en charge cette fonction, en raison d'une limitation de fréquences. Deux blocs %PWM sont disponibles. Le bloc %PWM0 utilise la sortie dédiée %Q0.0.0 et le bloc %PMW1 utilise la sortie dédiée %Q0.0.1. Les blocs fonctions %PLS se partagent les mêmes sorties dédiées. Il est donc nécessaire de choisir l'une ou l'autre des fonctions. Illustration Bloc PWM et chronogramme : %PWM0 IN largeur programmable Tp TB %PWMi.P période fixe configurable T TWD USE 10AF 05/2002 285 Instructions avancées Paramètres Le tableau suivant présente les différents paramètres du bloc fonction PWM. Paramètre Etiquette Description Base temps TB 0,1 ms1, 10 ms, 1 s (valeur par défaut) Période préréglée %PWMi.P 0 < %PWMi.P <= 32767 avec une base temps de 10 ms ou 1 s 0 < %PWMi.P <= 255 avec une base temps de 0,57 ms ou 0,142 ms 0 = Fonction non utilisée Rapport d'impulsion (Cycle de charge) %PWMi.R Cette valeur donne le pourcentage du signal à l'état 1 au cours d'une période. Le Tp de largeur est ainsi égal à : Tp = T * (%PWMi.R/100). L'application utilisateur écrit la valeur de %PWMi.R. Ce mot contrôle la modulation de la largeur. Pour plus d'informations sur la définition T, reportez-vous à la section suivante, intitulée "Plage de périodes". La valeur par défaut est 0 et les valeurs supérieures à 100 sont considérées comme étant égales à 100. Entrée de génération de l'impulsion IN A l'état 1, le signal de modulation de la largeur d'impulsion est généré sur la voie de sortie. A l'état 0, la voie de sortie est réglée sur 0. Note : 1. Nous vous recommandons de ne pas utiliser cette base temps avec des automates Twido disposant de sorties relais. Plage de périodes 286 La valeur de présélection et la base temps peuvent être modifiées au moment de la configuration. Ces paramètres sont utilisés pour fixer la période du signal T=%PWMi.P * TB. L'obtention de rapports bas nécessite que le %PWMi.P sélectionné soit d'autant plus élevé. Plage de périodes disponibles : l 0,142 ms à 36,5 ms en pas de 0,142 ms (27,4 Hz à 7 kHz) l 0,57 ms à 146 ms en pas de 0,57 ms (6,84 Hz à 1,75 kHz) l 20 ms à 5,45 min en pas de 10 ms l 2 s à 9,1 heures en pas de 1 s TWD USE 10AF 05/2002 Instructions avancées Fonctionnement La fréquence du signal de sortie est réglée au moment de la configuration en sélectionnant la base temps et le %PWMi.P préréglé. La modification du rapport % PWMi.R dans le programme permet de moduler la largeur du signal. L'illustration suivante représente un diagramme d'impulsion du bloc fonction PWM avec différents cycles de charge. Diagramme d'impulsions du bloc fonction PWM : Entrée IN 80 % 50 % 20 % Ratio Sortie dédiée Programmation et configuration Dans cet exemple, la largeur du signal est modifiée par le programme en fonction de l'état des entrées %I0.0.0 et %I0.0.1 de l'automate. Si %I0.0.1 et %I0.0.2 sont réglés sur 0, le rapport %PWM0.R est réglé sur 20 % et la durée du signal à l'état 1 est alors égale à : 20 % x 500 ms = 100 ms. Si %I0.0.0 est réglé sur 0 et %I0.0.1 est réglé sur 1, le rapport %PWM0.R est réglé sur 50 % (durée de 250 ms). Si %I0.0.0 et %I0.0.1 sont réglés sur 1, le rapport %PWM0.R est réglé sur 80 % (durée de 400 ms). Exemple de programmation : %I0.0 %I0.1 / / %I0.0 %I0.1 %PWM0.R:=20 %PWM0.R:=50 / %I0.0 %I0.1 %PWM0.R:=80 %I0.2 %PWM0 IN LDN %I0.0 ANDN %I0.1 [%PWM0.R:=20] LD %I0.0 ANDN %I0.1 [%PWM0.R:=50] LD %I0.0 AND %I0.1 [%PWM0.R:=80] BLK %PWM0 LD %I0.2 IN END_BLK TB %PWMi0.P TWD USE 10AF 05/2002 287 Instructions avancées Cas spéciaux 288 Le tableau suivant présente une liste de cas spéciaux de programmation du bloc fonction PWM. Cas spécial Description Effet d'un redémarrage à froid (%S0=1) Règle le rapport %PWMi.R sur 0. En complément, la valeur de %PWMi.P est rétablie sur sa valeur configurée d'origine et prévaudra sur toute modification apportée dans l'éditeur de tables d'animation ou l'afficheur optionnel. Effet d'un redémarrage à chaud (%S1=1) Aucun effet. Utilisation d'une base temps 0,142 ms ou 0,57 ms Le fait de forcer la sortie %Q0.0.0 ou %Q0.0.1 à l'aide d'un périphérique de programmation n'interrompt pas la génération du signal. TWD USE 10AF 05/2002 Instructions avancées Bloc fonction sortie du générateur d'impulsion (%PLS) Introduction Le bloc fonction %PWM (modulation de la largeur d'impulsion) génère un signal d'onde carrée sur une voie de sortie dédiée (%Q0.0.0 ou %Q0.0.1). Le bloc fonction %PWM vous permet d'ajuster la largeur du signal, et, par conséquent, le cycle de charge. Les automates disposant de sorties relais pour ces deux voies ne prennent pas en charge cette fonction, en raison d'une limitation de fréquences. Deux blocs %PWM sont disponibles. Le bloc %PWM0 utilise la sortie dédiée %Q0.0.0 et le bloc %PMW1 utilise la sortie dédiée %Q0.0.1. Les blocs fonctions %PLS se partagent les mêmes sorties dédiées. Il est donc nécessaire de choisir l'une ou l'autre des fonctions. Représentation %PLS0 IN Q Programmable Tp TB %PLSi.P Régler R TWD USE 10AF 05/2002 D T Période fixe pouvant être configurée. 289 Instructions avancées Caractéristiques Le tableau ci-dessous contient les caractéristiques du bloc fonction PLS. Fonction Description Base temps TB 0,142 ms, 0,57 ms, 10 ms, 1 sec Période préréglée %PLSi.P La sortie %PLS1 n'arrête pas l'impulsion lorsque %PLS1.N est atteint. Ceci est valable uniquement pour %PLS0. 0 < %PLSi.P <= 32767 pour une base temps de 10 ms ou 1 sec ; 0 < %PLSi.P <= 255 pour une base temps de 0,57 ms ou 0,142 ms ; 0 = Fonction non utilisée. Nombre %PLSi.N d'impulsions Le nombre d'impulsions à générer sur une période T peut être limité à 0 < %PLSi.N < 32767. La valeur par défaut est réglée sur 0. Pour produire un nombre illimité d'impulsions, réglez %PLSi.N sur zéro. Il est toujours possible de modifier le nombre des impulsions sans tenir compte du paramètre Réglable. Réglable Y/N Lorsqu'il est réglé sur Y, il est possible de modifier la valeur de présélection %PLSi.P via l'afficheur ou l'éditeur de tables d'animation. Lorsqu'il est réglé sur N, il n'est pas possible d'accéder à cette présélection. Entrée de génération de l'impulsion IN A l'état 1, la génération des impulsions se fait sur la voie de sortie dédiée. A l'état 0, la voie de sortie est réglée sur 0. Entrée RAZ R A l'état 1, met à zéro le nombre d'impulsions des sorties %PLSi.Q et %PLSi.D. Génération %PLSi.Q d'impulsions sur sortie courante A l'état 1, il indique que le signal des impulsions est généré sur la voie de sortie dédiée configurée. %PLSi.D A l'état 1, la génération du signal est terminée. Le nombre voulu d'impulsions a été généré. Sortie de génération d'impulsion terminée 290 Objet TWD USE 10AF 05/2002 Instructions avancées Plage de périodes La valeur de présélection et la base temps peuvent être modifiées au moment de la configuration. Ces paramètres sont utilisés pour fixer la période du signal T=%PLSi.P * TB. Pour obtenir des rapports bas, le %PLSi.P sélectionné doit être d'autant plus élevé. Plage de périodes disponibles : l 0,142 ms à 36,5 ms en pas de 0,142 ms (27,4 Hz à 7 kHz) l 0,57 ms à 146 ms en pas de 0,57 ms (6,84 Hz à 1,75 kHz) l 20 ms à 5,45 min en pas de 10 ms l 2 sec à 9,1 heures en pas de 1 sec Fonctionnement L'illustration suivante représente le schéma d'impulsion du bloc fonction %PLS. Entrée IN Numéro de Sortie dédiée %PLSi.Q %PLSi.D Cas spéciaux TWD USE 10AF 05/2002 Cas spécial Description Effet d’un démarrage à froid (%S0=1) Règle la fonction %PLSi.P sur la valeur définie au cours de la configuration. Effet d’une reprise à chaud (%S1=1) Aucun effet Effet d’un arrêt de l’automate La sortie %Q0.0.0 ou %Q0.0.1 est réglée sur 0 sans prendre en compte l'état du bit système %S8. Effet de la modification de la valeur de présélection (%PLSi.P) Prend effet immédiatement Utilisation d'une base temps de 0,142 ms ou de 0,57 ms Le fait de forcer la sortie %Q0.0.0 ou %Q0.0.1 à l'aide d'un périphérique de programmation n'interrompt pas la génération du signal. 291 Instructions avancées Bloc fonction programmateur cyclique (%DR) Introduction Le fonctionnement des programmateurs cycliques est semblable à celui des programmateurs cycliques électromécaniques qui permettent la modification de pas en fonction d'événements externes. A chaque pas, le point haut d'une came donne une commande exécutée par le système de régulation. Dans le cas d'un programmateur cyclique, ces points hauts sont symbolisés par l'état 1 pour chacun des pas et sont affectés aux bits de sortie %Qi.j ou aux bits internes %Mi, appelés "bits de contrôle". Illustration L'exemple suivant illustre l'utilisation du bloc fonction programmateur cyclique. %DRi R F U PAS 8 Bloc fonction programmateur cyclique 292 TWD USE 10AF 05/2002 Instructions avancées Paramètres Le bloc fonction programmateur cyclique possède les paramètres suivants. Paramètre Etiquette Valeur Numéro %DRi Automates compacts 0 à 3 Automates modulaires 0 à 7 Numéro du pas courant %DRi.S Nombre de pas 1 à 8 (par défaut) Retour à l'entrée (ou à l'instruction) du pas 0 R (Reset, Remise à zéro) A l'état 1, règle le programmateur cyclique sur le pas 0. Entrée (ou instruction) avancée U (Up, Haut) Sur un front montant, provoque le passage du programmateur cyclique au pas suivant et met à jour les bits de contrôle. Sortie F (Full, Plein) Indique que le pas courant est égal au dernier pas défini. Le bit associé %DRi.F peut être testé (par exemple, %DRi.F=1, si %DRi.S= nombre de pas configurés - 1). Bits de contrôle TWD USE 10AF 05/2002 0-%DRi.S-7. Mot pouvant être lu et écrit. La valeur écrite doit être une valeur décimale immédiate. Une fois écrite, la valeur sera prise en compte à la prochaine exécution du bloc fonction. Bits de sortie ou bits internes associés au pas (16 bits de contrôle) et définis dans l'éditeur de configuration. 293 Instructions avancées Fonctionnement des blocs fonctions du programmateur cyclique Introduction Fonctionnement 294 Le programmateur cyclique est composé des éléments suivants : l Une matrice de données constantes (des cames), organisée en huit pas (numérotés de 0 à 7) et 16 bits de données (état du pas), disposés en colonnes numérotées de 0 à F. l Une liste de bits de contrôle (un par colonne) correspondant soit aux sorties %Q0.i ou %Q1.i, soit aux bits internes %Mi. Au cours du pas courant, les bits de contrôle prennent les états binaires définis pour ce pas. L'exemple présenté dans le tableau suivant résume les caractéristiques principales du programmateur cyclique. Colonne 0 1 2 D E F Bits de contrôle %Q0.1 %Q0.3 %Q1.5 %Q0.6 %Q0.5 %Q1.0 Pas 0 0 0 1 1 1 0 Pas 1 1 0 1 1 0 0 Pas 5 1 1 1 0 0 0 Pas 6 0 1 1 0 1 0 Pas 7 1 1 1 1 0 0 Dans l'exemple précédent, le pas 5 est le pas courant, les bits de contrôle %Q0.1, %Q0.3 et %Q1.5 sont à l'état 1 ; les bits de contrôle %Q0.6, %Q0.5 et %Q1.0 sont à l'état 0. Le numéro du pas courant est incrémenté d'une unité sur chaque front montant à l'entrée U (ou lors de l'activation de l'instruction U). Le pas courant peut être modifié par le programme. TWD USE 10AF 05/2002 Instructions avancées Chronogramme Cas spéciaux Le diagramme suivant illustre la temporisation du fonctionnement du programmateur cyclique. Entrée U: Entrée R: Etape n° %DRi.S Sortie %DRi.F 0 1 2 3 L-1 0 1 2 0 1 Le tableau suivant présente une liste des cas spéciaux de fonctionnement du programmateur cyclique. Cas spécial Description Effets d'un redémarrage à Provoque la réinitialisation du programmateur cyclique au pas 0 froid (%S0=1) (par la mise à jour des bits de contrôle). TWD USE 10AF 05/2002 Effet d'un redémarrage à chaud (%S1=1) Met à jour les bits de contrôle après le pas courant. Effet d'un saut de programme Si le programmateur cyclique n'est pas scruté, les bits de contrôle ne sont pas remis à 0. Mise à jour des bits de contrôle Survient uniquement en cas de changement de pas ou lors d'un démarrage à froid ou d'un redémarrage à chaud. 295 Instructions avancées Programmation et configuration des programmateurs cycliques Introduction Dans l’exemple suivant de programmation et de configuration d’un programmateur cyclique, les six premières sorties (%Q0.0 à %Q0.5) sont activées les unes à la suite des autres, chaque fois que l'entrée %I0.1 est réglée sur 1. L'entrée I0.0 remet les sorties à zéro. Exemple de programmation L'illustration suivante représente un bloc fonction programmateur cyclique et présente des exemples de programmation réversible et non réversible. %I0.0 %Q0.8 %DR1 R F %I0.1 U PAS 6 Schéma à contacts BLK %DR1 LD %I0.0 R LD %I0.1 U OUT_BLK LD F ST %Q0.8 END_BLK Programme réversible 296 LD R LD U LD ST %I0.0 %DR1 %I0.1 %DR1 %DR1.F %Q0.8 Programme non réversible TWD USE 10AF 05/2002 Instructions avancées Configuration Les informations suivantes sont définies au moment de la configuration : l nombre de pas : 6 l états de sortie (bits de contrôle) pour chaque pas du programmateur cyclique 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Etape 1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Etape 2 : 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Etape 3 : 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 Etape 4 : 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Etape 5 : 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 Etape 6 : 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 l affectation des bits de contrôle TWD USE 10AF 05/2002 1: %Q0.0 4: %Q0.1 2: %Q0.2 5: %Q0.3 3: %Q0.4 6: %Q0.5 297 Instructions avancées Bloc fonction compteur rapide (%FC) Introduction Le bloc fonction compteur rapide (%FC) sert à la fois de compteur et de décompteur. Il peut compter le front montant des entrées TOR pour des fréquences allant jusqu'à 5 kHz. Etant donné que les compteurs rapides (FC) sont gérés par des interruptions matérielles spécifiques, le maintien du taux d'échantillonnage maximal des fréquences peut varier en fonction de la configuration de vos applications et de votre matériel. La configuration des automates compacts permet l'utilisation d'un maximum de trois compteurs rapides (FC), alors que celle des automates modulaires ne permet que l'utilisation de deux de ces compteurs. Les blocs fonctions compteurs rapides %FC0, %FC1 et %FC2 utilisent respectivement les entrées dédiées %I0.0.2, %I0.0.3 et %I0.0.4. Ces bits ne sont pas réservés exclusivement à ces blocs fonctions. L'affectation de ces bits doit être déterminée selon l'utilisation de ces ressources dédiées par d’autres blocs fonctions. Illustration L’exemple suivant illustre un bloc fonction compteur rapide (FC). %FC0 IN D TYPE ADJ %FC0.P R 298 TWD USE 10AF 05/2002 Instructions avancées Paramètres Remarque TWD USE 10AF 05/2002 Le tableau présente les différents paramètres du bloc fonction compteur rapide (FC). Paramètre Etiquette Description Direction TYPE Paramètre réglé lors de la configuration et permettant de choisir entre le compteur et le décompteur. Valeur de présélection %FCi.P Valeur initiale réglée entre 1 et 65 635. Réglable Y/N Lorsqu'il est réglé sur Y, il est possible de modifier les valeurs de présélection %FCi.P et %FCi.V à l'aide de l'afficheur ou de l'éditeur de tables d'animation. Lorsqu'il est réglé sur N, il n'est pas possible d'accéder à cette présélection. Valeur courante %FCi.V Le comptage des valeurs courantes est effectué de manière croissante ou décroissante selon la fonction de comptage sélectionnée. Pour le comptage, la valeur courante est mise à zéro et peut aller jusqu'à 65 536. Pour le décomptage, la valeur courante est la valeur de présélection %FCi.P et peut décroître jusqu'à zéro. Activer entrée IN A l'état 1, la valeur courante est mise à jour selon les impulsions appliquées à l'entrée physique. A l'état 0, la valeur courante reste inchangée. Remise à zéro %FCi.R Paramètre utilisé pour initialiser le bloc. A l'état 1, la valeur courante est mise à 0 lorsque le bloc est configuré en tant que compteur et à %FCi.P lorsqu'il est configuré en tant que décompteur. Le bit Terminé %FCi.D revient à sa valeur par défaut. Terminé %FCi.D Ce bit est réglé sur 1 lorsque %FCi.V atteint %FCi.P si celui-ci est configuré en tant que compteur, ou lorsque %FCi.V atteint zéro s'il est configuré en tant que décompteur. Ce bit en lecture seule est mis à 0 uniquement lorsque le paramètre %FCi.R est réglé sur 1. Lorsque le bloc est configuré comme réglable, l'application peut modifier la valeur de présélection %FCi.P et la valeur courante %FCi.V à tout moment. Cependant, une nouvelle valeur est prise en compte uniquement lorsque la réinitialisation des entrées est active ou sur le front montant de la sortie %FCi.D. Cela permet d'effectuer plusieurs comptages successifs sans perdre une seule impulsion. 299 Instructions avancées Fonctionnement Lorsque le bloc est configuré pour le comptage, la valeur courante est incrémentée de 1 dès qu'un front montant apparaît à l'entrée dédiée. Lorsque la valeur est égale à la valeur de présélection %FCi.P, le bit de sortie Terminé %FCi.D est réglé sur 1 et la valeur courante %FCi.V devient égale à zéro. Lorsque le bloc est configuré pour le décomptage, la valeur courante est diminuée de 1 dès qu'un front montant apparaît à l'entrée dédiée. Lorsque la valeur est égale à zéro, le bit de sortie Terminé %FCi.D est réglé sur 1 et la valeur courante devient égale à la valeur de présélection %FCi.P. Configuration et programmation Dans l'exemple ci-dessous, l'application compte le nombre des éléments (5000 maximum) et %I1.1 est réglé sur 1. L'entrée pour %FC0 est l'entrée dédiée %I0.0.2. Lorsque la valeur de présélection est atteinte, %FC0.D est réglé et conserve la même valeur jusqu'à ce que %FC0.R soit défini par le résultat de l'opération booléenne « ET » sur %I1.2 et %M0. %I1.1 I1.2 300 %Q0.0 IN %FC0 R TYPE UP ADJY %FC0.P 5000 %M0 D BLK %FC0 LD %I1.1 IN LD %I1.2 AND %MO R OUT_BLK LD D ST %Q0.0 END_BLK TWD USE 10AF 05/2002 Instructions avancées Cas spéciaux TWD USE 10AF 05/2002 Le tableau suivant présente une liste des cas spéciaux de programmation du bloc fonction %FC. Cas spécial Description Effet d’un démarrage à froid (%S0=1) Utilise les valeurs configurées par l'utilisateur ou par l'application utilisateur pour régler tous les attributs %FC. Effet d’une reprise à chaud (%S1=1) Aucun effet. Effet de l'arrêt de l'automate %FC continue à compter selon les réglages des attributs effectifs au moment de l'arrêt de l'automate. 301 Instructions avancées Bloc fonction compteur rapide (%VFC) Introduction 302 Le bloc fonction compteur rapide (%VFC) peut être configuré à l'aide de TwidoSoft pour effectuer l'une des fonctions suivantes : l compteur/décompteur l compteur/décompteur bi-phases l compteur simple l décompteur simple l fréquencemètre Le %VFC permet de compter les entrées TOR pour des fréquences allant jusqu'à 20 kHz. Il est possible de configurer un compteur rapide (VFC) à l'aide des automates compacts et jusqu'à deux compteurs rapides (VFC) à l'aide des automates modulaires. TWD USE 10AF 05/2002 Instructions avancées Affectations E/S dédiées Les blocs fonctions compteurs rapides (VFC) utilisent des entrées dédiées et des entrées et sorties auxiliaires. Ces entrées et ces sorties ne sont pas réservées exclusivement à ces blocs fonctions. Leur affectation doit être décidée en prenant en compte l'utilisation par d'autres blocs fonctions de ces ressources dédiées. Le tableau suivant récapitule ces affectations. Entrées principales %VFC Entrées auxiliaires Sorties réflexes Utilisation choisie Première Seconde entrée Entrée de entrée (impulsions ou présélecti (impulsions) IA UP/DO) IB on IPres Entrée Première d'intercep sortie tion Ica réflexe Seconde sortie réflexe Compteur/ décompteur %I0.0.1 (Impulsions) %I0.0.0 (Indique %I0.0.2 UP=1/DO=0) Facultatif %I0.0.3 Facultatif %Q0.0.2 Facultatif %Q0.0.3 Facultatif Compteur/ Décompteur biphases %I0.0.1 (Impulsions) %I0.0.0 (Impulsion phase B) %I0.0.2 Facultatif %I0.0.3 Facultatif %Q0.0.2 Facultatif %Q0.0.3 Facultatif Compteur simple %I0.0.1 (Impulsions) Non utilisé %I0.0.2 Facultatif %I0.0.3 Facultatif %Q0.0.2 Facultatif %Q0.0.3 Facultatif Décompteur simple %I0.0.1 (Impulsions) Non utilisé %I0.0.2 Facultatif %I0.0.3 Facultatif %Q0.0.2 Facultatif %Q0.0.3 Facultatif Compteur de fréquence %I0.0.1 (Impulsions) Non utilisé Non utilisé Non utilisé Non utilisé Non utilisé Compteur/ décompteur %I0.0.7 (Impulsions) %I0.0.6 (Indique %I0.0.5 UP=1/DO=0) Facultatif %I0.0.4 Facultatif %Q0.0.4 Facultatif %Q0.0.5 Facultatif Compteur/ Décompteur biphases %I0.0.7 (Impulsions) %I0.0.6 (Impulsion phase B) %I0.0.5 Facultatif %I0.0.4 Facultatif %Q0.0.4 Facultatif %Q0.0.5 Facultatif Compteur simple %I0.0.7 (Impulsions) Non utilisé %I0.0.5 Facultatif %I0.0.4 Facultatif %Q0.0.4 Facultatif %Q0.0.5 Facultatif Décompteur simple %I0.0.7 (Impulsions) Non utilisé %I0.0.5 Facultatif %I0.0.4 Facultatif %Q0.0.4 Facultatif %Q0.0.5 Facultatif Fréquencemètre %I0.0.7 (Impulsions) Non utilisé Non utilisé Non utilisé Non utilisé Non utilisé Commentaires : HA/BA = HAUT/BAS Util. fac. = utilisation facultative Lorsqu'elle n'est pas utilisée, l'entrée ou la sortie reste une E/S TOR normale gérée par l'application au cours du cycle principal. Si %I0.0.2 est utilisé, %FC0 n'est pas disponible. Si %I0.0.3 est utilisé, %FC2 n'est pas disponible. Si %I0.0.4 est utilisé, %FC3 n'est pas disponible. TWD USE 10AF 05/2002 303 Instructions avancées Illustration La figure suivante représente le compteur rapide (VFC) sous forme de bloc. %VFC0 IN F TYPE T_OUT0 U T_OUT1 ADJ %VFC0.P TH0 S Paramètres TH1 Le tableau suivant répertorie les caractéristiques du bloc fonction compteur rapide (VFC). Fonction Description Valeurs Utilisation Accès en cours du VFC4 d'exécution Valeur courante (%VFCi.V) La valeur courante est augmentée ou diminuée en fonction des entrées physiques et de la fonction sélectionnées. Vous pouvez régler cette valeur ou lui réattribuer sa valeur initiale à l'aide de la fonction Régler entrée (%VFCi.S). 0 -> 65 535 CM Valeur de présélection (%VFCi.P) Uniquement utilisée par la fonction compteur/ décompteur et par le comptage ou le décomptage simple. 0 -> 65 535 CM ou FM Lecture et Valeur de capture Uniquement utilisée par la fonction compteur/ décompteur et par le comptage ou le décomptage simple. 0 -> 65 535 CM Lecture Sens de comptage (%VFCi.U) Défini par le système, ce bit est utilisé par la fonction de comptage/décomptage pour vous indiquer le sens de comptage. Lorsqu'il est réglé sur 1, le comptage est croissant et lorsqu'il est réglé sur 0, le comptage est décroissant. %I0.0.0 détermine, en tant que compteur/décompteur mono-phase, le sens de %VFC0, et %I0.0.6 le détermine pour %VFC1. Pour un compteur/décompteur bi-phases, la différence de phase entre les deux signaux détermine ce sens de comptage. Pour %VFC0, %I0.0 est dédié à IB et %I0.1 à IA. Pour %VFC1, %I0.6 est dédié à IB et %I0.7 à IA. 0 (Décroissant) CM 1 (Croissant) Lecture 304 Lecture écriture1 TWD USE 10AF 05/2002 Instructions avancées Fonction Description Valeurs Utilisation Accès en cours du VFC4 d'exécution Activer sortie réflexe 0 (%VFCi.R) Activer sortie réflexe 0 0 (Désactivé) 1 (Activé) CM Activer sortie réflexe 1 (%VFCi.S) Activer sortie réflexe 1 0 (Désactivé) 1 (Activé) CM Valeur de seuil S0 (%VFCi.S0) Contient la valeur de seuil 0. Sa signification est définie lors de la configuration du bloc fonction. Note : Cette valeur doit être inférieure à %VFCi.S1. 0 -> 65 535 CM Valeur de seuil S1 (%VFCi.S1) Contient la valeur de seuil 0. Sa signification est définie lors de la configuration du bloc fonction. Note : Cette valeur doit être supérieure à %VFCi.S0. 0 -> 65 535 Mesure de fréquence valide (%VFCi.M) Bit utilisé afin de déterminer si l'automate a terminé une mesure de fréquence. 0 (Non valide) 1 (Valide) Base temps de la mesure de fréquence (%VFCi.T) Elément de configuration de la base temps (100 ou 1000 1000 ou 100 millisecondes). Réglable (Y/N) Elément de configuration qui, lorsqu'il est sélectionné, permet à l'utilisateur de modifier les valeurs de présélection, de seuil et de base temps de la fréquence de mesure en cours d'exécution. Activer entrée Utilisée pour valider ou inhiber la fonction courante. (IN) Définie sur 1 si %VFCi.V passe de 0 à 65 535 ou de 65 535 à 0. Cette valeur est effacée lorsque la valeur de présélection est définie à l'aide d'une entrée TOR ou d'une instruction S, ou lors d'un redémarrage à froid. TWD USE 10AF 05/2002 écriture2 Lecture et écriture2 Lecture et écriture2 CM Lecture et écriture1 FM Lecture et écriture FM Lecture et écriture1 0 (Non) 1 (Oui) CM ou FM Non 0 (Non) CM ou FM Lecture et écriture3 0 ou 1 Régler entrée Dépend de la configuration à l'état 1 : (S) l comptage/décomptage ou décomptage : règle la valeur courante sur la valeur de présélection. l comptage simple : règle la valeur courante sur 0. Cette fonction permet d'initialiser également la commande des sorties seuils et prend en compte toutes les modifications apportées par un utilisateur aux valeurs de seuils définies par l'afficheur ou le programme utilisateur. Sortie pour débordement (F) Lecture et 0 ou 1 CM ou FM Lecture et écriture CM Lecture 305 Instructions avancées Fonction Description Valeurs Utilisation Accès en cours du VFC4 d'exécution Seuil Bit 0 (%VFCi.TH0) Défini sur 1 lorsque la valeur courante est supérieure ou égale à la valeur de seuil %VFCi.S0. Nous conseillons de tester ce bit une seule fois dans le programme, car il est mis à jour en temps réel. L'application utilisateur est responsable de la validité de la valeur au moment de son utilisation. 0 ou 1 CM Lecture Seuil Bit 1 (%VFCi.TH1) Défini sur 1 lorsque la valeur courante est supérieure ou égale à la valeur de seuil %VFCi.S1. Nous conseillons de tester ce bit une seule fois dans le programme, car il est mis à jour en temps réel. L'application utilisateur est responsable de la validité de la valeur au moment de son utilisation. 0 ou 1 CM Lecture Note : 1. Accessible en écriture uniquement si la fonction Réglable est réglée sur un. 2. Accès disponible si configuré uniquement. 3. Accès en lecture et en écriture seulement à partir de l'application. Accès impossible à partir de l'Afficheur ou de l'Editeur de tables d'animation. 4. CM = Mode comptage et FM = Mode Fréquencemètre. 306 TWD USE 10AF 05/2002 Instructions avancées Description de la fonction de comptage La fonction de comptage rapide (VFC) fonctionne à une fréquence maximale de 20 kHz et pour une plage de valeurs allant de 0 à 65 535. Les impulsions à compter sont appliquées de la manière suivante. Fonction Description %VFC0 IA ... IB IA ... IB IA ... IB Compteur/ Décompteur Les impulsions sont appliquées à l'entrée physique ; l'opération courante (augmentation/diminution) est définie par l'état de l'entrée physique IB. %I0.0.1 %I0.0.0 %I0.0.7 %I0.0.6 Compteur/ Décompteur biphases Les deux phases du codeur sont appliquées aux entrées %I0.0.1 %I0.0.0 %I0.0.7 %I0.0.6 physiques IA et IB. Compteur simple Les impulsions sont appliquées à l'entrée physique IA. IB %I0.0.1 ND n'est pas utilisée. %I0.0.7 ND Décompteur simple Les impulsions sont appliquées à l'entrée physique IA. IB %I0.0.1 ND n'est pas utilisée. %I0.0.7 ND Remarques sur les blocs fonctions Les opérations d'augmentation ou de diminution sont effectuées sur le front montant des impulsions et ce, uniquement lorsque la fonction comptage est activée. Deux entrées facultatives sont utilisées en mode comptage. ICa et IPres. ICa est utilisée pour capturer la valeur courante (%VFCi.V) et la stocker dans %VFCi.C. Les entrées Ica sont définies en tant que %I0.0.3 pour %VFC0 et %I0.0.4 pour %VFC1, si cette valeur est disponible. Lorsque l'entrée IPres est active, la valeur courante est affectée de la manière suivante : l Pour le comptage, %VFCi.V est remis à 0. l Pour le décomptage, %VFCi.V est réglé sur %VFCi.P. l Pour le comptage de fréquence, %VFCi.V et VFCi.M sont réglés sur 0. Attention : %VFCi.F sera également réglé sur 0. Les entrées IPres sont définies sur %I0.0.2 pour %VFC0 et sur %I0.0.5 pour %VFC1 si cette valeur est disponible. Remarques sur les sorties blocs fonctions Pour toutes les fonctions, les valeurs courantes sont comparées aux deux seuils (%VFCi.S0 et % VFCi.S1). Les deux objets bits (%VFCi.TH0 et %VFCi.TH1) sont réglés en fonction des résultats de cette comparaison. Ils sont réglés sur 1 lorsque la valeur courante est supérieure ou égale au seuil correspondant ou sur 0 dans le cas contraire. Les sorties réflexes (si elles sont configurées) sont réglées en fonction de ces comparaisons. Note : Aucune, une ou deux sorties peuvent être configurées. %VFC.U est une sortie du FB. Elle indique le sens de variation du compteur (1 pour comptage, 0 pour décomptage). TWD USE 10AF 05/2002 307 Instructions avancées Schéma de la fonction de comptage IA = Entrée compteur (Signal unique ou phase 1) & %VFCi.U + IN %VFCi Sens de comptage Compteur VFC - IB = (Balise HAUT/BAS ou phase 2) & %VFCi.F Sortie pour débordement %VFCi.P IPres = (Entrée de présélection) %VFCi.V >1 Valeur courante Valeur courante S %VFCi %ICa = Entrée d'interception VFCiC Valeur de capture >1 Lire instruction %VFCi.V %VFCi.TH0 %VFCi.S0 Seuil Valeur 0 %VFCi.S1 Seuil Valeur 1 %VFCi.R ou %VFCi.S Activer 308 %VFCi.TH1 Comparaison & %Q0.0.x Sortie réflexe 0 & %Q0.0.y Sortie réflexe 1 TWD USE 10AF 05/2002 Instructions avancées Opération de comptage simple Voici un exemple de l'utilisation de %VFC en mode comptage simple. Les éléments de configuration suivants ont été définis pour cet exemple : La valeur de présélection, %VFC0.P, est égale à 17. Le seuil inférieur, %VFC0.S0, est égal à 14 et le seuil supérieur, %VFC0.S1, à 20. Sortie réflexe <%VFC.S0 %VFC0.S0 <= < %VFC0.S1 %Q0.0.2 X %Q0.0.3 >= %VFC0.S1 X X Exemple de chronogramme : %VFC0.P = 17 %VFC0.S0 = 14 %VFC0.S1 = 20 1 2 3 4 IN S 65535 20 17 14 %VFC0.V 0 F TH0 TH1 Sortie réflexe 0 Sortie réflexe 1 TWD USE 10AF 05/2002 1 : %VFC0.U = 1 car VFC est un compteur 2 : modification de %VFC0.S1 sur 17 3 : L'activation de l'entrée S permet d'accorder la nouvelle valeur du seuil S1 lors du décompte suivant 4 : une interception de la valeur courante a lieu, ainsi, %VFC0.C = 17 309 Instructions avancées Opération de décomptage simple Voici un exemple de l'utilisation de %VFC en mode décomptage simple. Les éléments de configuration suivants ont été définis pour cet exemple : La valeur de présélection, %VFC0.P, est égale à 17. Le seuil inférieur, %VFC0.S0, est égal à 14 et le seuil supérieur, %VFC0.S1, à 20. Sortie réflexe <%VFC.S0 %Q0.0.2 %VFC0.S0 <= < %VFC0.S1 >= %VFC0.S1 X %Q0.0.3 X X %VFC0.P = 17 %VFC0.S0 = 14 %VFC0.S1 = 20 1 2 3 4 5 IN S 65535 20 17 14 %VFC0.V 0 F TH0 TH1 Sortie réflexe 0 Sortie réflexe 1 310 1 : %VFC0.U = 1 car VFC est un décompteur 2 : modification de %VFC0.P sur 20 3 : modification de %VFC0.S1 sur 17 4 : L'activation de l'entrée S permet d'accorder la nouvelle valeur du seuil S1 lors du décompte suivant 5 : une interception de la valeur courante a lieu, ainsi, %VFC0.C = 17 TWD USE 10AF 05/2002 Instructions avancées Opération de comptage/ décomptage Voici un exemple de l'utilisation de %VFC en mode comptage/décomptage. Les éléments de configuration suivants ont été définis pour cet exemple : La valeur de présélection, %VFC0.P, est égale à 17. Le seuil inférieur, %VFC0.S0, est égal à 14 et le seuil supérieur, %VFC0.S1, à 20. Sortie réflexe <%VFC.S0 %Q0.0.2 %VFC0.S0 <= < %VFC0.S1 %VFC0.S1 X %Q0.0.3 X X %VFC0.P = 17 %VFC0.S0 = 14 %VFC0.S1 = 20 1 2 3 4 5 IN S 65535 20 17 14 %VFC0.V 0 F U TH0 TH1 Sortie réflexe 0 Sortie réflexe 1 TWD USE 10AF 05/2002 1 : %VFC0.U = 1 car VFC est un décompteur 2 : modification de %VFC0.P sur 20 3 : modification de %VFC0.S1 sur 17 4 : L'activation de l'entrée S permet d'accorder la nouvelle valeur du seuil S1 lors du décompte suivant 5 : une interception de la valeur courante a lieu, ainsi, %VFC0.C = 17 311 Instructions avancées Description de la fonction Fréquencemètre La fonction Fréquencemètre d'un %VFC est utilisée pour mesurer la fréquence en Hz d'un signal périodique sur l'entrée IA. La plage de fréquences pouvant être mesurées s’étend de 10 à 20 Hz. L'utilisateur peut choisir entre deux bases temps. Ce choix est effectué par le biais d'un nouvel objet %VFC.T (Base temps). Une valeur de 100 correspond à une base temps de 100 ms et une valeur de 1000 correspond à une base temps d'une seconde. Base Temps Plage de mesure Précision Mise à jour 100 ms 100 Hz à 20 Khz 0,05 % pour 20 kHz 10 % pour 100 Hz 10 fois par seconde 1s 10 Hz à 20 Khz 0,005% pour 20 kHz 10 % pour 10 Hz Une fois par seconde L'objet %VFC.M (Mesure de fréquence valide) est réglé sur 1 afin d'indiquer que la mesure est terminée. Schéma de la fonction Fréquencemètre Exemple de schéma de fonction Fréquencemètre : IA Signal à mesurer + & Compteur VFC IN %VFCi %VFCi.F Sortie pour débordement S %VFCi Régler la valeur courante sur 0 %VFCi.V Valeur courante %VFCi.M %VFCi.T Sélectionner base temps 312 Fréquence mesurée (Balise de mise à jour) 1000 ms 100 ms TWD USE 10AF 05/2002 Instructions avancées Opération Fréquencemètre Voici un exemple de chronogramme de l’utilisation de %VFC en mode Fréquencemètre : 1 2 3 4 5 IN S Base temps %VFC0.V f1 f2 0 f3 0 f3 f4 f5 %VFC0.M Cas spéciaux TWD USE 10AF 05/2002 1 : La mesure de la première fréquence débute ici. 2 : La valeur de la fréquence courante est mise à jour. 3 : L'activation de l'entrée S règle %VFC0.V sur 0. 4 : Modification de %VFC0.T sur 100 ms : cette modification annule la mesure courante et en débute une autre. 5 : %VFC0.M est réglé sur 0 par l'utilisateur. Le tableau suivant présente une liste des cas spéciaux de programmation du bloc fonction %VFC. Cas spécial Description Effet d'un redémarrage à froid (%S0=1) Utilise les valeurs configurées par l'utilisateur ou par l'application utilisateur pour régler tous les attributs %VFC. Effet d'un redémarrage à chaud (%S1=1) Aucun effet Effet de l'arrêt de l'automate Le %VFC arrête de fonctionner et les sorties restent dans leur état courant. 313 Instructions avancées Transmission et réception de messages - Instruction d'échange (EXCH) Introduction Il est possible de configurer un automate Twido afin qu’il puisse communiquer avec des périphériques esclaves Modbus ou envoyer et recevoir des messages en mode ASCII (mode caractères). TwidoSoft propose les fonctions suivantes pour ces communications : l Instruction EXCH pour la transmission ou la réception de messages l Bloc fonction de contrôle d'échange %MSG assurant le contrôle des échanges de données L'automate Twido utilise le protocole configuré pour le port spécifié lors du traitement d'une instruction EXCH. Chaque port de communication peut être configuré pour un ou plusieurs protocoles. De plus, l'accès à l'instruction EXCH ou au bloc fonction %MSG de chaque port de communication s'effectue par l'ajout du numéro du port (1 ou 2). EXCH, instruction L'instruction EXCH permet à un automate Twido d'envoyer ou de recevoir des informations vers/depuis des périphériques ASCII. L'utilisateur définit une table de mots (%MWi:L ou %KWi:L) contenant les données à envoyer ou à recevoir (gestion d'un maximum de 64 mots de données en transmission ou en réception). Le format des tables de mots fait l'objet d'une description détaillée dans les sections relatives à chaque protocole. Un échange de message est exécuté à l'aide de l'instruction EXCH. Syntaxe Vous trouverez ci-dessous la syntaxe à utiliser pour l'instruction EXCH : [EXCHx %MWi:L] ou [EXCHx %KWi:L Où : x = numéro de port (1 ou 2); L = nombre de mots de la table de mots. Les valeurs contenues dans la table de mots interne %MWi:L prennent la forme i+L 255.] L'automate Twido doit terminer l'échange ordonné par la première instruction EXCHx avant qu'une nouvelle instruction d'échange puisse être lancée. Le bloc fonction %MSG doit être utilisé lors de l'envoi de plusieurs messages. 314 TWD USE 10AF 05/2002 Instructions avancées Bloc fonction de contrôle d'échange (%MSG) Introduction Le bloc fonction %MSG assure la gestion des échanges de données. Ce bloc a trois fonctions : l vérification des erreurs de communications : Cette fonction a pour but de s'assurer que la longueur du bloc (table de mots) programmée avec l'instruction EXCH est suffisante pour le stockage du message à envoyer (comparaison de la longueur programmée dans l'octet le moins significatif du premier mot de la table de mots). l coordination de plusieurs messages : Afin d'assurer la coordination de l'envoi de plusieurs messages, le bloc fonction %MSG contient des informations permettant de s'assurer que la transmission de chaque message est bien terminée. l transmission de messages prioritaires : Le bloc fonction %MSG vous permet de suspendre la transmission d'un message afin d'envoyer un message plus urgent. La programmation du bloc fonction %MSG est facultative. Illustration L’exemple suivant illustre le bloc fonction %MSG. %MSG R D E TWD USE 10AF 05/2002 315 Instructions avancées Paramètres Le tableau présente les différents paramètres du bloc fonction %MSG. Paramètre Etiquette Valeur Entrée (ou R instruction) RAZ A l'état 1, réinitialise la communication : %MSG.E = 0 et %MSG.D = 1. Sortie comm. terminée %MSG.D Etat 1, comm. terminée, si : l fin de transmission (si transmission) l fin de réception (réception du caractère de fin) l erreur l réinitialise le bloc Etat 0, requête en cours. Sortie Défaillance (Erreur) %MSG.E Etat 1, comm. terminée, si : l commande incorrecte l table configurée de manière incorrecte l réception d'un caractère incorrect (vitesse, parité, etc.) l table de réception pleine (non mise à jour) Etat 0, longueur du message OK, lien OK. Si une erreur survient lors de l'exécution d'une instruction EXCH, les bits %MSG.D et %MSG.E sont réglés sur 1, le mot système %SW63 contient le code de l'erreur du Port 1 et le mot système %SW64 celui du Port 2. Reportez-vous à la rubrique Mots système (%SW), p. 341. Entrée RAZ (R) Lorsque Entrée RAZ est réglée sur 1 : l La transmission de tous les messages est interrompue. l La sortie Défaillance (Erreur) est remise à 0. l Le bit Terminé est réglé sur 1. Un nouveau message peut être envoyé. Sortie Défaillance (Erreur) (%MSG.E) La sortie Erreur est réglée sur 1 en cas d'erreur de programmation des communications ou de transmission d'un message. La sortie Erreur est réglée sur 1 si le nombre d'octets définis dans le bloc de données associé à l'instruction EXCH (mot 1, octet le moins significatif) est supérieur à 128 (80 en hexadécimal). La sortie Erreur est également réglée sur 1 en cas de problème lors de l'envoi d'un message Modbus vers un périphérique Modbus. Dans ce cas, l'utilisateur devra vérifier la connexion et s'assurer que le périphérique de destination peut recevoir des communications Modbus. Sortie Communication terminée (%MSG.D) Lorsque la sortie Terminé est réglée sur 1, l'automate Twido est prêt à envoyer un autre message. L'utilisation de la sortie %MSG.D est recommandée en cas d'envoi de plusieurs messages. Si cette sortie n'est pas utilisée, les messages pourront être perdus. 316 TWD USE 10AF 05/2002 Instructions avancées Transmission de plusieurs messages successifs L'exécution de l'instruction EXCH permet d'activer un bloc message dans le programme d'application. Le message est transmis si le bloc message n'est pas déjà actif (%MSG.D = 1). Si plusieurs messages sont envoyés au cours du même cycle, seul le premier message est transmis. La gestion de la transmission de plusieurs messages à l'aide du programme incombe à l'utilisateur. Exemple de transmission de deux messages successifs : %I0.0 %MSG.D EXCH%MW2:4 P %M0 S %MSG.D %M0 EXCH%MW8:3 LDR %I0.0 AND %MSG.D [EXCH %MW2:4] S %M0 LD %MSG.D AND %M0 [EXCH %MW8:3] R %M0 %M0 R Réinitialisation des échanges L'annulation d'un échange survient lors de l'activation de l'entrée (ou de l'instruction) R. Cette entrée initialise la communication, remet à zéro la sortie %MSG.E et règle la sortie %MSG.D sur 1. Notez qu'il est possible de réinitialiser une communication si une défaillance est détectée. Exemple de réinitialisation d'un échange : %M0 %MSG R D BLK %MSG LD %M0 R END_BLK E TWD USE 10AF 05/2002 317 Instructions avancées Cas spéciaux 318 Le tableau présente les cas spéciaux de programmation du bloc fonction %MSG. Cas spécial Description Effet d’un démarrage à froid (%S0=1) Force la réinitialisation de la communication. Effet d’une reprise à chaud (%S1=1) Aucun effet. Effet d’un arrêt de l’automate Si un message est en cours de transmission, l'automate interrompt le transfert et réinitialise les sorties %MSG.D et %MSG.E. TWD USE 10AF 05/2002 Instructions avancées 13.2 Fonctions horodateur En bref... Présentation Cette rubrique offre une description des fonctions de gestion du temps des automates Twido. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : TWD USE 10AF 05/2002 Sujet Page Fonctions horloges 320 Blocs horodateurs 321 Horodatage 324 Réglage de la date et de l'heure 326 319 Instructions avancées Fonctions horloges Introduction Les automates Twido possèdent une fonction Date/Heure. Cette fonction requiert l'option Horodateur (RTC) et permet d'utiliser : l Des blocs horodateurs, pour la programmation d'actions à des moments prédéfinis ou calculés. l Une fonctionnalité d'horodatage, pour la consignation des durées et des calendriers d'événements et la mesure de la durée de ces derniers. Pour accéder à l'horloge Date/Heure Twido, sélectionnez Blocs horodateurs dans le menu Logiciel de TwidoSoft. Notez que cette horloge peut également être réglée à l'aide d'un programme. En cas d'extinction de l'automate, les réglages de l'horloge sont conservés en mémoire pendant un maximum de 30 jours, si la batterie de l'automate était en charge pendant les six heures qui ont précédé l'extinction de l'automate. L'affichage de l'horloge Date/Heure se fait au format « 24 heures » et tient compte des années bissextiles. Valeur de correction du RTC La définition de la valeur de correction du RTC est nécessaire au bon fonctionnement de l'horodateur (ou RTC). Chaque horodateur possède sa propre valeur de correction, figurant au sein même de l'unité. Pour configurer cette valeur dans TwidoSoft, sélectionnez l'option Configurer RTC dans la boîte de dialogue Actions automate. 320 TWD USE 10AF 05/2002 Instructions avancées Blocs horodateurs Introduction Les blocs horodateurs permettent de programmer et de contrôler des actions selon un calendrier précis (mois, jour et heure). Un maximum de 16 blocs horodateurs peuvent être programmés. Ces blocs ne requièrent aucune saisie programme. Note : Vérifiez le bit système %S51 afin de vous assurer que l'option horodateur (RTC) est installée. Reportez-vous à la rubrique Bits système (%S), p. 332. L’option RTC est requise pour l’utilisation de blocs horodateurs. Paramètres TWD USE 10AF 05/2002 Le tableau suivant répertorie les paramètres d'un bloc horodateur : Paramètre Format Fonction/Plage Numéro du bloc horodateur n n = 0 à 15 Configuré Case à cocher Cochez cette case pour configurer le numéro du bloc horodateur sélectionné. Bit de sortie %Qx.y.z L'affectation de la sortie est activée par le bloc horodateur : %Mi ou %Qj.k. Cette sortie est réglée sur 1 lorsque les paramètres de date et d'heure courants sont compris entre les paramètres de début et de fin de la période active. Mois de début janvier à décembre Mois au cours duquel débute le bloc horodateur. Mois de fin janvier à décembre Mois au cours duquel s'achève le bloc horodateur. Date de début 1 - 31 Jour au cours duquel débute le bloc horodateur. Date de fin 1 - 31 Jour au cours duquel s'achève le bloc horodateur. Heure de début hh:mn Heure à laquelle débute le bloc horodateur. Définie par l'heure (0 à 23), suivie des minutes (0 à 59). Heure d'arrêt hh:mn Heure à laquelle s'achève le bloc horodateur. Définie par l'heure (0 à 23), suivie des minutes (0 à 59). Jour de la semaine lundi à dimanche Cases à cocher permettant de définir les jours au cours desquels sera activé le bloc horodateur. 321 Instructions avancées Activation de blocs horodateurs Les bits du mot système %SW114 activent (lorsqu'ils sont réglés sur 1) ou désactivent (lorsqu'ils sont réglés sur 0) le fonctionnement des 16 blocs horodateurs. Affectation des blocs horodateurs dans %SW114 : %SW114 Bloc Bloc horodateur n°15 horodateur n°0 Par défaut (ou après un démarrage à froid), tous les bits de ce mot système sont réglés sur 1. L'utilisation de ces bits par le programme est optionnelle. Sortie des blocs horodateurs 322 Si la même sortie (%Mi ou %Qj.k) est affectée par plusieurs blocs, l'opérande OR des résultats de chacun des blocs est finalement affecté à cet objet (notez que la même sortie peut disposer de plusieurs « plages de fonctionnement »). TWD USE 10AF 05/2002 Instructions avancées Exemple Le tableau suivant présente les paramètres d'un programme estival fictif : Paramètre Valeur Description Bloc horodateur 6 Bloc horodateur numéro 6 Bit de sortie %Qx.y.z Activer la sortie %Qx.y.z Mois de début Juin Débuter l'activité en juin Mois de fin Septembre Arrêter l'activité en septembre Date de début 21 Débuter l'activité le 21ème jour de juin Date de fin 21 Arrêter l'activité le 21ème jour de septembre Jour de la semaine lundi, mercredi, vendredi Exécuter l'activité les lundis, mercredis et vendredis Heure de début 21:00 Débuter l'activité à 21:00 Heure d'arrêt 22:00 Arrêter l'activité à 22:00 Le programme suivant permet de désactiver le bloc horodateur grâce à un commutateur ou un détecteur d'humidité lié à l'entrée %I0.1. %I0.1 %SW114:X6 LD ST %I0.1 %SW114:X6 Le chronogramme suivant illustre l'activation de la sortie %Q0.2. %I0.1 21 juin %Q0.2 L M V L M V L M V Horodatage par programme Les paramètres de date et d'heure sont disponibles dans les mots système %SW50 à %SW53 (reportez-vous à la rubrique Mots système (%SW), p. 341). Il est ainsi possible d’effectuer un horodatage dans le programme de l’automate en effectuant des comparaisons arithmétiques entre la date et l'heure courantes et les valeurs immédiates ou les mots %MWi (ou %KWi), qui peuvent contenir des consignes. TWD USE 10AF 05/2002 323 Instructions avancées Horodatage Introduction Les mots système %SW50 à %SW53 contiennent les paramètres de date et d'heure au format BCD (reportez-vous à la rubrique Révision du code BCD, p. 262), ce qui est utile pour l'affichage sur un périphérique ou la transmission vers ce périphérique. Ces mots système peuvent être utilisés pour stocker les paramètres de date et d'heure d'un événement (reportez-vous à la rubrique Mots système (%SW), p. 341. Note : Les paramètres de date et d'heure peuvent également être réglés à l'aide de l'afficheur optionnel (reportez-vous à la rubrique Horloge Date/Heure, p. 149). Datage d’un événement Pour dater un événement, il suffit d'utiliser des opérations d'affectation, de transférer le contenu de mots système vers des mots internes et de traiter ces mots internes (par exemple, la transmission vers l'afficheur à l'aide de l'instruction EXCH). Exemple de programmation L'exemple suivant montre comment dater un front montant sur l'entrée %I0.1. %I0.1 P %MW12:4 := %SW50:4 LDR %I0.0 [%MW12:4 := %SW50:4] Dès qu'un événement est détecté, la table de mots contient : Codage Octet le plus significatif Octet le moins significatif %MW12 Seconde Jour de la semaine (1) %MW13 Heure Minute %MW14 Mois Jour %MW15 Siècle Année Note : (1) 0 = lundi, 1 = mardi, 2 = mercredi, 3 = jeudi, 4 = vendredi, 5 = samedi, 6 = dimanche. 324 TWD USE 10AF 05/2002 Instructions avancées Exemple de table de mots Date et heure du dernier arrêt TWD USE 10AF 05/2002 Exemple de données pour le lundi 19 avril 2002, à 13:40:30 : Mot Valeur (hexa.) Signification %MW12 3000 30 secondes, 00 = lundi %MW13 1340 13 heures, 40 minutes %MW14 0419 04 = avril, le 19 %MW15 2002 2002 Les mots système %SW54 à %SW57 contiennent les paramètres de date et d'heure du dernier arrêt et le mot %SW58 contient le code affichant la cause du dernier arrêt, au format BCD (reportez-vous à la rubrique Mots système (%SW), p. 341). 325 Instructions avancées Réglage de la date et de l'heure Introduction 326 Pour mettre à jour les paramètres de date et d'heure, vous pouvez utiliser l'une des méthodes suivantes : l TwidoSoft Utilisez la boîte de dialogue Mise à l'heure. Cette boîte de dialogue est accessible depuis la boîte de dialogue Actions automate. Pour afficher cette boîte de dialogue, sélectionnez Actions automate dans le menuAutomate (reportez-vous au guide d'exploitation TwidoSoft). l Mots système Utilisez les mots système %SW50 à %SW53 ou le mot système %SW59. Les paramètres de date et d'heure ne peuvent être mis à jour que si la cartouche optionnelle de l'horodateur (TWDXCPRTC) est installée dans l'automate. TWD USE 10AF 05/2002 Instructions avancées Utilisation des mots %SW 50 à %SW53 Pour utiliser les mots système %SW50 à %SW53 afin de régler la date et l'heure, le bit %S50 doit être réglé sur 1. Ce réglage a les conséquences suivantes : l La mise à jour des mots %SW50 à %SW53 par l'intermédiaire de l'horloge interne est annulée. l Les valeurs écrites dans les mots %SW50 à %SW53 sont transférées à l'horloge interne. Exemple de programmation : %S50 %S50 LD R R %S50 %S50 %I0.1 P LDR %I0.1 [%SW50 := %MW10] [%SW51 := %MW11] [%SW52 := %MW12] [%SW53 := %MW13] S %S50 %SW50 := %MW10 %SW51 := %MW11 %SW52 := %MW12 %SW53 := %MW13 %S50 S Les mots %MW10 à %MW13 contiendront les nouveaux paramètres de date et d'heure au format BCD (voir section Révision du code BCD, p. 262) et correspondront au codage des mots %SW50 à 53. La table de mots doit contenir les nouveaux paramètres de date et d'heure. Codage Octet le plus significatif Octet le moins significatif %MW10 Seconde Jour de la semaine (1) %MW11 Heure Minute %MW12 Mois Jour %MW13 Siècle Année Note : (1) 0 = lundi, 1 = mardi, 2 = mercredi, 3 = jeudi, 4 = vendredi, 5 = samedi, 6 = dimanche. TWD USE 10AF 05/2002 327 Instructions avancées Exemple de données pour le lundi 19 avril 2002 : Utilisation du mot %SW59 328 Mot Valeur (hexa.) Signification %MW10 3000 30 secondes, 00 = lundi %MW11 1340 13 heures, 40 minutes %MW12 0419 04 = avril, le 19 %MW13 2002 2002 Pour mettre à jour la date et l'heure, vous pouvez également utiliser le bit système %S59 et le mot système %SW59. Le réglage du bit %S59 sur 1 permet de régler les paramètres de date et de d'heure courants à l'aide du mot %SW59 (voir section Mots système (%SW), p. 341). Le mot système %SW59 permet d'incrémenter ou de décrémenter chacun des composants de date et d'heure sur un front montant. TWD USE 10AF 05/2002 Instructions avancées Exemple de mise en oeuvre Le panneau avant suivant permet de modifier le réglage de l'horloge interne (heures, minutes et secondes). Heure Minute 13 Seconde 40 Heures 30 Minutes + - Secondes Description des commandes : l Le commutateur Heures/Minutes/Secondes permet de sélectionner l'heure à modifier, respectivement à l'aide des entrées %I0.2, %I0.3 et %I0.4. l La touche + permet d’incrémenter l'affichage de l'heure sélectionnée, à l'aide de l'entrée %I0.0. l La touche - permet de décrémenter l'affichage de l'heure sélectionnée, à l'aide de l'entrée %I0.1. Le programme suivant lit les entrées du panneau et règle l'horloge interne. %S59 %M0 %I0.2 %I0.0 %SW59:X3 P %I0.2 %I0.1 %SW59:X11 P %I0.3 %I0.0 %SW59:X2 P %I0.3 %I0.1 %SW59:X10 P %I0.4 %I0.0 %SW59:X1 P %I0.4 %I0.1 LD ST LD ANDR ST LD ANDR ST LD ANDR ST LD ANDR ST LD ANDR ST LD ANDR ST %M0 %S59 %I0.2 %I0.0 %SW59:X3 %I0.2 %I0.1 %SW59:X11 %I0.3 %I0.0 %SW59:X2 %I0.3 %I0.1 %SW59:X10 %I0.4 %I0.0 %SW59:X1 %I0.4 %I0.1 %SW59:X9 (Heure) (Minute) (Seconde) %SW59:X9 P TWD USE 10AF 05/2002 329 Instructions avancées 330 TWD USE 10AF 05/2002 Bits système et mots système 14 En bref... Présentation Ce chapitre offre une présentation des bits système et des mots systèmes pouvant être utilisés lors de la création des programmes de régulation d'automates Twido. Contenu de ce chapitre Ce chapitre contient les sujets suivants : TWD USE 10AF 05/2002 Sujet Page Bits système (%S) 332 Mots système (%SW) 341 331 Bits système et mots système Bits système (%S) Introduction La section suivante offre des informations détaillées sur la fonction des bits systèmes, ainsi que sur leur mode de contrôle. Description détaillée Le tableau suivant présente une description des bits système, ainsi que leur mode de contrôle. Bit Fonction système Description Etat initial Contrôle %S0 Démarrage à froid Normalement réglé sur 0, ce bit est réglé 0 sur 1 par : l une reprise de l'alimentation avec perte de données (défaillance d'une batterie) l le programme utilisateur ou l'éditeur de tables d'animation l l'afficheur Ce bit est réglé sur 1 au cours de la première scrutation. Il est ensuite remis à zéro par le système avant la scrutation suivante. S ou U->S %S1 Démarrage à chaud Normalement réglé sur 0, ce bit est réglé 0 sur 1 par : l une reprise de l'alimentation avec enregistrement des données l le programme utilisateur ou l'éditeur de tables d'animation l l'afficheur Il est ensuite remis à zéro par le système une fois la scrutation terminée. S ou U->S %S4 %S5 %S6 %S7 Base temps : 10 ms Base temps : 100 ms Base temps : 1 s Base temps : 1 min Les modifications d'état de ces bits sont régulées par une horloge interne. Ces modifications ne sont pas synchronisées avec la scrutation de l'automate. Exemple : %S4 S 5 ms 5 ms 332 TWD USE 10AF 05/2002 Bits système et mots système TWD USE 10AF 05/2002 Bit Fonction système Description Etat initial Contrôle %S8 Gel de la sortie Initialement réglé sur 1, ce bit peut être réglé sur 0 par le programme ou par le terminal (dans l'éditeur de tables d'animations) : l A l'état 1, efface les sorties pendant l'état NO CONFIG. l A l'état 0, autorise les tests de liaison pendant l'état NO CONFIG. 1 U %S9 Remise à zéro des sorties Normalement non réglé. Ce bit peut être 0 réglé sur 1 par le programme ou par le terminal (dans l'éditeur de tables d'animations) : l A l'état 1, force la valeur des sorties sur 0 lorsque l'automate est en mode d'exécution (RUN). l A l'état 0, les sorties sont mises à jour normalement. U %S10 Défaillance d'E/S Normalement réglé sur 1. Réglé sur 0 par le système lorsqu'une défaillance d'E/S est détectée. 1 S %S11 Débordement du chien de garde Normalement réglé sur 0. Réglé sur 1 par le système lorsque la durée d'exécution du programme (durée de scrutation) dépasse la durée de scrutation maximale (chien de garde logiciel). Le débordement du chien de garde fait passer l'automate en mode HALT. 0 S %S12 0 Automate en cours Ce bit reflète l'état d'exécution de d'exécution l'automate. Le système règle le bit sur 1 lorsque l'automate est en cours d'exécution. A l'arrêt, lors de l'initialisation du système et en tout autre état, ce bit est réglé sur 0. S %S13 Première scrutation Normalement réglé sur 0, ce bit est réglé 1 sur 1 par le système au cours de la première scrutation après que l'automate est passé en mode exécution (RUN). S 333 Bits système et mots système 334 Bit Fonction système Description Etat initial Contrôle %S17 Dépassement Normalement réglé sur 0, ce bit est réglé 0 sur 1 par le système : l en cas de dépassement au cours d'une opération arithmétique sans signe (reste). l au cours d'une opération de rotation ou de décalage. Le système règle la sortie d'un bit sur 1. Doit être testé par le programme utilisateur après chaque opération pouvant provoquer un débordement, puis remis à zéro par l'utilisateur en cas de débordement. S->U %S18 Débordement ou Normalement réglé sur 0. Réglé sur 1 en 0 erreur arithmétique cas de débordement découlant de l'exécution d'une opération de 16 bits générant : l un résultat supérieur à + 32 767 ou inférieur à - 32 768 l une division par 0 l la racine carrée d'un nombre négatif l une conversion BTI ou ITB non significative : valeur BCD hors plage Doit être testé par le programme utilisateur après chaque opération pouvant provoquer un débordement, puis remis à zéro par l'utilisateur en cas de débordement. S->U %S19 Débordement de la période de scrutation (scrutation périodique) Normalement réglé sur 0, ce bit est réglé 0 sur 1 par le système en cas de débordement d'une période de scrutation (durée de scrutation supérieure à la durée définie par l'utilisateur au moment de la configuration, ou programmée dans %SW0). Ce bit est remis à zéro par l'utilisateur. S->U TWD USE 10AF 05/2002 Bits système et mots système TWD USE 10AF 05/2002 Bit Fonction système Description Etat initial Contrôle %S20 Dépassement d'index Normalement réglé sur 0, ce bit est réglé 0 sur 1 lorsque le repère de l'objet indexé devient inférieur à 0 ou supérieur à la taille maximale d'un objet. Doit être testé par le programme utilisateur après chaque opération pouvant provoquer un débordement, puis remis à zéro en cas de débordement. S->U %S21 Initialisation de GRAFCET Normalement réglé sur 0, ce bit est réglé 0 sur 1 par : l un redémarrage à froid, %S0=1 l le programme utilisateur, uniquement dans la section du programme de prétraitement, à l'aide de l'instruction Set (S %S21) ou d'une bobine Set (S)- %S21 l le terminal A l'état 1, il provoque l'initialisation de GRAFCET. Tous les pas actifs sont désactivés et les pas initiaux sont activés. Il est ensuite remis à zéro par le système après l'initialisation de GRAFCET. U->S %S22 GRAFCET RESET Normalement réglé sur 0, ce bit ne peut 0 être réglé sur 1 par le programme qu'au cours du prétraitement. A l'état 1, il provoque la désactivation des pas de l'ensemble du GRAFCET. Il est remis à zéro par le système au début de l'exécution du traitement séquentiel. U->S 335 Bits système et mots système 336 Bit Fonction système Description Etat initial Contrôle %S23 Préréglage et gel de GRAFCET Normalement réglé sur 0, ce bit ne peut 0 être réglé sur 1 par le programme que dans le module du programme de prétraitement. A l'état 1, il valide le préréglage du graphique GRAFCET. Le maintien de ce bit sur la valeur 1 a pour effet de geler le GRAFCET (gel du graphique). Il est remis à zéro par le système au début de l'exécution du traitement séquentiel pour garantir que le graphique GRAFCET pourra sortir de la situation de gel. U->S %S24 Afficheur Normalement réglé sur 0, ce bit peut être 0 réglé sur 1 par l'utilisateur. l A l'état 0, l'afficheur fonctionne normalement. l A l'état 1, l'afficheur est gelé, conserve l'affichage courant, le clignotement est désactivé et le traitement des saisies s'interrompt. U->S %S50 Normalement réglé sur 0, ce bit peut être 0 Mise à jour de la date et de l'heure à réglé sur 1 ou sur 0 par le programme ou l'afficheur. l'aide des mots %SW50 à %SW53 l A l'état 0, la date et l'heure peuvent être lues. l A l'état 1, la date et l'heure peuvent être mises à jour. U->S TWD USE 10AF 05/2002 Bits système et mots système TWD USE 10AF 05/2002 Bit Fonction système Description %S51 Etat de l’horloge Date/Heure Normalement réglé sur 0, ce bit peut être 0 réglé sur 1 ou sur 0 par le programme ou l'afficheur. l A l'état 0, la date et l'heure sont réglées. l A l'état 1, la date et l'heure doivent être réglées par l'utilisateur. Lorsque ce bit est réglé sur 1, les données de l'horloge Date/Heure ne sont pas valides. Il est possible que la date et l'heure n'aient jamais été configurées, que le niveau de la batterie soit faible ou que la constante de correction de l'automate ne soit pas valide. Le passage de l'état 1 à 0 force l'écriture de la constante de correction sur l'horodateur. %S59 Normalement réglé sur 0, ce bit peut être 0 Mise à jour de la date et de l'heure à réglé sur 1 ou sur 0 par le programme ou l'afficheur. l'aide du mot %SW59 l A l'état 0, la date et l'heure restent inchangées. l A l'état 1, la date et l'heure sont incrémentées ou décrémentées en fonction des bits de contrôle réglés dans %SW59. U %S69 Affichage STAT LED utilisateur U %S70 Rafraîchissement Ce bit est réglé sur 1 par le système à la 0 des données sur le fin de chaque cycle de l'automate ou à la fin du cycle de scrutation du bus AS-i. bus AS-i A la mise sous tension, ce bit indique que toutes les données ont été rafraîchies au moins une fois et qu'elles sont par conséquent significatives. Ce bit doit être remis à zéro par l'utilisateur. A l'état 0, STAT LED est désactivé. A l'état 1, STAT LED est activé. Etat initial 0 Contrôle U->S S->U 337 Bits système et mots système 338 Bit Fonction système Description Etat initial Contrôle %S73 Basculement en mode protégé sur le bus AS-i Normalement réglé sur 0, ce bit est réglé 0 sur 1 par l'utilisateur afin de basculer en mode protégé sur le bus AS-i. Avant cela, le bit doit avoir été préalablement réglé sur 1. Ce bit ne sera utilisé que lors du test d'un système de liaison. Il n'a aucune utilité au sein de l'automate. S %S74 Enregistrement de la configuration du bus AS-i Normalement réglé sur 0, ce bit est réglé 0 sur 1 par l'utilisateur afin de permettre l'enregistrement de la configuration courante dans le bus AS-i. Ce bit ne sera utilisé que lors du test d'un système de liaison. Il n'a aucune utilité au sein de l'automate. S %S96 Programme de sauvegarde OK Ce bit peut être lu à n'importe quel moment (soit par le programme ou lors d'un réglage), en particulier après un démarrage à froid ou un redémarrage à chaud. l A l'état 0, le programme de sauvegarde n'est pas valide. l A l'état 1, le programme de sauvegarde est valide. 0 S %S97 Enregistrer %MW OK Ce bit peut être lu à n'importe quel moment (soit par le programme ou lors d'un réglage), en particulier après un démarrage à froid ou un redémarrage à chaud. l A l'état 0, l'enregistrement %MW n'est pas OK. l A l'état 1, l'enregistrement %MW est OK. 0 S %S100 Raccordement du câble de communications TwidoSoft Indique si le câble de communications TwidoSoft est raccordé. l A l'état 1, soit le câble de communications TwidoSoft n'est pas raccordé, soit TwidoSoft est connecté. l A l'état 0, le câble de liaison distante TwidoSoft est raccordé. - S TWD USE 10AF 05/2002 Bits système et mots système Bit Fonction système Description %S110 Echanges de liaison distante Ce bit est remis à zéro par le programme 0 ou par le terminal. l A l'état 1 pour un maître, tous les échanges de liaison distante (E/S distante uniquement) sont terminés. l A l'état 1 pour un esclave, l'échange avec maître est terminé. %S111 Echange de liaison distante unique l l l l %S112 %S113 Connexion de liaison distante Configuration/ fonctionnement de la liaison distante l l l l l %S118 TWD USE 10AF 05/2002 Erreur d'E/S distante Etat initial Contrôle S->U A l'état 0 pour un maître, un échange de liaison distante unique est terminé. A l'état 0 pour un esclave, un échange de liaison distante unique est détecté. A l'état 1 pour un maître, un échange de liaison distante unique est actif. A l'état 1 pour un esclave, un échange de liaison distante unique est détecté. 0 S A l'état 0 pour un maître, la liaison distante est désactivée. A l'état 1 pour un maître, la liaison distante est activée. 0 U A l'état 0 pour un maître ou un esclave, la configuration/le fonctionnement de la liaison distante est OK. A l'état 1 pour un maître, la configuration ou le fonctionnement de la liaison distante comporte une erreur. A l'état 1 pour un esclave, la configuration ou le fonctionnement de la liaison distante comporte une erreur. 0 S->U Normalement réglé sur 1. Réglé sur 0 1 lorsqu'une défaillance d'E/S est détectée sur le lien distant. S 339 Bits système et mots système Bit Fonction système %S119 Description des abréviations utilisées dans le tableau précédent 340 Description Etat initial 1 Erreur d’E/S locale Normalement réglé sur 1. Réglé sur 0 lorsqu'une défaillance d'E/S est détectée sur l'E/S locale (base ou expansion). %SW118 détermine la nature de la défaillance. Remis à 1 lorsque la défaillance est résolue. Contrôle S Abréviation Description S Contrôlé par le système U Contrôlé par l'utilisateur U->S Réglé sur 1 par l'utilisateur, remis à zéro par le système S->U Réglé sur 1 par le système, remis à zéro par l'utilisateur TWD USE 10AF 05/2002 Bits système et mots système Mots système (%SW) Introduction La section suivante offre des informations détaillées sur la fonction des mots système, ainsi que sur leur mode de contrôle. Description détaillée Le tableau suivant offre des informations détaillées sur la fonction des mots système, ainsi que sur leur mode de contrôle. TWD USE 10AF 05/2002 Mots système Fonction Description Contrôle %SW0 Période de scrutation de l'automate (tâche périodique) Modifie la période de scrutation de l'automate, définie au moment de la configuration à l'aide du programme utilisateur dans l'éditeur de tables d'animation. U %SW6 Etat de l'automate Etat de l'automate : 0 = NO CONFIG 2 = STOPPED 3 = RUN 4 = HALT S 341 Bits système et mots système 342 Mots système Fonction Description Contrôle %SW7 Etat de l’automate Bit [0] Sauvegarde/restauration en cours Bit [1] Configuration de l’automate OK Bit [3..2] Bits d'état EEPROM : l 00 = Pas de cartouche l 01 = Cartouche EEPROM 32 Ko l 10 = Cartouche EEPROM 64 Ko l 11 = Réservé à une utilisation ultérieure Bit [4] Application RAM différente d'EEPROM (1 = oui) Bit [5] Application RAM différente de cartouche (1 = oui) Bit [6] Certaines tâches de périphériques sont en mode STOP Bit [7] Automate réservé Bit [8] Application en mode Ecriture protégée Bit [9] Non utilisé Bit [10] Second port série installé Bit [11] Type du second port série (0 = EIA RS-232, 1 = EIA RS-485) Bit [12] Application valide en mémoire interne (1 = oui) Bit [13] Application valide en cartouche (1 = oui) Bit [14] Application valide en RAM (1 = oui) Bit [15] Prêt pour exécution S %SW11 Heure du chien Initialise l'heure maximale du chien de garde. La de garde valeur (10 à 500 ms) est définie par la logiciel configuration. %SW18%SW19 Compteur de temporisateur absolu 100 ms Compteur de temporisateur absolu 100 ms. %SW18 correspond aux octets les moins significatifs et %SW19, aux octets les plus significatifs du mot double. %SW30 Durée de la dernière scrutation S Affiche la durée d'exécution du dernier cycle de scrutation de l'automate (en ms). Note : Cette durée correspond au temps qui s'écoule entre le début (acquisition des entrées) et la fin (mise à jour des sorties) d'un cycle de scrutation. U S et U TWD USE 10AF 05/2002 Bits système et mots système Mots système Fonction Description Contrôle %SW31 Durée de Affiche la durée d'exécution du plus long cycle de S scrutation max. scrutation de l'automate (en minutes), depuis le dernier démarrage à froid. Note : Cette durée correspond au temps qui s'écoule entre le début (acquisition des entrées) et la fin (mise à jour des sorties) d'un cycle de scrutation. %SW32 Durée de scrutation min. Affiche la durée d'exécution du cycle de scrutation S de l'automate le plus court (en minutes), depuis le dernier démarrage à froid. Note : Cette durée correspond au temps qui s'écoule entre le début (acquisition des entrées) et la fin (mise à jour des sorties) d'un cycle de scrutation. Mots système Fonction Description %SW49 %SW50 %SW51 %SW52 %SW53 Fonction de bloc horodateur Fonction de bloc horodateur (RTC) mots contenant S et U les valeurs de date et d’heure courantes (en BCD) : Contrôle %SW49 xN jour de la semaine (N=0 pour lundi) %SW50 00SS Secondes %SW51 HHMM Heure et minutes %SW52 MMDD Mois et jour %SW53 CCYY Siècle et année Ces mots sont contrôlés par le système lorsque le bit %S50 est réglé sur 0. Ces mots peuvent être écrits par le programme utilisateur ou par le terminal, lorsque le bit %S50 est réglé sur 1. %SW54 %SW55 %SW56 %SW57 TWD USE 10AF 05/2002 Fonction de bloc horodateur Fonction de bloc horodateur (RTC). Mots système contenant la date et l'heure de la dernière coupure secteur ou du dernier arrêt de l'automate (en BCD) : %SW54 SS Secondes %SW55 HHMM Heure et minutes %SW56 MMDD Mois et jour %SW57 CCYY Siècle et année S 343 Bits système et mots système Mots système Fonction Description %SW58 Code du dernier arrêt Affiche le code indiquant la cause du dernier arrêt : S 1= Front de l'entrée Run/ Stop 2= Arrêt en cas de défaillance logicielle (débordement de la scrutation de l'automate) 3= Commande d'arrêt 4= Coupure secteur 5= Arrêt en cas de défaillance matérielle Mots système Fonction Description %SW59 Régler la date courante U Règle la date courante. Contient deux jeux de 8 bits permettant de régler la date courante. L'opération est toujours effectuée sur le front montant du bit. Ce mot est activé par le bit %S59. %SW60 344 Contrôle Valeur de correction du RTC Contrôle Incrément Décrément Paramètre bit 0 bit 8 Jour de la semaine bit 1 bit 9 Secondes bit 2 bit 10 Minutes bit 3 bit 11 Heures bit 4 bit 12 Jours bit 5 bit 13 Mois bit 6 bit 14 Années bit 7 bit 15 Siècles Valeur de correction du RTC U TWD USE 10AF 05/2002 Bits système et mots système TWD USE 10AF 05/2002 Mots système Fonction Description %SW63 S Code d’erreur Si une erreur survient lors de l’utilisation du bloc du bloc EXCH1 EXCH, les bits de sortie %MSG.D et %MSG.E passent sur 1. Ce mot système contient le code de l'erreur. Les valeurs possibles sont les suivantes : l 0 : Pas d'erreur, échange correct l 1 : Tampon de transmission trop grand l 2 : Tampon de transmission trop petit l 3 : Tableau trop petit l 4: Réception débordement table l 5 : Délai écoulé l 6 : Erreur de transmission l 7 : Mauvaise commande ASCII (mode ASCII uniquement) l 8 : Port sélectionné non configurable/disponible l 9 : Erreur de réception (mode ASCII uniquement) l 10 : Tableau %KWi interdit l 11: Offset transmission plus large que la table de transmission l 12: Offset réception plus large que la table de réeception l 13: Traitement EXCH arrête par l'automate Ce mot est réglé sur 0 chaque fois que le bloc EXCH est utilisé. %SW64 Code d'erreur Identique à %SW63 du bloc EXCH2 %SW67 Fonction et type d'automate Contient les informations suivantes : Bits de type d'automate [0 -11] 8B0 = TWDLCAA10DRF 8B1 = TWDLCAA16DRF 8B2 = TWDLMDA20DUK/DTK 8B3 = TWDLCAA24DRF 8B4 = TWDLMDA40DUK/DTK 8B6 = TWDLMDA20DRT Bit 12 non utilisé = 0 Bits de repère de liaison distante [13-15] 000 = automate maître 001 - 111 = automate distant 1-7 001 = repère 1 111 = repère 7 l l l l l l l l l l l l l Contrôle S S 345 Bits système et mots système 346 Mots système Fonction Description Contrôle %SW76 à %SW79 Décompteurs 1-4 S and U Ces quatre mots sont utilisés comme des temporisateurs à 1 ms. Ces mots sont décrémentés de manière individuelle par le système, toutes les millisecondes, s'ils possèdent une valeur positive. Ceci donne quatre décompteurs comptant en ms, égaux à une plage de fonctionnement de 1 à 32 767 ms. Le réglage du bit 15 sur 1 permet d'interrompre la décrémentation. %SW96 Command et/ ou diagnostics de la fonction de sauvegarde/ restauration de la'application et %MW. Bit [0] Ce bit est défini par la logigue utilisateur afin de spécifier l'enregistrement des mots mémoire %MWi dans l'EEPROM. Le programme réinitialise ce bit lorsque l'enregistrement de %MW a démarré, et non pasà la fin du processus. Bit [1] Ce bit est défini par le microprogramme et indique la fin de l'enregistrement. Ce qui signifie que lorsque le bit est sur 1, toute demande d'enregistrement dans l'EEPROM a été effectuée. Il est redéfini sur zéro àla prochaine demande de sauvegarde dans l'EEPROM. Bit [2] Lorsqu'il est défini sur 1, il indique qu'une erreur s'est produite lors de la derniére demande de sauvegarde ou de restauration des paramètres. Pour plus d'informations, voir les bits 8, 9, 10 et 14. Bit [6] L'automate contient une application valide (1 = oui). Bit [8] Le nombre de %MW spécifié dans %SW97 est supérieur au nombre maximal configurédans l'application utilisateur (1 = oui). Bit [9] Le nomber de %MW spécifiédans %SW97 est supérieur au nombre maximal Bit [10] Différence entre la RAM et l'EEPROM interne (1 = oui). Bit [14] Erreur d'écriture EEPROM (1 = oui) TWD USE 10AF 05/2002 Bits système et mots système TWD USE 10AF 05/2002 Mots système Fonction Description %SW97 Commande ou diagnostics de fonction d’enregistreme nt et de restauration Cette valeur correspond au nombre physique U de mots système %MW, devant être uniquement enregistrés en EEPROM interne. Elle n'est pas utilisée pour restaurer des mots système. Lorsque cette valeur est réglée sur 0, les mots mémoire ne sont pas stockés. L'utilisateur doit définir le programme de logique utilisateur. Dans le cas contraire, ce programme sera réglé sur 0 dans l'application de l'automate, sauf dans le cas suivant : Lors d'un démarrage à froid, ce mot est réglé sur -1 si l'EEPROM Flash interne ne possède pas de fichier de mot mémoire %MW enregistré. Lors d'un démarrage à froid au cours duquel l'EEPROM Flash interne contient un fichier de mot mémoire %MW, la valeur du nombre de mots mémoire enregistrés dans le fichier doit être réglé dans le mot système %SW97. Mots système Fonction Description %SW111 Etat de la Deux bits pour chaque automate distant liaison distante (uniquement maître) : x0-5:0 - automate distant 1-6 non présent 1- automate distant 1-6 présent x6:0 - automate distant 7 non présent 1- automate distant 7 présent x8-13:0 - E/S distante détectée sur l'automate distant 1-6 1 - automate d'extension détecté sur l'automate distant 1-6 x14:0 - E/S distante détectée sur l'automate distant 7 1 - automate d'extension détecté sur l'automate distant 7 Contrôle Contrôle S 347 Bits système et mots système 348 Mots système Fonction Description Contrôle %SW112 Code d’erreur de configuration ou de fonctionnemen t de la liaison distante S 0 - opérations réussies 1 - expiration du délai (esclave) 2 - erreur de checksum détectée (esclave) 3 - incohérence de configuration (esclave) Ceci est défini par le système et doit être redéfini par l'utilisateur. %SW113 Configuration de la liaison distante Deux bits pour chaque automate distant (uniquement maître) : x0-5:0 - automate distant 1-6 non configuré 1- automate distant 1-6 configuré x6:0 - automate distant 7 non configuré 1- automate distant 7 configuré x8-13:0 - E/S distante configurée en tant qu'automate distant 1-6 1 - automate d'extension configuré en tant qu'automate distant 1-6 x14:0 - E/S distante détectée en tant qu'automate distant 7 1 - automate d'extension configuré en tant qu'automate distant7 %SW114 Activer les blocs horodateurs (RTC) Active ou désactive le fonctionnement des blocs S et U horodateurs (RTC), par l'intermédiaire du programme utilisateur ou de l'afficheur. Bit 0 : 1 = active le bloc horodateur n°0 Bit 15 : 1 = active le bloc horodateur n°15 Tous les blocs horodateurs sont initialement activés, l'état initial est 0. Si aucun bloc horodateur n'est configuré, la valeur par défaut est FFFF. %SW118 Mot d'état de la Affiche les défaillances détectées sur l'automate S base automate maître. Bit 9 : 0 = défaillance ou comm. externe Défaillance Bit 12 : 0 = horodateur (RTC) non installé Bit 13 : 0 = défaillance de configuration (extension d'E/S configurée, mais absente ou défaillante). Tous les autres bits de ce mot sont réglés sur 1 et sont réservés. Pour un automate ne présentant aucune défaillance, la valeur de ce mot est FFFFh. S TWD USE 10AF 05/2002 Bits système et mots système Description des abréviations utilisées dans le tableau précédent TWD USE 10AF 05/2002 Mots système Fonction Description Contrôle %SW120 Fonctionneme nt des modules d’E/S d’expansion Un bit par module. Repère 0 = Bit 0 1 = Mauvaise condition 0 = OK S Abréviation Description S Contrôlé par le système U Contrôlé par l'utilisateur 349 Bits système et mots système 350 TWD USE 10AF 05/2002 Glossaire ! % Préfixe qui identifie les repères de mémoire interne utilisés dans l'automate pour stocker les valeurs des variables, les constantes, les E/S, etc., du programme. A Afficheur de références croisées Fenêtre spécialisée de l'application TwidoSoft permettant de visualiser les références croisées. Afficheur des erreurs du programme Fenêtre TwidoSoft spécialisée permettant d'afficher les avertissements et erreurs du programme. Analyser le programme Commande permettant de compiler un programme et de rechercher les erreurs qu'il pourrait contenir : erreurs de syntaxe et de structure, symboles sans repère correspondant, ressources non disponibles que le programme tente d'utiliser, et taille de programme trop importante pour la capacité de mémoire de l'automate. Les erreurs sont répertoriées dans l'afficheur des erreurs du programme. Application Une application TwidoSoft est composée d'un programme, de données de configuration, de symboles et d'une documentation. Arrêter Commande permettant d'arrêter un programme d'application exécuté par l'automate. TWD USE 10AF 05/2002 351 Glossaire ASCII De l’anglais American Standard Code for Information Interchange. Protocole de communication utilisant sept bits pour représenter les caractères alphanumériques, notamment les lettres, les nombres et certains caractères graphiques et de contrôle. Automate Automate programmable Twido. Il existe deux types d'automates : les automates compacts et les automates modulaires. Automate compact Type d'automate Twido fournissant une configuration simple monobloc avec une expansion limitée. Les automates modulaires constituent l'un des deux types d'automates Twido. Automate d’extension Automate Twido configuré en tant qu'esclave sur un réseau de liaison distante. Une application peut être exécutée dans la mémoire de l'automate d'extension et le programme peut accéder aux données d'E/S locales et d'expansion, mais les données d'E/S ne peuvent pas être transmises à l'automate maître. Le programme exécuté dans l'automate d'extension transmet ses informations à l'automate maître à l'aide de mots réseau (%INW et QNW). Automate distant Automate Twido configuré pour communiquer avec un automate maître sur un réseau de liaison distante. Automate maître Automate Twido configuré en tant que maître sur un réseau de liaison distante. Automate modulaire Type d'automate Twido offrant une configuration flexible avec des possibilités d'extension. Les automates compacts constituent l'un des deux types d'automates Twido. Automate programmable Automate Twido. Il existe deux types d'automates : les automates compacts et les automates modulaires. B Bloc fonction Unité de programme comportant des entrées et des variables organisées pour calculer des valeurs de sorties à l'aide d'une fonction définie, telle qu'un temporisateur ou un compteur. Blocs horodateurs Bloc fonction utilisé pour programmer les fonctions de réglage de la date et de l'heure afin de contrôler les événements. Nécessite l'option Horodateur (RTC). Bobine Elément du schéma à contacts représentant une sortie de l'automate. 352 TWD USE 10AF 05/2002 Glossaire Bus d’expansion Permet de connecter les modules d'E/S d'expansion à la base automate. C Cartouche de mémoire Les cartouches de sauvegarde de mémoire fournies en option permettent de sauvegarder et de restaurer une application (données de programme et de configuration). Deux tailles sont disponibles : 32 et 64 Ko. Chargement automatique Fonction constamment activée permettant de transférer automatiquement une application d'une cartouche de sauvegarde vers la RAM de l'automate en cas de perte ou d'altération de l'application. A la mise sous tension, l'automate compare l'application se trouvant dans la RAM de l'automate avec celle de la cartouche de sauvegarde de mémoire en option (si elle est installée). En cas de différence, la copie de la cartouche de sauvegarde est copiée dans l'automate et dans la mémoire EEPROM interne. Si aucune cartouche de sauvegarde n'est installée, l'application de la mémoire EEPROM interne est copiée dans l'automate. Commentaires Les commentaires sont des messages textuels que vous entrez afin de donner des informations sur la finalité d'un programme. Pour les programmes par schémas à contacts, vous pouvez entrer jusqu'à trois lignes de texte dans l'en-tête réseau pour décrire la finalité du réseau. Chaque ligne peut contenir un maximum de 64 caractères. Pour les programmes par listes, vous pouvez entrer le texte sur une ligne de programme non numérotée. Les commentaires doivent être insérés entre parenthèses et astérisques. Exemple : (*COMMENTAIRES*). Compteur Bloc fonction utilisé pour compter les événements (comptage ou décomptage). Compteurs rapides (FC) Bloc fonction proposant une fonction de comptage/décomptage plus rapide que celle du bloc fonction Compteurs. Un compteur rapide (FC) peut compter à une fréquence maximale de 5 kHz. Compteurs rapides (VFC) Bloc fonction proposant une fonction de comptage plus rapide que celle des blocs fonctions Compteurs et Compteurs rapides (FC). Un compteur rapide (VFC) peut compter à une fréquence maximale de 20 kHz. Constante Unité de mémoire, telle qu'un bit ou un mot, dont le contenu ne peut pas être modifié par le programme en cours d'exécution. Contact Elément du schéma à contacts représentant une entrée de l'automate. TWD USE 10AF 05/2002 353 Glossaire D Démarrage ou redémarrage à froid Démarrage de l'automate avec toutes les données initialisées sur les valeurs par défaut, le programme démarrant avec toutes les variables effacées. Tous les paramètres logiciels et matériels sont initialisés. Une coupure secteur (automates compacts uniquement) ou le chargement d'une nouvelle application dans la mémoire RAM de l'automate provoquent automatiquement un redémarrage à froid. Le démarrage des automates compacts et des automates sans batterie de sauvegarde est toujours un démarrage à froid. E Editeur de configuration Fenêtre spécialisée de TwidoSoft permettant de gérer les configurations logicielles et matérielles. Editeur de schémas à contacts Fenêtre TwidoSoft spécialisée permettant d'éditer un programme par schémas à contacts. Editeur de tables d’animation Fenêtre spécialisée de l'application TwidoSoft permettant de visualiser et de créer des tables d'animation. Editeur List Simple éditeur de programmes permettant de créer et d'éditer un programme par listes. EEPROM Mémoire morte effaçable et programmable électriquement (de l'anglais Electrically Erasable Programmable Read-Only Memory). Twido est doté d'une mémoire EEPROM interne et d'une cartouche de mémoire EEPROM externe en option. Effacer Cette commande permet de supprimer le contenu enregistré dans l'application. Elle comporte deux options : supprimer le contenu de la mémoire RAM de l'automate, de la mémoire EEPROM interne de l'automate et de la cartouche de sauvegarde installée en option, ou ne supprimer que le contenu de la cartouche de sauvegarde installée en option. En-tête réseau Panneau apparaissant directement sur un réseau de schéma à contacts et pouvant être utilisé pour donner des informations sur la finalité de celui-ci. 354 TWD USE 10AF 05/2002 Glossaire Entrée à mémorisation d'état Les impulsions entrantes sont capturées et enregistrées afin d'être analysées ultérieurement par l'application. Etape Une étape Grafcet désigne un état du fonctionnement séquentiel de l'automate. Etat en ligne Etat de fonctionnement de TwidoSoft qui est affiché sur la barre d'état lorsqu'un PC est connecté à un automate. Etat hors ligne Etat de fonctionnement de TwidoSoft qui est affiché sur la barre d'état lorsque aucun PC n'est connecté à un automate. Etat initial Etat de fonctionnement de TwidoSoft affiché sur la barre d'état lorsque TwidoSoft démarre ou qu'aucune application n'est ouverte. Etats de fonctionnement Indique l'état de TwidoSoft. Affiché sur la barre d'état. Il existe quatre états de fonctionnement : initial, hors ligne, en ligne et surveillance. Exécuter Commande permettant d'exécuter un programme d'application sur l'automate. Executive Loader Application Windows 32 bits permettant de télécharger un nouveau microprogramme de l’automate vers un automate Twido. F Fichier d’application Les applications Twido sont enregistrées dans des fichiers avec l'extension .twd. FIFO Premier entré, Premier sorti (de l'anglais First In, First Out). Bloc fonction permettant de mettre les opérations en file d'attente. Fonctionnement en ligne Mode de fonctionnement de TwidoSoft dans lequel un PC est connecté à l'automate et dans lequel l'application contenue dans la mémoire du PC est identique à celle contenue dans la mémoire de l'automate. Le fonctionnement en ligne permet de déboguer et de régler une application. Fonctionnement hors ligne Mode de fonctionnement de TwidoSoft dans lequel aucun PC n'est connecté à l'automate et dans lequel l'application contenue dans la mémoire du PC est différente de celle contenue dans la mémoire de l'automate. Le fonctionnement hors ligne permet de créer et de développer une application. TWD USE 10AF 05/2002 355 Glossaire Fonctions Date/ Heure Permettent de contrôler les événements par mois, jour et heure. Voir "Blocs horodateurs". Forçage Attribution volontaire des valeurs 0 et 1 aux entrées et sorties de l'automate, même si les valeurs réelles sont différentes. Permet de déboguer un programme pendant son animation. G Gestionnaire de ressources Composant de TwidoSoft qui contrôle l'occupation mémoire d'une application lors de la programmation et de la configuration, en suivant les références aux objets logiciels faites par une application. Un objet est considéré comme étant référencé par l'application lorsqu'il est utilisé comme opérande dans une instruction de liste ou dans un réseau de schéma à contacts. Affiche les informations d'état relatives au pourcentage de mémoire totale utilisée et émet un avertissement si l'espace mémoire disponible est insuffisant. Voir "Indicateur d'utilisation de la mémoire". Grafcet Un programme écrit en langage Grafcet se compose d'étapes contenant une description graphique et structurée du fonctionnement séquentiel d'un automate. Des symboles graphiques simples sont utilisés pour décrire la séquence des étapes. H Horodateur Option permettant de maintenir une horloge à l'heure pendant une durée déterminée lorsque l'automate n'est pas sous tension. I Indicateur d’utilisation de la mémoire Section de la barre d'état de la fenêtre principale de TwidoSoft qui affiche le pourcentage d'utilisation de la mémoire totale de l'automate par l'application. Emet un avertissement lorsque l'espace mémoire disponible est insuffisant. Initialiser Commande qui rétablit les états initiaux de toutes les valeurs des données. L'automate doit être en mode Stop ou Error. 356 TWD USE 10AF 05/2002 Glossaire Instance Dans un programme, objet unique qui appartient à un type précis de bloc fonction. Par exemple, dans le format de temporisateur %TMi, i est un nombre qui représente l'instance. Instructions réversibles Méthode de programmation permettant de visualiser les instructions alternativement comme des instructions de liste ou des réseaux de schémas à contacts. L Langage à contact Un programme écrit en langage à contact consiste en la représentation graphique d'instructions d'un programme de l'automate, avec des symboles pour les contacts, bobines et blocs, sous la forme d'une série de réseaux exécutés de manière séquentielle par un automate. Langage liste d’instructions (List) Un programme écrit en langage liste d'instructions (IL) consiste en une série d'instructions exécutées de manière séquentielle par l'automate. Chaque instruction comprend un numéro de ligne, un code d'instruction et un opérande. Liaison distante Bus maître/esclave à haut débit conçu pour assurer l'échange d'une petite quantité de données entre un automate maître et un maximum de sept automates (esclaves) distants. Deux types d'automates distants peuvent être configurés pour transférer des données vers un automate maître : un automate d'extension pour transférer les données d'application et un automate d'E/S distantes pour transférer les données d'E/S. Un réseau de liaison distante peut comprendre des automates des deux types. LIFO Dernier entré, Premier sorti (de l'anglais Last In, First Out). Bloc fonction permettant d'effectuer des opérations de pile. Lignes de commentaire Dans les programmes par listes, les commentaires peuvent être entrés sur des lignes distinctes des instructions. Les lignes de commentaires ne sont pas numérotées. Elles doivent être insérées entre parenthèses et astérisques. Exemple : (*COMMENTAIRES*). TWD USE 10AF 05/2002 357 Glossaire M Microprogramme de l’automate Le microprogramme de l'automate est un système d'exploitation qui exécute les applications et gère les opérations de l'automate. Modbus Protocole de communication maître-esclave permettant à un maître unique d'obtenir des réponses des esclaves. Mode de scrutation Indique la façon dont l'automate scrute un programme. Il existe deux types de modes de scrutation : le mode normal (cyclique), dans lequel la scrutation s'effectue en permanence, ou le mode périodique, dans lequel la scrutation ne s'effectue que pendant une durée limitée (dans une plage de 2 à 150 ms) avant de lancer la scrutation suivante. Mode Surveillance Etat de fonctionnement de TwidoSoft qui est affiché sur la barre d'état lorsqu'un PC est connecté à un automate dans un mode sans écriture. Modules d’E/S d’expansion Les modules d'E/S d'expansion en option sont disponibles pour ajouter des points d'E/S à un automate Twido. (Certains modèles d'automate ne prennent pas en charge l'expansion). N Navigateur application Fenêtre spécialisée de l'application TwidoSoft qui affiche l'arborescence graphique d'une application. Facilite la configuration et l'affichage des applications. O Opérande Nombre, repère ou symbole représentant une valeur qu'un programme peut manipuler dans une instruction. Opérateur Symbole ou code indiquant l'opération qu'une instruction doit réaliser. 358 TWD USE 10AF 05/2002 Glossaire P PC Ordinateur personnel (de l’anglais Personal Computer). PLS Génération d'impulsions. Bloc fonction qui génère une onde carrée avec un rapport cyclique de commutation de 50 %. Point de réglage analogique Tension appliquée qui peut être réglée et convertie en une valeur numérique utilisable par une application. Préférences Boîte de dialogue comprenant des options sélectionnables permettant de configurer les éditeurs de programmes par listes et par schémas de contacts. Programmateur cyclique Bloc fonction dont le fonctionnement est semblable à celui des programmateurs cycliques électromécaniques qui permettent des modifications incrémentales (par pas) basées sur des événements externes. Protection Se réfère aux deux types de protection d'une application : la protection par mot de passe, qui permet de contrôler l'accès à l'application, et la protection de l'application de l'automate, qui empêche toute personne non autorisée de visualiser ou de copier une application. PWM Modulation de largeur d'impulsion (de l'anglais Pulse Width Modulation). Bloc fonction qui génère une onde carrée avec un rapport cyclique variable pouvant être défini par un programme. R RAM Mémoire vive (de l'anglais Random Access Memory). Les applications Twido sont téléchargées dans une mémoire RAM volatile interne afin d'être exécutées. Redémarrage à chaud Après une coupure secteur, mise sous tension de l'automate sans modification de l'application. L'automate repasse à l'état dans lequel il était avant la coupure secteur et termine la scrutation qui était en cours. Toutes les données de l'application sont préservées. Cette fonction n'est disponible que sur les automates modulaires. Références croisées Génération d'une liste d'opérandes, symboles, numéros de ligne/réseau et opérateurs utilisés dans une application pour simplifier la création et la gestion des applications. TWD USE 10AF 05/2002 359 Glossaire Registres Registres spéciaux internes à l'automate dédiés aux blocs fonctions LIFO/FIFO. Repères Registres internes de l’automate permettant de stocker les valeurs des variables, les constantes, les E/S, etc., du programme. Le symbole de pourcentage (%) utilisé en préfixe permet d'identifier les repères. Par exemple, %I0.1 indique un repère dans la mémoire RAM de l'automate contenant la valeur de la voie d'entrée 1. Réseau Un réseau est un groupe d'éléments graphiques joints les uns aux autres par des liaisons horizontales ou verticales et placé entre deux barres de potentiel dans une grille. Un réseau peut comporter un maximum de sept lignes et onze colonnes. Réseau schéma à contacts Affiche les parties d'un programme par listes qui ne sont pas réversibles en langage schéma à contacts. RTC De l'anglais Real-Time Clock.Voir "Horodateur". RTU De l'anglais Remote Terminal Unit. Protocole utilisant huit bits permettant d'échanger des données entre un automate et un PC. S Sauvegarder Commande permettant de copier l'application contenue dans la mémoire RAM de l'automate à la fois dans la mémoire EEPROM interne de l'automate et dans la cartouche de sauvegarde de mémoire en option (si elle est installée). Scrutation Un automate scrute un programme et effectue principalement trois fonctions de base : Il lit d'abord les entrées et place les valeurs correspondantes dans la mémoire. Il exécute ensuite le programme d'application, instruction par instruction, puis stocke les résultats dans la mémoire. Il utilise ensuite les résultats pour mettre à jour les sorties. Sortie réflexe En mode comptage, la valeur courante du compteur rapide (%VFC.V) est mesurée en fonction des seuils configurés afin de déterminer l'état des sorties dédiées. Sorties seuil Bobines contrôlées directement par le compteur rapide (%VFC) en fonction des paramètres choisis lors de la configuration. Symbole Un symbole est une chaîne de 32 caractères alphanumériques maximum, dont le premier caractère est alphabétique. Les symboles permettent de personnaliser les objets de l'automate afin de faciliter la maintenance de l'application. 360 TWD USE 10AF 05/2002 Glossaire Symboles non résolus Symbole sans repère de variable. T Table d’animation Table créée dans un éditeur de langage ou dans un écran de contrôle. Lorsqu'un PC est connecté à l'automate, une table d'animation permet de visualiser toutes les variables de l'automate et de forcer leurs valeurs lors d'un débogage. Elle peut être enregistrée dans un fichier distinct avec l'extension .tat. Table de symboles Table des symboles utilisés dans une application. Affichée dans l'éditeur de symboles. Temporisateur Bloc fonction utilisé pour sélectionner une plage de temps pour le contrôle d'un événement. Twido Gamme d'automates Schneider Electric comprenant deux types d'automates (compacts et modulaires), des modules d'expansion pour ajouter des points d'E/S, et des options telles que l'horodateur, les communications, l'afficheur et les cartouches de sauvegarde de mémoire. TwidoSoft Logiciel de développement graphique 32 bits fonctionnant sous Windows permettant de configurer et de programmer des automates Twido. V Validation auto par ligne Lors de l'insertion ou de la modification des instructions de liste, ce paramètre facultatif permet de valider les lignes de programme à mesure qu'elles sont saisies (recherche des erreurs et des symboles non résolus). Tous les éléments doivent être corrigés pour que le programmeur puisse quitter la ligne. Sélectionné à partir de la boîte de dialogue Préférences. Variable Unité de mémoire pouvant être repérée et modifiée par un programme. Variable de donnée Voir "Variable". TWD USE 10AF 05/2002 361 Glossaire 362 TWD USE 10AF 05/2002 B AC Index Symbols %Ci, 234 %DR, 292 %FC, 298 %INW, 35 %MSG, 315 %PLS, 289 %QNW, 35 %S, 332 %S0, 332 %S1, 332 %S10, 333 %S100, 338 %S11, 333 %S110, 339 %S111, 339 %S112, 339 %S113, 339 %S118, 339 %S119, 340 %S12, 333 %S13, 333 %S17, 334 %S18, 334 %S19, 334 %S20, 335 %S21, 57, 335 %S22, 57, 335 %S23, 57, 336 %S24, 336 %S4, 332 %S5, 332 TWD USE 10AF 05/2002 %S50, 336 %S51, 337 %S59, 337 %S6, 332 %S69, 337 %S7, 332 %S70, 337 %S73, 338 %S74, 338 %S8, 333 %S9, 333 %S96, 338 %S97, 338 %SW, 341 %SW0, 341 %SW11, 342 %SW111, 347 %SW112, 348 %SW113, 348 %SW114, 348 %SW118, 348 %SW120, 349 %SW18, 342 %SW19, 342 %SW30, 342 %SW31, 343 %SW32, 343 %SW49, 343 %SW50, 343 %SW51, 343 %SW52, 343 %SW53, 343 363 Index %SW54, 343 %SW55, 343 %SW56, 343 %SW57, 343 %SW58, 344 %SW59, 344 %SW6, 341 %SW60, 344 %SW63, 345 %SW64, 345 %SW67, 345 %SW7, 342 %SW76, 346 %SW77, 346 %SW78, 346 %SW79, 346 %SW96, 346 %SW97, 347 %TMi, 231 %VFC, 302 A Accumulateur, 180 Accumulateur booléen, 180 Adressage de modules d’E/S analogiques, 129 Afficheur correction de l'horodateur, 150 horloge Date/Heure, 149 ID et états de l'automate, 139 paramètres de port série, 148 présentation, 136 variables et objets système, 142 Ajouter, 254 AND, instructions, 214 ASCII communication, 70 communications, 87 configuration du port, 91 configuration logicielle, 90 configuration matérielle, 88 Automate initialisation, 66 364 B Bit Run/Stop, 59 Bits mémoire, 25 Bits système, 332 BLK, 171 Bloc comparaison élément graphique, 163 Bloc fonction compteur rapide (FC), 298 Bloc fonction compteur rapide (VFC), 302 Bloc fonction d'échange, 315 Bloc fonction programmateur cyclique, 292 Blocs dans des schémas à contacts, 158 Blocs comparaisons, 159 Blocs de fonctions registres, 278 Blocs fonctions blocs horodateurs, 321 compteurs, 234 dans une grille de programmation, 159 élément graphique, 163 Fonction pas à pas (%SCi), 242 présentation des blocs fonctions élémentaires, 222 programmateur cyclique, 292, 296 programmation de blocs fonctions élémentaires, 224 PWM, 285 registre bits à décalage (%SBR), 239 temporisateurs, 226, 231 Blocs fonctions avancés objets mots et objets bits, 273 principes de programmation, 275 Blocs fonctions élémentaires, 222 Blocs opérations, 160 élément graphique, 163 Bobines, 158 éléments graphiques, 162 Brochages connecteur femelle du câble de communication, 73 connecteur mâle du câble de communication, 73 TWD USE 10AF 05/2002 Index C Chaînes de bits, 37 Chien de garde logiciel, 54 Commentaires de lignes Liste, 173 Communications ASCII, 87 liaison distante, 74 Modbus, 99 Compteurs, 234 Programmation et configuration, 238 Configuration port pour ASCII, 91 port pour Modbus, 103 tampon de transmission/réception pour ASCII, 91 Connecteur secondaire, 161 Conseils de programmation, 165 Contacts, 158 élément graphique, 161 Correction du RTC, 320 Coupure secteur, 58 Cycle de la tâche maître, 54 END_BLK, 171 En-tête réseau, 157 commentaires, 174 Erreur, 256 EXCH, 314 EXCH, instruction, 314 F Facteur de correction de l'horodateur, 150 FIFO fonctionnement, 281 introduction, 278 File d'attente, 278 Fonction pas à pas, 242 Fonctions horloges horodatage, 324 présentation, 320 réglage de la date et de l'heure, 326 Fonctions horodateurs blocs horodateurs, 321 G D Débordement, 256 index, 40 Débordement d'index, 40 Décrément, 254 Démarrage à froid, 63 Détection de fronts descendants, 206 montants, 205 Diviser, 254 Documentation de votre programme, 173 Durée de scrutation, 54 Génération d'impulsions, 289 Grafcet actions associées, 200 exemples, 194 instructions, 192 pré-traitement, 197 traitement séquentiel, 198 Grafcet, méthodes, 56 Grille de programmation, 156 I Incrément, 254 Initialisation d'un automate, 66 E E/S repérage, 33 Eléments de liaison éléments graphiques, 161 Eléments graphiques schémas à contacts, 161 TWD USE 10AF 05/2002 365 Index Instructions AND, 214 arithmétiques, 254 chargement, 210 de comparaison, 252 de conversion, 262 END, 265 JMP, 268 logiques, 258 NOP, 267 NOT, 220 RET, 269 SR, 269 XOR, 218 Instructions arithmétiques, 254 Instructions booléennes, 205 explication du format utilisé dans ce manuel, 208 OR, 216 stockage, 212 Instructions d'affectation numériques, 248 Instructions de comparaison, 252 Instructions de conversion, 262 Instructions de décalage, 260 Instructions de pile, 188 Instructions de saut, 268 Instructions de sous-programme, 269 Instructions de stockage, 212 Instructions en langage liste d’instructions, 181 Instructions END, 265 Instructions logiques, 258 Instructions numériques affectation, 248 de décalage, 260 J JMP, 268 L Langage liste d'instructions vue d'ensemble, 178 366 Langages de programmation présentation, 19 LD, 210 LDF, 206, 210 LDN, 210 LDR, 205, 210 Liaison ASCII exemple, 96 Liaison distante accès aux données E/S distantes, 80 communication, 70 communications, 74 configuration de l'automate distant, 78 configuration de l'automate maître, 77 configuration logicielle, 77 configuration matérielle, 75 exemple, 84 synchronisation de scrutation de l'automate distant, 79 Liaison Modbus exemple 1, 110 exemple 2, 114 liaisons verticales, 161 LIFO fonctionnement, 280 introduction, 278 M Mémoire structure, 43 Modbus communication, 71 communications, 99 configuration du port, 103 configuration logicielle, 102 configuration matérielle, 100 Esclave, 71 maître, 71 requêtes standard, 117 Modes de fonctionnement, 56 Modulation de la largeur d'impulsion, 285 Module analogique exemple, 133 fonctionnement, 128 TWD USE 10AF 05/2002 Index Modules analogiques adressage, 129 configuration d’E/S, 131 Mots mémoire, 28 Mots système, 341 MPP, 188 MPS, 188 MRD, 188 Multiplier, 254 N NOP, 267 NOP, instruction, 267 NOT, instruction, 220 O Objets blocs fonctions, 36 mots, 28 objets bits, 25 structurés, 37 Objets bits, 273 adressage, 31 présentation, 25 Objets mots, 273 adressage, 32 présentation, 28 OPEN, 164 Opérandes, 180 OR exclusif, instructions, 218 OR, instruction, 216 OUT_BLK, 171 P Paramètres, 227 Paramètres de contrôle ASCII, 91 Modbus, 104 Parenthèses imbrication, 186 modificateurs, 186 utilisation dans des programmes, 185 Pile, 278 TWD USE 10AF 05/2002 Points de réglage analogique, 124 Présentation des communications, 70 Programamtion non réversible, 275 Programmateurs cycliques fonctionnement, 294 programmation et configuration, 296 Programmation documentation de votre programme, 173 Programmation réversible, 275 Programme par schémas à contacts conversion en liste d'instructions, 169 Programming Principles, 275 Protocoles, 70 R Raccordement du câble de connexion, 72 Racine carrée, 254 Réception de messages, 314 Registre bits à décalage, 239 Registres FIFO, 281 LIFO, 280 programmation et configuration, 282 Repérage indexé, 39 Repérage des E/S, 33 Repérage direct, 39 Reprise à chaud, 61 Reprise secteur, 58 Réseau adressage, 35 Réseau schéma à contacts / liste d’instructions, 172 Réseaux inconditionnels, 172 Réseaux inconditionnels, 172 Réseaux schéma à contacts, 155 Reste, 254 RET, 269 Réversibilité introduction, 169 recommandations, 171 367 Index S Z Schémas à contacts blocs, 158 éléments graphiques, 161 introduction, 154 OPEN et SHORT, 164 principes de programmation, 156 Scrutation cyclique, 48 périodique, 51 SHORT, 164 Soustraire, 254 SR, 269 Symbolisation, 41 Zone d'action, 156 Zone de test, 156 T Tables de mots, 37 Temporisateurs, 227 base temps de 1 ms, 232 introduction, 226 programmation et configuration, 231 TOF, type, 228 TON, type, 229 TP, type, 230 TOF, temporisateur, 228 TON, temporisateur, 229 TP, type de temporisateur, 230 Traitement numérique Présentation, 247 Transmission de messages, 314 TwidoSoft introduction, 18 V Validation d'objets, 24 Vérification de la durée de scrutation, 54 Voie analogique, 126 X XOR, 218 368 TWD USE 10AF 05/2002
advertisement
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Related manuals
advertisement