Schneider Electric Bibliothèque de blocs IEC - Intercalaire : LIB984 Mode d'emploi
Ajouter à Mes manuels130 Des pages
▼
Scroll to page 2
of
130
Concept 2.6 Bibliothèque de blocs IEC Intercalaire : LIB984 33002231.03 01/2007 www.telemecanique.com 2 Table des matières Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Partie I Généralités sur la bibliothèque de blocs . . . . . . . . . . . 11 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Chapitre 1 Paramétrage des fonctions et blocs fonction . . . . . . . . . . . . . 13 Paramétrage des fonctions et blocs fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Chapitre 2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions Modsoft et utilisation de la mémoire d'état . . . . . . . . . . . . . . . . . . . . . Concept utilise des variables avec des types standards, prédéfinis . . . . . . . . . . EFB de Concept et paramètres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tableaux sous Concept. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EFB de Concept et le type de données ANY . . . . . . . . . . . . . . . . . . . . . . . . . . . Aspects d'implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 19 20 20 21 22 23 Partie II Description des EFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Chapitre 3 CMPR : comparaison de registres . . . . . . . . . . . . . . . . . . . . . . 27 Vue d'ensemble. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Brève description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Chapitre 4 DLOG : Protocole des données pour le support de lecture/d'écriture PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erreur d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 30 31 32 34 3 Chapitre 5 FIFO : Registre de pile premier entré/premier sorti . . . . . . . . 35 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Représentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Chapitre 6 GET_3X : Lire registres 3x . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Représentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Chapitre 7 GET_4X : Lire registres 4x . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Représentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Chapitre 8 GET_BIT : Lire bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Représentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Chapitre 9 IEC_BMDI : Déplacer des blocs (Block Move) . . . . . . . . . . . . 51 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Représentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Erreur d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Chapitre 10 LIFO : Registre de pile dernier entré/premier sorti . . . . . . . . . 59 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Représentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Chapitre 11 MBIT : changement de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Vue d'ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Brève description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Représentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Chapitre 12 PUT_4X : Ecrire registres 4x . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Représentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4 Chapitre 13 R2T_*** : Registre vers tableau . . . . . . . . . . . . . . . . . . . . . . . . . 71 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 14 71 72 73 74 SEARCH : rechercher. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Vue d'ensemble. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Brève description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Chapitre 15 SENS avec pointeur : requête . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Vue d'ensemble. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Brève description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Chapitre 16 SET_BIT : Positionner bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 17 SET_BITX : Positionner bit étendu . . . . . . . . . . . . . . . . . . . . . . 85 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 18 89 90 91 92 T2T : Tableau vers tableau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 20 85 86 86 87 SRCH_*** : Rechercher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 19 81 82 82 83 93 94 95 96 XXOR : OU exclusif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Vue d'ensemble. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Brève description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5 6 Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Consignes de sécurité § Informations importantes AVIS Veuillez lire soigneusement ces consignes et examiner l'appareil afin de vous familiariser avec lui avant son installation, son fonctionnement ou son entretien. Les messages particuliers qui suivent peuvent apparaître dans la documentation ou sur l'appareil. Ils vous avertissent de dangers potentiels ou attirent votre attention sur des informations susceptibles de clarifier ou de simplifier une procédure. L'apposition de ce symbole à un panneau de sécurité Danger ou Avertissement signale un risque électrique pouvant entraîner des lésions corporelles en cas de non-respect des consignes. Ceci est le symbole d'une alerte de sécurité. Il vous avertit d'un risque de blessures corporelles. Respectez scrupuleusement les consignes de sécurité associées à ce symbole pour éviter de vous blesser ou de mettre votre vie en danger. DANGER DANGER indique une situation immédiatement dangereuse qui, si elle n'est pas évitée, entraînera la mort ou des blessures graves. AVERTISSEMENT AVERTISSEMENT indique une situation présentant des risques susceptibles de provoquer la mort, des blessures graves ou des dommages matériels. ATTENTION ATTENTION indique une situation potentiellement dangereuse et susceptible d'entraîner des lésions corporelles ou des dommages matériels. 33002231 7 Consignes de sécurité REMARQUE IMPORTANTE Les équipements électriques doivent être installés, exploités et entretenus par un personnel d'entretien qualifié. Schneider Electric n'assume aucune responsabilité des conséquences éventuelles découlant de l'utilisation de cette documentation. © 2007 Schneider Electric. All rights reserved. 8 33002231 A propos de ce manuel Présentation Objectif du document Cette documentation vous aidera à configurer les fonctions et les blocs fonction. Champ d'application Cette documentation s’applique à la version 2.6 de Concept pour Microsoft Windows 98, Microsoft Windows Version 2000, Microsoft Windows XP ou Microsoft Windows NT 4.x. Note : Vous trouverez d’autres remarques actuelles dans le fichier README de Concept. Document à consulter Titre Référence Instructions d’installation de Concept 840 USE 502 01 Manuel utilisateur de Concept 840 USE 503 01 Concept EFB User Manual 840 USE 505 00 Bibliothèque de blocs LL984 de Concept 840 USE 506 01 Vous pouvez télécharger ces publications techniques ainsi que d'autres informations techniques à partir de notre site Web : www.telemecanique.com Commentaires utilisateur 33002231 Envoyez vos commentaires à l'adresse e-mail techpub@schneider-electric.com 9 A propos de ce manuel 10 33002231 Généralités sur la bibliothèque de blocs I Aperçu Introduction Ce chapitre contient des informations d’ordre général concernant la bibliothèque de blocs LIB984. Contenu de cette partie Cette partie contient les chapitres suivants : 33002231 Chapitre Titre du chapitre Page 1 Paramétrage des fonctions et blocs fonction 13 2 Introduction 17 11 Généralités 12 33002231 Paramétrage des fonctions et blocs fonction 33002231 1 13 Paramétrage Paramétrage des fonctions et blocs fonction Généralités Tout FFB se compose d'une opération, des opérandes nécessaires à l'opération et d'un nom d'instance/numéro de fonction. FFB p. ex. Retard à l'enclenchement) Nom d'instance/ Compteur de fonction (par ex. FBI_2_22 (18)) Opération Opérande (par ex. TON) Paramètre formel (par ex. IN,PT,Q,ET) Paramètre courant Variable, élément d'une variable multiéléments, libellé, adresse directe (par ex. ENABLE, EXP.1, TIME, ERROR, OUT, %4:0001) FBI_2_22 (18) TON ENABLE EXP.1 TIME EN IN PT ENO Q ET ERROR OUT %4:00001 Opération L'opération détermine la fonctionnalité qui doit être exécutée par le FFB, p. ex. registre à décalage ou opérations de conversion. Opérande L'opérande détermine avec quoi l'opération doit être exécutée. Dans les FFB, il est constitué de paramètres formels et de paramètres réels. 14 33002231 Paramétrage Paramètre formel/paramètre réel Le paramètre formel réserve la place pour un opérande. Lors du paramétrage, un paramètre actualisé (paramètre réel) est affecté au paramètre formel. Lancement conditionnel/ inconditionnel Chaque FFB peut disposer d'un lancement "conditionnel" ou "non conditionnel". La condition est réalisée par une connexion préalable de l'entrée EN. l EN démasqué appel conditionnel (le FFB est traité uniquement lorsque EN = 1) l EN masqué appel non conditionnel (le FFB est toujours traité) Le paramètre réel peut être une variable, une variable multi-éléments, un élément d'une variable multi-éléments, un libellé ou une adresse directe. Note : Si elle n'est pas paramétrée, l'entrée EN doit être masquée. Étant donné que les entrées non paramétrées sont automatiquement occupées par un "0", le FFB ne serait jamais exécuté. Note : Dans le cas des blocs fonction bloqués (EN = 0) disposant d'une fonction temporelle interne (par exemple, DELAY), il semble que le temps continue de s'écouler, car il est calculé à l'aide de l'horloge système, le rendant indépendant du cycle programme et de la validation du bloc. Appel de fonctions et DE blocs fonction en IL et ST 33002231 Pour l'appel des fonctions et des blocs fonction dans IL (liste d'instructions) et ST (littéral structuré), veuillez vous référer aux chapitres correspondants du manuel de l'utilisateur. 15 Paramétrage 16 33002231 Introduction 2 Aperçu Introduction La bibliothèque LIB984 EFB émule les fonctions Modsoft dans Concept, sans grande différence. De plus, toutes les caractéristiques de Concept – comme les différents types de données, les variables localisées et non localisées – sont également disponibles dans ces fonctions. Aperçu des blocs fonction existants : Bloc fonction Equivalent de Modsoft R2T_INT, R2T_UINT, R2T_DINT, R2T_UDINT, R2T_REAL R->T T2T T->T FIFO FIN, FOUT LIFO SRCH_INT, SRCH_UINT, SRCH_DINT, SRCH_UDINT, SRCH_REAL SRCH GET_3X GET_4X PUT_4X GET_BIT SET_BIT 33002231 17 Introduction Contenu de ce chapitre 18 Ce chapitre contient les sujets suivants : Sujet Page Fonctions Modsoft et utilisation de la mémoire d'état 19 Concept utilise des variables avec des types standards, prédéfinis 20 EFB de Concept et paramètres 20 Tableaux sous Concept 21 EFB de Concept et le type de données ANY 22 Aspects d'implémentation 23 33002231 Introduction Fonctions Modsoft et utilisation de la mémoire d'état Introduction Lorsqu'on considère les détails de l'implémentation générale, il apparaît que les fonctions Modsoft opèrent avec la mémoire d'état (registres 0x, 1x, 3x et 4x) et traitent essentiellement des valeurs de registres à 16 bits. Tous les blocs ou tableaux sont basés sur des valeurs à 16 bits. Réalisation dans Concept La taille des tableaux est indiquée comme le nombre de "mots" nécessaires. Pour les différents types de registres (0x, 1x, 3x, 4x), une adresse physique est indiquée dans la mémoire d'état, et ils ont une longueur certes configurée, mais fixe. La longueur des différents tableaux est donc connue. Tous les bits de repère E/S sont compactés dans des mots (16 bits = 1 mot). Modsoft et Concept opèrent directement sur ces structures de bits compactées. Lorsque des bits, avec les fonctions indiquées ci-dessous, sont déplacées, seules les structures de mots cohérent sont déplacées. Exemple : Adresses de démarrage 0x1, 0x17,0xn avec n = i*16+1 Caractéristiques des fonctions Modsoft 33002231 Les fonctions Modsoft possèdent au maximum 3 entrées booléennes, 3 sorties booléennes et au maximum 3 paramètres/blocs de paramètres ; aucune des entrées, sorties et aucun des paramètres/blocs de paramètres ne possède un nom de variable. 19 Introduction Concept utilise des variables avec des types standards, prédéfinis Différences Concept/Modsoft Lorsqu'on considère Concept de près, on peut reconnaître les différences suivantes : l Concept ne possède pas de variable localisée (pas d'adresse spécifique) qui puisse être répartie à souhait dans la mémoire. Les adresses de variables peuvent également changer durant l'exécution, lorsque la fonction Charger modifications est appelée. l En outre, Concept possède un grand nombre de types de données de types élémentaires (INT, DINT, REAL) et de structures définies, jusqu'aux structures et champs définis par l'utilisateur (Arrays). Les EFB et les DFB définis par l'utilisateur fonctionnent avec des variables de ces types de données. Les EFB peuvent fonctionner avec des variables localisées dans la mémoire d'état ainsi qu'avec des variables non localisées pouvant se trouver à un endroit quelconque dans la mémoire vive (RAM) d'application de la commande. l Sous Concept, les blocs sont des structures de données ou champs prédéfinis. l Sous Concept, les tableaux sont des champs prédéfinis (Arrays) de types de données élémentaires ou de structures. EFB de Concept et paramètres Mode de fonctionnement de Concept Le compilateur de Concept vérifie, si toute variable de paramètre possède le même type de données que la broche EFB. C'est la raison pour laquelle différentes fonctions ADD sont nécessaires, pour couvrir tous les types de données élémentaires connus (nombre entier, nombre entier double ou virgule flottante, etc.). Lors de la définition d'un EFB pour Concept, chaque paramètre doit avoir un type de données prédéfini. Lorsqu'un EFB fonctionne avec une structure de données spéciale, cette structure de données doit être définie sous Concept, lorsque l'EFB est implémenté. Pendant l'élaboration d'un programme d'application, il n'est pas possible de relier une variable d'un autre type de données avec une broche bien déterminée de l'EFB. 20 33002231 Introduction Tableaux sous Concept Mode de fonctionnement de Concept Lorsqu'on considère les "Tableaux" de près, quelques difficultés apparaissent. Lorsqu'un tableau opère avec un EFB, ce tableau doit avoir été préalablement défini. S'il 's'agit, en ce qui concerne le tableau, d'un champ (Array) avec 10 nombres entiers, ceci doit être défini dans le fichier DTY de la bibliothèque des EFB comme suit. TYPE TI_10 : ARRAY[0..9] OF INT; END_TYPE Lorsqu'on élabore alors un EFB utilisant ce champ (Array), des éléments de champ peuvent, par exemple, être sortis dans ce champ ou alors y être lu (put/get). L'EFB opère exclusivement avec un champ (Arrays) de 10 nombres entiers. Lorsqu'un nombre plus grand d'éléments est requis, un autre type de données (différent) doit être défini. Ceci est valable même lorsque l'EFB existant ne fonctionne pas avec ce nouveau type de données, étant donné qu'il ne s'agit pas de celui qui a été défini au moment de l'élaboration de l'EFB. Le premier problème est celui de la définition du nombre approprié d'éléments ARRAY. Le problème suivant réside en ceci que, pour des champs (Arrays) à types de données différents, des EFB différents doivent être définis. 33002231 21 Introduction EFB de Concept et le type de données ANY Mode de fonctionnement de Concept Pour faciliter la manipulation des tableaux, Concept dispose d'un type de données spécial ’ANY’. Une broche définie avec ce type de données peut être liée à une variable d'un type de données quelconque. Afin de garantir un fonctionnement correct durant l’exécution, la taille (en octets) du type de données de la variable liée est transmise comme paramètre caché à l' EFB. Et malgré tout, le type véritable de la variable (qu'il s'agisse d'une variable INT, UINT, WORD, d'une structure d'éléments ou d'un champ (Array)) n'est pas connu de l'EFB. Exemple A l'EFB est transmis un pointeur sur une variable qui a une taille de 4 octets. Le type de ces 4 octets – DINT ou REAL – est inconnu. C'est la raison pour laquelle le paramètres ANY ne peut être utilisé que lorsque le traitement de ce paramètre est clairement défini. Dans l'exemple mentionné ci-dessus, l'EFB ne sait pas s'il faut effectuer un calcul en virgule flottante ou une arithmétique de nombres entiers. Plus la taille augmente, moins il est clair de quel type de données il s'agit. (Avec une taille de 100 octets, il pourrait s'agir, par exemple, d'un champ (Array) d'octets, de nombres entiers ou de nombres en virgule flottante, ou alors d'une structure avec différents types de données.) Autres restrictions Une autre restriction du type de données ANY consiste en ceci qu'en cas d'utilisation répétée de ce type dans un EFB, toutes les broches de ce types doivent être liées à des variables du même type de données. 22 33002231 Introduction Aspects d'implémentation Procédure Les différences entre Concept et Modsoft montrent, dans les grandes lignes, ce qui est possible lors de la conversion des fonctions Modsoft en une bibliothèque d'EFB de Concept. Il existe des exigences contraires lors de l'implémentation : l Implémenter la fonction de manière à ce qu'elle puisse, autant que possible, correspondre à la solution existante sous Modsoft. C'est à dire qu'il ne faudrait implémenter qu'une seule solution de mémoire d'état (pas utilisable avec des variables localisées) l Implémenter la fonction conformément aux règles standards de programmation selon CEI 1131. Ceci signifie des solutions différentes pour les paramètres, et par conséquent un mode de fonctionnement différent. Restrictions Les fonctions Modsoft BLKM, BLKT et TBLK ne sont pas comprises dans ce paquet. Pour BLKM, il existe une fonction équivalente de Concept désignée MOVE. Les fonctions BLKT et TBLK peuvent être remplacées par une fonction DFB. 33002231 23 Introduction 24 33002231 Description des EFB II Aperçu Introduction Ces descriptions des EFB sont documentées par ordre alphabétique. Contenu de cette partie Cette partie contient les chapitres suivants : Chapitre Page 3 CMPR : comparaison de registres 27 4 DLOG : Protocole des données pour le support de lecture/ d'écriture PCMCIA 29 5 FIFO : Registre de pile premier entré/premier sorti 35 6 GET_3X : Lire registres 3x 41 7 GET_4X : Lire registres 4x 45 8 GET_BIT : Lire bit 49 9 33002231 Titre du chapitre IEC_BMDI : Déplacer des blocs (Block Move) 51 10 LIFO : Registre de pile dernier entré/premier sorti 59 11 MBIT : changement de bit 63 12 PUT_4X : Ecrire registres 4x 67 13 R2T_*** : Registre vers tableau 71 14 SEARCH : rechercher 77 15 SENS avec pointeur : requête 79 16 SET_BIT : Positionner bit 81 17 SET_BITX : Positionner bit étendu 85 18 SRCH_*** : Rechercher 89 19 T2T : Tableau vers tableau 93 20 XXOR : OU exclusif 99 25 Description des EFB 26 33002231 CMPR : comparaison de registres 3 Vue d'ensemble Introduction Ce chapitre décrit le bloc CMPR. Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Brève description 28 Représentation 28 27 CMPR : comparaison de registres Brève description Description de la fonction La fonction CMPR compare la configuration binaire de la matrice A à celle de la matrice B pour détecter toute différence. Les deux matrices sont comparées bit par bit au cours d'un seul cycle jusqu'à détecter une différence ou jusqu'à la fin des matrices (en l'absence de différences). Représentation Symbole Représentation du bloc : CMPR Description des paramètres 28 BOOL UINT UINT UINT REP ADR TYP PTR UINT LEN FND VAL BOOL BOOL Description des paramètres du bloc : Paramètre Type de données Signification REP BOOL TRUE = La comparaison démarre toujours à la première position de bit FALSE = La comparaison démarre à la dernière occurrence. ADR UINT Décalage de la matrice A dans le registre Yx TYP UINT Type de registre : 0 = 0x, 1 = 1x, 3 = 3x et 4 = 4x Exemple : ADR=10 TYP=4 <=> 1er registre matrice A = 400010 PTR UINT Décalage du registre du pointeur dans le registre 4x Exemple : PTR=50 => Registre pointeur = 400050 ; 1er registre matrice B = 400051 LEN UINT Longueur de matrice en mots (1 à 100) FND BOOL TRUE = Différence trouvée FALSE = Aucune différence trouvée VAL BOOL Valeur de la matrice A au niveau de l'occurrence 33002231 DLOG : Protocole des données pour le support de lecture/ d'écriture PCMCIA 4 Aperçu Introduction Le présent chapitre décrit le bloc DLOG. Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Présentation 30 Représentation 31 Description détaillée 32 Erreur d'exécution 34 29 DLOG : Protocole des données pour le support de lecture/d'écriture PCMCIA Présentation Description de la fonction Le support de lecture/d'écriture pour PCMCIA se compose d'une extension de configuration établie avec un bloc DLOG. Avec le bloc DLOG, votre application est en mesure de copier des données sur ou à partir d'une carte flash PCMCIA, d'effacer des blocs de mémoire individuels sur une carte flash PCMCIA et d'effacer une carte flash PCMCIA tout entière. Le format de données et la fréquence de mémorisation des données sont déterminés par l'application. EN et ENO peuvent être configurés comme paramètres supplémentaires. Restrictions L'utilisation du bloc DLOG est soumise aux restrictions suivantes : l Ce bloc n'est disponible que dans la famille API TSX Compact. l Le bloc DLOG ne peut être utilisé qu'avec des cartes flash PCMCIA qui emploient des appareils flash AMD. 30 33002231 DLOG : Protocole des données pour le support de lecture/d'écriture Représentation Symbole Représentation du bloc : DLOG DLOG_CTRL UINT UINT BOOL Description des paramètres Structures des données DLOG_CTRL 33002231 ERROR BLK_CTRL SRCDEST SUCCESS LENGTH ABORT BOOL BOOL Description des paramètres du bloc : Paramètres Type de données Signification BLK_CTRL DLOG_CTRL Structure des données du bloc de commande SRCDEST UINT Premier registre 4x dans une zone de données, lequel registre est utilisé comme source ou cible de l'opération fixée. LENGTH UINT Nombre maximal de registres réservés pour la zone de données : 0 à 100. ABORT BOOL 1 = stoppe l'opération actuellement active ERROR BOOL 1 = Erreur (Voir aussi Message d'erreur, p. 34) durant l'opération DLOG (opération terminée sans succès) SUCCESS BOOL 1 = opération DLOG terminée avec succès (opération réussie) Description de la structure des données DLOG_CTRL : Elément Type de données Signification status WORD Etat d'erreur operation WORD Type d'opération window WORD Fenêtre (identificateur de bloc) offset WORD Décalage (adresse d'octet dans le bloc) count WORD Compteur 31 DLOG : Protocole des données pour le support de lecture/d'écriture PCMCIA Description détaillée DLOG_CTRL La variable structurée indiquée à cette entrée contient les cinq éléments pour le bloc de commande DLOG. Le bloc de commande permet de définir la fonction de la commande DLOG, la fenêtre de la carte flash PCMCIA, le décalage de la fenêtre de la carte flash PCMCIA, un mot d'état renvoyé et une valeur du compteur de mots de données. Le bloc de commande permet de définir la fonction de la commande DLOG, la fenêtre de la carte flash PCMCIA, le décalage de la fenêtre de la carte flash PCMCIA, un mot d'état renvoyé et une valeur du compteur de mots de données : 32 Elément Signification Fonction status Etat d'erreur Affiche les erreurs DLOG en valeurs HEX : l 1 = le paramètre du compteur du bloc de commande, c'est à dire la longueur de bloc DLOG pendant une opération d'écriture (type d'opération = 1) l 2 = Echec de la commande de carte PCMCIA au premier démarrage (écrire/lire/effacer) l 3 = Echec de la commande de carte PCMCIA pendant l'wexécution (écrire/lire/effacer) l 4 = L'EXEC (16 bits) actuel n'est pas un EXEC valable pour Compact (32 bits). operation Type d'opération Les opérations suivantes sont disponibles : l 1 = Ecrire sur la carte PCMCIA l 2 = Lire de la carte PCMCIA l 3 = Effacer un bloc l 4 = Effacer le contenu total de la carte window Fenêtre (identificateur Cet élément désigne un bloc bien précis (fenêtre de de bloc) mémoire PCMCIA) qui se trouve sur la carte PCMCIA (1 bloc = 128 kilo-octets). Le nombre de blocs est fonction de la capacité de mémoire de la carte PCMCIA. P. ex. 0 … 31 max. pour une carte Meg PCMCIA.) offset Décalage (adresse d'octet dans le bloc) Zone d'octets bien déterminée qui se trouve dans un bloc sur la carte PCMCIA. Zone : 1 ... 128 kilo-octets count Compteur Nombre de registres 4x qui sont écris ou lus sur une carte PCMCIA. Zone : 0 à 100. 33002231 DLOG : Protocole des données pour le support de lecture/d'écriture Note : Les adresses de cartes flash PCMCIA sont des adresses avec une base de décalage de fenêtre. Les fenêtres ont une taille prédéfinie de 128 kilo-octets (65.535 mots (valeurs à 16 bits)). Aucune opération d'écriture/de lecture ne peut traverser la limite d'une fenêtre à une autre. "offset" plus "count" doit donc toujours avoir une taille de ≤ 128 kilo-octets (65.535 mots). SRCDEST La valeur indiquée à cette entrée définit le premier registre (p. ex. la valeur "50" donne l'adresse de registre 4x 4x000050) dans un bloc cohérent de registres de mots 4x. Ce bloc sera utilisé par le bloc DLOG comme source ou cible de l'opération qui est définie dans l'élément "operation" de l'entrée BLK_CTRL. Tableaux des opérations : Opération Référence de mémoire d'état Fonction Ecriture 4x Adresse source Lecture 4x Adresse cible Effacer bloc aucun aucun Effacer carte aucun aucun Au cas où la valeur à cette entrée ne se trouve pas à l'intérieur de la plage des registres 4x, un message d'efrreur est généré et la sortie ERROR est mise à "1". LENGTH La valeur indiquée à cette entrée est la longueur de la zone de données, c'est à dire le nombre maximal de mots (registres) admissible lors d'une transmission de/sur la carte flash PCMCIA. La longueur peut se trouver dans la plage de 0 à 100. ABORT Lorsque la valeur "1" est inscrite sur cette entrée, l'opération actuelle est interrompue. L'entrée est statique, ce qui signifie que le bloc n'est pas exécuté, tant que la valeur "1" est inscrite. ERROR Au cas où l'opération DLOG a été terminée sans succès, cette sortie est mise à "1". Une opération de lecture ou d'écriture peut s'effectuer nécessiter plusieurs cycles, avant de se terminer. Dans le cas où ERROR et SUCCESS ont la même valeur "0", ceci signifie que l'opération n'est pas encore terminée. SUCCESS Au cas où l'opération DLOG a été terminée avec succès, cette sortie est mise à "1". Une opération de lecture ou d'écriture peut nécessiter plusieurs cycles, avant de se terminer. Dans le cas où ERROR et SUCCESS ont la même valeur "0", ceci signifie que l'opération n'est pas encore terminée. 33002231 33 DLOG : Protocole des données pour le support de lecture/d'écriture PCMCIA Erreur d'exécution Message d'erreur Un message d'erreur est généré dans les cas suivants. l L'EXEC (16 bits) actuel n'est pas un EXEC valable pour Compact (32 bits). Dans ce cas, l'élément "status" de l'entrée BLK_CTRL est placé à la valeur "4" (HEX) et le message d'erreur "E_EFB_CURRENT_MODE_NOT_ALLOWED" est généré. D'autre part, la sortie ERROR est mise à "1" et, ensuite, l'exécution du bloc est interrompue. (Au cas où le bloc est utilisé avec l'EXEC incompatible, le message d'erreur est généré à chaque cycle, tant que le bloc est actif.) l La valeur à l'entrée SRCDEST ne se trouve pas à l'intérieur de la zone de registres 4x. Dans ce cas, un message d'erreur est généré. D'autre part, la sortie ERROR est mise à "1" et, ensuite, l'exécution du bloc est interrompue. l Une erreur se produit pendant le cycle de lecture ou d'écriture. Dans ce cas, le code d'erreur PCM s'affiche dans l'élément "status" de l'entrée BLK_CTRL. D'autre part, la sortie ERROR est mise à "1" et, ensuite, l'exécution du bloc est interrompue. 34 33002231 FIFO : Registre de pile premier entré/premier sorti 5 Aperçu Introduction Le présent chapitre décrit le bloc FIFO Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Présentation 36 Représentation 37 Description détaillée 38 35 FIFO Registre de pile premier entré/premier sorti Présentation Description de la fonction Ce bloc fonction est un registre de pile 'premier entré - premier sorti'. EN et ENO peuvent être configurés comme paramètres supplémentaires. Note : Pour des raisons techniques, ce bloc fonction ne peut être utilisé dans les langages de programmation ST et IL. 36 33002231 FIFO Registre de pile premier entré/premier sorti Représentation Icône Représentation du bloc : FIFO BOOL BOOL BOOL ANY UINT Description des paramètres 33002231 R SET GET X N_MAX FULL EMPTY Y BOOL BOOL ANY Description des paramètres du bloc : Paramètres Type de données Signification R BOOL 1 = Suppression du registre de pile SET BOOL 1 = Ecrire la valeur dans le registre de pile GET BOOL 1 = Lire la valeur dans le registre de pile X ANY devrait être un champ (Array) de ANY_ELEM, p. ex. ARRAY[0..X] OF INT Entrée du registre de pile N_MAX UINT Nombre maximum d'éléments dans le registre de pile FULL BOOL 1 = Le registre de pile est plein, il n'est plus possible d'y sauvegarder d'autres éléments. EMPTY BOOL 1 = Le registre de pile est vide (nombre d'éléments du registre de pile = 0) Y ANY devrait être un champ (Array) de ANY_ELEM, p. ex. ARRAY[0..X] OF INT Sortie du registre de pile 37 FIFO Registre de pile premier entré/premier sorti Description détaillée Fonctionnement de la fonction sous P-Unit FIFO est un registre de pile ’premier entré/premier sorti’. L’index et le registre de pile sont cachés à l’utilisateur. Le registre de pile fait partie de l’état interne et sa capacité peut atteindre 2000 octets de données, à savoir 1000 éléments INT ou 500 éléments REAL ou 500 éléments TIME. Le bloc fonction a deux entrées booléennes GET et SET permettant de lire une valeur issue du registre de pile ou d’inscrire une valeur dans ce dernier. Dans la mesure où ces entrées sont sur 1, une valeur par scanning est lue dans la pile du FIFO ou inscrite dans celle-ci. Si GET et SET sont mis simultanément, SET (écriture) est exécuté avant GET (lecture). Une suppression du registre de pile a lieu lorsque R(eset) = 1. Les paramètres d’entrée vérifiant la pile doivent être mis dans un ordre sensé pour obtenir un fonctionnement sensé du bloc fonction. Exemple d’ordre sensé : Cycle Paramètres Résultat Cycle n R=0, SET=0, GET=0 Pile non initialisée Cycle n+1 R=1, SET=0, GET=0 Pile initialisée Cyvle n+2 R=0, SET=0, GET=0 Terminer l’initialisation Cycle n+3 R=0, SET=1, GET=0 Charger la pile avec x valeurs Cycle n+x+1 R=0, SET=0, GET=0 Terminer le chargement Cycle n+x+2 R=0, SET=0, GET=1 Obtenir x valeurs Cycle n+x+2+x R=0, SET=0, GET=1 Pile non vide Le paramètre N_MAX indique le nombre maximal d’éléments du registre de pile. Lorsque le registre de pile est saturé (nombre d’éléments dans le registre de pile = N_MAX <= 2000 / (valeur de (X)), FULL est mis sur 1 pour un scanning et aucun élément supplémentaire ne peut être inscrit dans le registre de pile. Lorsque le registre de pile est vide (nombre d’éléments dans le registre de pile = 0), EMPTY est mis sur 1 pour un scanning. Cette fonction a une entrée X et une sortie Y pour des types de données élémentaires différents. X et Y sont de type ANY, ce qui implique une longueur prédéfinie. En raison de la taille limitée du registre de pile interne, seuls sont acceptés des types d’entrées et sorties ayant une taille d’élément inférieure ou égale à 200 octets. Dans le cas contraire, une erreur d’exécution se produit et un message d’erreur mettant ENO sur 0 apparaît. 38 33002231 FIFO Registre de pile premier entré/premier sorti Fonctionnement de la fonction sous Modsoft Ces fonctions copient une valeur issue d’un registre source (16 bits) dans une file d’attente (tableau) ou inversement. EN : BOOL SRC : UINT ENO : BOOL Q : UINT[] FULL : BOOL EN : BOOL Q : UINT[] DEST : UINT FIN LEN : UINT ENO : BOOL FULL : BOOL R-->T EMPTY : BOOL LEN : UINT EMPTY : BOOL En début de tableau se trouve la première adresse du registre de file d’attente. Le nombre d’éléments mis sur la file d’attente est la première entrée de ce tableau. A chaque cycle, la fonction copie une valeur 16 bits du registre source dans la file d’attente [Index + 1]. 33002231 Elément, entrée/sortie Signification Partie supérieure Source est une référence à la mémoire d’état : 0x, 1x ou dans une zone 16 bits connexe 3x, 4x Partie médiane ’Pointeur’ de file d’attente est une référence à la mémoire d’état : Début de registre 4x + 1 + valeur du pointeur Partie inférieure Longueur du tableau (1..100). Entrée supérieure, sortie supérieure Valider une fonction Sortie médiane File d’attente saturée ; aucune opération de copie supplémentaire n’est exécutée Sortie inférieure File d’attente vide 39 FIFO Registre de pile premier entré/premier sorti Différences 40 Différences entre P-Unit et Modsoft : l Le tableau est une structure de données prédéfinie librement. Les fonction Modsoft ne peuvent pas fonctionner avec des variables ou liaisons non localisées. Modsoft utilise des offsets dans la mémoire d’état. Le tableau fait partie de la mémoire d’état (pas de réservation ni vérification d’utilisation multiple). l Les broches sont nommées sous P-Unit. EN/ENO sont facultatifs sous P-Unit (norme CEI1131-3). l Noms de fonctions différents (sous P-Unit, ’->’ n’est pas autorisé dans un nom). l Différents affichages (voir Fonctionnement de la fonction sous Modsoft, p. 39). 33002231 GET_3X : Lire registres 3x 6 Aperçu Introduction Le présent chapitre décrit le bloc GET_3X Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Présentation 42 Représentation 42 Description détaillée 43 41 GET_3X : Lire registres 3x Présentation Description de la fonction Ce bloc fonction écrit des valeurs de la plage de registres 3x de la mémoire d'état dans la variable qui est reliée à la broche de sortie. EN et ENO peuvent être configurés comme paramètres supplémentaires. Note : Pour des raisons techniques, ce bloc fonction ne peut être appelé dans les langages de programmation ST et IL que sous forme compacte (INSTANCE_NAME (OFF:=offset, VAL=>valeur)). Représentation Symbole Représentation du bloc : GET_3X UINT Description des paramètres 42 OFF VAL ANY Description des paramètres du bloc : Paramètres Type de données Signification OFF UINT OFF est un décalage dans la mémoire à registre 3x. VAL ANY Sortie 33002231 GET_3X : Lire registres 3x Description détaillée Description de la fonction Le bloc fonction GET_3X écrit des valeurs de la plage de registres 3x de la mémoire d'état dans la variable qui est reliée à la broche de sortie. OFF est un décalage dans la mémoire à registre 3x. La fonction copie un nombre d'octets correspondant à la taille du type de données de sortie qui est relié à la broche de sortie. Exemple La sortie de cette fonction lit la valeur a 16 bits du registre 300120, lorsque OFF = 120 et la sortie est du type de données INT. La valeur dans OFF ne peut pas être modifiée durant l’exécution. Lorsque OFF se trouve hors du nombre configuré de registres 3x, un message d'erreur est généré, et ENO est mis à 0. 33002231 43 GET_3X : Lire registres 3x 44 33002231 GET_4X : Lire registres 4x 7 Aperçu Introduction Le présent chapitre décrit le bloc GET_4X Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Présentation 46 Représentation 46 Description détaillée 47 45 GET_4X : Lire registres 4x Présentation Description de la fonction Ce bloc fonction écrit des valeurs de la plage de registres 4x de la mémoire d'état dans la variable qui est reliée à la broche de sortie. EN et ENO peuvent être configurés comme paramètres supplémentaires. Note : Pour des raisons techniques, ce bloc fonction ne peut être appelé dans les langages de programmation ST et IL que sous forme compacte (INSTANCE_NAME (OFF:=offset, VAL=>valeur)). Représentation Symbole Représentation du bloc : GET_4X UINT Description des paramètres 46 OFF VAL ANY Description des paramètres du bloc : Paramètres Type de données Signification OFF UINT OFF est un décalage dans la mémoire à registre 4x. VAL ANY Sortie 33002231 GET_4X : Lire registres 4x Description détaillée Description de la fonction Le bloc fonction GET_4X écrit des valeurs de la plage de registres 4x de la mémoire d'état dans la variable qui est reliée à la broche de sortie. OFF est un décalage dans la mémoire à registre 4x. La fonction copie un nombre d'octets correspondant à la taille du type de données de sortie qui est relié à la broche de sortie. Exemple La sortie de cette fonction lit la valeur a 16 bits du registre 400120, lorsque OFF = 120 et la sortie est du type de données INT. La valeur dans OFF ne peut pas être modifiée durant l’exécution. Lorsque OFF se trouve hors du nombre configuré de registres 4x, un message d'erreur est généré, et ENO est mis à 0. 33002231 47 GET_4X : Lire registres 4x 48 33002231 GET_BIT : Lire bit 8 Aperçu Introduction Le présent chapitre décrit le bloc GET_BIT Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Présentation 50 Représentation 50 Description détaillée 50 49 GET_BIT : Lire bit Présentation Description de la fonction Ce bloc fonction lit le bit de l'entrée "IN" sélectionné par "NO" et écrit l'état actuel sur la sortie "RES". EN et ENO peuvent être configurés comme paramètres supplémentaires. Représentation Symbole Représentation du bloc : GET_BIT WORD UINT Description des paramètres IN NO RES BOOL Description des paramètres du bloc : Paramètres Type de données Signification IN WORD Mot d'entrée NO UINT Numéro du bit devant être lu. RES BOOL Etat actuel du bit sélectionné. Description détaillée Description de la fonction Le bloc fonction GET_BIT lit le bit de l'entrée "IN" sélectionné par "NO" et écrit l'état actuel sur la sortie "RES". La sortie est l'état actuel du bit sélectionné des données d'entrée. Le paramètre "NO" indique le bit des données d'entrée qui doit être sélectionné. 16 50 Bit 1 33002231 IEC_BMDI : Déplacer des blocs (Block Move) 9 Aperçu Introduction Le présent chapitre décrit le bloc IEC_BMDI. Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Présentation 52 Représentation 52 Description détaillée 54 Erreur d'exécution 57 51 IEC_BMDI : Déplacer des blocs (Block Move) Présentation Description de la fonction Ce bloc fonction copie mot par mot le nombre d'éléments indiqué sous LENGTH, de la position OFF_IN de la table source (SEL_IN) vers la position OFF_OUT de la table cible (SEL_OUT). AVERTISSEMENT Etats de processus dangereux Ce bloc fonction écrase les valeurs de la mémoire d'état SANS égard aux valeurs éventuellement forcées dans l'éditeur de données de référence. Ceci peut mener à des états de procédé dangereux. Le non-respect de cette directive peut entraîner la mort, des lésions corporelles graves ou des dommages matériels. EN et ENO peuvent être configurés comme paramètres supplémentaires. Note : Pour des raisons techniques, ce bloc fonction ne peut être utilisé dans le langage de programmation IL. Représentation Symbole Représentation du bloc : IEC_BMDI 52 DATA DATA SEL_IN OFF_IN DATA LENGTH DATA DATA SEL_OUT OFF_OUT 33002231 IEC_BMDI : Déplacer des blocs (Block Move) Description des paramètres 33002231 Description des paramètres du bloc : Paramètres Type de données Signification SEL_IN UINT Table source dont le contenu est copié. Sélection de la table source : 0 = 0x 1 = 1x 3 = 3x 4 = 4x OFF_IN UINT Décalage dans le tableau source sélectionné. Etant donné que l'opération de copie s'effectue mot par mot, OFF_IN doit être un multiple de 16+1 (p. ex. 17, 33, 49 etc.) pour toutes les tables source 0x et 1x. Le décalage est soumis à un contrôle des valeurs limites et doit se trouver à l'intérieur des limites du tableau source. LENGTH UINT Taille des tables source et cible. LENGTH indique le nombre d'éléments à copier dans la table source. Puisque les mots sont copiés un par un, LENGTH doit être un multiple de 16 (p.ex 16, 32, 48 etc.) pour toutes les tables source 0x-ou 1x. Le décalage fait l'objet d'un contrôle de limites et doit se trouver à l'intérieur des limites de la table source et cible. Indépendemment des limites configurées, la valeur LENGTH a été limitée aux valeurs suivantes, pour éviter que la copie prenne trop de temps : 0x, 1x Bits : max LENGTH = 1600 Registres 3x, 4x : max LENGTH = 100 SEL_OUT UINT Tableau cible vers lequel les données source sont copiées pendant le cycle. Sélection de la table source : 0 = 0x 4 = 4x OFF_OUT UINT Décalage dans la table cible sélectionnée. Etant donné que l'opération de copie s'effectue mot par mot, OFF_OUT doit être un multiple de n+1 (n=0, 1, 2, 3... p. ex. 1, 17, 33, 49 etc.) pour toutes les tables source 0x et 1x. Le décalage fait l'objet d'un contrôle de limites et doit se trouver à l'intérieur des limites de la table source. 53 IEC_BMDI : Déplacer des blocs (Block Move) Description détaillée Description de la fonction AVERTISSEMENT Etats de processus dangereux Ce bloc fonction surimprime les valeurs de la mémoire d'état SANS égard aux valeurs éventuellement forcées dans l'éditeur de données de référence. Ceci peut mener à des états de procédé dangereux. Le non-respect de cette directive peut entraîner la mort, des lésions corporelles graves ou des dommages matériels. IEC_BMDI copie le nombre d'éléments indiqué sous LENGTH de la position OFF_IN de la tale source (SEL_IN) vers la position OFF_OUT de la table cible (SEL_OUT). Lors de la copie, LENGTH s'oriente toujours sur le type de SEL_IN (0x,1x : LENGTH = nombre de bits; 3x, 4x : LENGTH = nombre de mots) Comportement de copie : l 0x ou 1x vers 0x Lors de la copie de 0x ou 1x vers 0x, les longueurs source et cible sont identiques. l 3x ou 4x vers 4x Lors de la copie de 3x ou 4x vers 4x, les longueurs source et cible sont identiques. l 0x ou 1x vers 4x Lors de la copie de 0x ou 1x vers 4x, une copie WORD vers WORD est également effectuée. Lors de cette procédure, le premier bit source est copié sur le bit le plus significatif du premier registre 4x et ainsi de suite. LENGTH définit le nombre de bits à copier. La longueur de sortie maximale est de LENGTH/16 registres. l 3x ou 4x vers 0x Lors de la copie de 3x ou 4x vers 0x, une copie WORD vers WORD est également effectuée. Lors de cette procédure, le bit le plus significatif du premier registre est copié sur le premier bit cible et ainsi de suite. LENGTH définit le nombre de registres à copier. La longueur de sortie maximale est de LENGTH/ 16 bits. 54 33002231 IEC_BMDI : Déplacer des blocs (Block Move) Exemple 1 Dans l'exemple, 64 bits source 0x sont copiés de l'adresse de démarrage 0 :00129 dans les registres cible 4x (à partir de l'adresse 4 :00112). La plage d'entrée est de 0 :00129 à 0 :00192 et la plage de sortie de 4 :00112 à 00115. IEC_BMDI 0 129 64 4 112 Exemple 2 SEL_IN OFF_IN LENGTH SEL_OUT OFF_OUT Dans l'exemple, 11 registres source 4x sont copiés de l'adresse de démarrage 4 :00250 dans les bits cible 0x (à partir de l'adresse 0 :00257). La plage d'entrée est de 4 :00250 à 4 :00264 et la plage de sortie de 0 :00257 à 0 :00432. IEC_BMDI 4 250 Exemple 3 SEL_IN OFF_IN 11 LENGTH 0 257 SEL_OUT OFF_OUT Dans l'exemple, 128 registres source 0x sont copiés de l'adresse de démarrage 0 :00001 dans les bits cible 0x (à partir de l'adresse 0 :00257). La plage d'entrée est de 0 :0000129 à 0 :00127 et la plage de sortie de 0 :00257 à 0 :00384. IEC_BMDI 0 1 33002231 SEL_IN OFF_IN 128 LENGTH 0 257 SEL_OUT OFF_OUT 55 IEC_BMDI : Déplacer des blocs (Block Move) Exemple 4 Dans l'exemple, 15 registres source 4x sont copiés de l'adresse de démarrage 4 :00250 dans les registres cible 4x (à partir de l'adresse 4 :01030). La plage d'entrée est de 4 :00250 à 4 :00264 et la plage de sortie de 4 :01030 à 4 :01044. IEC_BMDI 4 250 15 4 1030 56 SEL_IN OFF_IN LENGTH SEL_OUT OFF_OUT 33002231 IEC_BMDI : Déplacer des blocs (Block Move) Erreur d'exécution Erreur d'exécution Les messages d'erreur utilisateur standard suivants sont utilisés : Message d'erreur utilisateur Signification E_EFB_USER_ERROR_1 Type de registre utilisé comme valeur d'entrée est invalide (SEL_IN). E_EFB_USER_ERROR_2 Le décalage d'entrée (OFF_IN) sélectionne une adresse en dehors des limites admissibles. E_EFB_USER_ERROR_3 Le décalage d'entrée (OFF_IN) n'est pas 1 ou un multiple de 16+1. E_EFB_USER_ERROR_4 Type de registre invalide en tant que valeur de sortie (SEL_OUT). E_EFB_USER_ERROR_5 Le décalage de sortie (OFF_OUT) sélectionne une adresse en dehors des limites admissibles. E_EFB_USER_ERROR_6 Le décalage de sortie (OFF_OUT) n'est pas 1 ou un multiple de 16+1. E_EFB_USER_ERROR_7 La valeur de la longueur (LENGTH) est 0. E_EFB_USER_ERROR_8 La valeur de la longueur (LENGTH) est valable pour plus de 1600 bits. E_EFB_USER_ERROR_9 La valeur de la longueur (LENGTH) est valable pour plus de 100 mots. E_EFB_USER_ERROR_10 La valeur de la longueur (LENGTH) sélectionne une adresse source en dehors des limites admissibles. E_EFB_USER_ERROR_11 La valeur de la longueur (LENGTH) sélectionne une adresse cible en dehors des limites admissibles. E_EFB_USER_ERROR_12 La valeur de la longueur (LENGTH) n'est pas un multiple de 16. E_EFB_USER_ERROR_13 Avertissement : Chevauchement des adresses d'entrée et de sortie. Si aucune erreur n'apparaît, le bloc fonction copie les valeurs depuis la source indiquée vers l'adresse cible et positionne la sortie ENO à 1. Les erreurs utilisateur 1 à 12 empêchent la procédure de copie et positionnent la sortie ENO à 0. En cas d'occurence de l'erreur utilisateur 13, la procédure de copie est poursuivie et la sortie ENO reste sur 1, puisque cette erreur utilisateur est traitée comme avertissement. L'erreur utilisateur est signalée au dialogue des événements en ligne. 33002231 57 IEC_BMDI : Déplacer des blocs (Block Move) 58 33002231 LIFO : Registre de pile dernier entré/premier sorti 10 Aperçu Introduction Le présent chapitre décrit le bloc LIFO. Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Présentation 60 Représentation 61 Description détaillée 62 59 LIFO: Registre de pile dernier entré/premier sorti Présentation Description de la fonction Ce bloc fonction est un registre de pile dernier entré - premier sorti'. EN et ENO peuvent être configurés comme paramètres supplémentaires. Note : Pour des raisons techniques, ce bloc fonction ne peut être utilisé dans les langages de programmation ST et IL. 60 33002231 LIFO: Registre de pile dernier entré/premier sorti Représentation Symbole Représentation du bloc : LIFO BOOL BOOL BOOL ANY UINT Description des paramètres 33002231 R SET GET X N_MAX FULL EMPTY Y BOOL BOOL ANY Description des paramètres du bloc : Paramètres Type de données Signification R BOOL 1 = Registre de pile est effacé SET BOOL 1 = Ecrire la valeur dans le registre de pile GET BOOL 1 = Lire la valeur dans le registre de pile X ANY devrait être un champ (Array) de ANY_ELEM p. ex. ARRAY[0..X] OF INT Entrée du registre de pile N_MAX UINT Nombre maximum d'éléments dans le registre de pile FULL BOOL 1 = Le registre de pile est plein, il n'est plus possible d'y sauvegarder d'autres éléments. EMPTY BOOL 1 = le registre de pile est vide (nombre d'éléments du registre de pile = 0) Y ANY devrait être un champ (Array) de ANY_ELEM p. ex. ARRAY[0..X] OF INT Sortie du registre de pile 61 LIFO: Registre de pile dernier entré/premier sorti Description détaillée Description de la fonction LIFO est un registre de pile 'dernier entré - premier sorti'. L'index et le registre de pile sont transparents pour l'utilisateur. Le registre de pile fait partie de l'état interne et peut contenir jusqu'à 2000 octets de données (c.-à-d. 1000 éléments INT- ou 500 éléments REAL ou 500 éléments TIME). Le bloc fonction possède deux entrées booléennes GET et SET qui permettent de lire ou d'écrire une valeur dans le registre de pile. Lorsque GET et SET sont placés simultanément, SET (écrire) est d'abord exécuté, et ensuite GET (lire). Le registre de pile est effacé lorsque R(eset) = 1. Les paramètres d'entrée contrôlant la pile doivent être positionnés dans un ordre permettant un fonctionnement judicieux du bloc fonction. Un ordre judicieux peut être par exemple : Cycle Paramètres Résultat Cycle n R=0, SET=0, GET=0 Pile pas initialisée Cycle n+1 R=1, SET=0, GET=0 Pile initialisée Cyclue n+2 R=0, SET=0, GET=0 Terminer l'initialisation Cycle n+3 R=0, SET=1, GET=0 Charger la pile avec les x valeurs Cycle n+x+1 R=0, SET=0, GET=0 Terminer chargement Cycle n+x+2 R=0, SET=0, GET=1 Aller chercher x valeurs Cycle n+x+2+x R=0, SET=0, GET=1 Pile non vide Le paramètre N_MAX indique le nombre maximal d'éléments du registre de pile. Lorsque le registre de pile est plein (nombre d'éléments dans le registre de pile = N_MAX <= 2000 / (taille de (X)), FULL est mis à 1. Il n'est plus possible d'y sauvegarder d'autres éléments. Lorsque le registre de pile est vide (nombre d'éléments du registre de pile = 0), EMPTY est mis à 1. La fonction possède une entrée X et une sortie Y avec différents types de données. X et Y sont de type ANY, ce qui implique une longueur prédéfinie. En raison de la taille limitée du registre de pile interne, seuls les types d'entrée et de sortie dont la taille d'élément est égale ou inférieure à 200 octets sont acceptés. Sinon, une erreur d'exécution est générée et la sortie ENO est mise à 0. 62 33002231 MBIT : changement de bit 11 Vue d'ensemble Introduction Ce chapitre décrit le bloc MBIT avec pointeur. Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Brève description 64 Représentation 65 63 MBIT : changement de bit Brève description Description de la fonction La fonction MBIT change la valeur d'une position de bit dans une matrice de données, c.-à-d. qu'elle met un ou plusieurs bit(s) à 1 ou à 0. Le système peut modifier une position de bit par cycle. AVERTISSEMENT Ecrasement de bits de sortie sans les valider La fonction MBIT écrase des bits de sortie au sein d'un groupe cible sans les valider. Cela peut provoquer un dysfonctionnement si un bit de sortie (une bobine) avait été bloqué pour réparation ou maintenance, car l'état de sortie peut être modifié par la fonction MBIT. Le non-respect de cette directive peut entraîner la mort, des lésions corporelles graves ou des dommages matériels. 64 33002231 MBIT : changement de bit Représentation Symbole Représentation du bloc : MBIT Description des paramètres 33002231 BOOL BOOL UINT UINT VAL INC POS ADR UINT TYP UINT LEN INCO ERR BOOL BOOL Description des paramètres du bloc : Paramètres Type de données Signification VAL BOOL Valeur affectée au bit INC BOOL TRUE = POS est augmenté de 1 au cycle suivant si POS est dans le registre 4x FALSE = Le système règle toujours le même bit POS UINT Position de bit dans la matrice A. ADR UINT Décalage de la matrice A dans le registre Yx TYP UINT Type de registre : 0 = 0x et 4 = 4x Exemple : ADR=10 TYP=4 <=> 1er registre matrice A = 400010 LEN UINT Longueur de matrice en mots (1 à 600) INCO UINT Réfléchit INC ERR UINT TRUE = lorsque POS > longueur de matrice FALSE = sinon 65 MBIT : changement de bit 66 33002231 PUT_4X : Ecrire registres 4x 12 Aperçu Introduction Le présent chapitre décrit le bloc OUT_4X. Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Présentation 68 Représentation 68 Description détaillée 69 67 PUT_4X : Ecrire registres 4x Présentation Description de la fonction Ce bloc fonction lie des valeurs de la variable IN et les écrit dans la plage de registres 4x de la mémoire d'état. Note : Comme ce bloc fonction ne dispose d'aucune broche de sortie, les éditeurs ne reconnaissent pas que ce bloc fonction écrase une plage de registres 4x. C'est pourquoi cette plage de registres 4x ne sera pas affichée comme étant utilisée dans la boîte de dialogue Affichage des références utilisées. EN et ENO peuvent être configurés comme paramètres supplémentaires. Représentation Symbole Représentation du bloc : PUT_4X UINT ANY Description des paramètres 68 OFF IN Description des paramètres du bloc : Paramètres Type de données Signification OFF UINT OFF est un décalage dans la mémoire à registres 4x. IN ANY Entrée 33002231 PUT_4X : Ecrire registres 4x Description détaillée Description de la fonction Le bloc fonction PUT_4X lie des valeurs de la variable IN et les écrit dans la plage de registres 4x de la mémoire d'état. OFF est un décalage dans la mémoire à registres 4x. La fonction copie un nombre d'octets correspondant à la taille du type de données d'entrée qui est relié à la broche IN. Exemple La fonction copie le champ à 16 bits de l'entrée IN au registre 400120, lorsque OFF = 120 et l'entrée est un WORD. La valeur OFF ne peut pas être modifiée durant l'exécution. Lorsque OFF se trouve hors du nombre configuré de registres 4x, un message d'erreur est généré, et ENO est mis à 0. 33002231 69 PUT_4X : Ecrire registres 4x 70 33002231 R2T_*** : Registre vers tableau 13 Aperçu Introduction Le présent chapitre décrit le bloc R2T_***. Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Présentation 72 Représentation 73 Description détaillée 74 71 R2T_*** . Registre vers tableau Présentation Description de la fonction Cebloc fonction copie la valeur saisie dans SRC dans le paramètre DEST interprété en tant que tableau. EN et ENO peuvent être gérés comme paramètres supplémentaires. Note : Comme ce bloc fonction possède une sortie de type ANY, mais pas d’entrée de ce même type de données, l’affectation de la sortie ANY doit être exécutée via l’opérateur =>. De plus, une seule instance de ces blocs fonction peut être exécutée à la fois. L’appel multiple d’un même bloc fonction n’est pas possible. 72 33002231 R2T_*** . Registre vers tableau Représentation Symbole Représentation du bloc : R2T_*** BOOL BOOL *** Description des paramètres 33002231 NoInc R SRC END DEST OFF BOOL ANY UINT *** = INT, UINT, DINT, UDINT, REAL Description des paramètres du bloc : Paramètres Type de données Signification NoInc BOOL 1: gèle la valeur du pointeur R BOOL 1: remet la valeur du pointeur à zéro SRC INT, UINT, DINT, UINT, REAL Données source à copier dans le cycle actuel END BOOL 1: Valeur du pointeur = longueur du tableau, ce signifie que le tableau est plein, le bloc fonction n'exécute plus d'opérations de copie, et OFF n'est plus incrémenté. Le bloc fonction (et donc END également) peut être réinitialisé avec R=1. DEST ANY devrait être un Tableau cible vers lequel les données source sont champ (Array) de type copiées pendant le cycle. INT, UINT, DINT, UDINT ou REAL, p. ex. ARRAY[0..X] OF INT OFF UINT OFF indique la position dans le tableau. OFF est placé par une réinitialisation (Reset) (R), ceci signifie que lorsque R=1, OFF est mis à "1". Après le transfert en mémoire, OFF est incrémenté de 1. 73 R2T_*** . Registre vers tableau Description détaillée Mode d'exécution des fonctions sous Concept R2T copie la valeur saisie sur SRC vers le paramètre DEST, interprété comme tableau. Le paramètre OFF, un décalage, indique la position du champ cible (Array), où la valeur source doit être mémorisée. Dans chaque cycle, la fonction copie la valeur de SRC vers DEST[OFF] et incrémente la valeur de décalage de la taille du type de données de la table, c.-à-d. OFF+1. La valeur de décalage est incrémentée automatiquement à chaque cycle, tant que le paramètre NoInc n'a pas la valeur 1. OFF est de type lecture/écriture, en analogie avec le paramètre CEI VAR_IN_OUT Rapport entre OFF, NoInc et R : OFF (cycle précédent) NoInc R OFF (cycle actuel) Commentaire n (valeur quelconque) 0 1 2 La valeur de OFF est remise à 1 par R=1 et étant donné que NoInc=0, incrémentée de 1 dans le même cycle. n (valeur quelconque) 1 1 1 La valeur de OFF est remise à 1 par R=1 et étant donné que NoInc=1, non incrémentée. n (valeur quelconque) 1 0 n Lorsque NoInc=1, la valeur de OFF n'est pas incrémentée et la valeur du cycle précédent est maintenue. n (valeur quelconque) 0 0 n+1 Lorsque R=0 et NoInc=0, la valeur du cycle précédent est incrémentée de 1. SRC est du même type de données (INT, UINT, DINT, UDINT, REAL ) que le bloc fonction sélectionné (voir _***). DEST est de type ANY, ce qui implique une longueur prédéfinie. Le type de données spécifié pour ce champ (Array) est le même que pour SRC, indépendamment du type défini lors du temps d'exécution (il pourrait s'agir d'une structure de types différents). 74 33002231 R2T_*** . Registre vers tableau Dans chaque cycle, OFF est soumis à un contrôle des limites. Lorsque OFF dépasse la longueur du tableau (taille des paramètres internes), END est mis à 1 et OFF n'est pas incrémenté (la fonction ne copie plus jusqu'à ce que OFF retombe à une valeur comprise entre les limites du tableau). Mode de fonctionnement sous Modsoft Cette fonction copie une valeur d'un registre source (16 bits) vers un tableau. Valider fonction copie Geler ou incrémenter la valeur du pointeur Remettre pointeur à zéro Pointeur source Tableau cible Longueur du tableau Copie du bit de validation Valeur du pointeur a atteint la taille du tableau EN : BOOL source ENO : BOOL NoInc : BOOL destination pointer END : BOOL R: BOOL table length R --> T Le tableau commence par le registre cible. Le premier élément est la valeur de décalage du tableau, vers lequel la valeur source doit être copiée. Dans chaque cycle, la fonction copie une valeur de 16 bits depuis le registre source vers le registre cible + décalage + 1. Le décalage est incrémenté à chaque cycle, lorsque l'entrée médiane vaut 0. Le décalage est remis à 0 lorsque l'entrée basse vaut 1. 33002231 Enregistrement, Entrée/sortie Signification Enregistrement supérieur Source est une référence de la mémoire d'état : 0x, 1x ou dans un champ de 16 bits cohérents 3x, 4x Enregistrement médian Le 'pointeur' cible est une référence à la mémoire d'état : Début du registre 4x + 1 + valeur du pointeur Enregistrement inférieur Longueur du tableau (1..255, 1..999, en fonction du processeur) Entrée haute, sortie haute Validation de la fonction Entrée médiane Incrémenter ou pas le décalage pour le tableau de sortie (0 ou 1) Entrée inférieure Réinitialiser le décalage du tableau de sortie (si 1 alors décalage = 0) Sortie médiane Le décalage atteint la taille du tableau - pas d'autres opérations de copie 75 R2T_*** . Registre vers tableau Différences 76 Différences entre Concept et Modsoft : l La table est une structure de données prédéfinie quelconque. Les fonctions Modsoft ne peuvent pas être utilisées avec des liaisons ou des variables localisées. Modsoft utilise des décalages dans la mémoire d'état. Le tableau est une partie de la mémoire d'état (pas réservé, pas de contrôle d'utilisation multiple). l Les broches sont nommées sous Concept. l EN/ENO sont en option sous Concept (Standard CEI1131-3). l Noms de fonctions différents (’->’ ne peut pas être utilisé dans un nom sous Concept). l Affichages différents (voir Mode de fonctionnement sous Modsoft, p. 75 ). 33002231 SEARCH : rechercher 14 Vue d'ensemble Introduction Ce chapitre décrit le bloc SEARCH. Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Brève description 78 Représentation 78 77 SEARCH : rechercher Brève description Description de la fonction La fonction recherche une configuration binaire spécifique dans les registres d'un tableau source. Représentation Symbole Représentation du bloc : SEARCH BOOL UINT UINT UINT UINT Description des paramètres 78 NEXT ADR TYP PTR FND BOOL LEN Description des paramètres du bloc : Paramètre Type de données Signification NEXT BOOL TRUE = La recherche démarre au cycle suivant après la dernière occurrence. FALSE = La recherche commence toujours au début de la zone de données. ADR UINT Décalage de zone de données dans le registre Yx TYP UINT Type de registre : 3 = 3x et 4 = 4x Exemple : ADR=10 TYP=4 <=> 1er registre de zone de données = 400010 PTR UINT Décalage du registre du pointeur dans le registre 4x Exemple : PTR=50 => Registre pointeur = 400050 ; registre configuration binaire = 400051 LEN UINT Longueur de zone de données en mots (1 à 600) FND BOOL TRUE = Configuration binaire trouvée FALSE = Configuration binaire non trouvée 33002231 SENS avec pointeur : requête 15 Vue d'ensemble Introduction Ce chapitre décrit le bloc SENS avec pointeur. Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Brève description 80 Représentation 80 79 SENS avec pointeur : requête Brève description Description de la fonction La fonction SENS contrôle et affiche l'état (1 ou 0) d'une position de bit spécifique dans une matrice de données. Le système contrôle une position de bit par cycle. Représentation Symbole Représentation du bloc : SENS Description des paramètres 80 BOOL BOOL UINT UINT INC RES POS ADR UINT TYP UINT LEN VAL ERR BOOL BOOL Description des paramètres du bloc : Paramètre Type de données Signification INC BOOL TRUE = POS est augmenté de 1 au cycle suivant si POS est dans le registre 4x FALSE = Le système règle toujours le même bit lorsque RES = FALSE RES BOOL TRUE = POS est toujours mis à 1 lorsque POS est dans le registre 4x POS UINT Position de bit dans la matrice A ADR UINT Décalage de la matrice A dans le registre Yx TYP UINT Type de registre : 0 = 0x et 4 = 4x Exemple : ADR=10 TYP=4 <=> 1er registre matrice A = 400010 LEN UINT Longueur de matrice en mots (1 à 600) VAL UINT Réfléchit la valeur du bit au niveau de la position de bit dans la matrice A ERR UINT TRUE = lorsque POS > longueur de matrice FALSE = sinon 33002231 SET_BIT : Positionner bit 16 Aperçu Introduction Le présent chapitre décrit le bloc SET_BIT Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Présentation 82 Représentation 82 Description détaillée 83 81 SET_BIT : Positionner bit Présentation Description de la fonction Ce bloc fonction positionne le bit, sélectionné par "NO", du mot de sortie "RES" à la valeur de "IN". AVERTISSEMENT Etats de processus dangereux Ce bloc fonction surimprime les valeurs de la mémoire d'état SANS égard aux valeurs éventuellement forcées dans l'éditeur de données de référence. Ceci peut mener à des états de procédé dangereux. Le non-respect de cette directive peut entraîner la mort, des lésions corporelles graves ou des dommages matériels. EN et ENO peuvent être gérés comme paramètres supplémentaires. Note : Pour des raisons techniques, ce bloc fonction ne peut être utilisé dans les langages de programmation ST et IL. Si vous voulez utiliser la fonctionnalité de ce bloc dans IL/ST, utilisez le bloc fonction SET_BITX (voir SET_BITX : Positionner bit étendu, p. 85). Représentation Symbole Représentation du bloc : SET_BIT BOOL UINT Description des paramètres 82 IN NO RES WORD Description des paramètres du bloc : Paramètres Type de données Signification IN BOOL Données d’entrée NO UINT Numéro du bit devant être écrit. RES WORD Sortie 33002231 SET_BIT : Positionner bit Description détaillée Description de la fonction Le bloc fonction SET_BIT positionne le bit, sélectionné par "NO", de la sortie "RES" à la valeur de "IN". Le paramètre "NO" indique le numéro du bit dans les données de sortie. 16 33002231 Bit 1 83 SET_BIT : Positionner bit 84 33002231 SET_BITX : Positionner bit étendu 17 Aperçu Introduction Ce chapitre décrit le bloc SET_BITX Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Présentation 86 Représentation 86 Description détaillée 87 85 SET_BITX : Positionner bit étendu Présentation Description de la fonction Ce bloc fonction positionne le bit, sélectionné par "NO", du mot de sortie "RES" à la valeur de "IN". AVERTISSEMENT Etats de processus dangereux Ce bloc fonction surimprime les valeurs de la mémoire d'état SANS égard aux valeurs éventuellement forcées dans l'éditeur de données de référence. Ceci peut mener à des états de procédé dangereux. Le non-respect de cette directive peut entraîner la mort, des lésions corporelles graves ou des dommages matériels. EN et ENO peuvent être gérés comme paramètres supplémentaires. Note : Ce bloc fonction peut être utilisé dans les langages de programmation ST et IL (contrairement au bloc fonction SET_BIT). Représentation Symbole Représentation du bloc : SET_BITX WORD BOOL UINT Description des paramètres 86 RES IN NO RES WORD Description des paramètres du bloc : Paramètres Type de données Signification RES WORD Entrée des variables IN_OUT IN BOOL Données d’entrée NO UINT Numéro du bit devant être écrit. RES WORD Sortie des variables IN_OUT 33002231 SET_BITX : Positionner bit étendu Description détaillée Description de la fonction Le bloc fonction SET_BITX positionne le bit, sélectionné par "NO", de la sortie "RES" à la valeur de "IN" Etant donné que l'entrée RS et la sortie RES sont des variables IN_OUT, la même variable doit être liée aux deux paramètres. Le paramètre "NO" indique le numéro du bit dans les données de sortie. 16 33002231 Bit 1 87 SET_BITX : Positionner bit étendu 88 33002231 SRCH_*** : Rechercher 18 Aperçu Introduction Le présent chapitre décrit le bloc SRCH_**. Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Présentation 90 Représentation 91 Description détaillée 92 89 SRCH_*** : Rechercher Présentation Description de la fonction Ce bloc fonction recherche un profil binaire spécifié dans un tableau source. A chaque cycle, il cherche le prochain élément dans le tableau, vérifie s'il correspond au profil défini et indique le résultat sur une sortie booléenne. Il augmente alors l'indice dans le tableau source pour le cycle suivant. EN et ENO peuvent être configurés comme paramètres supplémentaires. Note : Comme ce bloc fonction possède une sortie de type ANY, mais pas d’entrée de ce même type de données, l’affectation de la sortie ANY doit être exécutée via l’opérateur =>. De plus, une seule instance de ces blocs fonction peut être exécutée à la fois. L’appel multiple d’un même bloc fonction n’est pas possible. 90 33002231 SRCH_*** : Rechercher Représentation Symbole Représentation du bloc : SRCH_*** BOOL BOOL ANY *** Description des paramètres 33002231 TRIG CONT SRC PATTERN FOUND INDEX BOOL UINT *** = INT, UINT, DINT, UDINT, REAL Description des paramètres du bloc : Paramètres Type de données Signification TRIG BOOL TRIG détecte le front montant et lance la recherche. CONT BOOL CONT definit si la recherche doit se poursuivre ou reprendre au début du tableau lorsqu'un modèle a été trouvé. SRC ANY devrait être un Tableau source champ (Array) de type INT, UINT, DINT, UDINT ou REAL, p. ex. ARRAY[0..X] OF INT PATTERN INT, UINT, DINT, UINT, REAL PATTERN est le profil binaire à rechercher. FOUND BOOL 1 = Modèle trouvé INDEX UINT Lorsque le modèle a été trouvé, le paramètre INDEX indique à quel endroit dans le tableau le modèle a été trouvé. 91 SRCH_*** : Rechercher Description détaillée Description de la fonction Le bloc fonction SRCH recherche un profil binaire spécifié dans un tableau source. A chaque cycle validé par TRIG, il recherche le prochain élément dans le tableau, vérifie s'il correspond au profil défini et indique le résultat sur une sortie booléenne. Il augmente alors l'indice dans le tableau source pour le cycle suivant. SRC (source) est de type ANY, ce qui implique une longueur définie. Ce champ (Array) est interprété en tant qu'ARRAY avec les mêmes types de données (INT, UINT, DINT, UDINT, REAL ) que le bloc fonction sélectionné (voir _***), et ceci indépendamment du type de données sélectionné pour la broche (il peut s'agir d'une structure de différents types). TRIG détecte le front montant et lance la recherche d'un cycle. Après le cycle, la recherche est arrêtée jusqu'à ce que TRIG détecte le prochain front montant. PATTERN est le profil binaire à rechercher. PATTERN est du même type de données (INT, UINT, DINT, UDINT, REAL ) que le bloc fonction sélectionné (voir _***). Le paramètre CONT definit si la recherche doit se poursuivre ou reprendre au début du tableau lorsqu'un modèle a été trouvé. Lorsque le modèle a été trouvé, FOUND est mis à "1" et le paramètre INDEX indique à quel endroit dans le tableau le modèle a été trouvé. 92 33002231 T2T : Tableau vers tableau 19 Aperçu Introduction Le présent chapitre décrit le bloc T2T. Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Présentation 94 Représentation 95 Description détaillée 96 93 T2T : Tableau vers tableau Présentation Description de la fonction Ce bloc fonction copie la valeur du paramètres SRC, qui est interprété comme un tableau, au paramètre DEST, qui est également interprété comme un tableau. EN et ENO peuvent être configurés comme paramètres supplémentaires. Note : Comme ce bloc fonction possède une sortie de type ANY, mais pas d’entrée de ce même type de données, l’affectation de la sortie ANY doit être exécutée via l’opérateur =>. De plus, une seule instance de ces blocs fonction peut être exécutée à la fois. L’appel multiple d’un même bloc fonction n’est pas possible. 94 33002231 T2T : Tableau vers tableau Représentation Symbole Représentation du bloc : T2T BOOL BOOL ANY UINT Description des paramètres 33002231 NoInc R SRC SIZE END DEST OFF BOOL ANY UINT Description des paramètres du bloc : Paramètres Type de données Signification NoInc BOOL 1: gèle la valeur du pointeur R BOOL 1: remet la valeur du pointeur à zéro SRC ANY devrait être un champ (Array) de ANY_ELEM , p. ex. ARRAY[0..X] OF INT Données source à copier dans le cycle actuel SIZE UINT La taille communique au bloc fonction le nombre de mots qui doivent être copiés à chaque cycle. END BOOL 1: Valeur du pointeur = longueur du tableau (le bloc fonction ne permet pas de valeurs supérieures) DEST ANY devrait être un champ (Array) de ANY_ELEM, p. ex. ARRAY[0..X] OF INT Tableau cible vers lequel les données source sont copiées pendant le cycle. OFF UINT 0: avant la copie, le paramètre R a la valeur 1. 95 T2T : Tableau vers tableau Description détaillée Mode d'exécution des fonctions sous Concept Ce bloc fonction copie la valeur du paramètres SRC, qui est interprété comme tableau, au paramètre DEST, qui est également interprété comme tableau. Le paramètre OFF indique sur les deux tableaux. Il représente une valeur d'index pour le champ source (Array) et le champ cible à partir duquel ou dans lequel la valeur source doit être copiée. A chaque cycle, la fonction copie la valeur de SRC[OFF] dans DEST[OFF]. Le décalage est augmenté à chaque cycle du nombre de mots à 16bits copiés, dans la mesure où le paramètre NoInc n'est pas égal à 1. OFF est de type lecture/écriture, de façon analogue au paramètre CEI VAR_IN_OUT La taille SIZE communique au bloc fonction le nombre de mots qui doivent être copiés à chaque cycle. OFF est remis à 0, lorsque le paramètre R a la valeur 1 avant l'opération de copie. SRC et DEST sont de type ANY, ce qui implique une longueur prédéfinie. Ces variables sont interprétées comme un ARRAY d'octets, et ceci indépendamment de la définition de type pour ces paramètres (il peut s'agir de structures de différents types). OFF est soumis à chaque cycle à un contrôle des limites. Lorsque OFF à une longueur supérieure à celle d'un des tableaux, END est mis à 1 et OFF n'est pas augmenté. La fonction ne copie plus de données, jusqu'à ce que OFF ait à nouveau une valeur se trouvant à l'intérieur de ses valeurs limites. 96 33002231 T2T : Tableau vers tableau Mode de fonctionnement sous Modsoft Cette fonction copie une valeur d'un tableau source vers un tableau cible. Libérer la fonction de copie Geler ou incrémenter la valeur du pointeur Remettre pointeur à zéro Pointeur source Tableau cible Longueur du tableau Copie du bit de validation Valeur du pointeur a atteint la taille du tableau EN : BOOL source ENO : BOOL NoInc : BOOL destination pointer END : BOOL T --> T R: BOOL table length Le tableau commence par le registre source. La valeur du pointeur cible renvoie au décalage dans le tableau dans lequel autant d'éléments (de mots) doivent être copiés qu'il y en a de définis dans la longueur du tableau. Les valeurs sont copiées du registre source + décalage + 1 au registre cible + décalage + 1. A chaque cycle, la fonction copie, du registre source au registre cible, autant de valeurs à 16 bits qu'il y en a de définis dans la longueur du tableau. Le décalage est incrémenté à chaque cycle, lorsque l'entrée médiane a la valeur 0. Le décalage est remis à 0 lorsque l'entrée basse vaut 1. 33002231 Enregistrement, Entrée/sortie Signification Enregistrement supérieur Source est une référence de la mémoire d'état : 0x, 1x ou un champ de 16 bits cohérents 3x, 4x Enregistrement médian Le 'pointeur' cible est une référence à la mémoire d'état : Début du registre 4x + 1 + valeur du pointeur Enregistrement inférieur Longueur du tableau (1..255, 1..999, en fonction du processeur) Entrée haute, sortie haute Validation de la fonction Entrée médiane Incrémenter ou pas le décalage pour le tableau de sortie (0 ou 1) Entrée inférieure Réinitialiser le décalage du tableau de sortie (si 1 alors décalage = 0) Sortie médiane Le décalage atteint la taille du tableau - pas d'autres opérations de copie 97 T2T : Tableau vers tableau Différences 98 Différences entre Concept et Modsoft : l La table est une structure de données prédéfinie quelconque. Les fonctions Modsoft ne peuvent pas être utilisées avec des variables non localisées ou des liaisons. Modsoft utilise des décalages dans la mémoire d'état. Le tableau est une partie de la mémoire d'état (pas réservé, pas de contrôle d'utilisation multiple). l Les broches sont nommées sous Concept. l EN/ENO sont en option sous Concept (Standard CEI1131-3). l Noms de fonctions différents (’->’ ne peut pas être utilisé dans un nom sous Concept). l Affichages différents (voir Mode de fonctionnement sous Modsoft, p. 97 ). 33002231 XXOR : OU exclusif 20 Vue d'ensemble Introduction Ce chapitre décrit le bloc XXOR. Contenu de ce chapitre Ce chapitre contient les sujets suivants : 33002231 Sujet Page Brève description 100 Représentation 101 99 XXOR : OU exclusif Brève description Description de la fonction La fonction exécute une opération booléenne en OU exclusif avec les configurations binaires des matrices source et cible. La configuration binaire reliée par XXOR est enregistrée dans la matrice cible où elle y écrase le contenu précédent : Bits sources 0 0 1 1 0 XOR XOR XOR XOR 0 0 1 1 0 1 Bits cibles 1 AVERTISSEMENT XXOR est prioritaire sur tous les bits de sortie/internes bloqués de la matrice cible, sans les valider. Cela peut causer des blessures si un bit de sortie/interne a été bloqué pour réparation ou maintenance, car l'opération XXOR peut modifier l'état du bit de sortie/interne. Le non-respect de cette directive peut entraîner la mort, des lésions corporelles graves ou des dommages matériels. 100 33002231 XXOR : OU exclusif Représentation Symbole Représentation du bloc : XXOR Description des paramètres 33002231 UINT UINT UINT UINT ADR_Q TYP_Q ADR_Z TYP_Z UINT LEN Description des paramètres du bloc : Paramètre Type de données Signification ADR_Q UINT Décalage de la matrice source dans le registre Yx TYP_Q UINT Source du type de registre : 0 = 0x, 1 = 1x, 3 = 3x et 4 = 4x Exemple : ADR=10 TYP=4 <=> 1er registre matrice A = 400010 ADR_Z UINT Décalage de la matrice cible dans le registre Yx TYP_Z UINT Type de registre : 0 = 0x et 4 = 4x Exemple : ADR=10 TYP=4 <=> 1er registre matrice A = 400010 LEN UINT Longueur de matrice en mots (1 à 100) 101 XXOR : OU exclusif 102 33002231 Glossaire A Abonné de réseau Un abonné est un appareil avec une adresse (1 à 64) sur le réseau Modbus Plus. Abonné local du réseau L’abonné local est celui qui est projeté à l’instant. Adresse abonné L’adresse abonné sert à la désignation univoque d’un abonné du réseau dans l’itinéraire de routage. L'adresse est réglée directement sur l'abonné, p. ex. via le commutateur rotatif situé sur la face arrière du module. Adresses Les adresses (directes) sont des zones de mémoire dans l’API. Celles-ci se trouvent dans la mémoire d’état et peuvent être affectées à des modules d’entrée/sortie. L’affichage/la saisie d’adresses directes est possible dans les formats suivants : l Format standard (400001) l Format séparateur (4:00001) l Format compact (4:1) l Format CEI (QW1) Affectation des E/S L'affectation des E/S est une liste d'affectation générée à partir de la liste d'affectation de l'utilisateur. L'affectation des E/S est gérée dans l'API et contient p. ex. des informations sur l'état des stations et modules E/S, en supplément de la liste d'affectation de l'utilisateur. 33002231 103 Glossaire ANL_IN ANL_IN est le type de données "entrée analogique" et est utilisé pour le traitement des valeurs analogiques. Les références 3x du module d’entrée analogique configuré déterminées dans la liste d’affectation des E/S sont affectées automatiquement au type de données et doivent de ce fait être occupées uniquement par des variables non localisées. ANL_OUT ANL_OUT est le type de données "sortie analogique" et est utilisé pour le traitement des valeurs analogiques. Les références 4x du module de sortie analogique configuré déterminées dans la liste d'affectation des E/S sont affectées automatiquement au type de données et doivent de ce fait être occupées uniquement par des variables non localisées. ANY Dans la présente version, "ANY" comprend les types de données élémentaires BOOL, BYTE, DINT, INT, REAL, UDINT, UINT, TIME et WORD ainsi que les types de données qui en sont dérivés. ANY_BIT Dans la présente version, "ANY_BIT" comprend les types de données BOOL, BYTE et WORD. ANY_ELEM Dans la présente version, "ANY_ELEM" comprend les types de données BOOL, BYTE, DINT, INT, REAL, UDINT, UINT, TIME et WORD. ANY_INT Dans la présente version, "ANY_INT" comprend les types de données DINT, INT, UDINT et UINT. ANY_NUM Dans la présente version, "ANY_NUM" comprend les types de données DINT, INT, REAL, UDINT et UINT. ANY_REAL Dans la présente version, "ANY_REAL" correspond au type de données REAL. API Automate programmable industriel Appel La procédure par laquelle l’exécution d’une opération est lancée. Argument Synonyme de paramètre réel. Atrium L’automate basé sur PC est monté sur platine standard AT et s’utilise au sein d’un ordinateur hôte dans un emplacement de bus ISA. Ce module possède une carte mère (nécessite un pilote SA85) avec deux emplacements pour cartes filles PC104. L'une des cartes filles PC104 sert d'UC et l'autre à la commande INTERBUS. 104 33002231 Glossaire Avertissement Si un état critique est identifié lors du traitement d'un FFB ou d'une étape (p. ex. des valeurs d'entrée critiques ou des limites temporelles dépassées), un avertissement est généré. Celui-ci peut être visualisé à l'aide de la commande En ligne → Affichage événements.... Sur les FFB, la sortie ENO reste sur "1". B Base de données de projet La base de données du PC, contenant les informations de configuration d’un projet. Bibliothèque Ensemble d’objets logiciels prévus pour la réutilisation lors de la programmation de nouveaux projets, ou bien même pour l’élaboration de nouvelles bibliothèques. Les exemples sont les bibliothèques des types de blocs fonction élémentaires. Les bibliothèques EFBpeuvent être subdivisées en groupes. Bits d’entrée (Références 1x) L’état 1/0 des bits d’entrée est commandé par les données du procédé arrivant depuis un périphérique d’entrée dans l’UC. Note : Le x suivant le premier chiffre du type de référence représente un emplacement à cinq chiffres dans la mémoire de données utilisateur, p. ex. la référence 100201 signifie un bit d’entrée à l’adresse 201 de la mémoire d’état. Bits d’état Il existe un bit d’état pour chaque abonné à entrée globale, entrée ou sortie spécifique de données de diffusion. Si un groupe de données défini a pu être transmis avec succès avant écoulement du timeout réglé, le bit d’état correspondant est mis à 1. Dans le cas contraire, ce bit est mis à 0 et toutes les données appartenant à ce groupe (à 0) sont effacées. Bits de sortie/ bits internes (Références 0x) Un bit de sortie/bit interne peut être utilisé pour commander des données de sortie réelles via une unité de sortie du système de contrôle, ou pour définir une ou plusieurs sorties TOR dans la mémoire d’état. Remarque : le x suivant immédiatement le premier chiffre du type de référence, représente un emplacement mémoire sur 5 chiffres dans la mémoire de données utilisateur, p. ex. la référence 000201 signifie un bit interne ou de sortie à l'adresse 201 de la mémoire d'état. 33002231 105 Glossaire Bloc fonction (instance) (BF) Un bloc fonction est une unité d’organisation de programme, qui, en fonction de sa fonctionnalité définie dans la description de type de bloc fonction, calcule des valeurs pour ses sorties et variable(s) interne(s), lorsqu’elle est appelée comme instance particulière. Toutes les valeurs des sorties et variables internes d'une instance particulière de bloc fonction sont conservées d'un appel du bloc fonction au suivant. Des appels répétés de la même instance de bloc fonction avec les mêmes arguments (valeurs des paramètres d’entrée) ne délivrent de ce fait pas forcément la (les) même(s) valeur(s) de sortie. Chaque instance de bloc fonction est représentée graphiquement par un symbole rectangulaire. Le nom du type de bloc fonction est situé en haut au milieu, à l’intérieur du rectangle. Le nom de l’instance de bloc fonction est également en haut, bien qu’à l’extérieur du rectangle. Il est généré automatiquement à la création d'une instance mais peut, le cas échéant, être modifié par l'utilisateur. Les entrées sont représentées à gauche, les sorties à droite du bloc. Les noms des paramètres formels d’entrée/sortie sont indiqués à l’intérieur du rectangle aux places correspondantes. La description ci-dessus de la représentation graphique est valable de principe également pour lesappels de fonction et pour les appels DFB. Les différences sont décrites dans les définitions correspondantes. Bobine Une bobine est un élément LD transmettant sans le modifier l'état de la liaison horizontale sur sa gauche à la liaison horizontale sur sa droite. L'état est alors mémorisé dans la variable/adresse directe associée. BOOL BOOL signifie type de données "booléen". La longueur des éléments de données est 1 bit (stocké en mémoire sur 1 octet). La plage de valeurs des variables de ce type de données est 0 (FALSE) et 1 (TRUE). Bridge Un bridge est un dispositif permettant de relier des réseaux. Il permet la communication entre abonnés de deux réseaux. Chaque réseau possède sa propre séquence de rotation de jeton - le jeton n'est pas transmis par les bridges. BYTE BYTE est le type de données "cordon de bits 8". L’entrée peut se faire en libellé en base 2, libellé en base 8 ou libellé en base 16. La longueur des éléments de données est de 8 bits. Il n'est pas possible d'affecter une plage de valeurs numériques à ce type de données. C CEI 611313 106 Norme internationale : Automates programmables Partie 3 : Langages de programmation. 33002231 Glossaire Code de section Le code de section est le code exécutable d'une section. La taille du code de section dépend principalement du nombre de blocs dans la section. Code DFB Le code DFB est le code DFB exécutable d'une section. La taille du code DFB dépend principalement du nombre de modules dans la section. Code EFB Le code EFB est le code exécutable de tous les EFB utilisés. Les EFB utilisés dans les DFB sont également pris en compte. Configuration de transmission de données Paramètres déterminant comment les informations sont transmises depuis votre PC vers l'API. Connexion série En connexion série (COM), les informations sont transmises bit par bit. Constantes Les constantes sont des variables non localisées, auxquelles est affectée une valeur qui ne peut être modifiée par la logique de programme (lecture seule). Contact Un contact est un élément LD transmettant un état sur la liaison horizontale située à sa droite. Cet état est le résultat d'une liaison ET booléenne entre l'état de la liaison horizontale sur sa gauche et l'état de la variable/adresse directe qui lui est affectée. Un contact ne modifie pas la valeur de la variable/adresse directe associée. Convention CEI sur les noms (Identificateur) Un identificateur est une suite de lettres, chiffres et caractères de soulignement devant commencer par une lettre ou un caractère de soulignement (p. ex. nom d’un type de bloc fonction, d’une instance, d’une variable ou d’une section). Les lettres des polices de caractères nationales (p. ex. : ö, ü, é, õ) peuvent être utilisées sauf dans les noms de projets et de DFB. Les caractères de soulignement sont significatifs dans les identificateurs ; p. ex. "A_BCD" et "AB_CD" seront interprétés comme des identificateurs différents. Plusieurs caractères de soulignement de tête ou de suite ne sont pas autorisés. Les identificateurs ne doivent pas comporter d'espaces. Les majuscules/minuscules ne sont pas significatives ; p. ex. "ABCD" et "abcd" seront interprétés comme le même identificateur. Les identificateurs ne doivent pas être des mots-clés. Cordon de bits C’est un élément de données constitué d’un ou de plusieurs bits. Cycle programme Un cycle programme consiste en la lecture des entrées, le traitement de la logique de programme et l’édition des sorties. 33002231 107 Glossaire D DDE (Echange dynamique de données) L’interface DDE permet à deux programmes sous Windows d’échanger des données en dynamique. L’utilisateur peut se servir de l’interface DDE en moniteur étendu afin d’appeler ses propres applications d’affichage. Avec cette interface, l'utilisateur (c.-à-d. le client DDE) peut non seulement lire des données du moniteur étendu (le serveur DDE), mais peut également écrire des données sur l'API via le serveur. L’utilisateur peut ainsi modifier directement des données dans l’API tout en surveillant et en analysant les résultats. Lors de l’utilisation de cette interface, l’utilisateur peut créer son propre "Outil graphique", "Face Plate" ou "Outil de réglage", et intégrer celui-ci dans le système. Ces outils peuvent être écrits dans n'importe quel langage que le DDE prend en charge, p. ex. Visual Basic, VisualC++. Ils sont appelés lorsque l'utilisateur actionne l'un des boutons de commande de la boîte de dialogue Moniteur étendu. Outil graphique Concept : grâce au lien DDE entre Concept et l'outil Graphique Concept, il est possible de représenter les signaux d'une configuration sous forme de chronogramme. Déclaration Le mécanisme qui permet d'établir la définition d'un élément de langage. Normalement, une déclaration nécessite le rattachement d'un identificateur à l'élément de langage et l'affectation d'attributs, tels que lestypes de données et les algorithmes. Défaut Si, lors du traitement d'un FFB ou d'une étape, une erreur est détectée (p. ex. valeurs d'entrée non autorisées ou erreur de durée), un message d'erreur est généré, lequel peut être visualisé à l'aide de la commande En ligne → Affichage événements.... Sur les FFB la sortie ENOest mise à "0". Défragmentation La défragmentation permet de supprimer les trous indésirables dans la zone mémoire (générés, p. ex., en effaçant des variables inutilisées). Derived Function Block (DFB) (Bloc fonction dérivé) Un bloc fonction dérivé représente l’appel d’un type de bloc fonction dérivé. Vous trouverez des détails de la forme graphique de l’appel dans la définition "Bloc fonction (instance)". Contrairement aux appels de types d'EFB, les appels de types DFB sont caractérisés par des lignes verticales doubles sur les côtés gauche et droit du symbole rectangulaire du bloc. Le corps d'un type de bloc fonction dérivé est projeté en langage FBD, langage LD, langage ST et langage IL quoique seulement dans la version actuelle du système de programmation. Les fonctions dérivées ne peuvent pas encore être définies dans la version actuelle. On fait la distinction entre les DFB locaux et globaux. 108 33002231 Glossaire DFB globaux Les DFB globaux sont disponibles dans tout projet Concept. Le stockage des DFB globaux dépend de la configuration dans le fichier CONCEPT.INI. DFB locaux Les DFB locaux ne sont disponibles que dans un seul projet Concept et sont enregistrés dans le répertoire DFB sous le répertoire de projet. Diagramme fonctionnel en séquence (SFC) Les éléments de langage SFC permettent de subdiviser une unité d'organisation de programme en un certain nombre d'étapes et de transitions, reliées entre elles par des liaisons dirigées. A chaque étape correspond un nombre d’actions et à chaque transition est associée une condition de transition. DINT DINT signifie type de données "entier double (double integer)". L’entrée s’effectue en libellé entier, libellé en base 2, libellé en base 8 ou libellé en base 16. La longueur des éléments de données est de 32 bits. La plage de valeurs pour les variables de ce type de données va de -2 exp (31) à 2 exp (31) -1. Données d'instance DFB Les données d'instance DFB sont des données internes des instructions chargeables dérivées utilisées dans le programme. Données de section Les données de section sont les données locales d'une section, comme par ex. les libellés, les liaisons entre blocs, les entrées et sorties de bloc non liées, la mémoire d'état interne des EFB. Note : Les données qui sont configurées dans les DFB de cette section ne sont pas des données de section. Données globales Les données globales sont des variables non localisées. DP (PROFIBUS) DP = Dezentrale Peripherie (périphérie décentralisée) DX Zoom Cette caractéristique vous permet de vous raccorder sur un objet de programmation afin d’en surveiller des valeurs et de les modifier, si nécessaire. E Elément de langage 33002231 Chaque élément de base dans l'un des langages de programmation CEI, p. ex. une étape en SFC, une instance de bloc fonction en FBD ou la valeur de départ d'une variable. 109 Glossaire EN / ENO (autorisation / affichage d’erreur) Si la valeur de EN vaut "0", lorsque le FFB est lancé, les algorithmes définis par le FFB ne sont pas exécutés et toutes les sorties conservent leur valeur précédente. La valeur de ENO est dans ce cas mise automatiquement à "0". Si la valeur de EN est "1" lors de l’appel du FFB, les algorithmes définis par le FFB seront exécutés. Après l’exécution sans erreur de ces algorithmes, la valeur de ENO est mise automatiquement à "1". Si une erreur survient lors de l’exécution de ces algorithmes, ENO est mis automatiquement à "0". Le comportement de sortie des FFB est indépendant du fait que ceux-ci sont appelés sans EN/ENO ou avec EN=1. Si l’affichage de EN/ENO est activé, l’entrée EN doit absolument être câblée. Le FFB n'est sinon jamais exécuté. L'activation/la désactivation de EN et ENO se fait dans la boîte de dialogue des caractéristiques du bloc fonction. Cette boîte de dialogue est appelée via Objets → Propriétés... ou en double-cliquant sur le FFB. Erreur d'exécution Erreur survenant lors du traitement du programme sur l'API sur des objets SFC (p. ex. des étapes) ou des FFB. Il s’agit p. ex. de dépassement de plage de valeurs sur les compteurs ou bien d’erreurs temporelles sur les étapes. Etape Elément de langage SFC : situation dans laquelle le comportement d’un programme suit, en fonction de ses entrées et sorties, les opérations définies par les actions correspondantes de l'étape. Etape initiale (Etape de départ) L’étape de démarrage d’une séquence. Une étape initiale doit être définie dans chaque séquence. La séquence est démarrée à son premier appel par l’étape initiale. Evaluation C’est le processus par lequel est déterminé une valeur d’une fonction ou des sorties d’un bloc fonction lors de l’exécution du programme. Expression Les expressions sont constituées d’opérateurs et d’opérandes. F Fenêtre active Il s’agit de la fenêtre momentanément sélectionnée. Pour un instant donné, seule une fenêtre peut être active. Lorsqu’une fenêtre devient active, la couleur de sa barre de titre change afin de la distinguer des autres fenêtres. Les fenêtres non sélectionnées ne sont pas actives. Fenêtre d’application Il s’agit de la fenêtre contenant l’espace de travail, la barre de menus et la barre d’outils du programme applicatif. Le nom du programme applicatif apparaît dans la barre de titre. Une fenêtre d’application peut contenir plusieurs fenêtres de document. Dans Concept, la fenêtre d’application correspond à un projet. 110 33002231 Glossaire Fenêtre de document Une fenêtre contenue dans une fenêtre d’application. Plusieurs fenêtres de document peuvent être ouvertes simultanément dans une fenêtre d’application. Mais seule une fenêtre de document peut être active. Les fenêtres de document dans Concept sont p. ex. les sections, la fenêtre des messages, l'éditeur de données de référence et la configuration de l'automate. FFB (fonctions/ blocs fonction) Terme générique désignant les EFB (fonctions/blocs fonction élémentaires) et les DFB (blocs fonction dérivés) Fichier de code source (ConceptEFB) Le fichier de code source est un fichier source ordinaire en C++. Après exécution de la commande Bibliothèque → Créer des fichiers, ce fichier contient un cadre de code EFB dans lequel vous devez porter un code spécifique de l'EFB sélectionné. Pour ce faire, lancez la commande Objets → Source. Fichier de définition (Concept-EFB) Le fichier de définition contient des informations générales de description de l'EFB sélectionné et ses paramètres formels. Fichier de sauvegarde (Concept-EFB) Le fichier de sauvegarde est une copie du dernier fichier de code source. Le nom de ce fichier de sauvegarde est "backup??.c" (on suppose ce faisant que vous n’avez jamais plus de 100 copies de votre fichier de sauvegarde). Le premier fichier de sauvegarde porte le nom "backup00.c". Si vous avez procédé à des modifications dans le fichier de définition n'entraînant pas de modification d'interface pour l'EFB, vous pouvez vous dispenser de créer un fichier de sauvegarde en éditant son fichier de code source (Objets → Source). Si un fichier de sauvegarde est créé, vous pouvez lui donner le nom Fichiersource. Fichier factice Il s'agit d'un fichier vide constitué d'un en-tête contenant diverses informations générales sur le fichier, comme l'auteur, la date de création, la désignation de l'EFB, etc. L’utilisateur doit procéder à la préparation de ce fichier factice à l'aide d'entrées supplémentaires. Fichier prototype (Concept-EFB) Le fichier prototype contient tous les prototypes des fonctions affectées. On indique en outre, si elle existe, une définition type de la structure de la situation interne. Fichier Template (Concept-EFB) Le fichier Template est un fichier ASCII contenant des informations de mise en page pour l’éditeur FBD de Concept, ainsi que des paramètres pour la génération de code. Filtre RIF (Filtre Finite Impulse Response) Filtre à réponse impulsionnelle finie Filtre RII (Filtre Infinite Impulse Response) Filtre à réponse impulsionnelle infinie 33002231 111 Glossaire Fonction (FUNK) Une unité d'organisation de programme délivrant à l'exécution exactement un élément de donnée. Une fonction ne dispose pas d’information de situation interne. Les appels répétés de la même fonction avec les mêmes paramètres d'entrée délivrent toujours les mêmes valeurs de sortie. Vous trouverez des détails de la forme graphique des appels de fonction dans la définition "Bloc fonction (instance)". Contrairement aux appels de blocs fonction, les appels de fonction ne disposent que d'une unique sortie sans nom, son nom étant le nom de la fonction elle-même. En FBD, chaque appel est caractérisé par un numéro unique par le bloc graphique ; ce numéro est créé automatiquement et ne peut pas être modifié. Fonctions/blocs fonction élémentaires (EFB) Caractérisation des fonctions ou des blocs fonction, dont les définitions de type n'ont pas été formulées dans l'un des langages CEI, c.-à-d. dont les corps p. ex. ne peuvent être modifiés à l'aide de l'éditeur DFB (Concept-DFB). Les types EFB sont programmés en "C" et sont mis à disposition en forme précompilée par les bibliothèques. Format CEI (QW1) Au début de l'adresse se trouve un identificateur conforme à CEI, suivi de l'adresse à cinq chiffres : l %0x12345 = %Q12345 l %1x12345 = %I12345 l %3x12345 = %IW12345 l %4x12345 = %QW12345 Format compact (4:1) Le premier chiffre (la référence) est séparé par deux points (:) de l’adresse suivante, les zéros de tête n’étant pas indiqués dans l’adresse. Format séparateur (délimiteur) (4:00001) Le premier chiffre (la référence) est séparé par deux-points ( : ) de l’adresse à cinq caractères. Format standard (400001) L’adresse à cinq positions se situe juste après le premier chiffre (la référence). G Groupes (EFB) 112 Quelques bibliothèques EFB (p. ex. la bibliothèque CEI) sont subdivisées en groupes. Cela simplifie, particulièrement dans les importantes bibliothèques, la recherche des EFB. 33002231 Glossaire I Instanciation La création d’une instance. Instruction (IL) Les instructions sont des "commandes" du langage de programmation IL. Chaque instruction commence à une nouvelle ligne et est suivie d'un opérateur, le cas échéant avec modificateur, et, si nécessaire pour l'opération concernée, d'un ou de plusieurs opérandes. Si l'instruction utilise plusieurs opérandes, ceux-ci sont séparés par des virgules. Devant l’instruction peut se trouver une étiquette suivie de deux points. Le commentaire doit, s'il existe, être le dernier élément de la ligne. Instruction (LL984) La mission d’un utilisateur lors de la programmation d’automatismes électriques est de mettre en oeuvre des instructions codées de façon opérationnelle sous forme d’objets imagés classés selon les formes identifiables de contact. Les objets du programme ainsi conçus sont convertis au niveau utilisateur en codes opérandes utilisables par l'ordinateur, et ce lors de la procédure de chargement. Les codes opérandes sont décodés dans l'UC et traités par les fonctions micrologicielles du contrôleur, de sorte que la commande désirée soit ainsi mise en oeuvre. Instruction (ST) Les instructions sont des "commandes" du langage de programmation ST. Les instructions doivent se terminer par des points-virgules. Plusieurs instructions (séparées par des points-virgules) peuvent se trouver sur une même ligne. INT INT correspond au type de données "nombre entier (integer)". L’entrée s’effectue en libellé entier, libellé en base 2, libellé en base 8 ou libellé en base 16. La longueur des éléments de données est de 16 bits. La plage de valeurs pour les variables de ce type de données va de -2 exp (15) à 2 exp (15) -1. Interbus S (PCP) Afin d'utiliser le canal PCP de l'Interbus S et le prétraitement de données de procédé Interbus S (PDV), le configurateur Concept propose maintenant le nouveau type de station d'E/S Interbus S (PCP). A ce type de station d'E/S est affecté de manière fixe le module de connexion Interbus 180-CRP-660-01. Le module 180-CRP-660-01 se distingue du 180-CRP-660-00 seulement par une plage d'E/S sensiblement plus importante dans la mémoire d'état de l'automate. 33002231 113 Glossaire J Jeton Le jeton du réseau régit la possession momentanée du droit de transmission d’un abonné individuel. Le jeton circule entre les abonnés dans un sens circulaire (croissant) des adresses. Tous les abonnés suivent la rotation du jeton et peuvent obtenir toute sorte de données qui y sont véhiculées. L Langage en blocs fonctionnels (FBD) Une ou plusieurs sections contenant des réseaux représentés graphiquement composés de fonctions, blocs fonction et liaisons. Liaison Une liaison de contrôle ou de données entre objets graphiques (p. ex. étapes dans l'éditeur SFC, blocs fonction dans l'éditeur FBD) au sein d’une section, graphiquement représenté par une ligne. Liaison locale (Local Link) La liaison locale de réseau est le réseau reliant l’abonné local à d’autres abonnés, soit directement soit par l’amplificateur de bus. Liaisons binaires Il s'agit de liaisons entre des sorties et des entrées de FFB de type de données BOOL. Libellé Les libellés servent à fournir des valeurs directement aux entrées des FFB, conditions de transition etc... Ces valeurs ne peuvent pas être écrasées par la logique du programme (lecture seule). Le système distingue les libellés génériques des libellés classés par type. De plus, les libellés servent à affecter une valeur à une constante ou une valeur initiale à une variable. L’entrée se fait en libellé en base 2, libellé en base 8, libellé en base 16, libellé entier, libellé réel ou libellé réel avec exposant. 114 33002231 Glossaire Libellé de durée Les unités permises pour les durées (TIME) sont les jours (J), les heures (H), les minutes (M), les secondes (S) et les millisecondes (MS) ou une combinaison de ceux-ci. La durée doit être caractérisée par le préfixe t#, T#, time# ou TIME#. Le "dépassement" de l’unité de plus grande valeur est admise; p. ex. l’entrée T#25H15M est permise. Exemple t#14MS, T#14.7S, time#18M, TIME#19.9H, t#20.4D, T#25H15M, time#5D14H12M18S3.5MS Libellé en base 16 Les libellés en base 16 servent à codifier les entiers dans le système hexadécimal. La base doit être repérée par le préfixe 16#. Les valeurs doivent être non signées (+/). Les caractères de soulignement individuels ( _ ) entre les chiffres ne sont pas significatifs. Exemple 16#F_F ou 16#FF (décimal 255) 16#E_0 ou 16#E0 (décimal 224) Libellé en base 2 Les libellés en base 2 servent à la codification de valeurs entières dans le système de base 2. La base doit être repérée par le préfixe 2#. Les valeurs doivent être non signées (+/). Les caractères de soulignement individuels ( _ ) entre les chiffres ne sont pas significatifs. Exemple 2#1111_1111 ou 2#11111111 (255 décimal) 2#1110_0000 ou 2#11100000 (224 décimal) Libellé en base 8 Les libellés en base 8 servent à codifier les entiers dans le système de base 8. La base doit être repérée par le préfixe 8#. Les valeurs doivent être non signées (+/). Les caractères de soulignement individuels ( _ ) entre les chiffres ne sont pas significatifs. Exemple 8#3_77 ou 8#377 (255 décimal) 8#34_0 ou 8#340 (décimal 224) Libellé entier Les libellés entiers servent à indiquer des valeurs entières dans le système décimal. Les valeurs peuvent être signées (+/). Les caractères de soulignement individuels ( _ ) entre les chiffres ne sont pas significatifs. Exemple -12, 0, 123_456, +986 33002231 115 Glossaire Libellés classés par type Si vous voulez déterminer le type de données d’un libellé, vous pouvez le faire avec la construction suivante : ’nomtypedonnée’#’Valeur du libellé’ Exemple INT#15 (type de données : entier, valeur : 15), BYTE#00001111 (type de données : octet, valeur : 00001111) REAL#23.0 (type de données : réel, valeur : 23,0) Pour l’affectation du type de données REAL, vous pouvez indiquer la valeur de la manière suivante : 23.0. En indiquant ce point décimal, le type de données REAL est affecté automatiquement. Libellés génériques Si le type de données d’un libellé n’a pas d’importance pour vous, indiquez la valeur du libellé. Dans ce cas, Concept affecte automatiquement un type de données adéquat au libellé. Libellés réels Les libellés réels servent à indiquer les valeurs à virgule flottante dans le système décimal. Les libellés réels s’identifient au point décimal. Les valeurs peuvent être signées (+/). Les caractères de soulignement individuels ( _ ) entre les chiffres ne sont pas significatifs. Exemple -12.0, 0.0, +0.456, 3.14159_26 Libellés réels avec exposant Les libellés réels avec exposant servent à indiquer les valeurs à virgule flottante dans le système décimal. Les libellés réels avec exposant se caractérisent par le point décimal. L’exposant donne la puissance de dix avec lequel le chiffre de devant doit être multiplié pour obtenir la valeur à représenter. La base peut être précédée d'un signe moins (). L'exposant peut être signé (+/-). Les caractères de soulignement individuels ( _ ) entre les chiffres ne sont pas significatifs. (Uniquement entre les chiffres, et non avant ou après la virgule ou avant ou après "E", "E+" ou "E-") Exemple -1.34E-12 ou -1.34e-12 1.0E+6 ou 1.0e+6 1.234E6 ou 1.234e6 Liste d’affectation des E/S 116 Dans la liste d’affectation des E/S, on configure les modules d’E/S et modules experts des différentes unités centrales. 33002231 Glossaire Liste d’instructions (IL) IL est un langage littéral conforme à la norme CEI 1131, dans lequel les opérations, telles que les appels sur ou sans condition de blocs fonction et de fonctions, les sauts conditionnels ou sans condition, etc., sont représentées par des instructions. Littéral structuré (ST) ST est un langage littéral conforme à la CEI 1131, dans lequel les opérations, comme le lancement de blocs fonction et de fonctions, les exécutions conditionnelles d'instructions, la réitération d'instructions, etc. sont représentés par des instructions. M Macro Les macros sont créées à l’aide du logiciel Concept-DFB. Les macros servent à dupliquer des sections et des réseaux fréquemment utilisés (y compris leur logique, leurs variables et leur déclaration de variable). On fait la distinction entre les macros locales et globales. Les macros possèdent les caractéristiques suivantes : l Les macros ne peuvent être créées qu’avec les langages FBD et LD l Les macros ne contiennent qu’une seule section l Elles peuvent contenir une section d’une complexité quelconque l D'un point de vue programme, une macro instanciée, c.-à-d. une macro insérée dans une section, ne se distingue pas d'une section créée de manière conventionnelle. l Appel de DFB dans une macro l Déclaration de variables l Utilisation de structures de données propres aux macros l Validation automatique des variables déclarées dans la macro l Valeurs initiales des variables l Instanciation multiple d’une macro dans tout le programme avec différentes variables l Le nom de la section, les noms des variables et le nom de la structure de données peuvent comporter jusqu'à 10 marques d'échange (@0 à @9) différentes. Macros globales Les macros globales sont disponibles dans tout projet Concept et sont enregistrées dans le répertoire DFB directement situé sous le répertoire Concept. Macros locales Les macros locales ne sont disponibles que dans un seul projet Concept et sont enregistrées dans le répertoire DFB sous le répertoire de projet. 33002231 117 Glossaire Mémoire d’état La mémoire d’état est l’emplacement mémoire pour toutes les grandeurs sollicitées dans le programme utilisateur par des références (représentation directe). Par exemple les bits d’entrée, les bits de sortie/bits internes, les mots d’entrée et mots de sortie/mots internes se trouvent en mémoire d’état. Mémoire du programme CEI La mémoire du programme CEI comprend le code programme, le code EFB, les données de section et les données d'instance DFB. MMI Interface Homme-Machine Mode ASCII American Standard Code for Information Interchange. Le mode ASCII est utilisé pour la communication avec différents équipements hôte. ASCII fonctionne sur 7 bits de données. Mode RTU Remote Terminal Unit Le mode RTU est utilisé pour la communication entre l’API et un ordinateur personnel compatible IBM. RTU fonctionne sur 8 bits de données. Module SA85 Le module SA85 est une carte Modbus Plus pour ordinateur IBM-AT ou compatible. Mots d’entrée (Références 3x) Un mot d’entrée contient des informations émanant d’une source externe et par lesquelles un nombre sur 16 bits est représenté. Un registre 3x peut également contenir 16 bits successifs lus dans le registre au format binaire ou BCD (binaire codé décimal). Remarque : le x suivant immédiatement le premier chiffre du type de référence, représente un emplacement mémoire à cinq chiffres dans la mémoire de données utilisateur, p.ex. la référence 300201 signifie un mot d’entrée de 16 bits à l’adresse 201 de la mémoire d’état. Mots de sortie/ mots internes (Références 4x) Un mot de sortie/mot interne peut être utilisé pour la mémorisation de données numériques (binaires ou décimales) en mémoire d'état, ou bien pour envoyer des données depuis l'UC vers une unité de sortie du système de contrôle. Remarque : le x suivant immédiatement le premier chiffre du type de référence, représente un emplacement mémoire à cinq chiffres dans la mémoire de données utilisateur, p.ex. la référence 400201 signifie un mot de sortie/mot interne de 16 bits à l'adresse 201 de la mémoire d'état. Mots-clés Les mots-clés sont des combinaisons uniques de caractères utilisés comme éléments spéciaux de syntaxe comme il est défini à l'annexe B de la CEI 1131-3. Tous les mots-clés utilisés dans la CEI 1131-3 et donc dans Concept, sont listés en annexe C de la CEI 1131-3. Ces mots-clés répertoriés ne doivent être utilisés à aucune autre fin, p. ex. pas comme nom de variable, nom de section, nom d'instance, etc. 118 33002231 Glossaire N Node Un node est une cellule de programmation dans un réseau LL984. Une cellule/un node comprend une matrice 7x11, c.-à-d. 7 lignes de 11 éléments. Nom d’étape Le nom d'étape sert à la désignation unique d'une étape dans une unité d'organisation de programme. Le nom d’étape est créé automatiquement, mais peut être édité. Il doit être unique dans toute l'unité d'organisation de programme, sinon un message d'erreur apparaît. Le nom d’étape créé automatiquement a toujours la structure suivante : S_n_m S = Etape n = Numéro de la section (numéro courant) m = Numéro de l’étape dans la section (numéro courant) Nom d’instance Un identificateur, associé à une instance spécifique de bloc fonction.. Le nom d'instance sert au repérage sans univoque d'un bloc fonction au sein d'une unité d'organisation de programme. Le nom d’instance est créé automatiquement, mais peut être édité. Le nom d’instance doit être unique dans toute l’unité d’organisation de programme, la distinction Majuscule/Minuscule n’est pas faite. Si le nom saisi existe déjà, vous en êtes averti et vous devez choisir un autre nom. Le nom d'instance doit satisfaire aux conventions de noms CEI, sinon un message d'erreur apparaît. Le nom d’instance créé automatiquement a toujours la structure suivante : FBI_n_m FBI = Instance de bloc fonction n = Numéro de la section (numéro courant) m = Numéro de l’objet FFB dans la section (numéro courant) Numéro d’identification Le numéro d'identification sert à caractériser de manière unique une fonction dans un programme ou DFB. Le numéro d’identification ne peut être édité et est attribué automatiquement. Il a toujours la structure : .n.m n = Numéro de la section (numéro courant) m = Numéro de l’objet FFB dans la section (numéro courant) O Opérande 33002231 Un opérande est un libellé, une variable, un appel de fonction ou une expression. 119 Glossaire Opérateur Un opérateur est un symbole d’une opération arithmétique ou booléenne à exécuter. P Paramètre d’entrée (Entrée) Transmet lors de l'appel d'un FFB l'argument s’y rapportant. Paramètre de sortie (Sortie) Un paramètre avec lequel est (sont) retourné(s) le(s) résultat(s) de l'évaluation d'un FFB. Paramètre réel Paramètre d'entrée/sortie actuellement attribué. Paramètres formels Paramètres d'entrée/sortie, utilisés au sein de la logique d'un FFB et sortant du FFB en entrées ou en sorties. Paysage Le format paysage signifie que la page, au regard du texte imprimé, est plus large que haute. PC Le matériel et le logiciel gérant (supportant) la programmation, l’élaboration, le test, la mise en service et la recherche de défauts dans les applications API ainsi que dans les applications système décentralisées, afin de rendre possible la documentation et l’archivage des sources. Le cas échéant, le PC peut également être utilisé pour la visualisation du procédé. Portrait Portrait signifie que la page, au regard du texte imprimé, est plus haute que large. Presse-papiers Le presse-papiers est une mémoire temporaire pour les objets coupés ou copiés. Ces objets peuvent être collés dans des sections. A chaque nouveau "couper" ou "copier", l'ancien contenu du presse-papiers est écrasé. Processeur de communication Le processeur de communication traite les passages de jeton et le flux de données entre le réseau Modbus Plus et la logique utilisateur de l’API. Programmation de la redondance d’UC (Hot Standby) Un système redondant est constitué de deux API configurés de manière identique qui communiquent entre eux à l'aide de processeurs redondants. En cas de panne de l’API primaire, l’API secondaire prend le contrôle de l’automatisme. Dans les conditions normales, l’API secondaire n’effectue aucune fonction de commande mais il vérifie les informations d’état afin de déceler les erreurs. Programme La plus haute unité d’organisation de programme. Un programme est chargé en entier sur un seul API. 120 33002231 Glossaire Projet Appellation générale du niveau le plus élevé d’une arborescence logicielle, qui définit le nom de projet supérieur d’une application d’API. Après avoir défini le nom du projet, vous pouvez sauvegarder votre configuration système et votre programme de commande sous ce nom. Toutes les données apparaissant lors de la création de la configuration et du programme font partie de ce projet supérieur pour cette tâche spéciale d’automatisation. Désignation générale du jeu complet d’informations de programmation et de configuration dans la base de données de projet, laquelle représente le code source décrivant l’automatisation d’une installation. R REAL REAL correspond au type de données "nombre à virgule flottante". L’entrée se fait en libellé réel ou en libellé réel avec exposant. La longueur des éléments de données est de 32 bits. Plage des valeurs des variables de ce type de données : +/ -3.402823E+38. Note : En fonction du type de processeur mathématique de l'UC, différentes zones de cette plage de valeurs permise ne peuvent pas être affichées. Cela s'applique aux valeurs tendant vers ZERO et aux valeurs tendant vers l'INFINI. Dans ces cas, une valeur NAN ( Not A Number) ou INF (INFinite (infini)) est affichée en mode Animation. Référence Toute adresse directe est une référence commençant par un code indiquant s’il s’agit d’une entrée ou d’une sortie et s’il s’agit d’un bit ou d’un mot. Les références commençant par le chiffre 6 représentent des registres de la mémoire étendue de la mémoire d’état. Plage 0x = bits internes/de sortie Plage 1x = bits d’entrée Plage 3x = mots d’entrée Plage 4x = mots internes/de sortie Plage 6x = registres dans la mémoire étendue Note : Le x suivant immédiatement le premier chiffre de chaque type de référence représente un emplacement mémoire à cinq chiffres dans la mémoire de données utilisateur, p.ex. la référence 400201 signifie un mot de sortie/mot interne de 16 bits à l’adresse 201 de la mémoire d’état. 33002231 121 Glossaire Registres dans la mémoire étendue (référence 6x) Les références 6x sont des mots indicateurs dans la mémoire étendue de l'API. Ils ne peuvent être utilisés que pour les programmes utilisateur LL984 et seulement sur les UC CPU 213 04 ou CPU 424 02. Représentation directe Une méthode pour représenter une variable dans un programme d'API, à partir de laquelle peut être déterminée directement une correspondance avec un emplacement logique, et indirectement avec l'emplacement physique. Réseau Un réseau est une connexion commune d'appareils sur une voie de données commune qui communiquent entre eux à l'aide d'un protocole commun. Réseau décentralisé (DIO) Une programmation décentralisée dans le réseau Modbus Plus permet une performance maximale de l'échange de données et n'a aucune exigence particulière sur les liaisons. La programmation d’un réseau décentralisé est simple. La configuration du réseau ne nécessite pas de logique de schéma à contacts supplémentaire. Toutes les conditions du transfert de données sont remplies en renseignant les paramètres correspondants du processeur de communication. RIO (E/S décentralisée) L’E/S décentralisée indique un emplacement physique des appareils E/S à commande par point par rapport au processeur qui les gère. Les entrées/sorties décentralisées sont reliées avec l’appareil de commande via un câble de communication. S Saut Elément du langage SFC. Les sauts sont utilisés pour éviter des zones de la séquence. Schéma à contacts (LD) Le schéma à contacts est un langage de programmation graphique conforme à la CEI1131, dont l’aspect visuel suit les "échelons" d’un schéma à relayage. 122 33002231 Glossaire Schéma à contacts 984 (LL) Comme leur nom l’indique, les schémas à contacts comportent des contacts. Contrairement à un schéma électrique, les électrotechniciens se servent d’un schéma à contacts pour dessiner un circuit (à l’aide de symboles électriques). Celuici doit montrer l’évolution d’événements, et non les fils en présence qui relient les différentes parties entre elles. Une interface de schéma à contacts permet de réaliser une interface utilisateur traditionnelle pour commander les actions des constituants d’automatisme, afin que les électrotechniciens ne soient pas obligés d’apprendre un langage de programmation avec lequel ils ne seraient pas à l’aise. La construction d’un schéma à contacts effectif permet de relier des éléments électriques de manière à créer une sortie de commande. Celle-ci dépend d’un flux d’énergie logique passant par les objets électriques utilisés, lesquels représentent la condition préalable nécessaire d’un appareil électrique physique. Sous une forme simple, l’interface utilisateur est un écran vidéo élaboré par l’application de programmation d’API, organisant un quadrillage vertical et horizontal dans lequel sont rangés des objets de programmation. Le schéma reçoit du courant par le côté gauche du quadrillage, et par connexion à des objets activés, le courant circule de gauche à droite. Section Une section peut par exemple être utilisée pour décrire le principe de fonctionnement d’une unité technologique telle qu’un moteur. Un programme ou un DFB est constitué d'une ou de plusieurs sections. Les sections peuvent être programmées à l'aide des langages de programmation CEI FBD et SFC. Au sein d’une même section, seul un des langages de programmation mentionnés peut être utilisé. Dans Concept, chaque section a sa propre fenêtre de document. Cependant, pour des raisons de clarté, il est conseillé de subdiviser une grande section en plusieurs petites. La barre de défilement sert à se déplacer au sein d’une section. Station d’E/S DCP A l’aide d’un processeur de contrôle distribué (D908), vous pouvez configurer un réseau décentralisé piloté par un API. Lorsque l'on utilise un D908 avec API décentralisé, l'API pilote considère l'API décentralisé comme une station d'E/S décentralisée. Le D908 et l’API décentralisé communiquent par le bus système, ce qui permet une grande performance pour un effet minimal sur le temps de cycle. L'échange de données entre le D908 et l'API pilote s'effectue par le bus d'E/S décentralisé à 1,5 Mégabit par seconde. Un API pilote peut gérer jusqu'à 31 processeurs D908 (adresse 2-32). SY/MAX Dans les automates Quantum, Concept gère la mise à disposition des modules d’E/ S SY/MAX sur l’affectation des E/S pour la commande RIO par l’API Quantum. Le châssis distant SY/MAX dispose d'une carte d'E/S distante à l'emplacement 1, laquelle communique par un système d'E/S Modicon S908 R. Les modules d’E/S SY/MAX vous sont listés pour la sélection et la prise en compte dans l’affectation des E/S de la configuration Concept. 33002231 123 Glossaire Symbole (icône) Représentation graphique de différents objets sous Windows, p. ex. lecteurs, programmes utilisateur et fenêtre de document. T Tas CEI Le tas CEI comprend la mémoire du programme CEI et les données globales. TIME TIME est le type de données "durée". L’entrée se fait sous forme de libellé de durée. La longueur des éléments de données est de 32 bits. La plage de valeurs des variables de ce type de données va de 0 à 2exp(32)-1. L'unité du type de données TIME est 1 ms. Transition La condition par laquelle la commande d’une ou de plusieurs étapes précédentes passe à une ou plusieurs étapes suivantes le long d’une liaison. Type de bloc fonction Un élément de langage constitué de : 1. la définition d'une structure de données, subdivisée en variables d'entrée, de sortie et internes ; 2. un jeu d'opérations exécutées avec les éléments de la structure de données, lorsqu'une instance du type de bloc fonction est appelée. Ce jeu d'opérations peut être formulé soit dans l'un des langages CEI (type DFB) ou en "C" (type EFB). Un type de bloc fonction peut être instancié (appelé) plusieurs fois. Type de données dérivé Les types de données dérivés sont des types de données qui ont été dérivés des types de données élémentaires et/ou d’autres types de données dérivés. La définition des types de données dérivés s’effectue dans l’éditeur de type de données de Concept. On fait la distinction entre les types de données globaux et les types de données locaux. Type de données générique Un type de données représentant plusieurs autres types de données. 124 33002231 Glossaire Types de données La vue d’ensemble montre la hiérarchie des types de données et comment ils sont utilisés aux entrées et sorties des fonctions et blocs fonction. Les types de données génériques sont caractérisés par le préfixe "ANY". l ANY_ELEM l ANY_NUM ANY_REAL (REAL) ANY_INT (DINT, INT, UDINT, UINT) l ANY_BIT (BOOL, BYTE, WORD) l TIME l Types de données système (Extension CEI) l Dérivé (des types de données ’ANY’) Types de données dérivés globaux Les types de données dérivés globaux sont disponibles dans tout projet Concept et sont enregistrés dans le répertoire DFB directement situé sous le répertoire Concept. Types de données dérivés locaux Les types de données dérivés locaux ne sont disponibles que dans un seul projet Concept et ses DFB locaux et sont enregistrés dans le répertoire DFB sous le répertoire de projet. U UDEFB Fonctions/Blocs fonction élémentaires défini(e)s par l’utilisateur Fonctions ou blocs fonction créés en langage de programmation C et que Concept met à votre disposition dans des bibliothèques. UDINT UDINT représente le type de données "entier double non signé (unsigned double integer)". L’entrée s’effectue en libellé entier, libellé en base 2, libellé en base 8 ou libellé en base 16. La longueur des éléments de données est de 32 bits. La plage de valeurs des variables de ce type de données va de 0 à 2exp(32)-1. UINT UINT représente le type de données "entier non signé (unsigned integer)". L’entrée s’effectue en libellé entier, libellé en base 2, libellé en base 8 ou libellé en base 16. La longueur des éléments de données est de 16 bits. La plage des valeurs des variables de ce type de données va de 0 à 2 exp(16) -1. Unité d’organisation de programme Une fonction, un bloc fonction ou un programme. Ce terme peut se rapporter à un type ou à une instance. 33002231 125 Glossaire V Valeur initiale La valeur affectée à une variable lors du lancement du programme. L’affectation de la valeur s’effectue sous forme d’un libellé. Variable localisée Une adresse de mémoire d'état (adresses de références 0x, 1x, 3x, 4x) est affectée aux variables localisées. La valeur de ces variables est enregistrée dans la mémoire d'état et peut être modifiée en ligne au moyen de l'éditeur de données de référence. Ces variables peuvent être adressées avec leur nom symbolique ou avec leur adresse de référence. Toutes les entrées et les sorties de l’API sont reliées à la mémoire d’état. L’accès du programme aux signaux des périphériques connectés à l’API ne se fait que via des variables localisées. Les accès de l’extérieur via les interfaces Modbus ou Modbus Plus de l’API, p. ex. des systèmes de visualisation, sont également possibles via des variables localisées. Variable non localisée Aucune adresse de mémoire d’état n’est affectée aux variables non localisées. Elles n’occupent donc pas non plus d’adresse de mémoire d’état. La valeur de ces variables est enregistrée dans le système et peut être modifiée en ligne au moyen de l'éditeur de données de référence. Ces variables ne sont adressées que par leur nom symbolique. Les signaux ne disposant pas d’accès à la périphérie, p. ex, résultats intermédiaires, repères systèmes, etc., doivent être de préférence déclarés comme variable non localisée. Variables Les variables servent à l'échange de données au sein de sections, entre plusieurs sections et entre le programme et l'API. Les variables consistent au moins en un nom de variable et un type de données. Si une adresse directe (référence) est affectée à une variable, on parle alors de variable localisée. Si aucune adresse directe n’est affectée à une variable, on parle alors de variable non localisée. Si un type de données dérivé est affecté à une variable, on parle alors d’une variable multi-éléments. Il existe en outre des constantes et des libellés. Variables de tableau Variables auxquelles sont affectées untype de données dérivé défini à l’aide du mot clé ARRAY (tableau). Un tableau est un ensemble d’éléments de données appartenant au même type. Variables multiéléments Variables, auxquelles est affecté un type de données dérivé défini avec STRUCT ou ARRAY. 126 33002231 Glossaire On fait ici la distinction entre variables de tableau et variables structurées. Variables structurées Variables auxquelles est affecté un type de données dérivé défini avec STRUCT (structure). Une structure est un ensemble d’éléments de données avec en général différents types de données (types de données élémentaires et/ou types de données dérivés). Vue d'ensemble de la mémoire d'état lors de la lecture et du chargement Vue d'ensemble : Base de données de projet Concept Editeur de variables Variables (valeurs initiales) U3 Miroir (image) U2 de la mémoire d’état pour lire depuis ou charger dans la mémoire D1 d'état D3 D2 Editeur de données U1 Mémoire d'état de l'automate 0x / 1x / 3x / 4x W WORD 33002231 WORD correspond au type de données "Cordon de bits 16". L’entrée peut se faire en libellé en base 2, libellé en base 8 ou libellé en base 16. La longueur des éléments de données est de 16 bits. Il n'est pas possible d'affecter une plage de valeurs numériques à ce type de données. 127 Glossaire 128 33002231 B AC Index A F Aspects d'implémentation, 23 FIFO, 35 Fonction Paramétrage, 13, 14 Fonctions Modsoft Aspects d'implémentation sous Concept, 23 Différences dans Concept, 20 EFB de Concept et le type de données ANY, 22 EFB de Concept et paramètres, 20 Réalisation dans Concept, 19 Tableaux sous Concept, 21 Utilisation de la mémoire d'état, 19 B Bloc fonction Paramétrage, 13, 14 C CEI CMPR, 27 MBIT, 63 SEARCH, 77 SENS avec pointeur, 79 XXOR, 99 Changement de bit, 63 CMPR, 27 Comparaison de registres, 27 D Déplacer des blocs (Block Move), 51 DLOG, 29 G GET_3X, 41 GET_4X, 45 GET_BIT, 49 I IEC_BMDI, 51 E Ecrire registres 4x, 67 EFB de Concept et le type de données ANY, 22 EFB de Concept et paramètres, 20 33002231 129 Index L P LIB984 DLOG, 29 FIFO, 35 GET_3X, 41 GET_4X, 45 GET_BIT, 49 IEC_BMDI, 51 LIFO, 59 PUT_4X, 67 R2T_***, 71 SET_BIT, 81 SET_BITX, 85 SRCH_***, 89 T2T, 93 Lib984, 17 DLOG, 29 FIFO, 35 GET_3X, 41 GET_4X, 45 GET_BIT, 49 IEC_BMDI, 51 Introduction, 17 LIFO, 59 PUT_4X, 67 R2T_***, 71 SET_BIT, 81 SET_BITX, 85 SRCH_***, 89 T2T, 93 LIFO, 59 Lire bit, 49 Lire registres 3x, 41 Lire registres 4x, 45 Paramétrage, 13, 14 Positionner bit, 81 Positionner bit étendu, 85 Protocole des données pour le support de lecture/d'écriture PCMCIA, 29 PUT_4X, 67 R R2T_***, 71 Rechercher, 77, 89 Registre de pile dernier entré/premier sorti, 59 Registre de pile premier entré/premier sorti, 35 Registre vers tableau, 71 Requête, 79 S SEARCH, 77 SENS, 79 SET_BIT, 81 SET_BITX, 85 SRCH_***, 89 T T2T, 93 Tableau vers tableau, 93 Tableaux sous Concept, 21 X M XXOR, 99 MBIT, 63 O OU exclusif, 99 130 33002231