▼
Scroll to page 2
of
1252
33002205 12/2010 Concept 2.6 Manuel de l'utilisateur 33002205.12 12/2010 www.schneider-electric.com © 2010 Schneider Electric. Tous droits réservés. 2 33002205 12/2010 Table des matières Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 1 Description générale de Concept . . . . . . . . . . . . . . . . . . 1.1 Description générale de Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration du matériel API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contenu de paquet du matériel API en Concept S, M et XL . . . . . . . . . . . 1.2 Programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remarques générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bibliothèques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions en ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application protégée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmes utilitaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 2 Nouveautés de Concept 2.6 par rapport à Concept 2.5 Nouvelles fonctionnalités de Concept 2.6 par rapport à Concept 2.5 . . . . Nouvelles fonctionnalités de Concept 2.6 SR2 par rapport à Concept 2.6 SR1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nouvelles fonctionnalités de Concept 2.6 SR3 par rapport à Concept 2.6 SR2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 3 Structure des projets . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structure et traitement des projets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Données de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 4 Créer un projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vue d’ensemble. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etape 1 : démarrage de Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etape 2 : Configuration automate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etape 2.1 : Configuration requise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etape 2.2 : Configuration optionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etape 3 : création du programme utilisateur . . . . . . . . . . . . . . . . . . . . . . . 33002205 12/2010 19 21 23 24 25 28 29 30 31 33 35 40 41 42 44 47 48 54 57 59 60 67 72 78 79 80 81 82 83 86 90 3 4 Etape 4 : Enregistrer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etape 5 : Effectuez l' évaluation mémoire . . . . . . . . . . . . . . . . . . . . . . . . Etape 6 : Chargement et test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etape 7 : Optimisation et séparation. . . . . . . . . . . . . . . . . . . . . . . . . . . . Etape 8 : Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 94 95 100 102 Chapitre 5 Configuration API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.1 Remarques générales sur la configuration matérielle . . . . . . . . . . . . . . . Remarques générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procédez ainsi lors de la configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Configuration en mode local et connecté. . . . . . . . . . . . . . . . . . . . . . . . . Remarques générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions disponibles en mode EN LIGNE et HORS LIGNE . . . . . . . . . 5.3 Configuration inconditionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Condition préalable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sélection automate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sélection d'UC pour le type d'automate. . . . . . . . . . . . . . . . . . . . . . . . . . Partition de mémoire API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions chargeables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ordonnanceur de segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Affectation des E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Configuration optionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration des informations ASCII.. . . . . . . . . . . . . . . . . . . . . . . . . . . Rendre disponibles d’autres fonctions dans le configurateur . . . . . . . . . Echange de données entre abonnés au réseau Modbus Plus . . . . . . . . Nombre de mots vraiment utilisés lors de la réception de données (Peer Cop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Protéger les données contre l’accès dans la mémoire de signal. . . . . . . Paramétrage des interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Options diverses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Backplane Expander Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Généralités relatives à l’extenseur d’arrière-plan. . . . . . . . . . . . . . . . . . . Modifier la répartition E/S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Traitement des erreurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Configuration de différents systèmes de réseau . . . . . . . . . . . . . . . . . . . Configurer système INTERBUS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configurer le système DP Profibus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configurer Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extension RTU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scanneur E/S / Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment utiliser le scrutateur E/S / Ethernet . . . . . . . . . . . . . . . . . . . . . 5.7 Paramètres de sécurité Quantum dans le configurateur . . . . . . . . . . . . . Paramètres de sécurité Quantum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 107 108 109 110 111 113 114 115 116 119 120 123 125 128 129 130 131 133 135 136 138 140 141 142 143 144 145 146 148 150 151 156 159 159 33002205 12/2010 Chapitre 6 Structure schématique de la mémoire de l’API et optmisation de la mémoire. . . . . . . . . . . . . . . . . . . . . . . . 6.1 Structure schématique de la mémoire de l’API . . . . . . . . . . . . . . . . . . . . . Structure par principe de la mémoire de l'API. . . . . . . . . . . . . . . . . . . . . . 6.2 Remarques générales sur l’optimisation de la mémoire . . . . . . . . . . . . . . Possibilités d'optimisation de la mémoire . . . . . . . . . . . . . . . . . . . . . . . . . Ne dépendant pas de l'automate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Optimiser la mémoire pour l'UC X13 0X et 424 02 Quantum . . . . . . . . . . Généralités sur l'optimisation de la mémoire pour l'UC X13 0X et 424 02 Quantum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sélectionner le fichier EXEC optimal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utiliser la mémoire étendue (mémoire d'état pour les références 6x) . . . . Synchronisation de la zone CEI et de la zone LL984 . . . . . . . . . . . . . . . . Synchronisation des zones pour les données globales et la mémoire du programme CEI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Optimisation de la mémoire pour l'UC 434 12(A) et 534 14(A/B) Quantum Généralités sur l'optimisation de la mémoire pour l'UC 434 12(A) et 534 14(A/B) Quantum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Synchronisation de la zone CEI et de la zone LL984 . . . . . . . . . . . . . . . . Synchronisation des zones pour les données globales et la mémoire du programme CEI (UC 434 12(A) / 534 14(A/B)) . . . . . . . . . . . . . . . . . . . . . 6.5 Optimisation de mémoire pour les UC Compact . . . . . . . . . . . . . . . . . . . . Généralités sur l'optimisation de la mémoire pour les UC Compact . . . . . Synchronisation de la zone CEI et de la zone LL984 . . . . . . . . . . . . . . . . Synchronisation des zones pour les données globales et la mémoire du programme CEI (Compact) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6 Optimisation de mémoire pour les UC Momentum . . . . . . . . . . . . . . . . . . Généralités sur l'optimisation de la mémoire pour les UC Momentum . . . Sélectionner le fichier EXEC optimal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Synchronisation des zones pour les données globales et la mémoire du programme CEI (Momentum) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7 Optimisation de mémoire pour les UC Atrium . . . . . . . . . . . . . . . . . . . . . . Généralités sur l'optimisation de la mémoire pour les UC Atrium . . . . . . . Utilisation de CEI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Synchronisation des zones pour les données globales et la mémoire du programme CEI (Atrium) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 7 Langage des blocs fonctions FDB . . . . . . . . . . . . . . . . . 7.1 Remarques générales sur le langage du bloc fonction FDB . . . . . . . . . . . Remarques générales sur le langage du bloc fonction FDB . . . . . . . . . . . 7.2 Objets du langage de bloc fonction FBD . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions et blocs fonctions (FFB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Liaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paramètres réels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objet texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33002205 12/2010 163 164 164 165 166 167 170 171 173 177 179 181 184 185 187 192 195 196 198 203 206 207 209 210 213 214 216 218 221 222 222 223 224 228 229 231 5 6 7.3 Tâches exécutées en langage de bloc fonction FBD . . . . . . . . . . . . . . . Placement de fonctions et de blocs fonctions . . . . . . . . . . . . . . . . . . . . . Ordre d’exécution des FFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration de boucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Génération de codes dans le cadre du langage de bloc fonction FBD. . Options de génération de code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 Fonctions en ligne du langage de bloc fonction FBD . . . . . . . . . . . . . . . Fonctions en ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.6 Elaboration d’un programme avec le langage de bloc fonction FBD . . . . Etablissement d’un programme dans le langage de bloc fonction FBD . 232 233 235 238 240 240 241 241 243 243 Chapitre 8 Plan de contact LD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 8.1 Remarques générales sur le langage à contacts LD . . . . . . . . . . . . . . . . Remarques générales sur le langage du schéma à contacts LD . . . . . . 8.2 Objets dans le langage à contacts LD . . . . . . . . . . . . . . . . . . . . . . . . . . . Contacts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bobines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions et blocs fonctions (FFB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Liaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paramètres réels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objet texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Tâches exécutées en langage à contacts LD . . . . . . . . . . . . . . . . . . . . . Placement de bobines, de contacts, de fonctions et de blocs fonctions . Ordre d'exécution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration de boucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4 Génération de codes dans le cadre du langage à contacts LD . . . . . . . . Options de génération de code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.5 Fonctions en ligne dans le cadre du langage à contacts LD . . . . . . . . . . Fonctions en-ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6 Elaboration d’un programme avec le langage à contacts LD . . . . . . . . . Etablissement d’un programme dans le plan de contact LD . . . . . . . . . . 248 248 250 251 253 256 262 264 266 267 268 270 272 274 274 275 275 278 278 Chapitre 9 Langage de commande séquentielle SFC . . . . . . . . . . . . 283 9.1 Remarques générales sur le langage séquentiel SFC . . . . . . . . . . . . . . Remarques générales sur le langage séquentiel SFC . . . . . . . . . . . . . . 9.2 Eléments du langage séquentiel SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . Etape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transition (Passage) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Section de transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . connextion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . saut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . divergence en OU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . jonction alternative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dérivation simultanée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . jonction simultanée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objet texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 284 286 287 290 292 294 296 297 299 301 302 303 304 33002205 12/2010 9.3 Travailler avec le langage séquentiel SFC . . . . . . . . . . . . . . . . . . . . . . . . en général pour traiter des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . déclarer les propriétés d’étapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . déclarer les actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . caractères de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Déclarer une transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Désignations pseudonymes pour les étapes et les transitions . . . . . . . . . 9.4 Fonctions en-ligne du langage séquentiel SFC. . . . . . . . . . . . . . . . . . . . . Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . commande d’une chaîne d’étapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Apprendre temps de surveillance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagnostic de transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 10 Liste d’instructions IL . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1 Remarques générales sur la liste d’instructions IL . . . . . . . . . . . . . . . . . . Généralités sur la liste d'instructions IL. . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remarques générales sur les instructions . . . . . . . . . . . . . . . . . . . . . . . . Opérandes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modificateur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repère. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Déclaration (VAR...END_VAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3 Opérateurs de la liste d’instructions IL . . . . . . . . . . . . . . . . . . . . . . . . . . . Charger (LD et LDN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enregistrer (ST et STN). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Valider (S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Initialiser (R) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ET logique (AND, AND (), ANDN, ANDN ()) . . . . . . . . . . . . . . . . . . . . . . . OU logique (OR, OR (), ORN, ORN ()) . . . . . . . . . . . . . . . . . . . . . . . . . . . OU exclusif logique (XOR, XOR (), XORN, XORN ()). . . . . . . . . . . . . . . . Inverser (NOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Addition (ADD et ADD ()) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Soustraction (SUB et SUB ()) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multiplication (MUL et MUL()) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Division (DIV et DIV ()) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparaison de "plus grand" (GT et GT ()) . . . . . . . . . . . . . . . . . . . . . . . Comparaison "plus grand/égal" (GE et GE ()). . . . . . . . . . . . . . . . . . . . . . Comparaison "égal" (EQ et EQ ()) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparaison "inégal" (NE et NE ()) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparaison "plus petit/égal" (LE et LE ()). . . . . . . . . . . . . . . . . . . . . . . . Comparaison de "plus petit" (LT et LT ()) . . . . . . . . . . . . . . . . . . . . . . . . . 33002205 12/2010 305 306 310 312 315 318 320 323 324 326 330 333 335 336 336 338 339 341 343 345 348 350 352 353 354 355 356 358 360 362 364 366 367 368 369 371 373 374 375 376 377 378 7 Saut vers étiquette (JMP, JMPC et JMPCN) . . . . . . . . . . . . . . . . . . . . . . Lancement de bloc fonction/DFB (CAL, CALC et CALCN) . . . . . . . . . . . FUNCNAME. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parenthèse droite")". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4 Appel de fonctions, blocs fonctions (EFBs) et blocs fonctions dérivés (DFBs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des blocs fonctions et DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . Lancement de bloc fonction/DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Appel fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5 Vérification de la syntaxe et génération de code . . . . . . . . . . . . . . . . . . . Vérification de la syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Génération de code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.6 Fonctions en ligne de la liste d’instructions IL . . . . . . . . . . . . . . . . . . . . . Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Champs de contrôle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.7 Elaboration d’un programme à l’aide de la liste d’instructions IL . . . . . . . Elaboration d’un programme en liste d’instructions IL . . . . . . . . . . . . . . . 385 386 388 393 395 396 398 400 401 404 405 405 Chapitre 11 Texte structuré ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 11.1 11.2 11.3 8 Remarques générales sur le littéral structuré ST. . . . . . . . . . . . . . . . . . . Généralités sur le text structuré ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opérandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opérateurs du langage de programmation Littéral structuré ST . . . . . . . Mise entre parenthèses "()" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FUNCNAME. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exponentiation (**) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Négation (-) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Complémentation (NOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multiplication (*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Division (/) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modulo (MOD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Addition (+) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Soustraction (-) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparaison de "supérieur à" (>) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparaison de "supérieur ou égal à" (>=). . . . . . . . . . . . . . . . . . . . . . . Comparaison sur "égaux" (=). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparaison sur "Différents" (<>) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparaison de "inférieur à" (<) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparaison de "inférieur ou égal à" (<=). . . . . . . . . . . . . . . . . . . . . . . . ET logique (AND ou &) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OU logique (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OU exclusif logique (XOR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 382 383 384 408 408 410 411 413 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 33002205 12/2010 11.4 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Déclaration (VAR...END_VAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IF...THEN...END_IF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ELSIF...THEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CASE...OF...END_CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FOR...TO...BY...DO...END_FOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WHILE...DO...END_WHILE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REPEAT...UNTIL...END_REPEAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instruction d’espacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commentaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5 Appel de fonctions, composants fonctionnels (EFBs) et composants fonctionnels dérivés (DFBs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lancement de bloc fonction/DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lancement de fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.6 Vérification de la syntaxe et génération de code. . . . . . . . . . . . . . . . . . . . Vérification de la syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Génération de code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.7 Fonctions en ligne du langage de programmation ST. . . . . . . . . . . . . . . . Fonctions En ligne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.8 Etablissement d’un programme avec le littéral structuré ST . . . . . . . . . . . Rédaction d’un programme dans le littéral structuré ST . . . . . . . . . . . . . . Chapitre 12 Ladder Logic 984 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1 Généralités concernant la Ladder Logic 984. . . . . . . . . . . . . . . . . . . . . . . Généralités concernant la Ladder Logic 984. . . . . . . . . . . . . . . . . . . . . . . 12.2 Utilisation de la Ladder Logic 984 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saisie et modification des objets logique . . . . . . . . . . . . . . . . . . . . . . . . . Entrée et édition de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edition réseau et Ladder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zoom référence et zoom DX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rechercher remplacer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3 Sous-programmes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sous-programmes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.4 Editeur du réseau d’équations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edition d’équations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Syntaxe et sémantique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.5 Modes de programmation LL984 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modes de programmation LL984 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33002205 12/2010 436 437 438 440 442 443 444 445 446 449 451 453 454 455 456 457 461 463 464 466 468 468 469 469 471 472 472 474 475 477 480 483 485 486 486 488 489 491 493 497 497 9 Chapitre 13 DFB (blocs fonctions dérivés) . . . . . . . . . . . . . . . . . . . . . 13.1 500 501 504 506 508 515 518 520 521 522 523 526 530 532 534 536 538 539 Chapitre 14 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 14.1 10 499 DFB (Unités de fonctions dérivées) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remarques générales sur les DFBs (Unités de fonctions dérivées) . . . . DFB globaux / locaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de variables dans les DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . Variables combinées d'entrée/de sortie (variables VARINOUT) . . . . . . . Variables globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etablissement d’une aide sur contexte (aide En ligne) pour DFB . . . . . . 13.2 Programmation et appel d’un DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installation du DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Création de la logique dans le langage de bloc fonction FBD . . . . . . . . . Création de la logique dans le plan de contact LD . . . . . . . . . . . . . . . . . Création de la logique dans la liste d’instructions IL . . . . . . . . . . . . . . . . Création de la logique dans le littéral structuré ST . . . . . . . . . . . . . . . . . Appel d’un DFB en langage d’unité de fonctions FBD. . . . . . . . . . . . . . . Appel d’un DFB dans plan contact LD . . . . . . . . . . . . . . . . . . . . . . . . . . . Appel d’un DFB dans liste d’instructions IL . . . . . . . . . . . . . . . . . . . . . . . Appel d’un DFB en langage littéral structuré ST . . . . . . . . . . . . . . . . . . . Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remarques générales sur les macros . . . . . . . . . . . . . . . . . . . . . . . . . . . Macros globales / locales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Marque d’échange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Création d’une aide sur contexte (aide en ligne) pour les macros. . . . . . 14.2 Programmation et appel d’une macro.. . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dépôt de la macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elaboration de la logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Appel d’une macro à partir d’une section SFC . . . . . . . . . . . . . . . . . . . . Appel d’une macro à partir d’une section FBD-/LD . . . . . . . . . . . . . . . . . 542 543 545 547 550 552 553 554 555 558 561 Chapitre 15 Editeur de variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563 Remarques générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . déclarer des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rechercher et remplacer des noms de variables et des adresses . . . . . . Recherche et insertion de noms de variables et d’adresses . . . . . . . . . . Export de variables localisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 565 568 572 576 Chapitre 16 Navigateur de projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Remarques générales sur le Navigateur de projet . . . . . . . . . . . . . . . . . Fenêtre détaillée du navigateur de projet . . . . . . . . . . . . . . . . . . . . . . . . Commande du parcoureur de projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 581 583 33002205 12/2010 Chapitre 17 Types de données dérivés. . . . . . . . . . . . . . . . . . . . . . . . 17.1 Remarques générales sur les types de données dérivés . . . . . . . . . . . . . Types de données dérivés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Types de données dérivés locaux / globaux . . . . . . . . . . . . . . . . . . . . . . . Définition avancée de type de données (supérieure à 64 Ko) . . . . . . . . . 17.2 Syntaxe de l’éditeur de types de données . . . . . . . . . . . . . . . . . . . . . . . . Eléments des types de données dérivés. . . . . . . . . . . . . . . . . . . . . . . . . . Clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Noms des types de données dérivés . . . . . . . . . . . . . . . . . . . . . . . . . . . . Séparateurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commentaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3 Occupation de la mémoire par des types de données dérivés . . . . . . . . . Occupation de la mémoire par les types de données dérivés. . . . . . . . . . 17.4 Appel de types de données dérivés : . . . . . . . . . . . . . . . . . . . . . . . . . . . . Appel de types de données dérivés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 18 Editeur des données de référence . . . . . . . . . . . . . . . . . Remarques générales sur l'éditeur de données de référence . . . . . . . . . Conversion de Tableaux Editeur de données . . . . . . . . . . . . . . . . . . . . . . Modification d'états de signal d'une variable localisée . . . . . . . . . . . . . . . Définition cyclique de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verrouillage inconditionnel d’une section . . . . . . . . . . . . . . . . . . . . . . . . . Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remplacement de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chargement des données de référence . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 19 Editeur de messages ASCII . . . . . . . . . . . . . . . . . . . . . . . 19.1 Boîte de dialogue éditeur ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Généralités relatives à la boîte de dialogue éditeur ASCII . . . . . . . . . . . . Texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Code de contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Espaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Retour chariot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vidage (tampon) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Répétition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.2 Interface utilisateur de l’éditeur de messages ASCII. . . . . . . . . . . . . . . . . Comment utiliser l’éditeur de message ASCII. . . . . . . . . . . . . . . . . . . . . . Numéro de message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Texte message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Texte de simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.3 Comment continuer après un avertissement. . . . . . . . . . . . . . . . . . . . . . . Comment continuer après un avertissement. . . . . . . . . . . . . . . . . . . . . . . 19.4 Editeur de messages ASCII en modes local/combinaison/direct . . . . . . . Editeur de messages ASCII en modes local/combinaison/direct . . . . . . . 33002205 12/2010 587 588 589 592 594 596 597 599 604 605 607 608 608 610 610 617 618 620 622 624 627 628 631 632 633 634 635 636 637 638 639 640 641 642 643 644 646 648 649 650 650 651 651 11 Chapitre 20 Fonctions en ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.1 654 654 655 656 659 660 661 666 668 669 670 671 672 673 674 676 677 678 681 682 685 686 687 689 692 693 694 696 699 701 703 704 706 707 707 709 709 Chapitre 21 Import/Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713 21.1 Remarques générales sur l’import/export . . . . . . . . . . . . . . . . . . . . . . . . Remarques générales sur l’importation/exportation . . . . . . . . . . . . . . . . 21.2 Export de sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Export de sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Export de variables et de types de données dérivés . . . . . . . . . . . . . . . . Export de variables et de types de données dérivés . . . . . . . . . . . . . . . . 12 653 Remarques générales sur les fonctions en ligne . . . . . . . . . . . . . . . . . . . Remarques générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.2 Connecter API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Préréglages pour fonctionnement EN LIGNE . . . . . . . . . . . . . . . . . . . . . Liaison réseau Modbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Réseau Modbus Plus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bridge Modbus Plus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Liaison réseau TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relier le simulateur CEI (32 bit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etat de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3 Installer et commander API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remarques générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Temps alloué aux boucles de cycles constants. . . . . . . . . . . . . . . . . . . . Cycles uniques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Effacer des zones de mémoire sur l’API . . . . . . . . . . . . . . . . . . . . . . . . . Traitement LL984 à vitesse optimisée . . . . . . . . . . . . . . . . . . . . . . . . . . . Enregistrer en flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Réactiver l’enregistrement Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paramétrer mot de passe API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.4 Extraire informations de processus (Etat et mémoire). . . . . . . . . . . . . . . Remarques générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etat de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Statistiques mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.5 Chargement d’un projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remarques générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chargement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chargement des modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lecture de l'API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procédure de chargement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.6 Animation de sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Animation de Section CEI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modes de programmation en LL984 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.7 Diagnostic en ligne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Affichage de diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.8 Journalisation de l'accès en écriture à l'API. . . . . . . . . . . . . . . . . . . . . . . Journalisation et journalisation chiffrée . . . . . . . . . . . . . . . . . . . . . . . . . . 714 714 716 716 719 719 33002205 12/2010 21.4 Import de section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Importation de section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procédure d’import de sections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Importation de programmes IL et ST dans les sections FBD, SFC, IL ou ST (avec conversion) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Import (Importer Fichier) de programmes IL et ST dans des sections IL ou ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procédure de "Copie" d’une section IL d’un projet existant dans un nouveau projet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procédure de conversion de sections FBD d’un projet existant en sections IL d’un nouveau projet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.5 Import de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Import de variables en format de "Texte avec séparateur" . . . . . . . . . . . . Import de variables structureées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Import de variables en format "Factory Link" . . . . . . . . . . . . . . . . . . . . . . Affectation multiple des adresses suite à l'importation de variables . . . . . 21.6 Import/Export de configuration API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Import/Export de Configuration API avec Concept . . . . . . . . . . . . . . . . . . Import/Export de Configuration API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 22 Documentation et archivage . . . . . . . . . . . . . . . . . . . . . . 22.1 Documentation de projets, de DFB et de macros . . . . . . . . . . . . . . . . . . . Contenu de la documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mise en page de la documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Définir les sauts de page pour les sections. . . . . . . . . . . . . . . . . . . . . . . . Utilisation des mots-clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.2 Gestion de projets, de DFB et de macros . . . . . . . . . . . . . . . . . . . . . . . . . Archivage de projets, DFB utilisés, EFB et fichiers de types de données. Effacer projets, DFB et macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 23 Simulation d’un API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.1 Simuler un API (Simulateur 16 bits) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simuler un automate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.2 Simuler un API (Simulateur 32 bits) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Concept-PLCSIM32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulation d’un API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulation d'une carte d'interface TCP/IP sous Windows 98 . . . . . . . . . . Simulation d’une carte d’interface TCP/IP sous Windows NT. . . . . . . . . . Chapitre 24 Concept-Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720 721 726 732 737 738 739 741 742 745 749 750 751 752 753 755 756 757 758 761 765 767 768 771 773 774 774 776 777 779 781 782 785 Description générale de Sécurité Concept . . . . . . . . . . . . . . . . . . . . . . . . Autorisations d’accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifications des mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Activation des autorisations d’accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Protéger Projets/DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786 788 795 797 798 Annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801 33002205 12/2010 13 Annexe A Tableaux des performances dépendant de l'API . . . . . . 803 Capacités de Quantum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Possibilités offertes par Compact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Capacités de Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Possibilités offertes par Atrium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804 809 814 819 Annexe B Interface Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825 B.1 Fenêtre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Types de fenêtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eléments de fenêtre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commandes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commandes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Boîtes de dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Boîtes de dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Création d’un symbole de projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Création d’un symbole de projet dans un groupe de programmes . . . . . Aide en ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structure de l’aide en ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826 827 829 832 832 834 834 837 837 839 840 842 Annexe C Barre d’outils et touches rapides . . . . . . . . . . . . . . . . . . . 845 C.1 Barre d’outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barre d’outils générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barre d’outils dans éditeur FBD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barre d’outils dans l’éditeur SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barre d’outils dans l’éditeur LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barre d’outils dans l‘éditeur IL et ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barre d’outils dans l‘éditeur LL984. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symboles dans le configurateur API . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barre d’outils dans éditeur ED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barre d'outils du navigateur de projet . . . . . . . . . . . . . . . . . . . . . . . . . . . C.2 Touches courtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Touches courtes générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Touches courtes dans l’éditeur IL, ST et de type de données . . . . . . . . Touches courtes dans l’éditeur FBDet SFC. . . . . . . . . . . . . . . . . . . . . . . Touches courtes dans éditeur LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Touches courtes dans l‘éditeur LL984 . . . . . . . . . . . . . . . . . . . . . . . . . . . 846 847 848 849 851 853 854 855 856 857 858 859 860 863 867 874 Annexe D Conformité CEI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877 D.1 Ce qu’est la norme CEI 1131-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remarques générales afférentes à la conformité CEI . . . . . . . . . . . . . . . Test de conformité CEI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2 Tableaux afférents à l’observation des exigences de la norme CEI . . . . Eléments communs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eléments de langage IL (AWL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eléments de langage ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878 879 881 882 883 891 893 B.2 B.3 B.4 B.5 14 33002205 12/2010 Eléments graphiques communs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eléments de langage LD (KOP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paramètres dépendant de l’implémentation . . . . . . . . . . . . . . . . . . . . . . . Causes d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.3 Extensions pour CEI 1131-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extensions pour CEI 1131-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.4 Syntaxe des langages texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Syntaxe des langages en mode texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexe E Exemples de configuration . . . . . . . . . . . . . . . . . . . . . . . E.1 E.2 E.3 E.4 E.5 E.6 E.7 E.8 E.9 33002205 12/2010 Exemple Quantum - Commande décentralisée avec RIO . . . . . . . . . . . . Editer la station E/S locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editer la station E/S décentralisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple Quantum - Commande décentralisée avec RIO (série 800) . . . Editer la station E/S locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editer la station E/S décentralisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editer la station E/S 800 décentralisée . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple Quantum - Commande décentralisée avec DIO . . . . . . . . . . . . Editer la station E/S locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editer la station E/S décentralisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple Quantum - Commande INTERBUS . . . . . . . . . . . . . . . . . . . . . . Remarques générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editer la station E/S locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple Quantum - Commande SY/MAX . . . . . . . . . . . . . . . . . . . . . . . . Editer la station E/S locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editer la station E/S décentralisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple Quantum - Commande Profibus DP. . . . . . . . . . . . . . . . . . . . . . Remarques générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Réglages d'exportation de Profibus DP dans SyCon . . . . . . . . . . . . . . . . Editer la station E/S locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Importer configuration de Profibus DP . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple Quantum – Diffusion des E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . Généralités sur la diffusion des E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration de la diffusion des E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transmission globale de données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transmission spécifique de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple Compact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editer la station E/S locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple Atrium - Commande INTERBUS . . . . . . . . . . . . . . . . . . . . . . . . Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paramètres d’export INTERBUS dans CMD. . . . . . . . . . . . . . . . . . . . . . . Modifier une station d’E/S locale (Drop) . . . . . . . . . . . . . . . . . . . . . . . . . . Editer la station E/S décentralisée (Importer la configuration INTERBUS) 895 896 898 902 904 904 906 906 907 908 909 913 916 917 922 925 928 929 933 937 938 939 943 944 948 951 952 953 955 960 967 968 970 972 974 976 976 980 981 982 983 987 15 E.10 Exemple Momentum - Bus décentralisé d'E/S. . . . . . . . . . . . . . . . . . . . . Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editer la station E/S locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifier station décentralisée d'E/S (Bus d'E/S) . . . . . . . . . . . . . . . . . . . E.11 Exemple Momentum - Système de bus Ethernet . . . . . . . . . . . . . . . . . . Configurer Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration sous différents systèmes d’exploitation . . . . . . . . . . . . . . . Editer la station E/S locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etablir connexion en ligne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 990 991 992 996 999 1000 1001 1011 1015 Annexe F Convertir Projets/DFB/Macros . . . . . . . . . . . . . . . . . . . . . 1017 Convertir projets/DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017 Annexe G Concept ModConnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021 G.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intégration de modules tiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intégration de nouveaux modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Retrait de modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation d'un module tiers dans Concept . . . . . . . . . . . . . . . . . . . . . . . Utilisation de modules tiers dans Concept. . . . . . . . . . . . . . . . . . . . . . . . 1022 1022 1023 1024 1026 1027 1027 Annexe H Conversion des programmes Modsoft . . . . . . . . . . . . . . 1029 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment convertir un programme Modsoft . . . . . . . . . . . . . . . . . . . . . . Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030 1033 1034 Annexe I Références Modsoft et 984 . . . . . . . . . . . . . . . . . . . . . . . . 1035 Touches Modsoft avec équivalents Concept . . . . . . . . . . . . . . . . . . . . . . Compatibilité des fonctions Modsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036 1038 G.2 G.3 Annexe J Préréglages en cas de l'utilisation de Modbus Plus pour la première mise en service . . . . . . . . . . . . . . . . . . . . . . . Installation du SA85/PCI85 sous Windows 98/2000/XP . . . . . . . . . . . . . Installation du SA85/PCI85 sous Windows NT . . . . . . . . . . . . . . . . . . . . Installation des pilotes Modbus Plus sous Windows 98/2000/NT . . . . . . Pilote Virtual MBX pour permettre l'exécution d'applications 16 bits sous Windows 98/2000/NT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MBX - Pilote destiné à la connexion entre des adaptateurs d'interface hôte ModConnect et des applications 32 bits sous Windows 98/2000/NT . . . Remote MBX - Pilote pour connexion distante (Remote) . . . . . . . . . . . . Ethernet MBX - Pilote pour la fonction Modbus Plus via TCP/IP. . . . . . . Etablir la connexion matérielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1039 1040 1044 1047 1048 1049 1050 1051 1053 Annexe K Préréglages en cas de l'utilisation de Modbus pour la première mise en service . . . . . . . . . . . . . . . . . . . . . . . . . 1055 Configuration d'interface dans Windows 98/2000/XP . . . . . . . . . . . . . . . Réglage d'interface dans Windows NT . . . . . . . . . . . . . . . . . . . . . . . . . . Etablir la connexion matérielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problèmes de transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 1058 1059 1060 33002205 12/2010 Annexe L Première mise en service en cas d'utilisation de Modbus avec l'EXECLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 Première mise en service Quantum avec l'EXECLoader . . . . . . . . . . . . . Première mise en service Compact avec l'EXECLoader . . . . . . . . . . . . . Première mise en service Momentum pour CEI avec l'EXECLoader . . . . Première mise en service Momentum pour LL984 avec l'EXECLoader . . 1062 1067 1072 1077 Annexe M Première mise en service dans le cas de l'utilisation de Modbus avec le DOS-Loader . . . . . . . . . . . . . . . . . . . . . . 1083 Première mise en service Quantum avec le DOS-Loader . . . . . . . . . . . . Première mise en service Compact avec le DOS-Loader. . . . . . . . . . . . . Première mise en service Momentum pour CEI avec le DOS-Loader . . . Première mise en service Momentum pour LL984 avec le DOS-Loader . 1084 1087 1090 1094 Annexe N Première mise en service en cas d'utilisation de Modbus Plus avec l'EXECLoader. . . . . . . . . . . . . . . . . . . . . . . . . . 1099 Première mise en service Quantum avec l'EXECLoader . . . . . . . . . . . . . Première mise en service Compact avec l'EXECLoader . . . . . . . . . . . . . Première mise en service Atrium avec l'EXECLoader . . . . . . . . . . . . . . . Première mise en service Momentum pour CEI avec l'EXECLoader . . . . Première mise en service Momentum pour LL984 avec l'EXECLoader . . 1100 1104 1108 1111 1115 Annexe O Première mise en service dans le cas de l'utilisation de Modbus Plus avec le DOS-Loader . . . . . . . . . . . . . . . . . 1119 Première mise en service Quantum avec le DOS-Loader . . . . . . . . . . . . Première mise en service Compact avec le DOS-Loader. . . . . . . . . . . . . Première mise en service Atrium avec le DOS-Loader. . . . . . . . . . . . . . . Première mise en service Momentum pour CEI avec le DOS-Loader . . . Première mise en service Momentum pour LL984 avec le DOS-Loader . 1120 1123 1126 1129 1132 Annexe P Fichiers EXEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Charger le micrologiciel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexe Q Fichiers INI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Q.1 Paramètres dans le fichier CONCEPT.INI . . . . . . . . . . . . . . . . . . . . . . . . Généralités sur le fichier INI de Concept. . . . . . . . . . . . . . . . . . . . . . . . . . Paramètres d'impression INI [Imprimer] . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration INI de format d'adresse de registre, de dépôt de variables et de définition de nom de projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paramètres INI de chemin d'accès et de DFB globaux [Path] [Upload] . . Représentation de données internes dans le fichier INI . . . . . . . . . . . . . . Paramètres INI pour la section LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paramètres INI de l'édition en ligne [Couleurs] . . . . . . . . . . . . . . . . . . . . . Configuration INI de messages d'avertissement et de format d'adresse . Paramètres INI de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paramètres INI sur le comportement de l'éditeur de données . . . . . . . . . Paramètres INI du menu Options -> Tools . . . . . . . . . . . . . . . . . . . . . . . . 33002205 12/2010 1137 1137 1141 1142 1143 1144 1145 1147 1150 1151 1152 1153 1154 1155 1156 17 Q.2 18 Paramètres du fichier NomDeProjet.INI. . . . . . . . . . . . . . . . . . . . . . . . . . généralités sur le fichier NomDeProjet.INI. . . . . . . . . . . . . . . . . . . . . . . . Configuration INI de l'affichage des événements [Online Events] (événements en ligne) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paramètres INI de l'enregistrement en ligne [Backup]. . . . . . . . . . . . . . . 1157 1158 Annexe R Traitement d'interruption . . . . . . . . . . . . . . . . . . . . . . . . . 1161 R.1 Généralités sur les sections d'interruption . . . . . . . . . . . . . . . . . . . . . . . . Généralités sur le traitement d'interruptions . . . . . . . . . . . . . . . . . . . . . . R.2 Section d'interruption: section d'événement de temporisation. . . . . . . . . Sections d'événements de temporisation . . . . . . . . . . . . . . . . . . . . . . . . Configuration de la fréquence d'échantillonnage. . . . . . . . . . . . . . . . . . . Configuration de la phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ordre d'exécution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Système d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemples de paramètres définis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R.3 Section d'interruption : section d'événement d'E/S . . . . . . . . . . . . . . . . . Sections d'interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Priorité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erreur d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R.4 Blocs destinés aux sections d'interruption . . . . . . . . . . . . . . . . . . . . . . . . Blocs de sections d'interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162 1162 1164 1165 1166 1168 1171 1172 1175 1180 1181 1183 1184 1186 1186 Annexe S Connexion automatique à l'API . . . . . . . . . . . . . . . . . . . . 1189 Connexion automatique via des paramètres de ligne de commande (Modbus, Modbus +, TCP/IP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connexion automatique via l'outil CCLaunch (Modbus Plus) . . . . . . . . . 1190 1194 Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199 1231 1159 1160 33002205 12/2010 Consignes de sécurité § Informations importantes AVIS Lisez attentivement ces instructions et examinez le matériel pour vous familiariser avec l'appareil avant de tenter de l'installer, de le faire fonctionner ou d’assurer sa maintenance. Les messages spéciaux suivants que vous trouverez dans cette documentation ou sur l'appareil ont pour but de vous mettre en garde contre des risques potentiels ou d’attirer votre attention sur des informations qui clarifient ou simplifient une procédure. 33002205 12/2010 19 REMARQUE IMPORTANTE L’installation, l’utilisation, la réparation et la maintenance des équipements électriques doivent être assurées par du personnel qualifié uniquement. Schneider Electric décline toute responsabilité quant aux conséquences de l’utilisation de cet appareil. Une personne qualifiée est une personne disposant de compétences et de connaissances dans le domaine de la construction et du fonctionnement des équipements électriques et installations et ayant bénéficié d'une formation de sécurité afin de reconnaître et d’éviter les risques encourus. 20 33002205 12/2010 A propos de ce manuel Présentation Objectif du document Ce manuel de l'utilisateur vous aidera à configurer un programme utilisateur avec Concept. Il vous offre des informations détaillées sur les différents langages de programmation ainsi que sur la configuration matérielle. Champ d'application Cette documentation s'applique à Concept 2.6 sous Microsoft Windows 98, Microsoft Windows 2000, Microsoft Windows XP et Microsoft Windows NT 4.x. NOTE : Vous trouverez des indications supplémentaires récentes dans le fichier README de Concept. Document à consulter Titre de documentation Référence Introduction à l'installation de Concept 840 USE 502 01 Bibliothèque de modules Concept CEI 840 USE 504 01 Manuel de l'utilisateur Concept-EFB 840 USE 505 00 Bibliothèque de modules Concept LL984 840 USE 506 01 Vous pouvez télécharger ces publications et autres informations techniques depuis notre site web à l'adresse : www.schneider-electric.com. Commentaires utilisateur Envoyez vos commentaires à l'adresse e-mail techpub@schneider-electric.com 33002205 12/2010 21 22 33002205 12/2010 Description générale de Concept 33002205 12/2010 Description générale de Concept 1 Aperçu Ce chapitre contient une description générale de Concept. Son objectif est de vous fournir un premier aperçu général sur Concept et ses programmes utilitaires. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Sous-chapitre 33002205 12/2010 Sujet Page 1.1 Description générale de Concept 24 1.2 Programmation 30 23 Description générale de Concept 1.1 Description générale de Concept Aperçu Ce chapitre contient une description des caractéristiques de puissance de Concept et vous fournit un aperçu général sur le matériel programmable à l’aide de Concept. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet Introduction 24 Page 25 Configuration du matériel API 28 Contenu de paquet du matériel API en Concept S, M et XL 29 33002205 12/2010 Description générale de Concept Introduction Système d’exploitation L’exécution des tâches de ce genre requiert à l’heure actuelle une interface utilisateur graphique. Le résultat est la création de Concept en tant qu’application pour MS-Windows. Concept peut être utilisé sous Windows 98, Windows 2000, Windows XP et Windows NT. L’avantage de ces systèmes d’exploitation réside dans le fait que ce sont les systèmes les plus répandus au monde, et que la tecnique de fenêtres et le maniement d’une souris font partie des connaissances élémentaires d’un utilisateur d’ordinateur. En outre, MS-Windows permet d’utiliser tous les écrans, toutes les cartes graphiques et imprimantes d’usage courant. En tant qu’utilisateur, vous n’êtes donc pas tenus de choisir une configuration de matériel précise. Norme internationale CEI 1131-3 Concept fournit un environnement autonome pour une projection matérielle effective conformément à la norme internationale CEI 1131-3. Autonomie d’API lors de la programmation Le slogan attitré lors du développement de Concept fut le principe du même Look and Feel, c’est-à-dire que le travail au niveau de toutes les étapes de la projection matériel et de tous les éditeurs se fait de manière intuitive de manière à ce qu’un seul coup d’il à l’écran suffise pour savoir ce qu’il faut (ne faut pas) faire. La plupart des étapes de projection, la création du programme en particulier, ont des structures indépendantes de l’API à programmer. 33002205 12/2010 25 Description générale de Concept Représentation graphique Le programme entier est subdivisé en sections conformément à la structure logique. Grâce à l’outil de projection Concept, vous pouvez facilement Sélectionner, Placer et Déplacer des objets (par exemple les blocs fonctions, étapes, transitions) sous forme graphique. Dans l’éditeur SFC (Sequential Function Chart / langage de la commandeséquentielle), les contrôles de vraisemblance se font déjà lors du placement des objets, puisque la plupart des connexions entre objets sont automatiquement établies lors du placement. Dans les éditeurs FBD (Function Block Diagram) et LD (Ladder Diagram), les contrôles de vraisemblance ont lieu lors de la connexion des blocs. Les connexions qui ne sont pas permises, telles des connexions entre différents types de données, sont refusées déjà lors du projet. Dans l’éditeur LL984 (Schéma à contacts 984), un contrôle de vraisemblance a également lieu lors du placement. Dans les éditeurs IL (Instruction List) et ST (Structured Text), les instructions qui ne sont pas permises sont marquées par un encadrement en couleur. Après le premier déroulement normal du programme, le programme crée peut être optimisé sur le plan graphique en améliorant la représentation grâce au déplacement de connexions, de blocs fonctions ou de textes. Imprimer Sur demande, les chapitres sont représentés avec indication du format d’impression, de telle manière qu’on puisse contrôler la représentation sur chaque feuille de la documentation. Les signaux reçoivent une désignation complète avec nom de symbole et commentaire. Sur les lacunes, des indications précises sont données qui permettent de tracer le signal. Dans l’éditeur FBD, l’ordre d’exécution des blocs individuels dans une section peut être affiché et documenté. Fonctions Import / Export Les fonctions Import/Export permettent de regrouper à volonté des sections de différents projets en un nouveau projet. Il est également possible de convertir des sections d'un langage de programmation CEI en des sections d'un autre langage de programmation CEI. Les variables peuvent être exportées et importées dans le texte dans le format texte avec séparateur ou FactoryLink. Système d'exécution Le Système d'exécution d’API permet de réagir rapidement aux modifications du processus (court temps de cycle), Simulation des sources de signaux (voir page 773), Affichage en ligne (voir page 653) des états, modifications en ligne de paramètres et programmes. 26 33002205 12/2010 Description générale de Concept Structure logiciel ouverte Concept possède une structure logiciel ouverte qui permet d’exploiter des systèmes externes (par exemple de visualisation) via interfaces standards. Aide en ligne Un soin particulier fut porté au développement de la fonction d’aide. La fonction Aide en ligne (voir page 842) propose une aide contextuelle dans chaque situation de la projection qu’on peut obtenir en cliquant une fois avec la souris ou en appuyant sur la touche F1. Cette aide contextuelle est disponible aussi bien pour les commandes de menu et les dialogues que pour les fonctions, les blocs fonctions ainsi que les matériels dans quelques gammes d’automate. 33002205 12/2010 27 Description générale de Concept Configuration du matériel API Description Concept est l’outil de projection standard pour les produits Quantum, Compact, Momentum et Atrium. La configuration des matériels (par exemple unité centrale, mémoire programme, unités d’entrée/sortie etc.) peut être réalisée avant, pendant ou après la création du programme. Cette tâche de projection peut avoir lieu aussi bien avec l’API en mode connecté (Connecté) qu’en mode Hors ligne (terminal seul). Concept supporte la projection en proposant uniquement les combinaisons autorisées. ce qui permet d’empêcher efficacement une projection erronée. En mode connecté, il est aussitôt procédé au contrôle de vraisemblance du matériel projeté et les entrées erronées sont refusées. Après la connexion du terminal (PC) avec l’API, il est procédé au contrôle de vraisemblance des valeurs projetées (par exemple de l’éditeur de variables) avec les ressources matériel réelles, et un message d’erreur est affiché, le cas échéant. 28 33002205 12/2010 Description générale de Concept Contenu de paquet du matériel API en Concept S, M et XL Description Contenu de paquet du matériel API en Concept S, M et XL: 33002205 12/2010 Version de Concept contenez le matériel Concept Vx.x S Momentum Concept Vx.x M Compact, Momentum Concept Vx.x XL Atrium, Compact, Momentum, Quantum 29 Description générale de Concept 1.2 Programmation Aperçu Ce chapitre vous donne un aperçu général sur les éditeurs disponibles dans Concept. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 30 Page Remarques générales 31 Bibliothèques 33 Editeurs 35 Fonctions en ligne 40 Communication 41 Application protégée 42 Programmes utilitaires 44 33002205 12/2010 Description générale de Concept Remarques générales Introduction Pour accomplir les tâches dans le domaine de la technique de commande et de réglage, Concept met à votre disposition les langages de programmation conformes à CEI 1131-3 suivantes : z Langage blocs fonctions FBD (Function Block Diagram) (voir page 35), z Plan de contact LD (Ladder Diagram) (voir page 36), z Langage de commande séquentielle SFC (Sequential Function Chart) (voir page 36), z Liste d’instructions IL (Instruction List) (voir page 36) et z Texte structuré ST (Structured Text) (voir page 37). Le langage orienté Modsoft est également disponible Plan de contact LL984 (Ladder Logic) (voir page 38). z Les éléments de base des langages de programmation CEI (FDB, LD, SFC, ST et IL) sont les Fonctions et les Blocs fonctions dont l’ensemble constitue des unités logiques. Concept contient diverses Bibliothèques des blocs (voir page 33) qui renferment des fonctions/blocs fonctions (EFB) élémentaires déjà prédéfinis. Celles-ci sont réparties dans différents groupes suivant leur domaine d’application, ce qui facilite la recherche des EFB individuels. Pour LL984, le langage de programmation orientée vers Modsoft, une Bibliothèque des blocs (voir page 33) avec des Instructions est disponible. Sections Le programme de commande est constitué par des sections qui correspondent à sa structure logique. A l’intérieur d’une section, on travaille avec un seul langage de programmation. De la jonction de ces sections naît un ensemble qui constitue le programme de commande suivant lequel l’automate commande le déroulement du processus. A l’intérieur d’un programme, les sections CEI (FDB, LD, SFC, IL, ST) peuvent être mélangées à volonté. Les sections LL984 sont toujours traitées sous forme de blocs avant les sections CEI. Type de données Un sous-ensemble de Types de données de la norme internationale CEI 1131-3 est à votre disposition. Par l’Editeur du type de données (voir page 38), vous pouvez dériver vos propres types de données à partir des types de données CEI. 33002205 12/2010 31 Description générale de Concept Utilisation de variables Des variables ne sont généralement pas utilisées pour la liaison d’objets au sein d’une section dans le cas des langages de programmation graphiques FDB, LD, SFC et LL984, puisque ces liaisons sont réalisées à travers des connexions graphiques. (Une liaison supplémentaire avec variables est uniquement nécessaire pour les sections très complexes). Les connexions graphiques sont gérées par le système et n’entraînent par conséquent aucun effort de projection pour vous. Toutes les variables restantes, telles que les variables pour la transmission des données entre différents sections, sont projetées avec l’Editeur de variables (voir page 38). 32 33002205 12/2010 Description générale de Concept Bibliothèques Introduction Concept met à votre disposition différentes bibliothèques de blocs avec des Fonctions et des Blocs fonctions déjà prédéfinies pour la création du programme. On distingue entre deux types de bibliothèques de blocs : z Bibliothèques CEI Bibliothèques des blocs pour les sections dans les langages de programmation CEI (FDB, LD, SFC, IL et ST) z Bibliothèque LL984 Bibliothèque des blocs pour les sections dans le langage de programmation LL984 orientée vers Modsoft Bibliothèques CEI Les bibliothèques CEI suivantes sont disponibles pour vos applications : AKFEFB Cette bibliothèque contient les EFB de AKF/ALD qui ne sont pas couverts par la bibliothèque CEI. z ANA_IO Cette bibliothèque permet de traiter des valeurs analogiques. z COMM Cette bibliothèque permet de partager des informations entre un API et un autre abonné Modbus, Modbus Plus ou Ethernet. z CONT_CTL Cette bibliothèque permet la projection des circuits de régulation technologiques. Elle contient les EFB régulateurs, dérivateurs, d’intégration et à courbes polygonales. z DIAGNOSTIC Cette bibliothèque permet d’établir un diagnostic du programme de commande après des défaillances. Elle contient des EFB de contrôle de diagnostics d’action, de réaction, de blocage, des conditions de processus, des diagnostics dynamiques et des groupes de signaux. z EXPERTS Cette bibliothèque contient les EFB nécessaires pour l’utilisation des modules d’experts. z EXTENDED Cette bibliothèque contient des accessoires utiles qui complètent les différentes bibliothèques. Elle contient les EFB nécessaires au calcul de valeur moyenne, à la sélection de la valeur maximale, à la fonction NON, au déclenchement, à la conversion, à la formation d’un cheminement polygonal avec interpolation d’ordre 1, à l’identification de la décroissance et à la définition d’une bande morte pour les variables commandées. z 33002205 12/2010 33 Description générale de Concept z z z z FUZZY Cette bibliothèque contient des EFB pour la logique analogique (Fuzzy). CEI Cette bibliothèque contient les EFB définis dans la norme internationale CEI 1131-3. Elle contient par exemple les EFB pour les fondements des mathématiques, le compteur, la temporisation etc. LIB984 Cette bibliothèque contient les EFB conforme à CEI 1131 de la bibliothèque LL984, par exemple les EFB pour le transfert de registres. SYSTEM Cette bibliothèque contient les EFB pour l’utilisation des fonctions système. Elle dispose des EFB pour la reconnaissance du temps de cycle, l’utilisation de différentes horloges système, la commande de sections SFC et l’affichage de l’état de système. Bibliothèque LL984 La bibliothèque LL984 contient les instructions (blocs) pour l’éditeur LL984. Elle contient des instructions pour les fondements des mathématiques, le compteur, la temporisation, des instructions pour l’affichage de l’état de système, des instructions de réglage, de différenciation et d’intégration ainsi que des instructions pour le partage des informations entre un API et un autre abonné Modbus ou Modbus Plus. 34 33002205 12/2010 Description générale de Concept Editeurs Introduction En créant une section, vous déterminez le langage de programmation que vous désirez utiliser. Pour la création de sections dans les différentes langages de programmation, des éditeurs spéciaux sont disponibles : z Editeur FDB (voir page 35) z Editeur LD (voir page 36) z Editeur SFC (langage de commande séquentielle) (voir page 36) z Editeur IL (voir page 36) z Editeur ST (voir page 37) z Editeur LL984 (plan de contact similaire à Modsoft) (voir page 38) Pour la déclaration de variables, la création de types de données et la visualisation de variables, les éditeurs suivants sont disponibles : z L’éditeur de variables (pour déclarer les variables), (voir page 38) z L’éditeur des données de référence (pour visualiser et changer les valeurs en Connecté) (voir page 39) et z L’éditeur de type de données (pour créer des types de données définis par l’utilisateur) (voir page 38). Pour la création des fonctions et blocs fonctions définis par l’utilisateur, les éditeurs suivants sont à votre disposition : z Concept-DFB (pour créer des blocs fonctions et macros dérivés) (voir page 44) z Concept-EFB (pour créer des fonctions élémentaires et blocs fonctions définis par l’utilisateur) (voir page 45) Editeur FDB L’Editeur FDB (voir page 221) permet la programmation graphique du plan de fonctionnement conformément à la norme CEI 1131-3. Les fonctions élémentaires, les blocs fonctions élémentaires (EFB) et les blocs fonctions dérivés (DFB) sont assemblés avec des signaux (variables) dans les sections FDB en un plan de fonctionnement. La taille d’une section FDB est de 23 lignes et 30 colonnes. Les EFB sont munis d’un nombre variable ou invariable de variables d’entrée et peuvent être placés au choix sur les sections. Variable et EFB peuvent être commentés individuellement, les commandes de déclenchement sur une section peuvent être commentées par zones de texte à des endroits quelconques. L’exécution de tous les EFB peut être conditionnelle ou inconditionnelle. Pour faciliter leurs recherches, tous les EFB sont regroupés en bibliothèques suivant leurs domaines d’applications et leurs fonction réparties sur différents groupes. 33002205 12/2010 35 Description générale de Concept Editeur LD L’Editeur LD (voir page 247) permet la programmation graphique du plan de contact conformément à la norme CEI 1131-3. Contacts et bobines sont assemblés avec des signaux (variables) dans les sections LD en un plan de contact. La taille d’une section FDB est de 23 lignes et 30 colonnes. En outre, les fonctions et blocs fonctions élémentaires (EFB) évoqués dans l’éditeur FDB, les blocs fonctions dérivés (DFB) et les blocs définis par l’utilisateur (UDFB) sont également intégrables dans le plan de contact (voir Editeur FDB, page 35). La structure d’une section LD correspond à une voie de courant pour des montages à relais. Sur son côté gauche, se trouve le rail conducteur gauche. Cette barre d’alimentation gauche correspond à la phase (conducteur L) d’une voie de courant. De même que sur une voie de courant, pour la programmation LD ne sont "traités" que les objets LD (contacts, bobines) qui sont branchés sur l’alimentation en courant, c’est-à-dire qui sont reliés à la barre gauche d’alimentation. La barre droite d’alimentation, qui correspond au conducteur neutre, n’est pas représentée de manière optique. Toutefois, toutes les bobines et sorties d’EFB sont connectées à celui-ci à l’intérieur du montage, créant ainsi une continuité de courant. Editeur SFC L’Editeur SFC (voir page 283) permet la programmation graphique de la commande séquentielle conformément à la norme CEI 1131-3. Les objets SFC sont assemblés sur une section SFC en une commande séquentielle conformement à la tâche à exécuter. La taille d’une section SFC est de 32 colonnes et 200 lignes. Les objets suivants sont disponibles dans Concept pour la programmation d’une commande séquentielle : z Etape (avec actions et section d’action) z Transition (avec section de transition) z Dérivation et jonction (Fan-In) alternatifs z Dérivation et jonction (Fan-In) parallèles z Saut z Connexion Des fonctions de contrôle sont déjà intégrées dans les étapes qui permettent un diagnostic facile. Editeur IL L’Editeur LD (voir page 335) permet la programmation sous forme de liste d’instructions conforme à la norme CEI 1131-3. 36 33002205 12/2010 Description générale de Concept Des instructions IL composées d’opérateurs (commandes) et d’opérandes (signaux, variables), des fonctions et blocs fonctions élémentaires et des blocs fonctions dérivés sont écrits de manière consécutive sous format de texte sur les sections IL. Vous pouvez utiliser toutes les fonctions standards disponibles sur Windows pour l’introduction de programme ainsi que quelques commandes supplémentaires pour le traitement de texte. La taille maximale d’une section IL est de 64 Ko. Les opérateurs suivants sont disponibles dans Concept pour la programmation d’une liste d’instructions : z Les instructions logiques (AND, OR, etc.) z Les instructions arithmétiques (ADD, SUB, MUL, DIV, ...) z Les instructions de comparaison (EQ, GT, LT, ...) z Echelons (JMP, ... conditionnel/inconditionnel) z Lancement d’EFB (CAL ... conditionnel/inconditionnel) IL est programmé en format texte. Vous pouvez utiliser toutes les fonctions standards disponibles sous Windows pour le traitement de texte lors de saisie du texte. L’éditeur IL contient quelques commandes supplémentaires pour le traitement de texte. Le saisie des textes (instructions, mots clés, séparateurs) est accompagné du contrôle de syntaxe qui marque les erreurs par un encadrement en couleur. Editeur ST L’Editeur ST (voir page 407) permet la programmation sous forme de texte structuré conforme à la norme CEI 1131-3. Des déclarations ST (Statements) composées d’expressions (liste d’opérateurs) et d’opérandes (signaux, variables), des fonctions et blocs fonctions élémentaires et des blocs fonctions dérivés sont écrits sous format de texte sur les sections ST. Vous pouvez utiliser toutes les fonctions standards disponibles sur Windows pour l’introduction de programme ainsi que quelques commandes supplémentaires pour le traitement de texte. La taille maximale d’une section ST est de 64 Ko. Les déclarations et opérateurs suivants sont disponibles dans Concept pour la programmation sous format de texte structuré : z Exécution conditionnelle/inconditionnelle des déclarations (IF, ELSIF, ELSE, ...) z Exécution conditionnelle/inconditionnelle des boucles (WHILE, REPEAT) z Opérateurs mathématiques, de comparaison et logiques z Lancement conditionnel/inconditionnel d’EFB ST est programmé en format texte. Vous pouvez utiliser toutes les fonctions standards disponibles sous Windows pour le traitement de texte lors de saisie du texte. L’éditeur ST contient quelques commandes supplémentaires pour le traitement de texte. Le saisie des textes (instructions, mots clés, séparateurs) est accompagné du contrôle de syntaxe qui marque les erreurs par un encadrement en couleur. 33002205 12/2010 37 Description générale de Concept Editeur LL984 Instructions, contacts, bobines et signaux (variables) sont assemblés en un LD (diagramme Ladder) par l’Editeur LL984 (voir page 471) similaire à Modsoft. Instructions, contacts, bobines et variables peuvent être commentés. La structure d’une section LL984 correspond à un trajet de courant dans les montages en relais. Sur son côté gauche, se trouve le rail conducteur gauche qui n’est cependant pas représenté. Cette barre d’alimentation gauche correspond à la phase (conducteur L) d’une voie de courant. A l’instar d’un trajet de courant, lors de la programmation avec LL984, seuls les objets LL984 (contacts, bobines) connectés à un réseau d’alimentation, c’est-à-dire au rail conducteur gauche sont "traités". Le rail conducteur de droite qui correspond au conducteur neutre n’est pas illustré non plus. Toutefois, toutes les bobines et sorties d’instructions sont connectées à celuici à l’intérieur du montage, créant ainsi une continuité de courant. Pour la programmation d’un plan de contact avec LL984, Concept contient diverses instructions déjà prédéfinies. Vous les trouvez dans la bibliothèque des blocs LL984. D’autres instructions pour des applications spéciales sont disponibles sous forme d’instructions chargeables et peuvent être chargées. Editeur de variables Tous les noms de signaux (variables) symboliques nécessaires sont déclarés et commentés par l’Editeur de variables (voir page 563). Seules les variables déclarées peuvent être utilisées dans les programmes Concept. A chaque nom de signal symbolique doit être affecté un type de données ! Si une adresse de référence est affectée à ces variables, on obtient une Variable nonlocalisée (sans adresse de référence = Variable non-localisée). Chaque variable peut être dotée d’une valeur initiale supplémentaire qui est transférée dans l’API lors du premier chargement. Editeur de type de données (Editeur DDT) L’Editeur de type de données (voir page 587) vous permet de définir vos propres Types de données dérivés (Derived Data Type = DDT). Les types de données dérivés réunissent plusieurs types de données élémentaires (BOOL, WORD, ...) en un article. Peuvent être réunis uniquement les mêmes types de données en ARRAY tout comme les types de données différents en STRUCT. Un certain nombre de types de données dérivés est déjà disponible dans Concept que vous pouvez par exemple utiliser pour les DFB. Sur les DFB ou les EFB, les DDT sont représentés comme une seule connexion, c’est-à-dire qu’il n’est par exemple nécessaire de définir qu’une seule variable dans FBD. Il est donc conseillé de définir les groupes de types de données élémentaires récurrents (ainsi que les DDT) comme DDT afin d’améliorer ainsi la clarté de l’application concernée. 38 33002205 12/2010 Description générale de Concept La définition se fait sous forme de texte, et vous pouvez utiliser pour ce faire toutes les fonctions standards disponibles sur Windows ainsi que quelques commandes supplémentaires pour le traitement de texte. La taille maximale d’un fichier type de données est de 64 Ko. Editeur des données de référence L’Editeur des données de référence (voir page 617) vous permet d’afficher la valeur des variables en mode connecté, de forcer et de fixer des variables. Vous avez en outre la possibilité de séparer les variables du processus. Les entrées peuvent être sauvegardées dans un fichier et réutilisées ultérieurement. 33002205 12/2010 39 Description générale de Concept Fonctions en ligne Fonctions en ligne disponibles Après la connexion du terminal avec l’API, tout un ensemble de fonctions en ligne sont disponibles pour la mise en marche et la maintenance : z le programme installé sur le terminal est comparé avec le programme installé sur l’API z l’API peut être démarré et arrêté z des informations objets sont affichées z des programmes peuvent être chargés, des sections peuvent être modifiées en ligne et chargées z les valeurs de variables peuvent être définies en ligne z le mode Animation affiche le programme avec les états courants Commande et contrôle Il n’est pas nécessaire de déclarer des variables spéciales de commande et de contrôle dans Concept. Les variables à visualiser peuvent être identifiées comme telles dans l’éditeur de variables, et puis exportées dans un fichier de configuration ModLink ou FactoryLink. Ce fichier peut être utilisé pour la visualisation. 40 33002205 12/2010 Description générale de Concept Communication Description La préparation de la communication entre l’API et un autre abonné Modbus, Modbus Plus, SY/MAX-Ethernet ou TCIP/IP-Ethernet est effectuée, pour les langages CEI (FBD, LD, SFC, ST, IL), avec les EFB de la bibliothèque de blocs COMM. Pour le langage de programmation LL984, l’instruction MSTR est mise à disposition pour l’établissement de ces communications. Indépendamment de ces blocs/instructions, il est également possible de procéder à un transfert Peer to Peer des contenus des registres avec Peer Cop. La préparation de la communication entre l’API et une E/S décentralisée via Interbus est effectuée par simple inscription du module NOA sur la liste des affectations et chargement d’une instruction chargeable (ULEX). La préparation de la communication entre le terminal et un API via Ethernet est effectuée par simple inscription et paramétrage des modules de couplage correspondants sur la liste des affectations. 33002205 12/2010 41 Description générale de Concept Application protégée Introduction Dans certains domaines de l'industrie, pour des raisons de sécurité, une réglementation de l'accès à l'API l'enregistrement des modifications apportées au cours de l'exécution du programme et un archivage de ces protocoles de manière à ce qu'ils ne puissent pas être falsifiés sont une nécessité. Pour répondre à ces exigences, Concept a été doté de nouvelles fonctions dont l'utilisation permet d'obtenir une application protégée. Pour être sûr que tous les paramètres ont été définis, l'utilisateur peut cocher la case Application sécurisée de la boîte de dialogue Projet →Propriétés du projet. Cela permet à Concept de vérifier si tous ces paramètres ont été définis et qu'ils contiennent des valeurs valides. A la suite de cela, le projet sera muni du code prévu pour les applications protégées et fera partie des informations transmises lors du chargement dans l'API. Application sécurisée Dans la boîte de dialogue Projet →Propriétés du projet, le fait de cocher la case Application sécurisée exécute l'application protégée. Ce paramètre est également importé, exporté, lu et chargé dans l'API. NOTE : Lors de l'activation de l'application protégée, l'état passe sur DIFFERENTS, ce qui nécessite un nouveau chargement dans l'API. Lorsque vous désactivez cette case à cocher, l'état passe à DIFFERENTS, ce qui rend dans ce cas également un nouveau chargement nécessaire. Cependant, lors de la connexion de Concept à un API ayant déjà chargé le paramètre "Application protégée", ce paramètre est appliqué automatiquement lors de la lecture. Le fichier journal est consigné dans le répertoire Concept et son nom correspond à la date actuelle (ANNEEMOISJOUR.ENC, p. ex. 20020723.ENC). Dans la boîte de dialogue Environnement commun, vous pouvez entrer le chemin d'accès au fichier journal. Si vous n'entrez pas de chemin d'accès, Concept reprend le chemin par défaut du fichier journal (à savoir le répertoire Concept, p. ex. C:\CONCEPT). La journalisation de l'accès en écriture à l'API permet d'enregistrer, entre autres, les informations suivantes : z Nom de section z Nom d'instance EFB/DFB, nom de type FB z Nom de broche z [Nom de variable] [Libellé] [Adresse] z Ancienne valeur z Nouvelle valeur z Nom d'utilisateur (si le mot de passe (annonce) Concept a été activé dans Sécurité Concept) z Date et heure (voir aussi Format d'adresse dans le fichier journal [Logging], page 1153) 42 33002205 12/2010 Description générale de Concept Condition L'application protégée ne peut être exécutée que si les conditions suivantes sont remplies : z uniquement utilisable pour 140 UC 434 12A ou 140 UC 534 14A/B, z au moins une section CEI (si une telle section n'est pas disponible, le chargement est interrompu.). z Mode Hors ligne (En ligne →Déconnecter...) z Droits de superviseur (voir dans Concept sous Aide →A propos de... → Utilisateur actuel :) Combinaisons permettant d'activer l'application protégée On distingue diverses combinaisons d'activation de l'application protégée : la case "Application protégée" à été cochée dans Concept, l'"Application protégée" a été chargée dans l'API. Réaction lors d'une connexion à l'API Désactivée Désactivée Mode normal sans application protégée. Désactivée Activée Lors de la lecture, la case Application sécurisée est cochée dans Concept et le chiffrement des fichiers journaux est activée. Activée Désactivée Chargement nécessaire, car l'état est sur DIFFERENTS. Activée Activée Mode normal avec application protégée (p. ex. chiffrement du fichier journal). Lecture du fichier journal chiffré Pour lire le fichier journal chiffré, l'outil Afffichage est exécuté automatiquement dans la fenêtre Afficher journal. NOTE : Si un fichier journal a été modifié bien que cela soit illicite, le système décode ce fichier dans la mesure du possible et les lignes falsifiées restent illisibles. De plus, le message : "Ce fichier journal a été falsifié." apparaît dans la première ligne. 33002205 12/2010 43 Description générale de Concept Programmes utilitaires Introduction En plus de Concept, tout un ensemble de programmes utilitaires est à votre disposition : z Concept-DFB z Concept-EFB z Concept-SIM (16 bits) z Concept-PLCSIM32 (32 bits) z Concept-Security z Concept-WinLoader z Convertisseur Concept z Concept-ModConnect Concept-DFB Concept-DFB sert à créer des DFB (Derived Function Blocs) (voir page 499) et des Macros (voir page 541). DFB Les DFB peuvent être utilisés aussi bien pour la structuration que pour la hiérarchisation d’un programme. D’un point de vue technique de programme, un DFB représente un sous-programme. Les DFB peuvent être créés dans les langages de programmation FDB, LD, IL, ST. Dans Concept, les DFB peuvent être lancés par toutes les langages de programmation (FDB, LD, IL, ST) quelle que soit le langage de programmation dont on se sera servi pour leur création. Dans un DFB, un ou plusieurs DFB déjà existants peuvent être lancés, et les DFB ainsi lancés peuvent eux-mêmes en lancer un ou plusieurs autres. Macros Les macros servent à dupliquer les sections très souvent utilisées et les réseaux (y compris leurs logiques, leurs variables et leur déclaration de variables). Les macros ont les propriétés suivantes : z Les macros peuvent être créés uniquement dans le langage de programmation FDB. z Les macros ne contiennent qu’ une seule section. z Les macros peuvent contenir une section d’une complexité quelconque. z Du point de vue technique de programme, une macro instanciée, c’est-à-dire une macro insérée dans une section, ne se distingue pas d’une section conventionnelle. z Il est possible de lancer des DFB dans une macro. z Il est possible de déclarer pour la macro des variables propres à la macro. z Il est possible d’utiliser des structures de données propres à la macro z Application automatique des variables déclarées dans la macro. 44 33002205 12/2010 Description générale de Concept z z z Il est possible de définir des valeurs initiales pour les variables macro. Il est possible d’instancier plusieurs fois une macro dans le programme d’ensemble avec des variables différentes. Les noms des sections, des variables et des structures de données peuvent comporter le symbole ~ comme caractère de remplacement. Concept-EFB L’outil en option Concept-EFB vous permet de créer des Fonctions et des Blocs fonctions (EFB) spécifiques de l’usager dans le langage évolué C++ et de les intégrer sous forme de groupes de bibliothèques dans votre version de Concept. Pour le travail avec ces blocs définis par vous (UDFB) les mêmes règles que celles pour les EFB standards s’appliquent. Il est par exemple conseillé de créer avec Concept-EFB les parties de programme complexe ayant un nombre élevé d’appels et les parties de programme dont l’utilisateur ne doit pas découvrir la solution, tels que les objets de technologie etc. NOTE : Concept-EFB n’est pas livré avec Concept, il peut être commandé à part. Concept-SIM (16 bits) Pour simuler un API, c’est-à-dire tester votre programme utilisateur en ligne sans matériel, vous pouvez utiliser le simulateur 16 bits Concept-SIM (voir page 774). Concept-SIM simule un API connecté via Modbus Plus. NOTE : Le simulateur est disponible uniquement pour les langages CEI (FDB, SFC, LD, IL et ST). Concept-PLCSIM (32 bits) Pour simuler un API, c’est-à-dire tester votre programme utilisateur en ligne sans matériel, vous pouvez utiliser le simulateur 32 bits Concept-PLCSIM32 (voir page 776). Concept-PLCSIM32 simule un API connecté via TCP/IP, et il également est possible de simuler les états des modules d’E/S. Jusqu’à cinq terminaux peuvent être connectés au même moment à l’API simulé. NOTE : Le simulateur est disponible uniquement pour les langages CEI (FDB, SFC, LD, IL et ST). Concept-Security Concept-Security (voir page 785) vous permet d’octroyer des autorisations d’accès. Une autorisation d’accès entraîne une restriction des fonctions de Concept et de ses programmes utilitaires aux utilisateurs autorisés. L’autorisation d’accès définie pour un utilisateur est valable pour tous les projets de l’installation Concept. 128 utilisateurs au maximum peuvent être définis. 33002205 12/2010 45 Description générale de Concept Convertisseur Concept Projets, DFB, macros, structures de données (types de données dérivés), créés dans une ancienne version de Concept peuvent être copiés sans problème et sans gros efforts dans la nouvelle version de Concept avec le convertisseur Concept (voir page 1017). Concept-EXECLoader Concept-EXECLoader vous permet de charger les fichiers Exec dans l’API. Concept-ModConnect Concept-ModConnect (voir page 1021) vous permet d’ajouter de nouveaux modules (vos propres modules) d’E/S au configurateur. 46 33002205 12/2010 Nouveautés 33002205 12/2010 Nouveautés de Concept 2.6 par rapport à Concept 2.5 2 Vue d’ensemble Ce chapitre décrit les nouvelles possibilités qu’offre Concept 2.6 par rapport à Concept 2.5. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Nouvelles fonctionnalités de Concept 2.6 par rapport à Concept 2.5 48 Nouvelles fonctionnalités de Concept 2.6 SR2 par rapport à Concept 2.6 SR1 54 Nouvelles fonctionnalités de Concept 2.6 SR3 par rapport à Concept 2.6 SR2 57 47 Nouveautés Nouvelles fonctionnalités de Concept 2.6 par rapport à Concept 2.5 Points importants Nouvelles fonctionnalités générales : Sections d'interruption z Variables globales z Fonctionnalités de sécurité z Nouveaux EFB Nouveaux EFB dans la bibliothèque SYSTEME : Nouveaux EFB Description I_LOCK Désactivation de toutes les sections d'interruption I_UNLOCK Activation de toutes les sections d'interruption I_MOVE Affectation protégée par interruption ISECT_OFF Désactivation de certaines sections d'interruption ISECT_ON Activation d'une certaine section d'interruption ISECT_STAT Etat de section d'interruption PRJ_VERS Nom et version de projet GET_IEC_INF Lecture de drapeaux d'état CEI RES_IEC_INF Réinitialisation des drapeaux d'état CEI Nouveaux EFB dans la bibliothèque COMM : Nouveaux EFB Description PORTSTAT Etat du port Modbus Démarrer Concept Nouvelles fonctionnalités au démarrage de Concept : 48 Nouvelles fonctionnalités Description Connexion automatique à un API quelconque Lors d'un démarrage via le symbole de projet Concept, une connexion automatique est établie à un API quelconque. Cette connexion est définie via les paramètres de ligne de commande (voir page 1190). Lors d'un démarrage de Concept via l'outil CCLaunch, une connexion est établie automatiquement à un API quelconque. Pour les grands réseaux, un fichier topologique est d'abord créé, puis utilisé dans l'outil CCLaunch. Cela vous permet alors de créer un itinéraire complet de routage MB+ (voir page 1194) établissant une connexion automatique à l'API. 33002205 12/2010 Nouveautés Nouvelles fonctionnalités Description Affichage des derniers projets/DFB ouverts Au démarrage de Concept, une liste des derniers projets/DFB (4 au total) ouverts apparaît dans le menu principal Fichier. Affichage du contenu d'archive Lors de la décompression d'un projet archivé, tous les fichiers de l'archive sont préalablement affichés. Animation 12 jeux de couleurs différents à des fins d'animation dans l'éditeur FBD, IL, ST, SFC et LD : Nouvelle fonctionnalité Description CONCEPT.INI: [Colors] AnimationColors= (0-12) Définit le jeu de couleurs d'une animation en ligne dans tous les éditeurs. Editeur des données de référence Nouvelle fonctionnalité de l'éditeur de données de référence : Nouvelle fonctionnalité Description Format d'adresse CEI (QW0000X) Permet de visualiser le format d'adresse CEI (QW0000X). Fonctions En ligne Nouvelles fonctionnalités en ligne : Nouvelles fonctionnalités Description Protection de Quantum par mot de L'API Quantum est protégé en écriture par mot de passe passe. 33002205 12/2010 Sections d'événements Des diagnostics en ligne pour sections d'interruption sortent sur l'écran. Affichage des événements Dans un Fichier INI (voir page 1159) spécifique d'un projet, vous pouvez définir des descriptions d'erreurs devant apparaître dans l'Affichage des événements (En ligne →Affichage événements). 49 Nouveautés Boîte de message Nouvelle option du menu contextuel : Nouvelles fonctionnalités Description Enregistrement des messages Après avoir été affichés, les messages peuvent être inscrits dans un fichier à l'aide de la commande Sauvegarder messages... (menu principal Fenêtre). Nouvelle UC Nouvelle UC : Gamme d’automates Description Atrium CPU 180-CCO-241-11 Nouveaux modules Nouveaux modules Quantum : Module Description 140-NOE-771-01 Module Ethernet sans fonctionnalité de redondance d'UC. 140-NOE-771-11 Module Ethernet (Factory Cast) sans fonctionnalité de redondance d'UC. 140-CPS-114-20 Module d'alimentation 140-CPS-124-20 Module d'alimentation 140-NOG-111-00 Module maître 1/SFB 140-NWM-100 00 Module Ethernet (Factory Cast HMI) Nouveau module Momentum : 50 Module Description 170-ANR-120-91 Module d'E/S analogique/numérique 33002205 12/2010 Nouveautés Navigateur de projet Nouvelles fonctionnalités du navigateur de projet : Nouvelles fonctionnalités Description Affichage de sections d'interruption Lors de l'utilisation de sections d'événements d'E/S et de temporisation, celles-ci apparaissent dans l'arborescence du navigateur de projet. Fenêtre détaillée La fenêtre du navigateur se partage en deux volets verticaux et le second affiche les niveaux inférieurs (p. ex. les DFB inclus et les sections de transition, etc.) de l'élément sous forme d'arborescence. Analyser section Nouvelles fonctionnalités au niveau de l'analyse de sections : Nouvelle fonctionnalité Description Analyse de sections d'interruption Une analyse supplémentaire est exécutée pour les sections d'interruption. Analyse de variables globales dans des DFB Une analyse est exécutée pour les variables globales de DFB. DFB Nouvelles fonctionnalités au niveau de la programmation de DFB : 33002205 12/2010 Nouvelle fonctionnalité Description Variables localisées Les variables localisées sont autorisées dans les DFB, dans la mesure où l'option de la boîte de dialogue Extensions CEI a été activée. Des variables localisées dans des DFB permettent de créer des variables globales pour l'ensemble du programme. 51 Nouveautés Types de données Nouvelles fonctionnalités au niveau de la programmation de DFB : Nouvelle fonctionnalité Description Visualisation des commentaires pour les éléments de la structure de données Le système affiche les commentaires pour types de données de composants, définis dans des fichiers de types de données (*.ddt, *.dty) : z la ligne d'état des éditeurs z l'éditeur de variables dans le cadre de la définition de valeurs initiales z la zone Inspect de l'animation Définition avancée de type de données (supérieure à 64 Ko), page 594 Pour la définition de types de données locale, la limite de 64 Ko n'est plus applicable lors de l'introduction de fichiers Include non localisés. Configuration Nouvelles fonctionnalités du Configurateur : 52 Nouvelle fonctionnalité Description Configuration du coupleur 1/SFB Permet de gérer les modules d'E/S A500/A350. Plage d'E/S étendue à 160 mots d'entrée/sortie. Paramètres de sécurité Quantum Dans la nouvelle boîte de dialogue (sous-menu d'Extensions de Config), vous pouvez définir les paramètres suivants : z Zone de données sûre z Restriction d'écriture réseau z Activation de l'option de déconnexion automatique Configuration d'Interbus avec Atrium La configuration d'Interbus se fait avec les UC 180 CCO 241 01 (= 1 INTERBUS) et 180 CCO 241 11 (= 2 INTERBUS) Atrium. 33002205 12/2010 Nouveautés Journalisation (*.LOG, *.ENC) Nouvelles fonctionnalités dans le cadre de la journalisation : Nouvelle fonctionnalité Description Contenu supplémentaire Lors de la consigne dans le fichier journal de la protection en écriture de l'API, le système affiche également les modifications apportées aux valeurs des variables et des libellés. Nouveau format Date/Heure L'activation de la case à cocher Format de date universel dans la boîte de dialogue Environnement commun (ce paramètre influe aussi sur le fichier CONCEPT.INI) permet de modifier le format par défaut. A la suite de cela, le mois apparaît dans Concept, en trois caractères et en anglais. Exemple : 24-Dec-2002 14:46:24 Chiffrement du protocole L'activation de la case à cocher Chiffrement du journal dans la boîte de dialogue Environnement commun (ou indirectement à l'aide de la case à cocher Application sécurisée dans la boîte de dialogue Propriétés du projet) permet de chiffrer la journalisation de l'accès en écriture à l'API. Le nom du fichier codé a l'extension *.ENC. Application protégée Nouvelles fonctionnalités pour une application protégée : Nouvelle fonctionnalité Description Protéger l'application L'activation de cette case à cocher de la boîte de dialogue Projet →Propriétés du projet permet au système de coder et de consigner les modifications du programme dans un fichier journal *.ENC. Exportation/importation permet de lire ce paramètre et de le transmettre à l'API. Nouveaux outils Nouveaux outils de Concept : 33002205 12/2010 Nouvel outil Description CCLaunch Cet outil permet d'établir une connexion automatique (voir page 1194) à un API au sein d'un grand réseau. Outil d'affichage Cet outil permet de visualiser des protocoles chiffrés (*.ENC). La commande de menu Afficher journal permet de l'exécuter automatiquemeent lorsque le chiffrement de protocole a été activé. 53 Nouveautés Nouvelles fonctionnalités de Concept 2.6 SR2 par rapport à Concept 2.6 SR1 Nouveaux EFB Nouveaux EFB dans la bibliothèque CEI : Nouveaux EFB Description CMPR Compare la configuration binaire de la matrice A à celle de la matrice B. MBIT avec pointeur Modifie la position des bits dans une matrice de données. SEARCH Recherche une configuration binaire spécifique dans les registres d'un tableau source. SENS avec pointeur Vérifie la valeur de scrutation d'une position de bits spécifique dans une matrice de données. XXOR Exécute une opération booléenne en OU exclusif avec les configurations binaires des matrices source et cible. Recherche/remplacement de FFB Nouvelles fonctionnalités de recherche/remplacement de FFB : Nouvelle fonctionnalité Description Le type de FFB est remplacé dans toutes les sections (DFB uniquement) Dans la boîte de dialogue Remplacer type FFB, vous pouvez demander à remplacer le type FFB sélectionné dans toutes les sections (DFB uniquement) en cochant la nouvelle case disponible Remplacer dans toutes les sections. Création d'un nouveau projet Nouvelles fonctionnalités pour la création d'un nouveau projet : 54 Nouvelle fonctionnalité Description Définition d'un chemin d'accès au projet lors de la création d'un nouveau projet Lorsque vous créez un nouveau projet (Fichier →Nouveau projet), vous pouvez désormais définir un chemin d'accès personnalisé ou toujours reprendre le chemin d'accès proposé par défaut. 33002205 12/2010 Nouveautés Nouvelles options de la boîte de dialogue de lecture et de chargement Nouvelles options de la boîte de dialogue de lecture et de chargement : 33002205 12/2010 Nouvelles fonctionnalités Description Nouvelles cases à cocher dans la boîte de dialogue Charger dans l'automate : z Mémoire d'état + valeurs initiales z Mémoire d'état uniquement Si vous cochez la case Mémoire d'état + valeurs initiales, le système copie toutes les valeurs initiales des variables 4x localisées de l'éditeur de variables dans le miroir de la mémoire d'état. Il charge ensuite dans l'automate les valeurs initiales ainsi que tous les bits d'E/S 0x et 1x bloqués du miroir de la mémoire d'état. Si vous cochez la case Mémoire d'état uniquement, le système charge dans l'automate les valeurs initiales des variables 4x localisées et tous les bits d'E/S 0x et 1x bloqués du miroir de la mémoire d'état. Nouvelles cases à cocher dans la boîte de dialogue Lire API : z Lire mémoire d'état + valeurs initiales z Lire uniquement la mémoire d'état Si vous cochez la case Lire mémoire d'état + valeurs initiales, le système lit en premier lieu toutes les valeurs 0x, 1x et 4x localisées de l'automate et les enregistre dans le miroir de la mémoire d'état. Il remplace ensuite les valeurs initiales des variables 4x par la valeur figurant dans le miroir de la mémoire d'état. Si vous cochez la case Lire uniquement la mémoire d'état, le système lit toutes les valeurs 0x, 1x et 4x localisées de l'automate et les enregistre dans le miroir de la mémoire d'état. 55 Nouveautés Fichiers INI Nouveaux paramètres dans le fichier CONCEPT.INI : Nouveaux paramètres Description Définition de l'écrasement des valeurs lues de la mémoire d'état Sur la ligne [RDE] du fichier CONCEPT.INI, vous pouvez spécifier que les valeurs lues de la mémoire d'état ne doivent pas être écrasées dans l'éditeur de données par des opérations en ligne. Définition du lancement de Sur la ligne [RDE] du fichier CONCEPT.INI, vous pouvez l'animation de l'éditeur de spécifier que l'animation de l'éditeur de données doit être lancée automatiquement à l'ouverture d'un tableau. données Exclusion de tous les DFB Sur la ligne [Backup] du fichier CONCEPT.INI, vous pouvez spécifier que les répertoires "DFB" et/ou "DFB.GLB" ne doivent ou des DFB globaux de pas se trouver dans le répertoire de sauvegarde à l'issue de l'enregistrement en ligne l'enregistrement en ligne. Nouveaux paramètres dans le fichier NomDuProjet.INI : Nouveau paramètre Description Définition du chemin d'accès et des fichiers de sauvegarde Sur la ligne [Backup] du fichier NomDuProjet.INI, vous pouvez éditer un fichier batch (fichier EXE) pour l'opération d'enregistrement en ligne avec lequel vous pouvez effectuer des sauvegardes supplémentaires, par exemple vers un autre ordinateur. Affectation multiple des adresses Nouvelle fonctionnalité en cas d'affectation multiple d'adresses : 56 Nouvelle fonctionnalité Description Elimination de l'affectation multiple d'une même adresse due à des noms de variables différents La boîte de dialogue Affectation multiple des adresses permet de remplacer ou de renommer des variables toutes affectées à la même adresse. A l'issue de cette opération, seul un nom de variable est affecté à l'adresse en question. 33002205 12/2010 Nouveautés Nouvelles fonctionnalités de Concept 2.6 SR3 par rapport à Concept 2.6 SR2 Nouveaux commande Nouveaux commande: 33002205 12/2010 Nouveaux commande Description Options →Tools Cette commande vous permet d'ouvrir un menu qui peut être utilisé pour exécuter des applications ou programmes d'aide supplémentaires. 57 Nouveautés 58 33002205 12/2010 Structure des projets 33002205 12/2010 Structure des projets 3 Aperçu Ce chapitre décrit la structure des projets dans Concept. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Structure et traitement des projets 60 Programme 67 Sections 72 Données de configuration 78 59 Structure des projets Structure et traitement des projets Structure d’un projet La création d’un programme d’API avec Concept se fait suivant une structure hiérarchique comportant un projet avec la Configuration API (voir page 78) et le Programme (voir page 67). Le programme est subdivisé en groupes de sections et Sections (voir page 72). Au sein d’un projet, la configuration API et les éléments de programme nécessaires peuvent être créés dans un ordre quelconque (top down c’est-à-dire descendant ou bottom up c’est-à-dire ascendant). Structure d’un projet : 60 33002205 12/2010 Structure des projets Traitement d’un projet CEI/LL984 Le tableau décrit le traitement d’un projet LL984/CEI (Quantum) : Echelon Processeur logique Processeur d’E/S 1 Gestion système (Overhead), par exemple communication avec NOM, NOE, etc. - 2 Exécution du segment 1 LL984 Ecriture des sorties calculées dans segment n. Lecture des entrées nécessaires pour segment 2 3 Exécution du segment 2 LL984 Ecriture des sorties calculées dans segment 1. Lecture des entrées nécessaires pour segment 3 4 Exécution du segment 3 LL984 Ecriture des sorties calculées dans segment 2. Lecture des entrées nécessaires pour segment 4 ... ... ... n Exécution du segment n (n =< 32) LL984 Ecriture des sorties calculées dans segment n-1. Lecture des entrées nécessaires pour segment 1 n+1 Exécution de la section 1 CEI - n+2 Exécution de la section 2 CEI - n+3 Exécution de la section 3 CEI - .. - Exécution de la section n CEI (n =< 1600) et retour à l’étape 1 - m 1 La gestion système (par exemple communication avec les modules des liens NOM, NOE) a lieu à cette étape. 2 - 4 Dans ces étapes, le processeur logique exécute la logique des sections LL984 dans les segments 1-3 (en fonction des paramètres définis dans l’Ordonnanceur de segments (voir page 123)). Le processeur d’E/S transmet au matériel les valeurs de sortie calculées dans le précédent segment et le matériel lit simultanément les valeurs d’entrée nécessaires pour le segment suivant correspondant. 33002205 12/2010 61 Structure des projets n Dans cette étape, le processeur logique exécute la logique des sections LL984 dans segment n. Le processeur d’E/S transmet au matériel les valeurs de sortie calculées dans le précédent segment et le matériel lit simultanément les valeurs d’entrée nécessaires pour le segment 1. Note : Les valeurs de sortie calculées dans ce segment ne seront exécutées que lors du prochain parcours de l’étape 2, c’est-à-dire après traitement de la partie logique CEI et de la gestion système. Vous devriez donc éviter d’exécuter une logique critique au niveau du temps dans ce segment. n+1 - m Le processeur logique exécute la logique des sections CEI dans ces étapes. Ensuite, a lieu le "Retour" à l’étape 1. Note : Aucun signal matériel n’est lu ou écrit. Seules les valeurs calculées/lues dans les étapes 2 à n sont utilisées lors du traitement. Les valeurs de sortie calculées dans ces étapes sont transmises lors des étapes 2 à n (en fonction des paramètres définis dans l’ordonnanceur de segments). Traitement d’un projet LL984 Le tableau décrit le traitement d’un projet LL984 (Quantum) : Echelon Processeur logique Processeur d’E/S 1 Gestion système (Overhead), par exemple communication avec NOM, NOE, etc. - 2 Exécution du segment 1 LL984 Ecriture des sorties calculées dans segment n. Lecture des entrées nécessaires pour segment 2 3 Exécution du segment 2 LL984 Ecriture des sorties calculées dans segment 1. Lecture des entrées nécessaires pour segment 3 4 Exécution du segment 3 LL984 Ecriture des sorties calculées dans segment 2. Lecture des entrées nécessaires pour segment 4 ... ... ... n Exécution du segment n LL984 (n =< 32) et retour à l’étape 1 Ecriture des sorties calculées dans segment n-1. Lecture des entrées nécessaires pour segment 1 62 33002205 12/2010 Structure des projets 1 La gestion système (par exemple communication avec les modules des liens NOM, NOE) sont exécutés à cette étape. 2 - 4 Dans ces étapes, le processeur logique exécute la logique des sections LL984 dans les segments 1-3 (en fonction des paramètres définis dans l’Ordonnanceur de segments (voir page 123)). Le processeur d’E/S transmet au matériel les valeurs de sortie calculées dans le précédent segment et le matériel lit simultanément les valeurs d’entrée nécessaires pour le segment suivant correspondant. n Dans cette étape, le processeur logique exécute la logique des sections LL984 dans segment n. Le processeur d’E/S transmet au matériel les valeurs de sortie calculées dans le précédent segment et le matériel lit simultanément les valeurs d’entrée nécessaires pour le segment 1. Ensuite, a lieu le "Retour" à l’étape 1. Note : Les valeurs de sortie calculées dans ce segment ne seront exécutées que lors du prochain passage de l’étape 2, c’est-à-dire après traitement des frais généraux. Vous devriez donc éviter d’exécuter une logique critique au niveau du temps dans ce segment. Traitement d’un projet CEI Le tableau décrit le traitement d’un projet CEI (Quantum) : Echelon Processeur logique Processeur d’E/S 1 Gestion système (Overhead), par exemple communication avec NOM, NOE, etc. - 2 - Ecriture des sorties affectées segment 1 Lecture des entrées affectées segment 1 3 - Ecriture des sorties affectées segment 2 Lecture des entrées affectées segment 2 4 - Ecriture des sorties affectées segment 3 Lecture des entrées affectées segment 3 ... ... ... n - Ecriture des sorties affectées segment n (n =< 32) Lecture des entrées affectées segment n (n =< 32) 33002205 12/2010 63 Structure des projets Echelon Processeur logique Processeur d’E/S n+1 Exécution de la section 1 CEI - n+2 Exécution de la section 2 CEI - n+3 Exécution de la section 3 CEI - .. - Exécution de la section n CEI (n =< 1600) et retour à l’étape 1 - m 1 La gestion système (par exemple communication avec les modules des liens NOM, NOE) a lieu à cette étape. 2 - n Dans ces étapes, le processeur d’E/S écrit et lit les signaux matériel des modules affectés aux segments correspondants (en fonction des paramètres définis dans l’Ordonnanceur de segments (voir page 123)). n+1 - m Le processeur logique exécute la logique des sections CEI dans ces étapes. Ensuite, a lieu le "Retour" à l’étape 1. Note : Aucun signal matériel n’est lu ou écrit. Seules les valeurs lues dans les étapes 2 à n sont utilisées lors du traitement. Les valeurs de sortie calculées dans ces étapes sont transmises lors des étapes 2 à n (en fonction des paramètres définis dans l’ordonnanceur de segments). Traitement d'un projet CEI avec sections d'interruption Le tableau décrit le traitement d’un projet CEI (Quantum) avec sections d'interruption : Echelon Processeur logique Processeur d’E/S 1 Gestion système (Overhead), par exemple communication avec NOM, NOE, etc. - 2 - Ecriture des sorties affectées segment 1 Lecture des entrées affectées segment 1 3 - Ecriture des sorties affectées segment 2 Lecture des entrées affectées segment 2 4 - Ecriture des sorties affectées segment 3 Lecture des entrées affectées segment 3 64 33002205 12/2010 Structure des projets Echelon Processeur logique Processeur d’E/S HE1 1. Section d'événements d'E/S, exécution spontanée, lors d'une interruption matérielle - HE2 2. Section d'événements d'E/S, exécution spontanée, lors d'une interruption matérielle - ... ... ... HE64 64. (dernière) section d'événements d'E/S, exécution spontanée, lors d'une interruption matérielle - TE1 1. Section d'événements de temporisation, exécution uniquement lors d'une interruption du temporisateur TE2 2. Section d'événements de temporisation, exécution uniquement lors d'une interruption du temporisateur ... ... TE16 16. Section d'événements de temporisation, exécution uniquement lors d'une interruption du temporisateur ... ... ... n - Ecriture des sorties affectées segment n (n =< 32) ... Lecture des entrées affectées segment n (n =< 32) n+1 Exécution de la section 1 CEI (cyclique) - n+2 Exécution de la section 2 CEI (cyclique) - n+3 Exécution de la section 3 CEI (cyclique) - m .. - Exécution de la section n CEI (n =< 1600) et retour à l’étape 1 - 1 La gestion système (par exemple communication avec les modules des liens NOM, NOE) a lieu à cette étape. 2 - n Dans ces étapes, le processeur d’E/S écrit et lit les signaux matériel des modules affectés aux segments correspondants (en fonction des paramètres définis dans l’Ordonnanceur de segments (voir page 123)). 33002205 12/2010 65 Structure des projets n+1 - m Le processeur logique exécute la logique des sections CEI dans ces étapes. Ensuite, a lieu le "Retour" à l’étape 1. Note : Aucun signal matériel n’est lu ou écrit. Seules les valeurs lues dans les étapes 2 à n sont utilisées lors du traitement. Les valeurs de sortie calculées dans ces étapes sont transmises lors des étapes 2 à n (en fonction des paramètres définis dans l’ordonnanceur de segments). HE1 - HE64 Si la valeur du signal matériel d'interruption attribué à une section donnée varie en fonction des paramètres définis, le traitement cyclique et le cas échéant, celui d'une section d'événements de temporisation en cours est immédiatement interrompu pour passer à la section d'événements d'E/S. En fin de traitement de toutes les sections d'événements (et d'événements de temporisation) à traiter, le système reprend le traitement cyclique à l'endroit où celui-ci avait été interrompu. (Voir également chapitre "Sections d'interruption, page 1181") TE1 - TE16 Si le signal d'interruption de temporisation défini pour une section donnée apparaît, le traitement cyclique est immédiatement interrompu pour passer à la section d'événements d'E/S. En fin de traitement des sections d'événements de temporisation à traiter, le système reprend le traitement cyclique à l'endroit où celui-ci avait été interrompu, dans la mesure où des sections d'événements de temporisation à traiter ne sont plus disponibles. (Voir également chapitre "Sections d'événements de temporisation, page 1165") 66 33002205 12/2010 Structure des projets Programme Structure d’un programme Un programme se compose d’une ou plusieurs sections (voir page 72) ou groupes de sections. Des groupes de sections peuvent contenir des sections ou d’autres groupes de sections. Les groupes de sections peuvent uniquement être créés ou remplis à l’aide de Projets →Navigateur de projet. Les sections décrivent le fonctionnement de l’intégralité du système. Les variables, les constantes, les littéraux et les adresses directes utilisés sont également gérés dans le programme. Variables : Les variables sont destinées à l’échange de données au sein d’une section, entre plusieurs sections et entre le programme et l’API. La déclaration des variables s’effectue via la commande Projet →Déclaration de variables. Si une adresse est affectée à la variable par le biais de cette fonction, on parle alors de "variable localisée". Si aucune adresse n’est affectée à la variable, on parle de variable non localisée. Si un type de données est affecté à la variable, on parle de "variable multi-éléments". Des constantes et des littéraux sont également disponibles. Le tableau suivant fournit un aperçu des différents types de variables : Type de variable Description Variables localisées Une adresse de mémoire d’état (références 0x, 1x, 3x,4x) est attribué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 à l'aide de l’éditeur de données de référence. L'adressage de ces variables peut avoir lieu à l'aide de leur nom symbolique ou de 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 de périphériques connectés à l’API a lieu uniquement par le biais de variables localisées. Les accès de l’extérieur via interfaces Modbus ou Modbus Plus de l’API, tels que ceux de systèmes de visualisation, sont également possibles via les variables localisées. 33002205 12/2010 67 Structure des projets Type de variable Description Variables non localisées Aucune adresse de mémoire d’état n’est attribuée aux variables non localisées. Elles n’occupent donc aucune adresse de mémoire d’état. La valeur de ces variables est enregistrée dans la mémoire d’état et peut être modifiée en ligne à l'aide de l’éditeur de données de référence. L'adressage de ces variables est possible uniquement par le biais du nom symbolique. Il est préférable de déclarer les signaux n’exigeant pas d’accès à la périphérie, tels que des résultats intermédiaires, des capteurs de système, etc., en tant que variables non localisées. Variables multiéléments Variables auxquelles est affecté un type de données dérivé. Dans le cadre de ces variables, on distingue les variables structurées des variables de matrice. Variables structurées Variables auxquelles est affecté un type de données dérivé défini avec STRUCT (structure). Une structure est une collection d’éléments de données ayant généralement différents types de données (Types de données élémentaires et/ou Types de données dérivés). Variables de matrice Variables auxquelles est affecté un Type de données dérivé à l’aide du mot-clé ARRAY (matrice). Une matrice est une collection d’éléments de données ayant le même type de données. 68 33002205 12/2010 Structure des projets Comportement de démarrage de variables Dans le cadre du comportement au démarrage de l’API, on fait la différence entre le démarrage à chaud et le démarrage à froid : z Démarrage à froid Après un démarrage à froid (chargement du programme avec En ligne → Chargement) toutes les variables et ceci indépendamment de leur type, sont mises sur "0" ou sur leurs valeurs initiales. z Démarrage à chaud Lors d’un démarrage à chaud (arrêter et démarrer le programme ou En ligne → Chargement des modifications), on distingue différentes procédures de démarrage pour les variables localisées, les adresses directes et les variables non localisées : z Variables localisées /adresses directes Lors d’un démarrage à chaud, tous les registres 0x-, 1x- et 3x sont remis sur "0" ou sur leur valeur initiale (si elle est disponible). Les bobines mémorisées font ici exception. Elles conservent leur valeur actuelle (comportement de mémorisation). Les registres 4x conservent leur valeur actuelle (comportement de mémorisation). z Variables non localisées Lors d’un démarrage à chaud, toutes les variables non localisées conservent leur valeur actuelle (comportement de mémorisation). Cette différence de comportement lors d'un démarrage à chaud conduit à des particularités de comportement au démarrage à chaud des fonctions Posit. et Réinit. z Posit. et Réinit. dans LD et IL Le comportement de démarrage à chaud est fonction du type de variables utilisé (comportement mémorisant, en cas d’utilisation de variables non localisées; comportement non mémorisant en cas d’utilisation de variables/d’adresses directes). z Blocs fonctions SR et RS dans FDB, LD, IL et ST Ces blocs fonctions utilisent une variable interne non localisée et ont donc toujours un comportement de mémorisation. Constantes Les constantes sont des variables non localisées auxquelles est affectée une valeur ne pouvant pas être modifiée par la logique de programme (lecture seule). 33002205 12/2010 69 Structure des projets Littéraux (valeurs) Les littéraux servent à écrire des entrées de FFB, des conditions de transition, etc. avec des valeurs directes. Ces valeurs ne peuvent pas être écrasées par la logique du programme (lecture seule). Le valeurs de littéraux peuvent être modifiées en ligne. Parmi les littéraux, on distingue les littéraux génériques et les littéraux classés dans un type. Le tableau suivant fournit un aperçu des différents types de littéraux : Littéral Description Littéraux génériques Si le type de données du littéral n’est pas pertinent pour vous, indiquez simplement la valeur du littéral. Dans ce cas, Concept affecte automatiquement un type de données adapté au littéral. Littéraux classés dans un type Si vous voulez déterminer le type de données d’un littéral, vous pouvez le faire avec la construction suivante : "Nom du type de données"#"Valeur du littéral" par ex. 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, il est également possible d’indiquer la valeur de la façon suivante : 23.0. Lorsque l’on indique une virgule décimale, le type de données REAL est automatiquement affecté. 70 33002205 12/2010 Structure des projets Adresses directes Les adresses directes sont des zones de mémoire sur l’API. Elles se trouvent dans la mémoire d'état et peuvent être affectées à des modules d’entrée/de sortie. Les adresses directes peuvent être indiquées ou affichées dans différents formats. La définition du format d’affichage est exécutée dans la boîte de dialogue Options →Environnement →Commun.... La définition du format d’affichage n’a aucun impact sur le format d’entrée. Cela signifie que l’entrée d’adresses directes peut s’effectuer dans un format quelconque. Les formats d’adresses suivants sont disponibles : z Format standard (400001) L’adresse à cinq caractères est affichée immédiatement après le premier chiffre (la référence). z Format à séparateur (4 : 00001) Le premier chiffre (la référence) est séparé par deux-points ( : ) de l’adresse à cinq caractères. z Format compact (4 : 1) Le premier chiffre (la référence) est séparé par deux-points ( : ) de l’adresse suivante, les zéros en tête n’étant pas indiqués dans l’adresse. z Format CEI (QW1) Un identificateur est placé en tête après CEI, suivi de l’adresse à cinq caractères. z %0x12345 = %Q12345 z %1x12345 = %I12345 z %3x12345 = %IW12345 z %4x12345 = %QW12345 Les valeurs d’adresses directes peuvent être modifiées en ligne à l’aide de l’éditeur de données de référence (voir page 617). Comportement au démarrage de sorties TOR Au démarrage de l'API, les sorties affectées à des registres 0x sont généralement supprimées. En revanche, les sorties TOR affectées à des registres 4x conservent la valeur actuelle, lors de l'arrêt ou du démarrage de l'API. 33002205 12/2010 71 Structure des projets Sections Introduction Un programme se compose d’une ou plusieurs sections. Une section décrit le fonctionnement d’une unité technologique (d’un moteur, par exemple) d’un système. Dans Concept, chaque section dispose de sa propre fenêtre de document. Pour des raisons de clarté, il est toutefois judicieux de diviser une section de taille importante en plusieurs petites sections. La barre de défilement permet de se déplacer dans la section. Pour chaque section, les sauts de page peuvent être affichés de façon à pouvoir prendre en compte le format du papier lors de la programmation. Vous obtenez ainsi une impression lisible de la section. Types de sections Dans Concept, on distingue pour Quantum trois types de sections en fonction du traitement : z Les sections cycliques sont traitées à chaque cycle programme. Le temps de réaction dépend du temps de cycle et correspond à au moins un cycle et deux cycles au plus. z L'initialisation et le traitement des sections d'événements d'E/S ne sont pas cycliques, mais spontanées, dans la mesure où la valeur d'un signal d'interruption affecté donné varie (en fonction des paramètres définis dans le configurateur et les caractéristiques de la section). Le module 140-HLI-340-00 prévoit 16 entrées d'interruption. L'embase locale peut être équipée de 4 modules HLI au total. Le temps de réaction à l'événement d'E/S ne dépend en général que de la durée de traitement de blocs fonctions élémentaires à traiter sur la section concernée et du temps de mise au point. z Les sections d'événements de temporisation sont initiées et traitées à intervalles précis définis par l'utilisateur. Ces intervalles sont définis par un multiple de 1 ms et une phase (décalage de cycle) dans la boîte de dialogue Caractéristiques de section d'événement de temporisation. Le temps de réaction dépend du temps de cycle. De cette manière, les réactions au niveau de sorties ont lieu à intervalles définis. Nombre maximal de sections Jusqu’à 1 600 sections sont possibles par programme. 72 33002205 12/2010 Structure des projets Langages de programmation Les sections peuvent être programmées dans les langages de programmation CEI suivants : FDB (langage de bloc fonction), LD (langage à contacts), SFC (automate d’enchaînement), IL (liste d’instructions) ou ST (littéral structuré) ou en LL984 (langage à contacts), langage comparable à Modsoft. Au sein d’une même section, seul un des langages de programmation mentionnés peut être utilisé. Echange de valeurs Au sein des sections, l’échange de valeurs s’effectue via des connexions, des variables ou des adresses directes. Entre les différentes sections, l’échange de valeurs s’effectue via des variables ou des adresses directes. Ordre d’exécution des sections Les sections LL984 sont exécutées en premier. L'ordre des sections LL984 peut être défini à l'aide de la boîte de dialogue Projet →Configuration automate → Configurer → Ordonnanceur de segments... . Une fois le traitement de toutes les sections LL984 terminé, le traitement des sections CEI (FDB, SFC, LD, IL, ST) est effectué. Vous pouvez déterminer leur ordre d'exécution à l'aide de la boîte de dialogue Projet →Ordre d'exécution... ou du Navigateur de projet (voir page 577). Imprimer des sections Lors de l’impression, les sections sont réparties en pages. La quantité d’informations contenue sur ces pages est fonction des paramètres définis dans Fichier →Imprimer. Pour afficher la répartition des pages, utilisez la commande Affichage →Saut de page. Variable de section Pour chaque section CEI (FDB, SFC, LD, IL et ST) une variable multi-éléments portant le même nom que la section est créée. Cette variable est du type de données SECT_CTRL et elle comporte deux éléments : z L’élément "disable" du type de données BOOL permet de désactiver des sections. z L’élément "hsbyState" du type de données BYTE permet d'afficher l'état de redondance d’UC de sections. Si le bit le plus faible de cet élément est défini, les données de cette section seront transmises/reçues, voir Redondance d’UC - Manuel de l’utilisateur. (Ce bit correspond au point d’exclamation dans le navigateur de projet.) 33002205 12/2010 73 Structure des projets Désactiver des sections L’élément "disable" permet d’activer/de désactiver la section. Quand la variable multi-éléments n'est pas utilisée ou quand la valeur "0" a été attribuée à "disable", la section concernée est exécutée. Quand la valeur "1" a été attribuée à "disable", la section n’est pas exécutée. A l'aide de cette variable, l'exécution des sections peut être pilotée en fonction d'événements. NOTE : Lors de l'animation d'une section désactivée, l’état INVALIDÉ apparaît dans la barre d’état. ATTENTION Risque d’états de traitement indésirables Désactiver une section ne signifie pas que les sorties programmées sont désactivées au sein de la section. Si une sortie a déjà été définie dans un cycle précédent, cet état est conservé, même à l'issue de la désactivation de la section. L’état de ces sorties ne peut pas être modifié. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. Désactiver des sections d'interruption Le bloc fonction ISECT_OFF permet de désactiver une certaine section d'interruption. Le bloc fonction ISECT_ON permet de l'activer à nouveau. La variable de commande SECT_CTRL fournit à cet effet le nom de la section. Le bloc fonction I_LOCK permet de désactiver l'ensemble des sections d'interruption. Le bloc fonction I_UNLOCK permet de les activer toutes de nouveau. NOTE : Une éventuelle interruption sur une section d'interruption inactive n'a aucune répercussion. 74 33002205 12/2010 Structure des projets Invalidation INCONDITIONNELLE d’une section (possibilité 1) Pour désactiver une section de façon inconditionnelle, effectuez les opérations suivantes : Etape Action 1 Ouvrez l’éditeur de données de référence (voir page 617) à l’aide de En ligne → Editeur de données de référence. 2 Cliquez deux fois sur un numéro de ligne pour ouvrir la boîte de dialogue Consulter variables. 3 Dans la zone Type de données, sélectionnez dans un premier temps l’option Structuré puis, dans la zone de liste, SECT_CTRL. Réaction : Tous les noms de sections sont affichés. 4 Sélectionnez à présent le nom de la section à désactiver. 5 Par un clic sur Composants..., ouvrez la boîte de dialogue Sélection des éléments de type ANY. 6 Sélectionnez la ligne disable : BOOL et confirmez par OK. 7 Si cela n’a pas encore été effectué : Etablissez la connexion entre l’API et le PC et chargez votre programme dans l’API. 8 Modifiez l’entrée de la colonne Valeur et faites la passer à 1 (TRUE), en vue de désactiver la section, ou sur 0 (FALSE), afin de l’activer. 9 Si l’animation est inactive, activez-la à l’aide de En ligne →Animer. Réaction : En fonction de la valeur, la section est désactivée ou activée. Note : Désactiver une section ne signifie pas que les sorties programmées sont désactivées au sein de cette section. Si une sortie a déjà été définie dans un cycle précédent, cet état est conservé, même après désactivation de la section. L’état de ces sorties ne peut pas être modifié. ATTENTION Risque d’états de traitement indésirables L’entrée de la colonne Valeur est conservée, même après que vous avez quitté l’éditeur de données de référence (même si les entrées n’ont pas été enregistrées). En d’autres termes, la section reste désactivée et elle doit être réactivée de façon explicite dans l’éditeur de données de référence (valeur = 0). Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. 33002205 12/2010 75 Structure des projets Invalidation INCONDITIONNELLE d’une section (possibilité 2) Pour désactiver une section de façon inconditionnelle, effectuez les opérations suivantes : Etape 76 Action 1 Ouvrez le Navigateur de projet (voir page 577) à l’aide de Projet →Navigateur de projet. 2 Etablissez avec En ligne →Connecter... une connexion entre le PC et l'API. 3 Etablissez avec En ligne →Chargement... (en mode DIFFERENTS) ou En ligne →Chargement des modifications... (en mode MODIFIE) la cohérence entre le PC et l'API. 4 Dans le navigateur de projet, sélectionnez la section à désactiver. 5 Cliquez sur le bouton droit de la souris pour faire apparaître le menu contextuel des sections et activez le mode Animer état de libération. 6 Dans le menu contextuel (bouton droit de la souris) de la section sélectionnée, changez l’état de validation à l’aide de la commande Changer l'état de libération. Note : Le navigateur de projet vous permet uniquement de désactiver/de valider des sections n’étant pas déjà désactivées/validées par le biais d’une autre Section (voir page 77) ou de l’éditeur de données de référence (voir page 75). Réaction : Désactivation de la section. Note : Désactiver une section ne signifie pas que les sorties programmées sont désactivées au sein de cette section. Si une sortie a déjà été définie dans un cycle précédent, cet état est conservé, même après désactivation de la section. L’état de ces sorties ne peut pas être modifié. 33002205 12/2010 Structure des projets Désactivation CONDITIONNELLE d’une section Pour désactiver une section de façon conditionnelle (en fonction d’un programme), effectuez les opérations suivantes : Etape Créez la logique selon laquelle la section doit être désactivée, dans une section FDB, par exemple. Lors de cette opération, tenez compte du fait que la logique doit obligatoirement livrer une "sortie" de type BOOL et que la section à désactiver l'est en cas d’un "1" logique. Note : Il ne faut pas désactiver la section contenant la logique destinée à l'invalidation/la validation d’autres sections. 2 Ouvrez la boîte de dialogue Connecter FFB par un double clic sur la "sortie" de votre logique. 3 Cliquez sur Consulter... pour ouvrir la boîte de dialogue Consulter variables. 4 Dans la zone Type de données, sélectionnez dans un premier temps l’option Structuré puis, dans la zone de liste, SECT_CTRL. Réaction : Tous les noms de sections sont affichés. 5 Sélectionnez à présent le nom de la section à désactiver par un double clic. 6 Sélectionnez la ligne disable : BOOL et confirmez par OK. Réaction : La variable multi-éléments (nom de section.disable) affectée à la section à désactiver est maintenant la "sortie" de votre logique. 7 Cliquez sur Projet →Ordre d'exécution... pour faire apparaître la boîte de dialogue Ordre d'exécution des sections. 8 Utilisez les boutons de commande pour garantir que la section contenant la logique d'invalidation sera exécutée avant la section à désactiver. 9 Si cela n’a pas encore été effectué : Etablissez la connexion entre l’API et le PC. 10 33002205 12/2010 Action 1 Chargez votre programme dans l’API. Réaction : Dans le cas d’un "1" logique, la section à désactiver n’est pas traitée. Note : Désactiver une section ne signifie pas que les sorties programmées sont désactivées au sein de cette section. Si une sortie a déjà été définie dans un cycle précédent, cet état est conservé, même après désactivation de la section. L’état de ces sorties ne peut pas être modifié. 77 Structure des projets Données de configuration Description La configuration de l’API est l’interface entre le programme et le matériel. Les données de configuration se composent pour l’essentiel de la liste des composants et de l’indication des plages d’adresses pour le programme. Les instructions chargeables sont destinées à l’échange de données avec le langage de programmation CEI et au chargement d’instructions LL984 supplémentaires. 78 33002205 12/2010 Créer un projet 33002205 12/2010 Créer un projet 4 Aperçu Ce chapitre décrit la procédure générale à suivre lors de la première création d’un projet. Dans cette optique, nous avons opté pour une description la plus linéaire possible du déroulement des opérations, de façon à fournir une méthode claire aux nouveaux utilisateurs de Concept. Naturellement, les références croisées entre les commandes de menu sont possibles. Avec l’expérience, vous trouverez d’autres méthodes souvent plus courtes. Pour des informations plus détaillées, veuillez consulter les chapitres correspondants du manuel de l’utilisateur. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Vue d’ensemble 33002205 12/2010 Page 80 Etape 1 : démarrage de Concept 81 Etape 2 : Configuration automate 82 Etape 2.1 : Configuration requise 83 Etape 2.2 : Configuration optionnelle 86 Etape 3 : création du programme utilisateur 90 Etape 4 : Enregistrer 93 Etape 5 : Effectuez l' évaluation mémoire 94 Etape 6 : Chargement et test 95 Etape 7 : Optimisation et séparation 100 Etape 8 : Documentation 102 79 Créer un projet Vue d’ensemble Créer un projet La création d’un projet se divise en huit étapes principales: Etape Action 1 Démarrage de Concept (voir page 81) Démarrez Concept et créez un nouveau projet. 2 Configuration automate (voir page 82) Définissez la configuration matérielle. 3 Création du programme utilisateur (voir page 90) Créez de nouvelles sections et créez votre programme. 4 Enregistrer (voir page 93) Enregistrez votre projet. 5 Effectuez l' évaluation mémoire (voir page 94) Vérifiez la part de mémoire occupée de l'API. 6 Chargement et test du projet (voir page 95) Etablissez la connexion entre le PC et l’API. Chargez le projet dans l’API et démarrez celui-ci. Testez ensuite le programme à l’aide des fonctions de test en ligne. Eliminez à présent les erreurs éventuelles du programme. Chargez les sections modifiées dans l’API. 7 Optimisation et séparation (voir page 100) A présent, il est recommandé d’optimiser l’occupation de la mémoire de programme et de charger à nouveau le programme optimisé dans l’API. Une fois le chargement et l’éventuelle optimisation effectués, vous pouvez séparer le PC de l’API. A présent, le programme fonctionne hors ligne. 8 Documentation (voir page 102) Créez une documentation complète de votre projet. Notes NOTE : Vous pouvez inverser l’ordre des étapes "Configuration automate" et " Création du programme utilisateur". En d'autres termes, il est également possible de modifier la configuration de l'API après la création du programme. NOTE : Pour éviter des pertes de données, il est conseillé d’enregistrer régulièrement. 80 33002205 12/2010 Créer un projet Etape 1 : démarrage de Concept Démarrage de Concept Pour démarrer Concept, effectuez les opérations suivantes : Etape Action 1 Pour démarrer Concept, cliquez deux fois sur l’icône de Concept. 2 Sélectionnez Fichier →Nouveau projet. 3 Définissez un nouveau chemin d'accès au projet ou reprenez le chemin d'accès proposé par défaut avec le nom de projet sansnom.prj. Réaction : Le nouveau projet s’ouvre. Remarque : Si vous reprenez le chemin d'accès par défaut avec le nom de projet sansnom.prj, vous pouvez toujours enregistrerEtape 4 : Enregistrer, page 93 ce projet ultérieurement sous un autre nom. Un projet déjà enregistré est appelé à l'aide du menu Ouvrir projet... ou via l'icône du projet. Remarque NOTE : Observez, pour toutes les étapes ultérieures, les réglages dans le sousmenu de Options →Environnement! Suite Continuez ensuite avec l’étape 2 : configuration de l'automate (voir page 82). 33002205 12/2010 81 Créer un projet Etape 2 : Configuration automate Qu'est ce qu'il faut configurer ? Les commandes Projet →Configuration automate vous permettent de configurer toute la configuration matérielle de votre projet. Configuration requise NOTE : Le type d'API doit d'abord être défini ! Toutes les autres configurations peuvent ensuite être exécutées indépendamment de l'ordre de traitement. Les configurations suivantes sont nécessaires pour la planification : z Définition du type d’API (Configuration minimale), page 83 z Définir la partition mémoire, page 84 z Installer chargeables, page 84 z Définir les affectations d'E/S, page 85 Configuration optionnelle Les configurations suivantes doivent être utilisées en fonction du projet : z Définir station décentralisée d'E/S, page 86 z Définir la communication Modbus, page 87 z Définition de la communication de diffusion des E/S, page 87 z Définir la protection d’accès aux données, page 88 z Divers réglages API, page 88 z Messages ASCII (uniquement pour 984 LL), page 89 82 33002205 12/2010 Créer un projet Etape 2.1 : Configuration requise Condition Le type d'API doit d'abord être défini ! Toutes les autres configurations peuvent ensuite être exécutées indépendamment de l'ordre d'exécution. Définition du type d’API (Configuration minimale) Pour définir le type d’API (Configuration minimale), effectuez les opérations suivantes : Etape 33002205 12/2010 Action 1 Sélectionnez Projet →Configuration automate. Réaction : La fenêtre Configuration automate s'ouvre, elle contient d'autres commandes de menu pour la configuration du matériel. 2 Dans la zone de liste, sélectionnez Sélection automate. Réaction : La boîte de dialogue Sélection automate s’ouvre. 3 Dans la zone de liste Gamme d’automate, sélectionnez votre type d’API. 4 Dans la zone de liste UC/exécutable, sélectionnez votre UC. 5 Dans la zone de liste Moteur d'exécution, sélectionnez l'état Validée Réaction :La programmation de sections dans les langages de programmation CEI (FDB, LD, SFC, IL et ST) est possible. Note : Si l’état Moteur d’exécution Non disponible, Invalider ou 984 seul est affiché, l’UC sélectionnée n’accepte pas de langage de programmation CEI . Si l’état CEI seul est affiché dans la zone de liste, l’UC sélectionnée accepte uniquement les langages CEI et il n’est donc pas nécessaire de libérer ceux-ci de façon explicite. 6 Vous pouvez, pour des programmes et des essais simples, quitter la configuration et passer à l’Etape 3 : création du programme utilisateur, page 90 ou Etape 4 : Enregistrer, page 93 continuer. 83 Créer un projet Définir la partition mémoire Pour définir la partition mémoire, effectuez les opérations suivantes : Etape Action 1 Sélectionnez Projet →Configuration automate. Réaction : La fenêtre Configuration automate s'ouvre, elle contient d'autres commandes de menu pour la configuration du matériel. 2 Dans la zone de liste, sélectionnez Partition mémoire de l’API. Réaction : La boîte de dialogue Partition mémoire de l’API s’ouvre. 3 Dans les zones Bits et Mots sélectionnez le nombre probable de bits mémento d’E/S et de mots d'E/S dont le programme utilisateur aura besoin. Note : La plage maximale d’adresses ne devant pas être dépassée est affichée au niveau du côté droit de la boîte de dialogue. Installer chargeables Pour installer les chargeables, effectuez les opérations suivantes : Etape 84 Action 1 Sélectionnez Projet →Configuration automate. Réaction : La fenêtre Configuration automate s'ouvre, elle contient d'autres commandes de menu pour la configuration du matériel. 2 Dans la zone de liste, sélectionnez Instructions chargeables. Réaction : Le dialogue Chargeables s’ouvre. 3 Sélectionnez dans la zone de liste Disponible : l’instruction chargeable. Note : L'affection des chargeables est indiquée à la section Instructions chargeables, page 120. 4 Sélectionnez le bouton de commande Installer =>. Réaction : Le chargeable sélectionné est placé dans le champ Installé : 5 Répétez les étapes 3 et 4 , jusqu'à ce que tous les chargeables soient installés. 33002205 12/2010 Créer un projet Définir les affectations d'E/S Pour définir les affectations d'E/S, suivez les étapes suivantes : Etape Action 1 Sélectionnez Projet →Configuration automate. Réaction : La fenêtre Configuration automate s'ouvre, elle contient d'autres commandes de menu pour la configuration du matériel. 2 Dans la zone de liste, sélectionnez Affectations d'E/S. Réaction : La boîte de dialogue Affectations d’E/S s’ouvre. 3 Dans la colonne Maintient (temps de contrôle), entrez la durée pendant laquelle un échange de communication doit se produire. Si cette durée est dépassée, une erreur est signalisée. 4 Sélectionnez le bouton de commande Editer.... Réaction : La boîte de dialogue pour entrer les groupes de travail s’ouvre. 5 Sélectionnez dans la colonne Module le bouton de commande .... Réaction : Le dialogue Sélection de modules d’E/S s’ouvre. 6 Sélectionnez dans la colonne Modules le module. Réaction : Le module est affiché au niveau de l’emplacement actuel. 7 Sélectionnez les colonnes Déb.entr ou Déb.sort et entrez pour le module la première adresse de la plage de référence de sortie ou d'entrée occupée. 8 Sélectionnez le module et ensuite le bouton de commande Paramètres. Réaction : Si le module dispose d'un dialogue de paramétrage, vous pouvez définir ici les paramètres (par ex. comportement de coupure, format des données, plage de mesure). Suite Continuez ensuite avec l’étape 3 : Création du programme utilisateur (voir page 90). 33002205 12/2010 85 Créer un projet Etape 2.2 : Configuration optionnelle Remarques générales Les configurations suivantes ne doivent pas impérativement être effectuées, mais offrent plutôt des fonctions étendues. Définir station décentralisée d'E/S Pour définir les E/S décentralisées, effectuez les opérations suivantes (pour la Configuration minimale, cette procédure est facultative) : Etape 86 Action 1 Sélectionnez Projet →Configuration automate. Réaction : La fenêtre Configuration automate s'ouvre, elle contient d'autres commandes de menu pour la configuration du matériel. 2 Dans la zone de liste, sélectionnez Affectations d'E/S. Réaction : La boîte de dialogue Affectations d’E/S s’ouvre. 3 Sélectionnez le bouton de commande E/S déportées.... Réaction : La boîte de dialogue E/S déportées s’ouvre. 4 Indiquez les emplacements pour les modules RIO ou NOM. Réaction : Vous retournez au dialogue Affectations d’E/S. 5 Dans la zone de liste Aller à, sélectionnez l’E/S décentralisée. 6 Sélectionnez dans le tableau une ligne vide (dernière ligne), et sélectionnez le bouton de commande Insérer. Réaction : Une station d’E/S supplémentaire est inscrite dans la colonne Type . 7 Sélectionnez dans la colonne St. E/S et entrez le numéro de la station. Note : Il est possible de configurer au maximum autant de stations d’E/S décentralisées qu’il y a de segments inscrits dans l’ordonnanceur de segments. 8 Dans la zone de liste Aller à, sélectionnez l’E/S décentralisée pour la deuxième station d’E/S. 9 Exécutez ensuite les étapes 3 à 8 de la procédure Définir les affectations d'E/S, page 85 . 33002205 12/2010 Créer un projet Définir la communication Modbus Pour définir la communication Modbus (esclave Quantum, terminal, imprimante, ...), exécutez la commande suivante : Etape Action 1 Sélectionnez Projet →Configuration automate. Réaction : La fenêtre Configuration automate s'ouvre, elle contient d'autres commandes de menu pour la configuration du matériel. 2 Dans la zone de liste, sélectionnez la commande Configuration port Modbus. Réaction : Le dialogue Configuration port Modbus s’ouvre. 3 Procédez aux réglages correspondants. Définition de la communication de diffusion des E/S Si une connexion Modbus Plus existe, la fonctionnalité de diffusion des E/S vous permet de transmettre des données de mémoire d’état au niveau du réseau local, de façon globale, ou directement entre plusieurs abonnés de bus. Pour définir la communication de diffusion des E/S, effectuez les opérations suivantes : Etape 33002205 12/2010 Action 1 Sélectionnez Projet →Configuration automate. Réaction : La fenêtre Configuration automate s'ouvre, elle contient d'autres commandes de menu pour la configuration du matériel. 2 Dans la zone de liste, sélectionnez Extensions de config. →Sélectionner extensions. Réaction : La boîte de dialogue Sélectionner extensions s’ouvre. 3 Activez la case à cocher Diffusion des E/S. Réaction : Vous revenez sur la fenêtre Configuration automate , et la commande de menu Diffusion des E/S est à présent disponible. 4 Sélectionnez Extensions de config. →Diffusion des E/S. Réaction : Le dialogue Diffusion des E/S s’ouvre. 5 Dans la zone Aller à , sélectionnez l'abonné de bus local et entrez l'emplacement. 6 Dans la zone Données globales , sélectionnez les boutons de commande Réception... et Emission..., pour définir les adresses source et cibles des données de transmission ou l'adresse de l'autre abonné de bus. 7 Dans la zone Données directes , sélectionnez les boutons de commande Réception... et Emission..., pour définir les adresses source et cibles des données de transmission ou l'adresse de l'autre abonné de bus. 87 Créer un projet Définir la protection d’accès aux données Vous pouvez protéger des plages d’adresses de bits de sortie/de capteur et de mots de sortie/de capteur contre l’écrasement par signaux externes. Pour définir la protection d’accès aux données de données, effectuez les opérations suivantes : Etape Action 1 Sélectionnez Projet →Configuration automate. Réaction : La fenêtre Configuration automate s'ouvre, elle contient d'autres commandes de menu pour la configuration du matériel. 2 Dans la zone de liste, sélectionnez Extensions de config. →Sélectionner extensions. Réaction : Le dialogue Sélectionner extensions s’ouvre. 3 Activez la case à cocher Protection des données. Réaction : Vous revenez sur la fenêtre Configuration automate , et la commande de menu Protection en écriture de la mémoire des données est à présent disponible. 4 Sélectionnez Extensions de config. →Protection en écriture de la mémoire de données. Réaction : La boîte de dialogue Protection en écriture de la mémoire de données s’ouvre. 5 Sélectionnez les bits de sortie/mémento et les mots de sortie/mémento pour la zone devant recevoir une protection d'écriture. Divers réglages API Diverses données internes d’API peuvent être utilisées, un contrôle de l’horloge du programme utilisateur (chien de garde, timeout) peut être défini, la fenêtre de temps de communication (tranche de temps d’E/S) peut être paramétrée, et l’attribution multiple de sorties peut être autorisée. Pour définir ces réglages API, effectuez les opérations suivantes : Etape 88 Action 1 Sélectionnez Projet →Configuration automate. Réaction : La fenêtre Configuration automate s'ouvre, elle contient d'autres commandes de menu pour la configuration du matériel. 2 Dans la zone de liste, sélectionnez Divers. Réaction : Le dialogue Divers s’ouvre. 3 Activez la case à cocher Sortie pile, Registre base de temps et Date/Heure, et entrez une adresse dans les zones de texte correspondantes. 4 Activez la case à cocher Autoriser bobines doubles (LL984 seulement), et entrez dans la zone de texte l'adresse à partir de laquelle ceci est permis. 33002205 12/2010 Créer un projet Etape Action 5 Entrez dans la zone de texte Chien de garde (ms*10) : une valeur numérique entre 2 et 255 (ms). Vous pouvez ainsi spécifier une surveillance par impulsions du programme utilisateur. Réaction : Dès que les impulsions de comptage sont absentes pour un temps plus long que le temps défini, un message d’erreur apparaît. 6 Entrez dans la zone de texte Tranche de temps des modifications en ligne (ms) : une valeur numérique entre 3 et 100 (ms). Vous pouvez ainsi définir le temps pour l’exécution des fonctions d’édition multicycles (Insérer, Effacer, Rechercher etc.). Messages ASCII (uniquement pour 984 LL) Pour définir les messages ASCII (uniquement pour 984 LL), effectuez les opérations suivantes : Etape Action 1 Sélectionnez Projet →Configuration automate. Réaction : La fenêtre Configuration automate s'ouvre, elle contient d'autres commandes de menu pour la configuration du matériel. 2 Sélectionnez dans la zone de liste ASCII →Installation ASCII. Réaction : La boîte de dialogue Installation ASCII s’ouvre. 3 Entrez dans les zones de texte le nombre total de messages, la taille des messages et le nombre de ports ASCII (de la périphérie d'E/S). Réaction : Dans la fenêtre Configuration automate →ASCII la commande de menu Configuration port ASCII est disponible. 4 Dans la zone de liste, sélectionnez la commande ASCII → Configuration port ASCII. Réaction : Le dialogue Configuration port ASCII s’ouvre. 5 Procédez aux réglages correspondants. Note : Les messages ASCII peuvent être générées sous Projet →Messages ASCII... Suite Continuez ensuite avec l’étape 3 : Création du programme utilisateur (voir page 90). 33002205 12/2010 89 Créer un projet Etape 3 : création du programme utilisateur Généralités Le programme utilisateur est créé par sections. Chaque section peut être programmée dans l’un des langages de programmation disponibles. Chaque section a un nom unique au sein du projet. Pendant la programmation, il est possible de créer des sections à tout moment. Vue d'ensemble La création du programme utilisateur comporte neuf étapes principales : Etape Action 1 Création d’une nouvelle section (voir page 90) 2 Déclaration des variables (voir page 91) 3 Programmation d’une section (voir page 91) 4 Analyse du programme/d’une section (voir page 92) 5 Définition de l’ordre d’exécution des sections (voir page 92) Création d’une nouvelle section Pour créer une nouvelle section, effectuez les opérations suivantes : Etape 90 Action 1 Appelez dans le menu principal Fichier la commande Nouvelle section... . Réaction : La boîte de dialogue Nouvelle section s’ouvre. 2 A l’aide de la souris, sélectionnez le langage de programmation souhaité pour cette section. 3 Dans la zone de texte Nom de section, entrez le nom unique de cette section. 4 Utilisez la même méthode pour créer toutes les sections nécessaires. 33002205 12/2010 Créer un projet Déclaration des variables Un programme se compose de fonctions et de blocs fonctions (FFB) ou d’instructions avec indication de variables (signaux, par exemple), d’adresses directes ou de littéraux. Alors que les adresses directes et les littéraux peuvent être immédiatement utilisés, les variable, elles, doivent obligatoirement être déclarées avant de pouvoir être utilisées lors de la programmation. Pour déclarer les variables, effectuez les opérations suivantes : Etape Action 1 Appelez dans le menu principal Projet la commande Déclaration de variables... . Réaction : La boîte de dialogue Editeur de variable s’ouvre. 2 Entrez le nom des variables, leur type de données et le cas échéant leur adresse de référence, leur valeur initiale, ainsi qu’un éventuel commentaire. 3 Confirmez les entrées à l’aide de OK. Note : Une édition ultérieure est également possible en cliquant deux fois à partir d’une connexion FFB ou d’un contact, etc. -> Déclaration var... possible. L’éditeur de variables est alors démarré. Programmation d’une section Pour programmer une section, effectuez les opérations suivantes : Etape 33002205 12/2010 Action 1 Ouvrez la section à programmer à l’aide de Fichier →Ouvrir section. 2 Créez votre programme en respectant les règles des différents langages de programmation : z FDB (langage de bloc fonction) (voir page 221) z LD (langage à contacts (CEI)) (voir page 247) z SFC (automate d’enchaînement) (voir page 283) z IL (liste d’instructions) (voir page 335) z ST (littéral structuré) (voir page 407) z LL984 (langage à contacts (Modsoft)) (voir page 471) 91 Créer un projet Analyse du programme/d’une section Recherchez et éliminez les erreurs de syntaxe contenues dans une section ou dans le programme entier ! Pour analyser une section/un programme, effectuez les opérations suivantes : Etape Action 1 Dans le menu principal Projet, appelez la commande Analyser section ou Analyser programme. 2 Eliminez la cause des erreurs affichées ou signalées. Note : Seule l'absence d'erreurs détectées lors de la vérification permet de charger la section ou le programme dans l’API. (L'élimination de la cause d'avertissements n'est pas nécessaire. Une vérification des messages d'erreur est conseillée.) Définition de l’ordre d’exécution des sections Dans un premier lieu, les sections sont stockées dans leur ordre de création, puis exécutées après le démarrage du programme. En général, il faut adapter cet ordre aux tâches étant spécifiques au projet. Pour définir l’ordre d’exécution des sections, effectuez les opérations suivantes : Etape 1 Action Pour définir l’ordre d’exécution des section, on distingue deux possibilités : z Appelez dans le menu principal Projet la commande Ordre d'exécution... et placez toutes les sections dans l'ordre souhaité, à l'aide des boutons Première, Dernière, Suivante, Précédente. z Dans le menu principal Projet, appelez la commande Navigateur de projet et déplacez les sections pour les ordonnez comme vous le souhaitez dans le Navigateur de projet, page 577. Suite Continuez ensuite avec l’étape 4 : Enregistrer (voir page 93). 92 33002205 12/2010 Créer un projet Etape 4 : Enregistrer Remarques générales Remarques générales sur l’enregistrement : z Si vous quittez un projet sans l’avoir enregistré auparavant, vous êtes automatiquement invité à indiquer si vous voulez effectuer un enregistrement ou non. Si vous répondez Oui à la question, le déroulement est le même que celui décrit cidessous. z Pour éviter des pertes de données, il est conseillé d’effectuer régulièrement des enregistrements pendant les sessions de configuration ou de programmation de longue durée. Premier enregistrement d’un projet Pour enregistrer un projet pour la première fois, effectuez les opérations suivantes : Etape Action 1 Appelez dans le principal Fichier la commande Enregistrer projet sous... . 2 Entrez le nom de projet nom.prj dans la zone de texte Nom de fichier. 3 Sélectionnez le lecteur et le répertoire souhaités dans la zone de liste Répertoires. Une autre possibilité consiste à entrer le chemin d’accès intégral dans la zone de texte Nom de fichier, par exemple c : \product1\reactor3.prj. (28 caractères au maximum + .prj). Les répertoires non existants sont automatiquement créés. Note : Selon la définition CEI 1131, un projet contient tous les programmes, toutes les données, etc. associés à un API. Si plusieurs projets (plusieurs API) sont associés à une installation, vous devez enregistrer tous les projets dans un répertoire commun portant le nom de l’installation. 4 Cliquez sur le bouton de commande OK. Réaction : Votre projet est à présent enregistré dans le répertoire indiqué, sous le nom que vous avez indiqué. Enregistrements suivants Pour continuer à enregistrer, effectuez les opérations suivantes : Etape 1 Action Il vous suffit d’utiliser la commande Enregistrer du menu principal Fichier. Suite Continuez ensuite avec l’étape 5 : Exécution de l'evaluation mémoire (voir page 94). 33002205 12/2010 93 Créer un projet Etape 5 : Effectuez l' évaluation mémoire Vérifiez la part de mémoire occupée. Avant le téléchargement du programme sur l'API, il faudrait effectuer une prédiction mémoire hors ligne de l' automate configuré. La table affichée dans le dialogue Projet →Prédiction mémoire indique l' utilisation des différentes zones de mémoires. Vous connaissez ainsi à l'avance la part de mémoire occupée. NOTE : L'évaluation mémoire n'est pas très précise dans certains cas. Il peut y avoir une différence de plus de 20 % entre la mémoire utilisée dans l'automate et l'évaluation mémoire obtenue sous Concept. L'évaluation mémoire indique toujours un espace mémoire plus important que celui réellement disponible dans l'automate. Cela est dû à la difficulté du calcul de la mémoire dynamique dans les DFB et sections. Les sections ST sont en particulier la cause d'une grande différence entre l'évaluation et l'automate. Afin de s'assurer de disposer de suffisamment de mémoire dans l'automate, il faut charger le projet dans un automate afin des fins de test. Le simulateur ne peut pas être utilisé car beaucoup de projets ont suffisamment d'espace dans le simulateur mais pas suffisamment dans l'automate. Suite Continuez ensuite avec l’étape 6 : Chargement et test du projet (voir page 95). 94 33002205 12/2010 Créer un projet Etape 6 : Chargement et test Remarques générales Il est possible de charger et de tester le programme seulement si une des conditions suivante est remplie : z soit le simulateur Concept-SIM à 16 bits est activé, soit z le simulateur 16 bits SIM Concept est désactivé et un API est connecté via un câble Modbus Plus, Modbus ou TCP/IP. z Le simulateur PLCSIM32 Concept est activé. NOTE : C’est seulement dans le cas de Programmes Utilisateur CEI qu’il est possible d’effectuer les tests avec les simulateurs SIM Concept (voir page 774) et PLCSIM32 Concept (voir page 776). Vue d’ensemble Le chargement et les essais de programmes comprennent neuf étapes principales : Etape Action 1 Chargement du fichier EXEC dans l'API (voir Instructions d'installation de Concept) 2 Connexion de l’ordinateur et de l’API (voir page 95) 3 Chargement et démarrage du programme (voir page 96) 4 Activation de l’animation (voir page 97) 5 Modification des valeurs de libellés (voir page 97) 6 Modification des valeurs de variables. (voir page 98) 7 Localisation des erreurs survenues (voir page 98) 8 Chargement des modifications (voir page 99) 9 Démarrage et arrêt de l’API (voir page 99) Connexion de l’ordinateur et de l’API Pour connecter le PC et l’API, effectuez les opérations suivantes : Etape 33002205 12/2010 Action 1 Appelez dans le menu principal En ligne la commande Connecter... . Réaction : La boîte de dialogue Connecter à l’API s’ouvre. 2 Déterminez le type de protocole (Modbus, Modbus Plus, TCP/IP ou Simulateur) ainsi que l’abonné API (si vous travaillez en réseau) avec lequel vous souhaitez communiquer. 3 Sélectionnez sous Niveau d'accès l'option Modifier la configuration. 4 Confirmez vos entrées à l’aide de OK. 95 Créer un projet Chargement et démarrage du programme Pour charger et démarrer le programme, effectuez les opérations suivantes : Etape 96 Action 1 Appelez dans le menu principal En ligne la commande Chargement... . Réaction : La boîte de dialogue Charger dans l’automates’ouvre. 2 Lorsqu’il s’agit du premier chargement, cliquez sur le bouton de commande Tous. 3 Cliquez sur le bouton de commande Charger. Réaction : Diverses boîtes de dialogue sont affichées. 4 Répondez à la question s'il faut Arrêter le programme dans l'API Oui/Non avec Oui. Note : Cette question apparaît seulement si un programme est déjà actif sur votre API. 5 Répondez à la question s'il faut Lancer le programme dans l'API Oui/Non avec Oui, si aucune erreur ne s'est produite. Si des avertissements ou des erreurs ont été signalisés, ceux-ci sont alors répertoriés dans la fenêtre Messages. Corrigez les avertissements/erreurs à l’endroit indiqué. 33002205 12/2010 Créer un projet Activation de l’animation L’animation (affichage de l’état en ligne) vous permet d’afficher l’état de variables, d’étapes, de transitions, etc. dans la fenêtre d’éditeur de sections individuelles. Pour activer l’animation, effectuez les opérations suivantes : Si ... Alors ... Si vous ne voulez afficher que des valeurs binaires. Pour afficher exclusivement des valeurs binaires, appelez la commande Animer valeurs binaire du menu principal En ligne. Réaction : Les valences de toutes les valeurs binaires (variables, adresses directes, libellés) sont affichés en couleur (signal 0 = rouge, signal 1 = vert). Si vous voulez afficher les valeurs de Pour afficher les valeurs de toutes les variables, toutes les variables. appelez tout d’abord la commande Sélectionner tout (sélectionner tous les éléments de la section actuelle) du menu principal Edition. Appelez ensuite la commande Animer sélection du menu principal En ligne. Réaction : Les valences de toutes les valeurs (variables, adresses directes, libellés) sont affichées en couleur (rouge = signal 0, vert = signal 1, jaune = affichage immédiat de la valeur pour les variables, et affichage des valeurs en cliquant deux fois sur la variable pour les variables multi-éléments). Si vous voulez insérer des champs de La commande Sélection dans champ d'inspection contrôle dans les langages texte (IL vous permet, dans les langages texte IL et ST, d’insérer des champs de contrôledans la section. et ST). Réaction : La valeur actuelle des variables affectées est affichée dans ces champs de surveillance. Dans le cas de variables multi-éléments, seule la valeur du premier élément est affichée. Pour modifier cela, cliquez deux fois sur le champs de contrôle. Cette opération vous permet d’accéder à la boîte de dialogue Paramétrage des champs de contrôle et aux options de celui-ci. Modification des valeurs de libellés Pour modifier des libellés, effectuez les opérations suivantes : Etape 33002205 12/2010 Action 1 Activez l’animation, comme décrit dans Activation de l’animation, page 97. 2 Cliquez deux fois sur le libellé à modifier. 3 Entrez une nouvelle valeur et confirmez avec OK. Réaction : La nouvelle valeur est transférée dans l’API lors du cycle suivant. 97 Créer un projet Modification des valeurs de variables. L’Editeur de données de référence (voir page 617) vous permet d’afficher et de paramétrer des valeurs de variable (état, commander, forcer). Pour modifier des variables, effectuez les opérations suivantes : Etape Action 1 Dans le menu principal En ligne, appelez la commande Editeur de données de référence. 2 Dans la boîte de dialogue Tableaux Editeur de données, entrez la variable à afficher. 3 Pour définir des valeurs, sélectionnez la case à cocher Invalider et entrez la valeur souhaitée. 4 Il est possible d’enregistrer le tableau ED sous un nom unique. Pour cela, sélectionnez dans le menu principal Editeur de données la commande Enregistrer tableau sous... . Note : Il est possible d’appeler plusieurs Tableaux Editeur de donnéesiteur de données en même temps. Pour cela, appelez la commande Ouvrir tableau... du menu principal Editeur de données. Localisation des erreurs survenues Si des erreurs surviennent lors du traitement du programme sur l’API, elles sont signalisées dans la fenêtre Messages et elles sont consignées sous forme de journal dans une liste des événements. Pour localiser des erreurs survenues, effectuez les opérations suivantes : Etape 98 Action 1 Appelez dans le menu principal En ligne la commande Affichage des évènements... . Réaction : Une fenêtre s’ouvre. Dans celle-ci, toutes les erreurs survenues sont répertoriées et décrites. 2 Sélectionnez une ligne d’erreur, puis cliquez sur le bouton de commande Atteindre l’erreur.. Réaction : Vous atteignez directement la section dans laquelle l’erreur est survenue. L’objet incorrect et sélectionné. 3 Corrigez le programme. 4 Si votre programme se trouve à présent dans l’état INEGAUX, exécutez à nouveau les étapes de Chargement et démarrage du programme (voir page 96). Si votre programme se trouve à présent dans l’état MODIFIE, exécutez à nouveau les étapes de Chargement des modifications (voir page 99). 33002205 12/2010 Créer un projet Chargement des modifications Si l’état du projet est MODIFIE après l’exécution des modifications, ces modifications peuvent être chargées en ligne dans l’API, sans qu’il soit nécessaire d’arrêter le programme en cours d’exécution. Pour charger des modifications, effectuez les opérations suivantes : Etape Action 1 Appelez dans le menu principal En ligne la commande Chargement des modifications... . 2 Cliquez sur OK. Réaction : Les modifications sont chargées dans l’API. Démarrage et arrêt de l’API Pour démarrer et arrêter l’API, effectuez les opérations suivantes : Etape 1 Action Si le même projet est lancé sur l'ordinateur et l'API (EGAUX), l'API peut être redémarré ou arrêté avec En ligne →Commande en ligne... Suite Continuez ensuite avec l’étape 7 : Optimisation et séparation (voir page 100) : 33002205 12/2010 99 Créer un projet Etape 7 : Optimisation et séparation Optimisation de projets Après avoir mis en marche ou exécuté plusieurs fois la commande Chargement des modifications..., il est recommandé d'exécuter une optimisation, de façon à refermer les espaces apparus dans la gestion mémoire des données de programmation. Le projet du PC et l'API étant INEGAUX après l'optimisation, chargez l'application dans l’API grâce à la commande Chargement... (Attention: le programme doit être arrêté puis redémarré !). Pour optimiser les projets, effectuez les opérations suivantes : Etape 100 Action 1 Enregistrez le projet à l’aide de Fichier →Enregistrer projet. 2 Dans le menu principal Fichier, appelez la commande Fermer projet et suivez les instructions des boîtes de dialogue successives. 3 Appelez dans le menu principal Fichier la commande Optimiser projet... et sélectionnez le projet à optimiser . Suivez les instructions des boîtes de dialogue successives. 4 Utilisez la commande Statistiques mémoire... du menu principal En ligne pour contrôler la taille de la mémoire de données de programme. 5 Adaptez éventuellement les tailles, à l’aide de Configuration automate. 6 Enregistrez le projet à l’aide de Fichier →Enregistrer projet. 7 Chargez à nouveau le programme optimisé dans l'API. Pour cela, utilisez En ligne →Chargement... . Pour cela, le programme en cours doit être arrêté. 8 Démarrez le programme nouvellement chargé à l’aide de En ligne → Commande en ligne. 33002205 12/2010 Créer un projet Séparation de l’ordinateur et de l’API Une fois le programme testé avec succès dans l’API (avec procédé connecté), le PC peut être séparé de l’API. Pour séparer le PC et l’API, effectuez les opérations suivantes : Etape Action 1 Tenez compte de l’état de programme affiché au bas de page ! Pour des raisons de cohérence, on doit impérativement avoir EGAUX. z Si l’état est MODIFIE, vous devez d’abord charger les modifications Chargement des modifications, page 99. z Si l’état est INEGAUX, vous devez charger à nouveau le programme dans l’API Chargement et démarrage du programme, page 96. 2 Appelez dans le menu principal En ligne la commande Déconnecter . Suivez les indications fournies dans les boîtes de dialogue affichées. 3 Après la séparation, le projet peut être fermé. Dans le menu principal Fichier, appelez la commande Fermer projet. Suivez les indications fournies dans les boîtes de dialogue éventuellement affichées. Suite Continuez ensuite avec l’étape 8 : Documentation (voir page 100). 33002205 12/2010 101 Créer un projet Etape 8 : Documentation Remarques générales Il est conseillé de documenter chaque projet de façon complète. Les modifications et le ajouts doivent aussi être documentés (documentation partielle). La documentation comprend, entre autres : des commentaires concernant le projet (Projet →Caractéristiques), z des commentaires concernant les sections individuelles (Fichier →Caractéristiques section), z des commentaires concernant les variables, z des commentaires concernant les fonctions, les blocs fonctions et les DFB utilisés (bouton de commande Commentaire dans les dialogues de propriétés des différents blocs), z des commentaires concernant les étapes et les transitions (bouton de commande Commentaire dans les dialogues de propriétés des différents éléments), z des commentaires sous forme d’éléments de texte pouvant être librement placés dans les langages de programmation graphiques (Objet →Texte), z des commentaires concernant les différentes lignes de commande dans les langages de programmation textuels, z des commentaires concernant les types de données personnalisés, z des commentaires concernant les blocs fonctions dérivés (DFB). z Impression de la documentation Pour imprimer la documentation, effectuez les opérations suivantes : Etape 102 Action 1 Appelez dans le menu principal Fichier la commande Imprimer... . 2 Dans la boîte de dialogue Contenu des documents, au niveau de Présentation de la page, effectuez une sélection pour indiquer si une en-tête et un pied de page uniformes doivent être imprimés pour chaque page. Indiquez également si une page de titre doit être imprimée. L’aspect des de l’en-tête, du pied de page, ainsi que de la page de titre est stocké dans les fichiers ASCII à sélectionner. 3 Dans la zone Sélectionner documents de la boîte de dialogue Contenu des documents, sélectionnez ce qui doit être imprimé. 4 Si vous avez sélectionné Liste de variables, vous devez appeler Options, en vue de sélectionner les variables à imprimer. 5 Si vous avez sélectionné Sections, z vous devez appeler Sélectionner... et définir les sections à imprimer, et z vous devez également appeler Options. Dans la zone Facteur d’agrandissement des graphiques, définissez entre autres la taille correcte de la logique à imprimer. 33002205 12/2010 Créer un projet Etape 33002205 12/2010 Action 6 Cliquez sur le bouton de commande OK. Réaction : Toutes les entrées sont enregistrées. 7 Assurez-vous que la répartition des sections sur la page correspond à ce que vous souhaitez. Pour cela, appelez dans le menu principal Affichage la commande Vue d'ensemble, puis la commande Saut de page. 8 Modifiez l’agencement (des FFB, par exemple), de façon à ce qu’il y ait le moins de transitions possibles sur les pages adjacentes. 9 Apple Appelez à nouveau dans le menu principal Fichier la commande Imprimer... et confirmez avec le bouton de commande Imprimer. L’impression est effectuée selon les réglages définis et la boîte de dialogue est fermé. 103 Créer un projet 104 33002205 12/2010 Configuration API 33002205 12/2010 Configuration API 5 Aperçu Cette section décrit les différentes séquences de configuration matérielle. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 5.1 Remarques générales sur la configuration matérielle 106 5.2 Configuration en mode local et connecté 109 5.3 Configuration inconditionnelle 113 5.4 Configuration optionnelle 128 5.5 Backplane Expander Config 140 5.6 Configuration de différents systèmes de réseau 144 5.7 Paramètres de sécurité Quantum dans le configurateur 159 105 Configuration API 5.1 Remarques générales sur la configuration matérielle Aperçu Cette section vous donne un aperçu général de la configuration matérielle. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 106 Page Remarques générales 107 Procédez ainsi lors de la configuration 108 33002205 12/2010 Configuration API Remarques générales Introduction Les incidences de la configuration Système sont très ramifiées, étant donné que celle-ci conditionne l’ensemble du fonctionnement de la gestion. La configuration a pour rôle de définir toutes les informations spécifiques de gestion, ainsi que celles d’ordre général, d’assigner les mémoires et de déterminer les zones d’entrée/sortie. Lors de la configuration initiale, l’utilisateur doit entrer un certain nombre de données fondamentales concernant le domaine API, tel que Type API et Mémoire. Seules les configurations en vigueur sont admises. Une configuration se réfère toujours à un Projet, c.-à-d. que la commande Configuration automate ne sera accessible qu’après l’ouverture d’un projet. Le configurateur est disponible en mode Hors ligne et En ligne. 33002205 12/2010 107 Configuration API Procédez ainsi lors de la configuration Introduction Cette section vous donne un aperçu général du processus de configuration. Utiliser le menu de configuration Certaines commandes doivent impérativement être exécutées et sond disponibles dans la fenêtre Configuration automate. Au départ, les commandes de menu masquées ne sont pas disponibles et peuvent être activées, pour l'extension de la configuration du matériel, dans le registre Extensions de config. peuvent être activés avec la commande Sélectionner des extensions. Saisie des modules existants Saisir manuellement les modules de l’API et comparer, en mode connecté, avec le matériel connecté. A l’issue de la saisie, les modules manquant dans Concept sont affichés dans la liste d’équipements E/S, ceci permettant de corriger à posteriori. Procédez ensuite à l’adressage E/S individuel de chaque module. Respectez, dans ce contexte, les références autorisées à utiliser : Modules Références Modules analogiques d’entrée Références 3x Modules analogiques de sortie Références 4x Modules numériques d’entrée Références 3x ou 1x Module numérique de sortie Références 4x ou 0x Modules experts - Entrée Références 3x ou 1x Modules experts - Sortie Références 4x ou 0x Chargement de la configuration matérielle La configuration matérielle d’un projet étant enregistrée, elle peut être chargée conjointement au programme de simulation Concept-SIM, Concept-SIM32 ou avec un automate. Ceci permet d’établir l’état IDENTIQUE entre l’appareil de programmation et API. NOTE : Pour le transfert de configuration dans un API réel, désactivez ConceptSIM. 108 33002205 12/2010 Configuration API 5.2 Configuration en mode local et connecté Aperçu Cette section vous donne des informations sur la configuration en mode local et connecté Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Remarques générales 110 Fonctions disponibles en mode EN LIGNE et HORS LIGNE 111 109 Configuration API Remarques générales Introduction En mode HORS LIGNE, aucune connexion n’est établie entre le terminal et API; la configuration peut être exécutée. En mode CONNECTÉ, la liaison étant établie entre le terminal et API, seule une configuration sous certaines réserves pourra être réalisée. 110 33002205 12/2010 Configuration API Fonctions disponibles en mode EN LIGNE et HORS LIGNE Introduction Cette section vous donne un aperçu des fonctions disponibles en mode local et connecté. Les possibilités disponibles en mode EN LIGNE sont différentes lors de l'utilisation du simulateur et de l'API réel. Configuration en mode local En mode HORS LIGNE, toutes les commandes de menu sont disponibles dans la fenêtre Configuration automate pour la configuration du matériel. Les sous-menus dans le répertoire Extensions de config. peuvent être activés, pour l'extension de configuration, dans le dialogue Sélectionner des extensions. Si les API sont en mode connecté, passer en mode local à l’aide de la commande En ligne →Déconnecter.... Affichage de l’état NON CONNECT dans l’indicateur de la ligne d’état de la fenêtre Editeur. Configuration en mode connecté et avec simulateur actif Lorsqu'un simulateur ou une liaison Modbus est à l'état actif, aucune configuration n'est possible en mode EN LIGNE, ceci signifie qu'aune entrée ne peut être effectuée. Il est seulement possible de scruter et de lire les dialogues disponibles. Passez en mode connecté à l’aide de la commande En ligne →Connecter..., ceci permettant d’établir la liaison entre l’appareil de programmation et API. Configuration en mode EN LIGNE et API réel En cas de liaison avec un API réel, la configuration est possible en mode EN LIGNE, dès que le niveau d’accès Modifier la configuration est activée. Il n’est pas possible de configurer ou de reconfigurer un API se trouvant en mode FONCTIONNEMENT EN COURS. En présence d’un programme en cours d’exécution dans API, il faut arrêter le programme avant de poursuivre la reconfiguration. Arrêtez l’API à l’aide de En ligne →Commande en ligne →Arrêter automate. Après le traitement, les modifications sont transmises automatiquement au matériel au démarrage de l'API. NOTE : Si, en mode EN LIGNE, vous effacez un groupe expert sur la liste d'équipement E/S, le chargeable correspondant est automatiquement effacé. Si vous souhaitez insérer ce groupe plus tard sur la liste d'équipement, un nouveau chargement est nécessaire. Passez en mode connecté à l’aide de la commande En ligne →Connecter..., ceci permettant d’établir la liaison entre l’appareil de programmation et API. 33002205 12/2010 111 Configuration API Répercussion des modifications EN LIGNE Si les conditions suivantes sont remplies, toutes les fenêtres animées se fermeront automatiquement, en cas de modification de la liste d'équipement E/S (par exemple effacement ou insertion d'un module. Conditions Mode En ligne z Section(s) animée(s) z L’état entre l’API et l’appareil de programmation doit obligatoirement être EGAUX. z API est arrêté z Le niveau d’accès Modifier la configuration est activée z 112 33002205 12/2010 Configuration API 5.3 Configuration inconditionnelle Aperçu Cette section décrit la configuration à exécuter de manière inconditionnelle et donne un aperçu des paramétrages préalables à définir dans le menu de configuration. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet Condition préalable 33002205 12/2010 Page 114 Sélection automate 115 Sélection d'UC pour le type d'automate 116 Partition de mémoire API 119 Instructions chargeables 120 Ordonnanceur de segments 123 Affectation des E/S 125 113 Configuration API Condition préalable Introduction C'est seulement après la sélection de l'UC dans le dialogue Sélection automate que toutes les autres commandes de menu sont disponibles dans la fenêtre Configuration automate. Les boîtes de dialogue suivantes correspondent à une sélection minimale et sont obligatoirement à renseigner pour la configuration Hardware. z Sélection automate z Partition de mémoire API z Instructions chargeables z Ordonnanceur de segments z Affectations d’E/S Il est possible aussi de prendre en compte les préréglages, sous réserve que ceuxci correspondent au Hardware utilisé. 114 33002205 12/2010 Configuration API Sélection automate Introduction Sélectionnez, en fonction de votre application, la gamme d'automate (Quantum, Compact, Momentum ou Atrium) et l'UC ainsi que la taille mémoire. Toutes les unités centrales disponibles sont indiquées dans la zone de liste. Définir la zone de logique En sélectionnant la gamme d'automate, vous pouvez étendre la zone de logique pour le langage de programmation voulu (CEI ou LL984) au type d'automate correspondant. L'affectation et l'installation des instructions chargeables sont définies en fonction de la configuration suivante : Sélection Signification Validée Installation des instructions chargeables CEI. Un espace mémoire adapté peut être défini pour la zone CEI. L'affectation et l'installation des paires d'instructions chargeables sur l'UC sélectionnée se fait automatiquement dans la boîte de dialogue Instructions chargeables. Invalider Aucune installation d'instructions chargeables CEI. Ainsi, la zone CEI est entièrement désactivée et vous disposez alors de toute la zone de logique pour LL984. 984 seul/CEI seul Quelques UC Momentum peuvent être programmées uniquement dans la zone CEI ou LL984. Définir la mémoire totale CEI En définissant la taille de la mémoire totale CEI et les données globales, vous définissez ainsi automatiquement lataille de la mémoire du programme CEI. En se basant sur cette taille, il est également possible de définir l'espace mémoire disponible pour le programme utilisateur LL984. NOTE : Pour les données globales, il s'agit de l'espace mémoire des variables non localisées. NOTE : Mémoire totale CEI = mémoire du programme CEI + données globales 33002205 12/2010 115 Configuration API Sélection d'UC pour le type d'automate Introduction Lors de l'installation de matériel (Concept EXECLoader), il vous est demandé de charger différents fichiers EXEC (*.BIN). Vous définissez ainsi les micrologiciels pour les différents types d'automate. Les tableaux suivants indiquent les types d'automate disponibles pouvant être utilisés en chargeant les fichiers EXEC avec les UC correspondantes. Charger le micrologiciel pour les automates Quantum Le tableau suivant indique les versions EXEC courantes incluses sur le CD Service Release et livrées avec Concept. Type d'automate Quantum : UC 140 Q186Vxxx (CEI+LL984) Q486Vxxx Q58Vxxxx Q5RVxxxx (CEI+LL984) (CEI+LL984) (CEI+LL984) 113 02 X (LL984 seulement) - - QIECVxxx Mémoire CEI (CEI (Kilo-octet) seulement) * - 113 02S - - - - X 113 02X X (LL984 seulement) - - - 150 maximum 113 03 X - - - - 136 maximum 113 03S - - - - X 379 maximum 113 03X X - - - - 136 maximum 213 04 X - - - - 305 maximum 213 04S - - - - X 610 maximum 213 04X X - - - - 305 maximum 424 0x - X - - - 465 maximum 424 0xX - X - - - 465 maximum 434 12 - - X - - 890 maximum 534 14 - - X - - 2 550 maximum 434 12A (UC reconçue) - - - X - 890 maximum 534 14A/B (UC reconçue) - - - X - 2 550 maximum NOTE : * Après avoir chargé le fichier EXEC QIECVxxx.BIN, il faut charger le fichier chargeable EMUQ.EXE dans le logiciel Concept dans la boîte de dialogue Chageables. 116 33002205 12/2010 Configuration API Charger le micrologiciel pour le fonctionnement en redondance d'UC LL984 Quantum Les UC Quantum ne se terminant pas par X et S peuvent être utilisées pour un fonctionnement en redondance d'UC LL984. Pour cela, il faut charger un fichier EXEC spécial dans l'UC. Le système installe automatiquement l'instruction chargeable pour la redondance d'UC LL984 (CHS_208.DAT). Charger le micrologiciel pour le fonctionnement en redondance d'UC CEI Quantum Les UC 140, UC 434 12 et 140 UC 534 14 peuvent également être utilisées pour la redondance d'UC CEI. Pour cela, il faut charger un fichier EXEC spécial dans l'UC. Les instructions chargeables pour la redondance d'UC CEI (IHSB196.EXE et CHS_208.DAT) seront automatiquement installées par le système. Charger le micrologiciel pour l'éditeur d'équation Quantum Les UC Quantum ne se terminant pas par X et S peuvent être utilisées pour l'éditeur d'équation de LL984. Pour cela, un fichier EXEC spécial doit être chargé dans la mémoire flash de l'UC. Ce fichier EXEC n'est pas fourni avec Concept, mais est disponible sur Internet à l'adresse suivante : www.schneiderautomation.com. Charger le micrologiciel pour les automates Momentum Le tableau suivant indique les versions EXEC courantes incluses sur le CD Service Release et livrées avec Concept. Type d'automate Momentum (UC 171 CBB 970 30) : 171 CBB MPSV100.BIN (LL984 seulement) MPSV100e.BIN Mémoire CEI (CEI seulement) (Kilo-octet) 970 30-984 X - 970 30-CEI - X 236 Type d'automate Momentum (UC 171 CCC 7x0 x0) : 33002205 12/2010 171 CCC M1LLVxxx (LL984 seulement) M1IVxxxE Mémoire CEI (CEI seulement) (Kilo-octet) 760 10-984 X - 760 10-CEI - X 780 10-984 X - 780 10-CEI - X 220 220 117 Configuration API Type d'automate Momentum (UC 171 CCC 9x0 x0) : 171 CCC M1EVxxx (LL984 seulement) M1EVxxxE (CEI seulement) 960 20-984 X - 960 30-984 X - 960 30-CEI - X 980 20-984 X - 980 30-984 X - 980 30-CEI - X Mémoire CEI (Kilo-octet) 236 236 Type d'automate Momentum (UC 171 CCS 7x0 x0) : 171 CCS M1LLVxxx (LL984 seulement) M1IVxxxE (CEI seulement) 700 10 X - 700/780 00 X - 760 00-984 X - 760 00-CEI - X Mémoire CEI (Kilo-octet) 160 Le fichier strippé EXEC de M1 prend en charge un maximum de 44 modules E/S. Charger le micrologiciel pour les automates Compact Pour toutes les UC Compact, charger le fichier EXEC CTSXxxxD.BIN dans la mémoire flash de l'UC. Charger le micrologiciel pour les automates Atrium Pour chaque UC Atrium, un fichier EXEC spécial (voir tableau ci-dessous) doit être chargé dans la mémoire flash de l'UC : 118 180 CCO Fichier EXEC 121 01 AI3Vxxxx.BIN 241 01 AI5Vxxxx.BIN 241 11 AI5Vxxxx.BIN 33002205 12/2010 Configuration API Partition de mémoire API Introduction Pour l’élaboration de programme, prévoyez suffisamment de zones d’adresses pour le nombre requis de bits d’entrée, de sortie/bits d’annotation, mots d’entrée et de sortie/mots d’annotations . Vous obtenez, au demeurant, un aperçu des valeurs de la bascule de verouillage : z Bascule de verouillage max. z Bascule de verouillage utilisée z Taux d’occupation de la bascule de verouillage Toute valeur non autorisée est signalée par un message d’erreur et peut être automatiquement adaptée à la valeur proposée Données Standby Hot CEI Après avoir configuré un système CEI Hot Standby, prévoyez suffisamment de zones d’adresses pour le nombre requis de mots d’entrée. Plus le nombre de mots d’entrée CEI Hot Standby est élevé, et plus la mémoire tampon de transfert, destiné à la partie CEI, est grande. Cela signifie que l’application CEI utilisée peut être, elleaussi, d’autant plus grande. ATTENTION Influence du temps de cycle système ! La taille de la mémoire d’état configurée dans un projet de redondance d’UC CEI a une influence signifiante sur le temps de cycle système. Dès qu’un cycle logique est terminé, le suivant commence, une fois que toutes les données de mémoire d’état ont été transmises au module CHS. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. 33002205 12/2010 119 Configuration API Instructions chargeables Introduction Les instructions chargeables sont des programmes à ne charger qu'en cas de besoin dans l'automate. Les différentes utilisations des instructions chargeables sont abordées dans les sections suivantes. NOTE : Lorsque vous supprimez en mode en ligne un module expert dans la liste d'affectation des E/S, l'instruction chargeable affectée est automatiquement supprimée. Si par la suite vous voulez de nouveau insérer ce module dans la liste d'affectation des E/S, un nouveau chargement est nécessaire. Charger des instructions pour le système d'exécution CEI Vous disposez des instructions chargeables suivantes pour une exécution combinée des programmes CEI et LL984 (UC 113 0x, UC 213 0x ou UC 424 02) : Lorsque Alors vous désirez utiliser des UC avec processeur mathématique pour la programmation CEI, vous installez la paire d'instructions chargeables @1S7196 et @2I7196. vous désirez utiliser des UC sans processeur mathématique pour la programmation CEI, vous installez la paire d'instructions chargeables @1SE196 et @2IE196. Charger des instructions pour modules experts Vous disposez des instructions chargeables suivantes pour les modules experts : Lorsque Alors vous configurez le module 140 ESI 062 00 avec un système d'exécution 32 bits et le module 140-NOA-611-x0, vous installez l'instruction chargeable ASUP196. Note : L'instruction chargeable ULEX196 est automatiquement installée. L'instruction chargeable ASUP196 n'est installée automatiquement qu'en cas d'utilisation d'UC 32 bits. En présence d'UC 16 bits avec fichier EXEC stripped (QIECVxxx.BIN), il est nécessaire d'installer l'instruction chargeable ASUP196 ultérieurement. vous configurez le module 140 ESI vous installez la paire d'instructions chargeables NSUP 062 10, + ESI. Note : Ces deux instructions chargeables ne font pas partie de l'ensemble logiciel Concept, mais sont livrées avec le module 140 ESI 062 10 et doivent être décompactées pour être installées (Décompacter...). 120 33002205 12/2010 Configuration API Charger des instructions pour LL984 Elles ne sont pas livrées avec Concept. Vous pouvez demander ces instructions chargeables via le "Automation Customer Service Bulletin Board (BBS)" (voir également le fichier README). Charger des instructions pour la redondance d'UC Vous disposez des instructions chargeables suivantes pour le fonctionnement en redondance : Lorsque Alors vous utilisez le fonctionnement en redondance d'UC LL984, l'instruction chargeable CHS_208 est automatiquement installée. vous utilisez le fonctionnement en redondance d'UC CEI, les instructions chargeables IHSB196 et CHS_208 sont automatiquement installées. Charger des instructions utilisateur Les instructions chargeables créées par les utilisateurs sont appelées instructions chargeables utilisateur (*.EXE, *.DAT). Elles se trouvent dans le répertoire Concept DAT et peuvent être installées, via le bouton de commande Décompacter..., dans la boîte de dialogue Instructions chargeables. Charger des instructions pour la gestion CEI exclusive Vous disposez des instructions chargeables suivantes pour la gestion CEI exclusive (UC 113 xxS sans processeur mathématique) : 33002205 12/2010 Lorsque Alors votre application REAL utilise l'arithmétique, vous installez l'instruction chargeable EMUQ196. Note : L'instruction chargeable est installée avec le fichier EXEC QIECVxxx (Installation dans Concept EXECLoader). 121 Configuration API Chargement d'instructions pour l'INTERBUS et pour la gestion CEI uniquement Vous disposez des instructions chargeables suivantes pour la gestion CEI : Lorsque vous configurez l'UC... Alors z z z z z vous installez l'instruction chargeable ASUP196. Note : L'instruction chargeable ULEX196 est automatiquement installée. L'instruction chargeable ASUP196 n'est installée automatiquement qu'en cas d'utilisation d'UC 32 bits. En présence d'UC 16 bits avec fichier EXEC stripped (QIECVxxx.BIN), il est nécessaire d'installer l'instruction chargeable ASUP196 ultérieurement. 113 02S 113 03S 213 04S 534 14 434 12 113 03, vous installez la paire d'instructions chargeables @1SE196 + @2IE196. L'instruction chargeable ULEX196 est automatiquement installée. 213 04, vous installez la paire d'instructions chargeables @1S7196 + @2I7196. L'instruction chargeable ULEX196 est automatiquement installée. Chargement d'instructions pour l'INTERBUS et pour la gestion LL984 uniquement Vous disposez des instructions chargeables suivantes pour la gestion LL984 : Lorsque vous configurez l'UC... Alors z 113 02 z 113 03 z 213 04 vous pouvez installer les instructions chargeables suivantes : z ULEX196 z @1S7196 + @2I7196 + ULEX196 Note : L'instruction chargeable ULEX196 est alors automatiquement installée. z 534 14 z 434 12 122 les instructions chargeables ASUP196 et ULEX196 sont automatiquement installées. 33002205 12/2010 Configuration API Ordonnanceur de segments Introduction Si vous configurez une station E/S décentralisée (remote) (Drop), vous pouvez, dans la boîte de dialogue Ordonnanceur de segments spécifier la séquence et le mode de prise en charge des sections de LL984. En cas d’extinction (dans la boîte de dialogue Affectation des E/S) d’une station E/S décentralisée configurée (Drop), elle est automatiquement évacuée dans le gestionnaire de segments. Mode de fonctionnement A chaque station E/S (Drop) est associé un segment. On ne peut dès lors pas introduire dans l’organisateur de segments moins de segments que ce qui est configuré dans l’équipement E/S des stations E/S (Drops). Dans l’organisateur de segments, le numéro maximal de segment est mis par défaut à 32. Le configurateur vérifie la concordance entre les deux dialogues et ordonne les stations E/S (Drops) dans l’organisateur de segments. Vous êtes informés, via une fenêtre, de quelles stations E/S (Drops) ont été introduites. Modification de la séquence de prise en charge des segments La séquence de prise en charge des segments peut être modifiée par l’utilisateur, en éditant directement dans la ligne correspondante le numéro de segment ou le numéro de station E/S. Pour la station E/S locale (Drop), on introduit dans la première ligne de la boîte de dialogue dans les colonnes E.-Stat. et A.-Stat. automatiquement les 1. Si aucune séquence n’a été définie, les segments sont pris en charge dans l’ordre croissant. Critères de tri pour les stations E/S introduites. Les stations E/S nouvellement introduites (Drops) sont ordonnées selon les critères suivants dans le gestionnaire de segments : 33002205 12/2010 Si... Alors ... Si une nouvelle station E/S est introduite, alors elle est automatiquement rangée derrière la dernière ligne disponible. Si tous les segments spécifiés ont déjà été utilisés, le dernier segment est à nouveau utilisé pour l’entrée de la nouvelle station E/S (Drop) Càd qu’un numéro de segment peut se répéter, alors que les stations sont différenciées. 123 Configuration API Modes disponibles de prise en charge des segments Lors de l’installation du gestionnaire de segments, on peut sélectionner les modes de prise en charge suivants : Type de prise en charge Signification De façon continue Prise en charge cyclique De façon contrôlée Prise en charge commandée par l’utilisateur WDT Reset Reset (remise à zéro) minuterie chien de garde Fin de logique Fin de la prise en charge NOTE : Au cas où on doit travailler dans LL984 avec des sous-programmes, le dernier segment configuré ne doit pas être traité dans le gestionnaire de segments. Le type de solution doit absolument être Fin de logique. Autres installations dans le gestionnaire de segments Pour le type de prise en charge "De façon contrôlée", seuls sont admissibles les numéros de référence 0x et 1x, qui spécifient quand la logique relative à la section correspondante est prise en charge Les zones E.-Stat. et A.-Stat. autorisent l’entrée de numéros de stations E/S correspondants, qui doivent être configurés. Si vous entrez un 0, on n’actionne aucune Entrée et Sortie pour ce numéro de segment. 124 33002205 12/2010 Configuration API Affectation des E/S Introduction Dans l'affectation des E/S vous configurez les stations d'E/S (Drops) avec les modules utilisés. Vous procédez ensuite à l'adressage E/S et au paramétrage des modules configurés. Affectation des stations d'E/S L'affectation du numéro des stations d'E/S peut être entreprise jusqu'au premier choix libre (de 2 à ...). Le premier numéro de station d'E/S est automatiquement reconnu comme la station d'E/S locale (Drop), et ne peut pas être édité. Configurer l'extension d'embase Le module 140 XBE 100 00 est nécessaire à l'extension d'embase. Vous pouvez ainsi monter une deuxième embase et vous obtenez 13 emplacements supplémentaires. Le module 140 XBE 100 00 se trouve sur les deux embases et nécessite une alimentation propre (alimentation secteur). La configuration de l'embase étendue se fait dans Concept dans la première station d'E/S sur les emplacements 2-1 à 2-16. Une description plus détaillée de la configuration d'une embase étendue avec le module 140 XBE 100 00 est présentée dans le chapitre Backplane Expander Config, page 140. ATTENTION L'affectation des emplacements du 140 XBE 100 00 n'est pas affichée dans le configurateur si bien que des doubles affectations peuvent se produire. Faites attention aux emplacements matériels du module et de l'alimentation secteur et n'affectez pas ces emplacements à d'autres modules de l'affectation d'E/S. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. NOTE : Le flux de données via une embase étendue est plus rapide que via un système à distance. 33002205 12/2010 125 Configuration API Affectation des zones d'E/S Lors de l'affectation des zones d'E/S, les références suivantes sont admises : Références 3x pour les modules d'entrée analogiques z z Références 4x pour les modules de sortie analogiques z Références 3x ou 1x pour les modules d'entrée ToR z Références 4x ou 0x pour les modules de sortie ToR z Références 3x ou 1x pour les modules expert (entrée) z Références 0x ou 4x pour les modules expert (sortie) NOTE : Une vérification de l'unicité de l'adressage a lieu, si bien qu'aucune double affectation d'adresse ne peut se produire au sein de la configuration. Paramétrage Les modules configurés peuvent être paramétrés séparément, afin de définir des configurations de variable selon le procédé. Liaison à d'autres systèmes de réseau En plus des stations d'E/S locales et décentralisées (Drops) il est possible d'établir avec des modules de connexion configurés des liaisons avec d'autres systèmes de réseau : z Ethernet z INTERBUS z Profibus DP Voir également le chapitre Configuration de différents systèmes de réseau, page 144 et Exemples de configuration, page 907. 126 33002205 12/2010 Configuration API Lire la configuration E/S API Les modules matériels sont exécutés en mode EN LIGNE avec l'API arrêté dans l'affectation d'E/S et peuvent être transférés comme suit : Etape 33002205 12/2010 Action 1 Ouvrez un projet. 2 Ouvrez la fenêtre Configuration automate. 3 Ouvrez avec la commande Type de l'automate la boîte de dialogue Sélection automate et sélectionnez le type de l'automate. 4 Connectez le PC avec l'automate (En ligne →Connecter...). 5 Ouvrez la boîte de dialogue Affectation des E/S (Configuration Automate → Affectation des E/S). 6 Ouvrez avec le bouton de commande Editer... la boîte de dialogue Station d'E/S Quantum locale. 7 Activez la case à cocher Lire configuration E/S API. Réaction : Le module concerné est identifié en couleur dans la colonne Détecté. 8 Cliquez deux fois sur les zones de texte en couleur de la colonne Détecté. Réaction : Les modules exécutés sont transférés dans la colonne Module. 9 Saisissez les zones d'adresse dans les colonnes correspondantes (Déb.entr., Fin E, Déb.sort., Fin S). 10 Après la convergence matérielle entre le PC et l'automate, vous pouvez passer à la configuration. 127 Configuration API 5.4 Configuration optionnelle Aperçu Dans cette section, vous trouverez la description de la configuration à réaliser en option. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 128 Page Configuration des informations ASCII. 129 Rendre disponibles d’autres fonctions dans le configurateur 130 Echange de données entre abonnés au réseau Modbus Plus 131 Nombre de mots vraiment utilisés lors de la réception de données (Peer Cop) 133 Protéger les données contre l’accès dans la mémoire de signal. 135 Paramétrage des interfaces 136 Options diverses 138 33002205 12/2010 Configuration API Configuration des informations ASCII. Introduction Pour la création des informations ASCII, on vous demande d’abord de spécifier un masque, qui contient le nombre des informations, la taille de la zone d’informations et les ports ASCII. Ensuite, vous pouvez créer les informations ASCII, qui sont alors traitées avec le langage de programmation Schéma à contacts. Condition Des informations ASCII ne sont possibles que dans la gamme Quantum, et ne peuvent être traitées qu’avec le langage de programmation LL984. Procédure Pour créer les informations ASCII, vous devez au préalable spécifier le masque : Etape 33002205 12/2010 Action 1 Ouvrez dans le menu principal Configuration automate →ASCII la boîte de dialogue Installation ASCII. 2 Indiquez dans la zone de texte Nombre total de messages une valeur de 1 999. 3 Indiquez dans la zonbe de texte Taille zone messages une valeur de 1 - 9999 octets. 4 Indiquez dans la zone de texte Ports ASCII une interface de 2 - 32. 5 Confirmez vos entrées avec le bouton de commande OK. Réaction : Les sélections sont enregistrées et la boîte de dialogue est fermée. 6 Ouvrez dans le menu principal Projet la boîte de dialogue Editeur de messages ASCII (avec la commande Messages ASCII...). 7 Créez ici les informations ASCII, voir à cet effet la description Editeur de messages ASCII, page 633. 129 Configuration API Rendre disponibles d’autres fonctions dans le configurateur Introduction Des fonctions supplémentaires peuvent être utilisées pour la configuration, si elles sont au préalable libérées ou installées dans le dialogue Sélectionner extensions. Activer des fonctions/boîtes de dialogue étendues. Par l’activation d’une case à cocher ou la définition de modules Ethernet, la commande de menu correspondante est validée dans la fenêtre Configuration automate →ASCII et peut être traitée. Les fonctions/boîtes de dialogue suivantes peuvent être activées : Protection des données z Diffusion des E/S z Redondance d'UC z Scrutateur E/S Ethernet z NOTE : Les fonctions disponibles dépendent de l’UC configurée. Voir à ce sujet l’aide en ligne « Sélectionner des extensions ». Spécifier les modules couplés Pour la liaison à d’autres systèmes de réseau, des modules couplés doivent être configurés. A cet effet, indiquez dans la zone de liste correspondante le nombre des modules, qui sont alors disponibles dans l’équipement E/S. Les systèmes suivants peuvent être configurés : z Ethernet TCP/IP z Ethernet Symax z Ethernet MMS z Profibus DP NOTE : Le nombre maximal des modules couplés dépend de l’UC configurée. Voir à ce sujet l’aide en ligne « Sélectionner des extensions ». 130 33002205 12/2010 Configuration API Echange de données entre abonnés au réseau Modbus Plus Introduction Lors d’une liaison Modbus Plus (MB+), vous pouvez configurer un API par la fonctionnalité de diffusion des E/S, d’une façon telle qu’un échange de données avec un autre API soit possible. En l’occurrence, la diffusion des E/S prend des données dans un domaine de référence à l’intérieur d’un API "source" et il place celles-ci par le réseau Modbus Plus (MB+) dans un domaine de référence déterminé d’un API "cible". Cette opération est exécutée de manière identique à chaque échange de jeton (rotation). Par le Processeur Peer on peut recevoir des données d’entrée d’autres abonnés au réseau local dans le programme de l’utilisateur. De même, des données de sortie du programme de l’utilisateur peuvent être envoyées à d’autres abonnés au réseau local. La Diffusion des E/S possède deux variantes pour l’échange de données : z échange de données global z échange de données spécifique Condition Cette commande Diffusion des E/S n'est disponible que si vous activez dans la boîte de dialogue Sélectionner des extensions la case à cocher Diffusion des E/S. Echange de données global Lors de l’échange de données global, les données envoyées par le API "source" actuel sont reçues par tous les appareils API "cibles" se trouvant dans le réseau Modbus Plus (MB+). Vous pouvez ainsi atteindre jusqu’à 64 appareils cibles, qui peuvent chacun recevoir les données à 8 adresses cibles de la Mémoire de signal. Voir aussi section "Nombre de mots vraiment utilisés lors de la réception de données (Peer Cop), page 133". 33002205 12/2010 131 Configuration API Echange de données spécifique Lors de l’échange de données spécifique, des données émanant d’un API "source" sélectionné sont envoyées à un API "cible" sélectionné dans le réseau Modbus Plus (MB+). A cet effet, entrez dans une table a l’abonné source et cible correspondant (1-64) l’adresse respective pour l’échange de données. L’adresse doit correspondre avec l’Adresse d’abonné MB+ au dos du module respectif. Cette configuration d’adresse est modifiable et doit être spécifiée avant l’équipement. (Voir aussi la description du matériel) Selon la configuration du matériel, vous sélectionnez l’abonné, qui doit être lu ou écrit. 132 33002205 12/2010 Configuration API Nombre de mots vraiment utilisés lors de la réception de données (Peer Cop) Introduction Le nombre de mots utilisés ne doit pas dépasser 500. Pour l’éviter, une formule simple permet de calculer le nombre de mots utilisés. Formule La formule permettant de calculer le nombre de mots utilisés est la suivante : Longueur + (index - 1) = nombre de mots Exemple La boîte de dialogue Peer Cop Réception globale comporte l’entrée suivante : Le processus suivant va se dérouler : 33002205 12/2010 Etape Action 1. L’abonné au bus 1 envoie 1 mot à la référence de début de sous-zone 400001, commençant au niveau de l’index 3. 2. Au niveau de l’index 3 (mot 3), la réception des données débute. (Les mots précédents interviennent dans le calcul.) Mot 1 à 500 133 Configuration API Etape Action 3. La sous-zone 1 a besoin de 3 mots au total. Formule : 1 + (3 - 1) = 3 4. L’abonné au bus 1 envoie 18 mots à la référence de début de sous-zone 400002, commençant au niveau de l’index 5. 5. Au niveau de l’index 5 (mot 5), la réception des données débute. (Les mots précédents interviennent dans le calcul.) Mot 1 à 500 6. La sous-zone 2 a besoin de 22 mots au total. Formule : 18 + (5 - 1) = 22 NOTE : Seul le plus grand nombre de mots utilisés par abonné au bus est toujours considéré. Dans notre exemple, 22 mots sont utilisés au maximum sur 500 autorisés. Pour plusieurs abonnés au bus, le plus grand nombre de mots utilisés par abonné au bus doit être ajouté. Par exemple : 134 33002205 12/2010 Configuration API Protéger les données contre l’accès dans la mémoire de signal. Introduction Les domaines d’adresse des sorties (bits de drapeau et mots de drapeau) peuvent être protégés si, dans la boîte de dialogue Protection en écriture de la mémoire de données vous spécifiez l’adresse, à partir de laquelle une écriture est possible. Toutes les adresses antérieures sont à écriture protégée. Condition La commande de menu Protection d'accès aux données n'est disponible que si vous activez dans le dialogue Sélectionner extensions la case à cocher Protection des données . Entrée de la protection d’accès Cette protection d’accès agit en liaison avec des accès aux données "normaux", qui se produisent en externe par une interface Modbus ou Modbus-Plus. Des accès à partir de l’appareil de programmation sont permis dans chaque cas, et évitent ce mécanisme de protection. 33002205 12/2010 135 Configuration API Paramétrage des interfaces Introduction Les interfaces suivantes doivent être paramétrées suivant leur utilisation dans Concept : z Interface ASCII z Interface Modbus Paramétrage de l'interface ASCII Pour une transmission d’informations ASCII vous pouvez, dans la boîte de dialogue Sélections de port ASCII spécifier les paramètres de communication série des interfaces de ports. NOTE : La boîte de dialogue Sélections de port ASCII n’est disponible que si vous spécifiez d’abord, dans la boîte de dialogue Setup ASCII le nombre de ports ASCII. Paramétrage de l'interface Modbus Pour un couplage Modbus vous pouvez, dans la boîte de dialogue Sélections de port Modbus indiquer les paramètres de communication série de l’interface du port au terminal, à une UC et aux modules NOM (Network Option Module). ATTENTION Ne pas opérer de modifications en ligne, cela entraînerait la fermeture de tous les éditeurs ! Les réglages des ports Modbus ne doivent pas être modifiés en mode En ligne, étant donné que tous les éditeurs sont fermés automatiquement. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. NOTE : Les réglages pour un couplage Modbus dans Concept n’ont d'effet que si la position de l’interrupteur à l’avant du module est dans la position la plus basse (mem). 136 33002205 12/2010 Configuration API Position de l’interrupteur sur le NOM NOTE : Lorsque l'interrupteur de droite se trouve dans la position la plus élevée et celui de gauche est sur mem, le mode routeur est désactivé. Cela est valable à partir de la version 2.20 du micrologiciel. En fait, la liaison réseau entre Modbus et Modbus Plus est supprimée. Paramétrage de l’interface lors de la liaison réseau entre Modbus et Modbus Plus Vous pouvez établir une liaison réseau entre des participants Modbus et Modbus Plus dans la boîte de dialogue Sélections de port Modbus en activant la case à cocher Mode Bridge. NOTE : Les réglages n’ont cependant d'effet que si l’interrupteur à l’avant du module est en position médiane (RTU). 33002205 12/2010 137 Configuration API Options diverses Introduction Dans la boîte de dialogue Divers vous pouvez configurer diverses options. Sortie pile z z Registre base de temps z Indication de temps pour MMI-Applications (TOD) z Autoriser bobines doubles z Chien de garde (ms) z Tranche de temps des modifications en ligne (ms) Sortie pile Vous pouvez indiquer une adresse d’un bit de sortie/mémento, qui affiche l’état de la pile. L’attribution sert à la surveillance de la pile. On peut ainsi procéder au remplacement en temps utile d’une pile faible, de sorte que l’on empêche la perte de données. Registre base de temps Le contenu du registre de temps est incrémenté toutes les 10 ms et il a une valeur libre entre 0000 et FFFF Hex. Temps pour applications MMI (Date/Heure) Cette indication de temps n’est prévue que pour une application MMI. Huit registres sont réservés pour le réglage de l’horloge. L’indication TOD (Time of Day-Heure du Jour) se fait au format américain. 4xxxx Registre de commande Bit 1 (MSB) Bit 2 Bit 3 Bit 4 138 4xxxx+1 Jour de la semaine (1 à 7) 4xxxx+2 Mois (1 à 12) 4xxxx+3 Jour (1 à 31) 4xxxx+4 Année (00 - 99) 4xxxx+5 Heures (0 à 23) 4xxxx+6 Minutes (0 à 59) 4xxxx+7 Secondes (0 à 59) 1 = Paramétrage des valeurs d’horloge 1 = Lecture valeurs d’horloge 1 = Bit de fin 1 = Bit d’erreur 33002205 12/2010 Configuration API Autoriser bobines doubles Vous pouvez assigner plusieurs sorties à un bit de sortie/mémento. Pointez à cet effet la case à cocher, et indiquez dans la zone de texte Première adresse de bobine : la première adresse, à laquelle plusieurs sorties peuvent être assignées. NOTE : Cette fonction n’est pas disponible pour la gamme API Momentum. Chien de garde (ms*10) : Vous pouvez spécifier une surveillance par impulsions du programme utilisateur, en entrant un nombre compris entre 2 et 255 (ms). Dès que les impulsions de comptage sont absentes pour un temps plus long que le temps défini, un message d’erreur apparaît. Tranche de temps des modifications en ligne (ms) Vous pouvez spécifier une surveillance temporelle de la communication entre les abonnés, en entrant un nombre compris entre 3 et 30 (ms). Dès que la communication dure plus longtemps que le temps prédéterminé, un message d’erreur apparaît. 33002205 12/2010 139 Configuration API 5.5 Backplane Expander Config Introduction Ce chapitre décrit la fonction et la configuration de l’extenseur de processeur dorsal (backplane expander). Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 140 Page Généralités relatives à l’extenseur d’arrière-plan 141 Modifier la répartition E/S 142 Traitement des erreurs 143 33002205 12/2010 Configuration API Généralités relatives à l’extenseur d’arrière-plan Introduction L’extenseur d’arrière-plan du Quantum fournit une extension de l’arrière-plan unique vers un drop local ou un drop RIO par le module 140 XBE 100 00. Description de la fonction Le module relie deux arrière-plans (primaire et secondaire) du Quantum à l’aide d’un câble personnalisé et gère toutes les communications de données entre les arrièreplans. Chaque arrière-plan requiert un module 140XBE10000 qui occupe un emplacement unique et sa propre alimentation. Procédure lors d’une erreur L’extenseur d’arrière-plan est conçu de sorte que, lorsqu’il n’est pas installé ou connecté correctement, il n’effectuera pas la fonctionnalité du rack primaire. C’est uniquement lorsque l’extenseur d’arrière-plan est installé et connecté correctement que les deux racks peuvent communiquer et être contrôlés par le régulateur de drop CPU ou RIO primaire. 33002205 12/2010 141 Configuration API Modifier la répartition E/S Exigences Actuellement, seuls les régulateurs Quantum gèrent l’extenseur d’arrière-plan. Le rack primaire contient le régulateur de drop CPU ou RIO et peut configurer tous les types de modules supplémentaires jusqu’à la limitation de l’adresse de l’emplacement physique. Tous les modules E/S peuvent également être ajoutés au rack secondaire. Cependant, les modules d’option, tels que les NOM, NOE et CHS doivent se trouver dans le rack primaire. Pour placer un module dans le rack approprié, il est nécessaire d’ajouter un attribut supplémentaire dans la base de données du module E/S afin de spécifier que le module est uniquement disponible pour le rack primaire, secondaire ou pour les deux. Configuration dans la répartition E/S Le drop local du Quantum ou le drop RIO existants gèrent uniquement un rack ayant jusqu’à seize emplacements. Avec l’extenseur d’arrière-plan, il est étendu comme si le drop gèrait deux racks, disposant chacun de seize emplacements. En cliquant sur le bouton ... de la colonne Module, tous les modules disponibles pour le rack sur lequel vous avez cliqué (primaire ou secondaire) seront affichés dans la boîte de dialogue de la sélection du module qui peut être sélectionné et attribué à l’emplacement courant. Chaque rack requiert un module 140 XBE 100 00 afin que l’extenseur d’arrière-plan puisse fonctionner correctement. NOTE : Le module 140 XBE 100 00 n’a pas un code de personnalité et il ne peut, par conséquent, être reconnu par Concept. Le module ressemble à un emplacement vide dans la répartition E/S de Concept. Si un module est configuré dans le rack secondaire, l’utilisateur doit s’assurer qu’il y a un emplacement dans chaque rack réservé au module 140 XBE 100 00 et que tout le matériel est correctement connecté. 142 33002205 12/2010 Configuration API Traitement des erreurs Introduction Les procédés validés pour le rack primaire s’appliquent également au rack secondaire, tels que les références en double, les références d’entrée ou de sortie manquantes… En plus de la validation régulière existante, le cop trafic effectue des contrôles spéciaux pour l’extenseur d’arrière-plan. Aucun emplacement réservé pour 140 XBE 1000 00 Si un module est présent dans le rack secondaire et qu’il n’y a pas d’emplacement vide dans aucun des deux racks lorsque l’utilisateur essaie de sortir de la boîte de dialogue de l’éditeur de racks, un message d’erreur s’affiche. "Il doit il y avoir un emplacement vide réservé au module 140 XBE 100 00 dans chaque rack afin que l’extenseur d’arrière-plan puisse fonctionner." La boîte de dialogue de l’éditeur de racks ne sera alors pas fermée. Module spécial dans le rack secondaire Pour éviter qu’un module spécial (tel que NOE, CHS…) soit ajouté au rack secondaire, la boîte de dialogue de l’éditeur de racks ne permet pas de couper/copier ces modules tête. Il contrôlera également les personnalités du module avant que l’utilisateur essaie d’effectuer une opération copier. Si un module non supporté du rack secondaire est présent, un message d’erreur s’affiche : " Le tampon contient des modules qui ne peuvent pas rester dans le rack secondaire." L’opération copier est arrêtée. 33002205 12/2010 143 Configuration API 5.6 Configuration de différents systèmes de réseau Aperçu Dans cette section, vous trouverez la description de la configuration de différents systèmes de réseau. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 144 Page Configurer système INTERBUS 145 Configurer le système DP Profibus 146 Configurer Ethernet 148 Extension RTU 150 Scanneur E/S / Ethernet 151 Comment utiliser le scrutateur E/S / Ethernet 156 33002205 12/2010 Configuration API Configurer système INTERBUS Introduction La configuration du système INTERBUS peut se faire à l’intérieur des familles API Quantum et Atrium. Configuration de INTERBUSavec Quantum Dans la famille Quantum, le couplage au Fernbus se fait dans une station E/S Quantum (Drop). A cet effet, le maître INTERBUS NOA 611 00 doit être configuré et paramétré dans CMD-Tool (Configuration Monitoring and Diagnostic Tool). A cet effet, voir également le Exemple de configuration 4 (voir page 937). Configuration de INTERBUS avec Atrium Dans la famille Atrium, le couplage au Fernbus se fait par les blocs maîtres 180 CCO 121 01, 180 CCO 241 01 ou 180 CCO 241 11. Le maître INTERBUS CRP 660 0x est inséré automatiquement dans la station E/S locale (Drop). Les participants de la station E/S INTERBUS (Drop) sont configurés dans CMD-Tool (Configuration Monitoring and Diagnostic Tool), enregistrés comme fichier *.SVC et importés vers Concept. Après l’import dans le Equipement E/S la configuration peut être modifiée ultérieurement dans Concept. A cet effet, voir également le Exemple de configuration 9 (voir page 980). 33002205 12/2010 145 Configuration API Configurer le système DP Profibus Introduction La configuration du système DP Profibus peut être effectuée avec les gammes d’automates Quantum et Atrium. Configuration de DP Profibus avec Quantum Dans la gamme Quantum, le couplage au système DP Profibus se fait dans une station E/S (Drop). Pour ce faire, vous devez tout d'abord indiquer le nombre de contrôleurs de bus (CRP-811-00) utilisés dans la boîte de dialogue Sélectionner extensions. Les modules apparaissent alors dans la zone de liste de la boîte de dialogue Sélection de modules d’E/S et peuvent être insérés dans l’Affectation des E/S. La configuration des abonnés de DP Profibus s'effectue avec l’outil de configuration SyCon, elle est enregistrée dans un fichier *.CNF, puis transmise directement vers Concept. Cependant, la configuration (*.CNF) peut également être importée vers Concept ultérieurement. ATTENTION LES ADRESSES PROFIBUS DP PEUVENT ÊTRE ÉCRASÉES Soyez attentif lors de la configuration de Profibus DP, car l'adressage sans espace de deux modules E/S 8 bits formant une limite de 16 bits n'est permis que lorsque ces deux modules 8 bits appartiennent au même maître DP Profibus. Si vous ne respectez pas cette consigne, les bits d'entrée d'un des modules (par ex. celui du maître Profibus DP A) pourraient être remplacés par ceux de l'autre module (par ex. celui du maître Profibus DP B). Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. 146 33002205 12/2010 Configuration API Import de la configuration DP Profibus Pour importer la configuration (*.CNF) vers Concept, procédez comme suit : Etape Action 1 Ouvrez la boîte de dialogue Affectation des E/S à partir de la fenêtre Configuration Automate. 2 Sélectionnez la station E/S et ouvrez la boîte de dialogue Station d'E/S Quantum locale en cliquant sur le bouton de commande Editer..... 3 Double-cliquez sur la zone de texte ... dans la colonne Module. Effet : la boîte de dialogue Sélection de modules d'E/S s'ouvre. 4 Sélectionnez le module CRP-811-00 dans la colonne Adaptateur I/O, et appuyez sur le bouton de commande OK. Effet : le module CRP-811-00 est ajouté à la liste des affectations d'E/S. 5 Sélectionnez la ligne du contrôleur de bus équipé (CRP-811-00) dans la boîte de dialogue Station d'E/S Quantum locale, et cliquez sur le bouton de commande Paramètres. Effet : la boîte de dialogue CRP-811-00 (DP Profibus) s'ouvre. 6 Le bouton de commande Importer... permet d'ouvrir la fenêtre Sélection fichier source. 7 Indiquez le chemin d'accès du fichier CNF à importer, et cliquez sur le bouton de commande OK. Effet : la configuration DP Profibus est insérée dans la liste d'affectation des E/S de Concept. Remarque : après l'insertion des abonnés DP Profibus dans Concept, les plages de référence de tous les modules et les données de diagnostic doivent être éditées. Exemple de configuration Vous trouverez un exemple de configuration sous Exemple 11 (voir page 951). 33002205 12/2010 147 Configuration API Configurer Ethernet Introduction Il est possible de configurer un système de bus Ethernet au sein des gammes d’automate suivantes. z Quantum z Atrium z Momentum Condition Pour le couplage du système de bus Ethernet, une carte de réseau PCI doit être installée dans l'appareil de programmation. Ensuite, l'interface Ethernet doit être paramétré et les pilotes fournis sur CD doivent être installés (Configurer Ethernet, page 1000), . Après avoir affiché le bloc Ethernet dans la gestion de blocs centrale, vous pouvez vous faire attribuer par votre administrateur de réseau l’adresse Internet, le masque Subnet, la passerelle et le mode de transfert. Configuration avec Quantum Vous procédez comme suit pour la configuration Ethernet dans Concept : Etape 148 Action 1 Ouvrez dans la fenêtre Configuration automate la boîte de dialogue Sélectionner des extensions. 2 Indiquez dans les zones de texte le nombre des blocs Ethernet (NOE). Réaction : Les modules apparaissent alors dans la zone de liste du dialogue Sélection de modules d’E/S et peuvent être insérés dans Affectation des E/S. 3 Ouvrez, dans la fenêtre Configuration automate le dialogue Scrutateur E/S Ethernet, dans lequel vous entrez les informations de l’administrateur de réseau (adresse Internet, masque Subnet, passerelle, mode de transfert). 4 Dans le menu principal En ligne ouvrez la boîte de dialogue Connecter à l'API (Commande Connecter...). 5 Dans la zone de liste Type de protocole sélectionnez l’option TCP/IP, et entrez dans la zone de texte Adresse IP ou nom d’hôte DNS l’adresse de la carte TCP/IP-Karte. 6 Après la programmation, ouvrez dans le menu principal En ligne la boîte de dialogue Charger dans l’automate (Commande Chargement...), et pressez le bouton de commande Charger. Réaction : Il apparaît un message, demandant si vous souhaitez démarrer la API. 7 Avant que vous confirmiez le message avec le bouton de commande Oui l’affichage "gauche" doit apparaître sur le bloc Ethernet. 33002205 12/2010 Configuration API Suppression de défaut Ne démarrez la API qu’après la configuration, lorsque l’affichage "gauche" apparaît sur le bloc Ethernet. Si ce n’est pas le cas, retirez le bloc Ethernet hors de l’embase centrale et enfichez-le de nouveau. Si l’affichage "gauche" n’apparaît toujours pas, il doit y avoir un grave défaut. Blocs Ethernet disponibles Le nombre maximal des blocs NOE dépend de l’UC configurée (Sélection dans la boîte de dialogue Sélection automate) : UC Nombre des modules NOE 113 02/S/X 0-2 113 03/S/X 0-2 213 04/S/X 0-2 424 0x/X 0-6 434 12 0-6 534 14 0-6 Configuration avec Momentum Une description de la configuration du système de bus Ethernet avec Momentum est donnée à la section Abschnitt Exemple Momentum - Système de bus Ethernet, page 999. 33002205 12/2010 149 Configuration API Extension RTU Conditions Pour que la commande de menu RTU soit disponible, vous devez sélection une UC Compact avec le langage de programmation LL984 dans le dialogue Sélection automate. CTS-/RTS-Delay Cette dialogue vous permet de régler le temps de retard pour CTS ou le RTS, indépendamment du port Comm 1 de votre API Compact. Cette caractéristique permet la communication par modem avec des radios demandant des trames de longue durée. La plage du temps de retard va de 0 à 500 ms, par unité de 10 ms. Entrez le temps de retard requis. Secured Data Area (SDA) Cette caractéristique vous permet de configurer, dans la RAM, une zone protégée contre la surimpression. Secured Data Area (SDA) est un module de la RAM de l’API Compact, configuré séparément comme espace de données 6x. Il n'est possible d'écrire sur le module SDA qu'à l'aide de fonctions spécifiques qui exigent une mémorisation protégée des données. Les commandes générales de Modbus, les fonctions intégrées, ne peuvent PAS écrire sur le module SDA. La fonction Lecture de Modbus (fonction 20) peut lire dans le module SDA, la fonction Ecriture de Modbus (fonction 21) ne peut pas écrire sur le module SDA. La taille du module SDA va de 0 à 128 K mots, en blocs d'une taille respective de 1 K mot seulement. Entrez la taille requise. Référez-vous au manuel utilisateur correspondant, pour les fonctions spécifiques pour la taille requise du module SDA. Pour l'écoulement de gaz, par exemple, référez-vous au Guide de l'utilisateur « Lancement du bloc fonction chargeable Associates Gas Flow » (890 USE 137 00). Protection de l'API par mot de passe Pour la description de la protection par mot de passe, référez-vous à la section Paramétrer mot de passe API, page 682. 150 33002205 12/2010 Configuration API Scanneur E/S / Ethernet Introduction Cette fonction est disponible pour les modules Quantum suivants : z 140-NOE-211-x0 z 140-NOE-251-x0 z 140-NOE-771-xx Cette fonction est disponible pour les modules Momentum suivants : z 171-CBB-970-30 z 171-CCC-960-20 z 171-CCC-980-20 z 171-CCC-980-30 z 171-CCC-960-30 Les paramètres d'adresse Ethernet et I/O scanning peuvent être modifiés à l'aide de la boîte de dialogue Scanneur E/S / Ethernet. Dans la fenêtre Configuration automate, sélectionnez Scanneur E/S / Ethernet. Cette option de menu n'est disponible que si vous avez sélectionné un adaptateur de processeur M1 avec un port Ethernet, ou si vous disposez de modules Quantum TCP/IP Ethernet (NOE) comme indiqué ci-dessus. Cette section décrit comment configurer le port Ethernet, y compris l'adresse IP, d'autres paramètres d'adresse et I/O scanning. Options de configuration Ethernet L'écran du scanneur E/S / Ethernet offre trois options pour la configuration d'un adaptateur de processeur M1 : Options de configuration Signification Spécifier l'adresse IP Il s'agit de l'option par défaut. Elle vous permet de saisir l'adresse IP, la passerelle et le masque de sous-réseau dans les zones de texte qui se trouvent en haut à droite de l'écran. Utiliser le serveur Bootp Cliquez sur cette case d'option si vous souhaitez que les paramètres d'adresse soient attribués par le serveur Bootp. Si vous sélectionnez cette option, les zones de texte des paramètres d'adresse qui se trouvent en haut à droite de l'écran sont grisées. Elles n'afficheront pas les paramètres d'adresse actuels. Désactiver Ethernet 33002205 12/2010 Cliquez sur cette case d'option pour désactiver le port Ethernet. Cette opération diminuera le temps de scrutation de l'adaptateur du processeur. 151 Configuration API Définir les paramètres d'adresse Ethernet Si vous voulez spécifier l'adresse IP, vous devez remplir les quatre zones de texte qui se trouvent en haut à droite de la boîte de dialogue : Paramètres Signification Adresse Internet Saisissez une adresse IP valide dans la zone de texte Adresse Internet (par exemple : 1.0.0.1). ATTENTION Adresses en double potentielles Demandez une adresse IP valide à votre administrateur système pour éviter des adresses en double. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. Multiplexeur Consultez votre administrateur système pour déterminer la passerelle appropriée. Saisissez-la dans la zone de texte Multiplexeur. Masque Subnet Consultez votre administrateur système pour obtenir le masque de sous-réseau approprié. Saisissez-le dans la zone de texte Masque Subnet (par exemple) : 255.255.255.0). Type de trame Pour NOE, il existe un champ supplémentaire pour le type de trame. Vos deux possibilités de sélection sont les suivantes : ETHERNET II ou IEEE 802.3. NOTE : le fait changer le masque de sous-réseau ou le type de trame et de télécharger l'application par l'intermédiaire du module NOE empêche l'exécution du scanneur E/S après le démarrage de l'automate. Pour exécuter le scanneur E/S, déconnectez Concept. 152 33002205 12/2010 Configuration API Configuration des E/S Une fois que les paramètres d'adresse du port Ethernet ont été définis, vous pouvez attribuer des paramètres pour I/O scanning. La zone de texteModule Maître (emplacement) contient le type de module que vous avez configuré pour la communication Ethernet. En cas d'utilisation de l'automate Ethernet de Momentum, l'emplacement sera toujours le numéro 1, et le type de module configuré est affiché dans la boîte de dialogue des variables. Si vous configurez un module NOE dans un rack standard, le numéro d'emplacement attribué dans l'affectation des E/S sera affiché avec le type de module. Cette zone de test comportera la mention « Non affectȆª, jusqu'à ce que l'affectation des E/S soit terminée. En cas de configuration de plusieurs modules NOE, les paramètres de scrutation des E/S se rapportent à l'unité mentionnée dans la boîte de dialogue, à partir de laquelle vous pouvez sélectionner une unité supplémentaire en activant la liste déroulante. La zone de texte Bloc santé (1x/3x) est disponible uniquement si vous utilisez le module 140-NOE-771-xx. Le timeout défaut est utilisé pour définir le bit de fonctionnement. Si la réponse arrive avant la fin du timeout défaut, le bit de fonctionnement est réglé ; sinon il est supprimé. Si le timeout défaut est zéro, le bit de fonctionnement est réglé sur VRAI dès que la communication a été établie, et il n'est jamais effacé. NOTE : pour configurer le bloc santé, consultez le guide utilisateur Quantum NOE 771 xx Modules Ethernet, ... 840 USE 116 01. La zone de texte Bloc de diagnostic (64 mots, registres 3x ou 4x) est disponible uniquement si vous utilisez le module Momentum Ethernet (M1E). Elle permet de définir le registre de début d'un nombre de bits utilisés aux fins de diagnostic. Le module peut être spécifié en registres 3x ou 4x. Pour plus d'informations, consultez le guide utilisateur Modules Ethernet NOE 771 xx , n° de modèle 840 USE 116 00. Le Bloc de commande de l'équipement est disponible uniquement si vous utilisez un module NOE 771-01(11) doté du micrologiciel Rév. 3.5 et versions ultérieures. Cochez cette case pour activer ou désactiver l'entrée du scanneur E/S. Chaque entrée du scanneur E/S peut être activée ou désactivée en réglant le bit associé dans le bloc de contrôle. z Si le bit = 1, alors I/O scanning s'arrête et le bit de fonctionnement correspondant = 0 (le socket est fermé) z Si le bit = 0, alors I/O scanning démarre et le bit de fonctionnement correspondant = 1. Pour plus d'informations, consultez le Guide utilisateur Quantum NOE 771 xx, modules Ethernet, au chapitre Activation/désactivation du scrutateur d'E/S. 33002205 12/2010 153 Configuration API Tableau de configuration du scanneur E/S Colonne Description Adresse IP esclave Saisissez l'adresse IP du module esclave dans la colonne (par exemple : 128.7.32.54). Cette adresse sera enregistrée dans un menu déroulant, et vous pourrez donc l'utiliser sur une autre ligne en cliquant sur la flèche de direction vers le bas et en la sélectionnant. ID unité Si le module esclave est un dispositif d'E/S connecté au module esclave spécifié, utilisez la colonne d'lD d'unité pour indiquer le numéro du dispositif. L'ID unité est utilisé avec le pont de Modbus Plus à Ethernet pour l'acheminement vers les réseaux Modbus Plus. Timeout de validité Utilisez cette colonne pour spécifier la durée en ms de tentative de transaction avant le timeout. Les valeurs autorisées sont comprises dans la plage de 0 à 50 000 ms (1 min.). Pour le timeout, saisissez 0. Taux de rép. Utilisez cette colonne pour spécifier la fréquence de répétition de la transaction en ms. Les valeurs autorisées sont comprises dans la plage de 0 à 50 000 ms (1 min.). NOTE : pour les anciens modules NOE, la fréquence de répétition doit être 0 ou un multiple de 16 ms. Par anciens modules NOE, on entend les versions NOE 771 00 et les versions NOE 771 01/NOE 771 11 antérieures à la révision 4.3. AVERTISSEMENT Fonctionnement imprévisible Les valeurs de fréquence de répétition des modules NOE dotés du micrologiciel rév. 4.3 et versions ultérieures doivent être 0 ms ou un multiple d'un intervalle compris entre 5 ms (minimum) et 200 ms (maximum). La fréquence de répétition cyclique minimale autorisée est 5 ms. Si vous configurez plusieurs esclaves et souhaitez utiliser différentes fréquences de répétition, vous devez vous assurer que les fréquences de répétition ont le même intervalle. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Exemples : Si un taux de répétition du scanneur E/S est réglé sur 6 ms, toutes les autres valeurs de fréquence de répétition doivent être un multiple de 6 (exemples : 6 ms, 12 ms, 18 ms, 24 ms, etc.). z Les fréquences de répétition 24 ms, 30 ms, 36 ms et 42 ms sont également autorisées, car leur intervalle est 6 ms. z Les fréquences de répétition 0 ms, 35 ms, 42 ms, 70 ms et 14 ms sont autorisées, car ce sont tous des multiples 7 ms. 154 33002205 12/2010 Configuration API z z z Les fréquences de répétition 24 ms, 35 ms et 19 ms ne sont pas autorisées, car ils n'ont pas le même intervalle. Les fréquences de répétition 20 ms, 100 ms et 300 ms ne sont pas valides, car la limite maximale a été dépassée. Les fréquences de répétition 0 ms, 3 ms et 30 ms ne sont pas valides, car la limite minimale a été dépassée. Tableau de configuration du scanneur E/S (suite) Colonne Description Lecture maître réf. Utilisez la fonction de lecture pour lire des données de l'esclave vers le maître. Cette colonne indique la première adresse à lire (par exemple : 400001). Lecture esclave réf. Utilisez la fonction de lecture pour transférer des données de l'esclave au maître. Cette colonne indique la première adresse à lire, jusqu'à 125 (par exemple : 400050). Longueur de lecture Utilisez la fonction de lecture pour lire des données de l'esclave vers le maître. Cette colonne indique le nombre de registres à lire (par exemple : 20). Ecriture maître réf. Utilisez la fonction d'écriture pour transférer des données du maître à l'esclave. Cette colonne indique la première adresse à écrire (par exemple : 400100). Ecriture esclave réf. Utilisez la fonction d'écriture pour transférer des données du maître à l'esclave. Cette colonne indique la première adresse à écrire, jusqu'à 100 (par exemple : 400040). Longueur d'écriture Utilisez la fonction d'écriture pour transférer des données du maître à l'esclave. Cette colonne indique le nombre de registres à écrire (par exemple : 40). Description Vous pouvez saisir une brève description (jusqu'à 32 caractères) de la transaction dans cette colonne. NOTE : vous pouvez insérer des commandes de lecture et d'écriture sur la même ligne. Utilisation Pour plus d'informations sur l'utilisation de la boîte de dialogue Scanneur E/S / Ethernet, consultez la section Comment utiliser le scrutateur E/S / Ethernet, page 156. 33002205 12/2010 155 Configuration API Comment utiliser le scrutateur E/S / Ethernet Introduction Cette section décrit comment procéder à la configuration de votre scrutateur d'E/S Ethernet à l'aide des boutons Copier, Couper, Insérer, Effacer et Remplir vers le bas. Copier et insérer Pour gagner du temps lors de la saisie de commandes similaires de lecture et d'écriture, vous pouvez copier et insérer des lignes entières dans votre configuration : Etape Action 1 Sélectionnez la ligne que vous voulez copier en cliquant sur le numéro de la ligne à l'extrême gauche. 2 Cliquez sur le bouton Copier au-dessus de la liste de configuration d'E/S. 3 Sélectionnez la ligne sur laquelle vous voulez insérer les données (en cliquant sur le numéro de la ligne à l'extrême gauche). 4 Cliquez sur le bouton Insérer. Couper et insérer Pour déplacer une ligne dans votre liste de configuration, procédez comme suit : Etape 156 Action 1 Sélectionnez la ligne que vous voulez déplacer en cliquant sur le numéro de la ligne à l'extrême gauche. 2 Cliquez sur le bouton Couper au-dessus de la liste de configuration d'E/S. 3 Sélectionnez la ligne sur laquelle vous voulez insérer les données (en cliquant sur le numéro de la ligne à l'extrême gauche). 4 Cliquez sur le bouton Insérer. Remarque : Des lignes multiples peuvent être coupées/copiées et insérées. Le nombre de lignes effectivement insérées est limité par le nombre de lignes sélectionnées. Par exemple, si vous copiez 10 lignes dans le presse-papiers et sélectionnez une zone de 6 lignes à insérer, seules les six premières lignes contenues dans le presse-papiers seront insérées. 33002205 12/2010 Configuration API Supprimer Pour effacer une ligne dans la liste de configuration, procédez comme suit : Etape Action 1 Sélectionnez la ligne que vous voulez effacer en cliquant sur le numéro de la ligne à l'extrême gauche. 2 Cliquez sur le bouton Effacer au-dessus de la liste de configuration d'E/S. Remarque : Vous effacez plusieurs lignes. Remplir vers le bas Pour copier une partie de toute ligne sur la ligne suivante ou sur une série de lignes contiguës, utilisez le bouton Remplir vers le bas, en suivant les étapes indiquées dans le tableau : Etape Action 1 Utilisez votre souris pour sélectionner les données que vous voulez copier et les cellules dans lesquelles vous souhaitez les copier. Remarque : Vous devez sélectionner un bloc de cellules contiguës, les données à copier se trouvant sur la première ligne. Vous ne pouvez pas sélectionner deux blocs séparés. 2 Cliquez sur le bouton Remplir vers le bas. Résultat : Les données de la première ligne sont copiées dans les cellules sélectionnées dans le bloc défini. Modules Ethernet NOE Dans cette boîte de dialogue, vous pouvez paramétrer les modules Ethernet NOE 140 NOE 211 x0,140 NOE 251 x0 et 140 NOE 771 10 (dans la zone Configuration Ethernet). Dans cette boîte de dialogue, vous pouvez paramétrer le module 140 NOE 771 00 et réaliser son adressage (dans la zone Configuration scrutateur d'E/S). Vous recevez une description de la fonction pour les modules suivants : z 140 NOE 211 x0 z 140 NOE 251 x0 z 140 NOE 771 xx 33002205 12/2010 157 Configuration API Modules Momentum Ethernet Dans cette boîte de dialogue, vous pouvez réaliser l'adressage des modules Momentum Ethernet (dans la zone Configuration scrutateur d'E/S). Vous recevez une description de la fonction pour les modules suivants : 171 CBB 970 30 CEI z 171 CBB 970 30 984 z 171 CCC 980 30 CEI z 171 CCC 980 30 984 z 171 CCC 980 20 984 z 171 CCC 960 30 CEI z 171 CCC 960 30 984 z 171 CCC 960 20 984 z 158 33002205 12/2010 Configuration API 5.7 Paramètres de sécurité Quantum dans le configurateur Paramètres de sécurité Quantum Introduction Avec la configuration des UC Quantum 140 434 12A et 140 534 14A/B, vous pouvez définir certains paramètres de sécurité qui apparaissent dans le fichier journal *.LOG. Cela permet de garantir une documentation sûre des processus contenant les enregistrements de fins de session automatiques, d'accès en écriture depuis les NOE/NOM à l'API et le nombre d'utilisateurs restreints (12 au maximum) pour l'accès réseau en écriture. Les paramètres de sécurité sont définis dans la boîte de dialogue Configurer → Extension de sécurité. Boîte de dialogue Paramètres de sécurité Quantum : Condition Les paramètres de sécurité ne sont disponibles que si les conditions suivantes sont remplies : z Droits de superviseur (voir dans Concept sous Aide →A propos... →Utilisateur actuel :) z uniquement pour les UC 140 UC 434 12A et 140 UC 534 14A/B 33002205 12/2010 159 Configuration API Fin de session automatique La Fin de session automatique n'est disponible que pour Quantum CPU 434 12A et 534 14 A/B. La fin de session automatique permet de fermer la session utilisateur en l'absence d'activité sur cette liaison pendant une durée prédéfinie (max. 90 minutes). Il peut s'agir par ex. de l'absence d'accès en lecture/écriture à l'API de la part du PC. La valeur Jamais bloque la fonction, c.-à-d. que la fin de session n'est pas automatique. NOTE : La fin de session automatique ne fonctionne pas lorsque : z z le PC (Concept) n'est pas relié à l'API via le port Modbus Plus local de l'UC mais via un module NOE/NOM et également lorsque sur ce même module NOE/NOM, un autre équipement qui accède en lecture à l'API est branché. Bloque tous les accès en écriture depuis les NOE/NOM Avec le blocage de toutes les écritures depuis les modules z z z z z z z z z z z z z z z z 140 NBE 210 00 (Code d'ID 0x0406) 140 NBE 250 00 (Code d'ID 0x0407) 140 NOE 211 00 (Code d'ID 0x0404) 140 NOE 251 00 (Code d'ID 0x0405) 140 NOE 311 00 (Code d'ID 0x0408) 140 NOE 351 00 (Code d'ID 0x0409) 140 NOE 511 00 (Code d'ID 0x040A) 140 NOE 551 00 (Code d'ID 0x040B) 140 NOE 771 00 (Code d'ID 0x040D) 140 NOE 771 01 (Code d'ID 0x0422) 140 NOE 771 10 (Code d'ID 0x040E) 140 NOE 771 11 (Code d'ID 0x0423) 140 NOM 211 00 (Code d'ID 0x010C) 140 NOM 212 00 (Code d'ID 0x010C) 140 NOM 252 00 (Code d'ID 0x010C) 140 NWM 100 00 (Code d'ID 0x0420) sur l'API, l'UC ignore toutes les commandes d'écriture et les refuse en retournant un message d'erreur. NOTE : Si la case Bloque tous les accès en écriture depuis les NOE/NOM est cochée, les opérations de lecture du MSTR ne sont pas exécutées. (L'état d'erreur du module MSTR n'indique pourtant pas d'erreur !) 160 33002205 12/2010 Configuration API Bloque tous les accès en écriture depuis le port Modbus de l'UC Pour bloquer l'accès en écriture des ports Modbus de l'UC Quantum, activez la case à cocher Bloque tous les accès en écriture depuis le port Modbus de l'UC. Accès en écriture limité pour réseau Modbus Plus Pour le réseau Modbus Plus, il est possible de définir un nombre limité d'abonnés ayant accès à l'API. Un total maximum de 12 abonnés est autorisé. L'adresse d'abonné du PC est inscrite automatiquement dans la liste des abonnés et ne peut pas être supprimée. Boîte de dialogue Ajouter adresse Modbus Plus (cliquer sur Ajouter...) 33002205 12/2010 161 Configuration API Exemples de chemins Modbus Plus Réseau Modbus Plus : L'adresse doit être saisie du point de vue de l'API prêt à recevoir au niveau de l'émetteur et débute de ce fait par la première passerelle ou l'API suivant. Le fait que l'abonné émetteur et l'abonné récepteur fassent partie du même segment Modbus Plus (pas de ponts/passerelles) ou non (séparés par un ou plusieurs ponts/passerelles) joue un rôle déterminant. Exemple 1 : Concept (adresse 1 MB+) écrit à l'API 6. Il n'y a ni pont ni passerelle entre les deux abonnés. L'adresse entrée est la suivante : 1 ou 1.0.0.0.0 Exemple 2 : L'API 2 (adresse 2 MB+) écrit à l'API 6. Les deux abonnés sont séparés par une passerelle (adresse 3 MB+). L'adresse entrée est la suivante : 3.2.0.0.0 NOTE : Seule la première adresse Modbus Plus peut être reconnue par l'API. Ainsi, lorsque cette première adresse est un pont ou une passerelle, tous les appareils du réseau situés derrière ce pont ou cette passerelle ont alors un accès en écriture à l'API. Dans notre exemple, l'API 7 pourrait donc également écrire à l'API 6 (adresse : 3.7.0.0.0). 162 33002205 12/2010 Mémoire de l’API et optimisation 33002205 12/2010 Structure schématique de la mémoire de l’API et optmisation de la mémoire. 6 Aperçu Ce chapitre décrit la structure schématique de la mémoire de l’API et l’optimisation de cette mémoire pour les différentes familles d’API. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 6.1 33002205 12/2010 Sujet Structure schématique de la mémoire de l’API Page 164 6.2 Remarques générales sur l’optimisation de la mémoire 165 6.3 Optimiser la mémoire pour l'UC X13 0X et 424 02 Quantum 170 6.4 Optimisation de la mémoire pour l'UC 434 12(A) et 534 14(A/B) Quantum 184 6.5 Optimisation de mémoire pour les UC Compact 195 6.6 Optimisation de mémoire pour les UC Momentum 206 6.7 Optimisation de mémoire pour les UC Atrium 213 163 Mémoire de l’API et optimisation 6.1 Structure schématique de la mémoire de l’API Structure par principe de la mémoire de l'API Introduction La mémoire d'une API comprend en principe trois parties : la mémoire pour le fichier EXEC, z la mémoire d'état et z la mémoire du programme. z La mémoire pour le fichier EXEC Le fichier EXEC comprend le système d'exploitation et un ou deux systèmes d'exécution (CEI et/ou LL984) servant au déroulement du programme utilisateur. Mémoire d'état La mémoire d'état peut être divisée en différentes zones : les références 0x, 1x, 3x et 4x utilisées, z une réserve pour des références 0x, 1x, 3x et 4x supplémentaires, z éventuellement une zone de mémoire étendue pour les références 6x. z Mémoire du programme La mémoire du programme peut être divisée en différentes zones : z l'affectation des E/S, etc., z une réserve pour extensions, z les messages ASCII (si utilisés), la configuration de diffusion des E/S (si utilisée), la configuration Ethernet (si utilisée) etc., z une réserve pour extensions, z les instructions chargeables CEI (si nécessaires), z les données globales, se composant des variables non localisées, z la mémoire du programme CEI avec les codes de programme, les codes EFB et les données de programme (données de section et données d'instance DFB). z éventuellement l'instruction chargeable ULEX pour INTERBUS ou d'autres instructions chargeables, z la mémoire du programme LL984. 164 33002205 12/2010 Mémoire de l’API et optimisation 6.2 Remarques générales sur l’optimisation de la mémoire Vue d’ensemble Ce chapitre décrit les généralités sur l’optimisation de la mémoire Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Possibilités d'optimisation de la mémoire 166 Ne dépendant pas de l'automate 167 165 Mémoire de l’API et optimisation Possibilités d'optimisation de la mémoire Description Les possibilités d'optimisation de la mémoire dépendent en partie de la gamme d'automate et de l'UC utilisées : z Ne dépendant pas de l'automate, page 167 z Optimiser la mémoire pour l'UC X13 0X et 424 02 Quantum, page 170 z Optimisation de la mémoire pour l'UC 434 12(A) et 534 14(A/B) Quantum, page 184 z Optimisation de mémoire pour les UC Compact, page 195 z Optimisation de mémoire pour les UC Momentum, page 206 z Optimisation de mémoire pour les UC Atrium, page 213 166 33002205 12/2010 Mémoire de l’API et optimisation Ne dépendant pas de l'automate Introduction Il existe 3 possibilités d'optimisation de la mémoire ne dépendant pas de l'automate : z Optimiser la mémoire d'état pour les références 0x et 1x, page 167 z Ne charger que les instructions chargeables attendues, page 168 z Optimiser la réserve pour extensions, page 169 Optimiser la mémoire d'état pour les références 0x et 1x La mémoire d'état comprend les valeurs actuelles des références 0x, 1x, 3x et 4x. Même lorsque la zone de la mémoire d'état est en dehors de la zone de la mémoire du programme, la taille de la mémoire d'état pour les références 0x et 1x influence la taille de la mémoire du programme. Ne sélectionnez donc pas une taille trop importante pour la zone de mémoire d'état destinée à ces références. Théoriquement, vous avez besoin d'autant de références 0x et 1x que le nombre nécessaire pour votre matériel. Vous avez cependant besoin d'un nombre légèrement supérieur de références si vous voulez étendre votre affectation des E/S. Pendant la phase de création du programme utilisateur il est conseillé de définir un nombre largement suffisant de références, même si celles-ci seront changées ultérieurement. A la fin de la phase de programmation, le nombre de références peut alors être réduit afin de laisser davantage de place à disposition du programme utilisateur. La configuration des références 0x et 1x se trouve dans Projet →Configuration automate →Partition mémoire de l'API. Cette boîte de dialogue vous donne un aperçu de la taille de la zone de la mémoire d'état occupée et du pourcentage maximum de la mémoire d'état que cela représente. 33002205 12/2010 167 Mémoire de l’API et optimisation Optimiser la mémoire d'état pour les références 0x, 1x, 3x et 4x : Ne charger que les instructions chargeables attendues Toutes les instructions chargeables que vous avez installées sont chargées dans la zone de la mémoire du programme et y occuperont donc de l'espace. N'installez donc que les instructions chargeables dont vous avez vraiment besoin (voir également Instructions chargeables, page 120). L'espace mémoire occupé par les instructions chargeables installées est affiché dans la boîte de dialogue Instructions chargeables sous Octets utilités (Projet →Configurateur automate). Cette valeur est calculée à partir de la taille des fichiers des instructions chargeables et de la mémoire qui a été réservée pour les instructions chargeables. 168 33002205 12/2010 Mémoire de l’API et optimisation Optimiser la réserve pour extensions Il est possible de réserver de l'espace mémoire pour des extensions futures dans la zone d'affectation (Affectation des E/S) et dans la zone des extensions de configuration (diffusion des E/S). Cette espace mémoire est nécessaire si par ex. les données d'affectation ou de diffusion des E/S doivent être modifiées en ligne. Pendant la phase de création du programme utilisateur il est conseillé de définir des réserves largement suffisantes, même si par la suite il y a des changements fréquents. A la fin de la phase de programmation, les réserves peuvent alors être réduites afin de laisser davantage de place à disposition du programme utilisateur. La configuration des réserves pour affectation se trouve sous Projet → Configuration automate →Affectation des E/S →Réserve pour extension. La configuration pour les réserves destinées à la diffusion des E/S se trouve sous Projet →Configuration automate →Extensions de config. →Sélectionner extensions →Diffusion des E/S →Réserve pour extension. Optimiser la réserve pour extensions 33002205 12/2010 169 Mémoire de l’API et optimisation 6.3 Optimiser la mémoire pour l'UC X13 0X et 424 02 Quantum Vue d'ensemble Cette section décrit l'optimisation de la mémoire pour les UC X13 0X et 424 02 Quantum. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet Généralités sur l'optimisation de la mémoire pour l'UC X13 0X et 424 02 Quantum 170 Page 171 Sélectionner le fichier EXEC optimal 173 Utiliser la mémoire étendue (mémoire d'état pour les références 6x) 177 Synchronisation de la zone CEI et de la zone LL984 179 Synchronisation des zones pour les données globales et la mémoire du programme CEI 181 33002205 12/2010 Mémoire de l’API et optimisation Généralités sur l'optimisation de la mémoire pour l'UC X13 0X et 424 02 Quantum Mémoire logique La zone de la mémoire du programme qui accueille votre programme utilisateur est appelée zone de logique. Cette zone détermine également la taille maximale de votre programme utilisateur. La taille actuelle de la zone de logique peut être visualisée sous Projets → Configuration automate dans la vue d'ensemble de la configuration dans la zone Automate. La taille de la mémoire est affichée en nodules pour LL984(1 nodule équivaut à 11 octets) et en ko pour CEI. Optimisation de la mémoire logique Vous avez différentes possibilités pour optimiser la mémoire logique en fonction de vos besoins : z Sélectionner le fichier EXEC optimal, page 173 z Utiliser la mémoire étendue (mémoire d'état pour les références 6x), page 177 z Synchronisation de la zone CEI et de la zone LL984, page 179 z Synchronisation de la zone CEI et de la zone LL984, page 179 NOTE : Prenez également en compteles possibilités d'optimisation de la mémoire indépendantes de l'automate (voir page 165). 33002205 12/2010 171 Mémoire de l’API et optimisation Structure de la mémoire de l'UC X13 0X (représentation simplifiée) : 172 33002205 12/2010 Mémoire de l’API et optimisation Sélectionner le fichier EXEC optimal Introduction La possibilité principale qui est également la plus simple consiste à charger le fichier EXEC optimal pour vos besoins dans l'automate (voir également Introduction à l'installation). En fonction du fichier EXEC choisi, des zones sont réservées dans la mémoire du programme de l'automate pour CEI et/ou LL984. Si vous installez un 'fichier EXEC combiné' et qu'ensuite vous n'utilisez qu'un seul des deux types de langage dans votre programme utilisateur, la mémoire du programme n'est pas utilisée de manière optimale. Choisissez donc les langages que vous désirez utiliser : z Utilisation exclusive de CEI, page 173 z Utilisation exclusive de LL984, page 174 z Utilisation conjointe de CEI et LL984, page 175 Utilisation exclusive de CEI Si vous voulez utiliser uniquement CEI, chargez le fichier EXEC "QIECVxxx.bin" (non disponible pour l'UC 424 02). Etant donné que ce fichier EXEC ne comprend pas de système d'exécution, vous devez charger le système d'exécution CEI dans l'automate sous la forme d'une instruction chargeable (EMUQ.exe) (voir également Instructions chargeables, page 120). L'instruction chargeable est chargée dans la zone de la mémoire du programme et y occupe de l'espace mémoire. 33002205 12/2010 173 Mémoire de l’API et optimisation Structure de la mémoire UC X13 0X lors d'une utilisation exclusive de CEI : Utilisation exclusive de LL984 Si vous voulez utiliser uniquement LL984, chargez le fichier EXEC "Q186Vxxx.bin" pour l'UC X13 0X et le fichier EXEC "Q486Vxxx.bin" pour l'UC 424 02. 174 33002205 12/2010 Mémoire de l’API et optimisation Structure de la mémoire de l'UC X13 0X lors d'une utilisation exclusive de LL984 : Utilisation conjointe de CEI et LL984 Si vous voulez utiliser conjointement CEI et LL984, chargez le fichier EXEC "Q186Vxxx.bin" pour l'UC X13 0X et le fichier EXEC "Q486Vxxx.bin" pour l'UC 424 02. Etant donné que ces fichiers EXEC ne contiennent que le système d'exécution LL984, vous devez charger dans l'automate le système d'exécution CEI sous la forme d'instructions chargeables (@2I7/@2IE et @1S7/@1SE) (voir égalementInstructions chargeables, page 120). Ces deux instructions chargeables sont chargées dans la zone de la mémoire du programme et y occupent de l'espace mémoire. NOTE : L'utilisation conjointe de CEI et LL984 n'est pas possible avec l'UC 113 02 car sa mémoire est trop petite. 33002205 12/2010 175 Mémoire de l’API et optimisation Structure de la mémoire de l'UC X13 0X lors d'une utilisation conjointe de CEI et LL984 : 176 33002205 12/2010 Mémoire de l’API et optimisation Utiliser la mémoire étendue (mémoire d'état pour les références 6x) Introduction Si vous utilisez une UC 213 04 ou UC 424 02, vous pouvez mettre à disposition des références 6x une zone de la mémoire d'état. NOTE : Les références 6x sont des mots indicateurs et peuvent uniquement être utilisées avec les programmes utilisateur LL984. Même lorsque la zone de la mémoire d'état est en dehors de la zone de la mémoire du programme, la taille de la mémoire d'état influence la taille de la mémoire du programme. Utiliser la mémoire étendue (mémoire d'état pour les références 6x) : 33002205 12/2010 177 Mémoire de l’API et optimisation Si vous n'utilisez PAS 6x Si vous ne voulez pas utiliser de références 6x, vous pouvez choisir, pour une UC 213 04, si vous réservez de la mémoire d'état pour les références 6x ou non. Sélectionnez Logique 48 K/ Mémoire 32 K dans la zone de liste Taille mémoire sous Projet →Configuration automate → Sélection automate. NOTE : Pour une UC 424 02, il est impossible de désactiver la plage 6x. Si vous utilisez 6x Si vous voulez utiliser les références 6x, sélectionnez Logique 32 K / Mémoire 64 K dans la zone de liste Taille mémoire sous Projet →Configuration automate → Sélection automate. 178 33002205 12/2010 Mémoire de l’API et optimisation Synchronisation de la zone CEI et de la zone LL984 Introduction Lors d'une utilisation conjointe des sections CEI et LL984 vous devez syntoniser la taille des deux zones l'une par rapport à l'autre. Synchronisation de la zone CEI et LL984 : 33002205 12/2010 179 Mémoire de l’API et optimisation Taille de la zone CEI Avec la taille de la mémoire de l'instruction chargeable @2I7 et @2IE vous définissez la taille de la mémoire totale CEI et ainsi également l'espace disponible pour les données LL984 (programme utilisateur). Vous définissez la taille de la mémoire des instructions chargeables dans Projet → Configuration automate →Instructions chargeables →Installer @2I7 ou @2IE →Edition... →Taille mémoire. La valeur de la taille de la mémoire est indiquée en paragraphes. Un paragraphe représente 16 octets. Pour les instructions chargeables @1S7 et @1SE aucune taille de mémoire n'est nécessaire. Assurez-vous que "0" est indiqué. L'espace mémoire total CEI ainsi défini se compose à son tour de différentes zones. La description de la Synchronisation de ces zones est reprise au chapitre Synchronisation des zones pour les données globales et la mémoire du programme CEI, page 181. Taille de la zone LL984 La taille de la mémoire disponible pour les programmes utilisateur LL984 se calcule avec la formule suivante : Zone LL984 = nodes LL984 disponibles - taille de la mémoire de l'instruction chargeable @2I7/@2IE - taille de l'instruction chargeable @2I7 et @2IE - taille de l'instruction chargeable @1S7 et @1SE Lors de ce calcul il convient de prendre en compte le fait que la taille de la zone LL984 se base sur des nodules et que les autres données se basent sur les octets. Message d'erreur lors du chargement du programme Si vous obtenez un message d'erreur lors du chargement vous indiquant que le programme utilisateur est trop important pour la mémoire de l'automate, il peut y avoir trois raisons : 1. La mémoire est véritablement trop petite. 2. La taille mémoire de l'instruction chargeable est trop petite (voir le présent chapitre). 3. La zone pour les données globales et la mémoire du programme CEI ne sont pas synchronisées de manière optimale l'une par rapport à l'autre (voir le chapitre Synchronisation des zones pour les données globales et la mémoire du programme CEI, page 181). 180 33002205 12/2010 Mémoire de l’API et optimisation Synchronisation des zones pour les données globales et la mémoire du programme CEI Introduction L'espace de mémoire totale CEI défini avec la taille de la mémoire de l'instruction chargeable (voir chapitre Synchronisation de la zone CEI et de la zone LL984, page 179) se compose de 2 zones : z Mémoire du programme CEI z se composant des codes EFB, z des codes du programme, z les données de section, z les données d'instance DFB, z des liaisons de module, z éventuellement des données des modifications en ligne, z et éventuellement des données d'animation, etc. z Données globales z se composant des variables non localisées Les zones pour les données globales et la mémoire du programme CEI peuvent être synchronisées l'une par rapport à l'autre. 33002205 12/2010 181 Mémoire de l’API et optimisation Synchronisation des zones pour les données globales et la mémoire du programme CEI : 182 33002205 12/2010 Mémoire de l’API et optimisation Taille de la zone de la mémoire programme CEI Vous pouvez définir la configuration pour la mémoire du programme CEI dans Projet →Configuration automate →Sélection automate dans la zone CEI. Indiquez ici la taille de la mémoire totale CEI et des données globales afin d'obtenir la taille de la mémoire du programme CEI (mémoire du programme CEI = mémoire totale CEI - données globales). La configuration n'est possible que si le PC et l'automate sont hors ligne. Si vous n'utilisez pas ou peu de variables non localisées, et faites de même pour les liaisons modules, vous pouvez définir une taille importante de la mémoire programme CEI car vous ne devez pratiquement pas laisser de mémoire pour les données globales. Taille de la zone pour les données globales La zone pour les données globales (variables non localisées) se calcule avec la formule suivante : Zone pour les données globales = taille de la mémoire de l'instruction chargeable mémoire du programme CEI L'occupation actuelle des différentes zones (EFB, données d'instance, programme utilisateur, etc.) est affichée sous En ligne →Statistiques mémoire... → Statistiques mémoire. Cet affichage n'est possible que si le PC et l'automate sont en ligne. Message d'erreur lors du chargement du programme Si vous obtenez un message d'erreur lors du chargement du programme dans l'automate vous indiquant que le programme utilisateur est trop important pour la mémoire de l'automate, il peut y avoir trois raisons : 1. La mémoire est véritablement trop petite. 2. La taille mémoire de l'instruction chargeable est trop petite (voir le chapitre Synchronisation de la zone CEI et de la zone LL984, page 179). 3. La zone pour les données globales et la zone de mémoire du programme CEI ne sont pas synchronisées de manière optimale l'une par rapport à l'autre (voir le présent chapitre). 33002205 12/2010 183 Mémoire de l’API et optimisation 6.4 Optimisation de la mémoire pour l'UC 434 12(A) et 534 14(A/B) Quantum Vue d'ensemble Cette section décrit l'optimisation de la mémoire pour les UC 434 12(A) et 534 14(A/B) Quantum. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 184 Page Généralités sur l'optimisation de la mémoire pour l'UC 434 12(A) et 534 14(A/B) Quantum 185 Synchronisation de la zone CEI et de la zone LL984 187 Synchronisation des zones pour les données globales et la mémoire du programme CEI (UC 434 12(A) / 534 14(A/B)) 192 33002205 12/2010 Mémoire de l’API et optimisation Généralités sur l'optimisation de la mémoire pour l'UC 434 12(A) et 534 14(A/B) Quantum Mémoire logique La zone de la mémoire du programme qui accueille votre programme utilisateur est appelée zone de logique. Cette zone détermine également la taille maximale de votre programme utilisateur. La taille actuelle de la zone de logique peut être visualisée sous Projets → Configuration automate dans la Vue d'ensemble de la configuration dans la zone Automate. La taille de la mémoire est affichée en nodules pour LL984 (1 nodule équivaut à 11 octets) et en ko pour CEI. Optimisation de la mémoire logique Vous avez différentes possibilités pour optimiser la mémoire logique en fonction de vos besoins : z Synchronisation de la zone CEI et de la zone LL984, page 187 z Synchronisation des zones pour les données globales et la mémoire du programme CEI (UC 434 12(A) / 534 14(A/B)), page 192 NOTE : Prenez également en compteles possibilités d'optimisation de la mémoire indépendantes de l'automate (voir page 165). 33002205 12/2010 185 Mémoire de l’API et optimisation Structure de la mémoire de l'UC 434 12(A) / 534 14(A/B) (représentation simplifiée) : 186 33002205 12/2010 Mémoire de l’API et optimisation Synchronisation de la zone CEI et de la zone LL984 Introduction Pour l'UC 434 12 et 534 14 vous avez besoin du fichier EXEC "Q58Vxxxx.bin". Pour l'UC 434 12A et 534 14A/B (UC reconçues) vous avez besoin du fichier EXEC "Q5RVxxxx.bin". Ces fichiers EXEC contiennent les systèmes d'exécution pour CEI et LL984. La taille des zones logiques pour CEI et LL984 doit être synchronisée l'une par rapport à l'autre. Vous pouvez définir la taille des deux zones dans Projet → Configuration automate →Sélection automate. En fonction de la taille choisie pour la zone CEI, des zones sont réservées dans la mémoire du programme de l'automate pour CEI et/ou LL984. Si vous définissez une zone combinée CEI et LL984 et qu'ensuite vous n'utilisez qu'un seul des deux types de langage dans votre programme utilisateur, la mémoire du programme n'est pas utilisée de manière optimale. Choisissez donc les langages que vous désirez utiliser : z Utilisation exclusive de CEI, page 187 z Utilisation exclusive de LL984, page 188 z Utilisation conjointe de CEI et LL984, page 189 Utilisation exclusive de CEI Si vous utilisez uniquement le langage CEI, sélectionnez l'entrée Validée sous Projet →Configuration automate →Sélection automate dans la zone de liste Moteur d'exécution et déplacez le curseur Taille du tas CEI jusqu'à la bordure droite (valeur maximale). Ainsi, la zone LL984 est entièrement désactivée et vous disposez alors de toute la zone totale de logique pour votre programme utilisateur CEI. 33002205 12/2010 187 Mémoire de l’API et optimisation Structure de la mémoire de l'UC 434 12(A) / 534 14(A/B) lors de l'utilisation exclusive de CEI : Utilisation exclusive de LL984 Vous utilisez uniquement le langage LL984, sélectionnez l'entrée Invalider sous Projet →Configuration automate →Sélection automate dans la zone de liste Moteur d'exécution. Ainsi, la zone CEI est entièrement désactivée et vous disposez alors de toute la zone totale de logique pour votre programme utilisateur LL984. 188 33002205 12/2010 Mémoire de l’API et optimisation Structure de la mémoire de l'UC 434 12(A) / 534 14(A/B) lors de l'utilisation exclusive de LL984 : Utilisation conjointe de CEI et LL984 Lors d'une utilisation conjointe de CEI et LL984 vous devez syntoniser la taille des deux zones. En configurant l'élément Taille du tas CEI et Données globales, vous définissez automatiquement la taille de la mémoire du programme CEI et par là-même définissez la place disponible pour les données LL984 (programme utilisateur). La taille de la mémoire disponible pour les programmes utilisateur LL984 se calcule avec la formule suivante : Zone LL984 = nodules LL984 disponibles - mémoire totale CEI Lors de ce calcul il convient de prendre en compte le fait que la taille de la zone LL984 est calculée en nodules et que les autres données sont calculées en ko. 33002205 12/2010 189 Mémoire de l’API et optimisation Pour configurer la mémoire totale CEI, sélectionnez l'entrée Validée dans la zone de liste Moteur d'exécution sous Projet →Configuration automate →Sélection automate. La zone CEI est alors validée et vous pouvez saisir la taille de mémoire voulue dans la zone de texte Taille du tas CEI. La taille de la mémoire est indiquée en ko. L'espace mémoire total CEI ainsi défini se compose à son tour de différentes zones. La description de la synchronisation de ces zones est reprise au chapitre Synchronisation des zones pour les données globales et la mémoire du programme CEI, page 181. Structure de la mémoire de l'UC 434 12(A) / 534 14(A/B) lors de l'utilisation conjointe de CEI et LL984 : 190 33002205 12/2010 Mémoire de l’API et optimisation Message d'erreur lors du chargement du programme Si vous obtenez un message d'erreur lors du chargement vous indiquant que le programme utilisateur est trop important pour la mémoire de l'automate, il peut y avoir trois raisons : 1. La mémoire est véritablement trop petite. 2. La zone de logique est trop petite (voir le présent chapitre). 3. La zone pour les données globales et pour la mémoire du programme CEI ne sont pas synchronisées de manière optimale l'une par rapport à l'autre (voir le chapitre Synchronisation des zones pour les données globales et la mémoire du programme CEI (UC 434 12(A) / 534 14(A/B)), page 192). 33002205 12/2010 191 Mémoire de l’API et optimisation Synchronisation des zones pour les données globales et la mémoire du programme CEI (UC 434 12(A) / 534 14(A/B)) Introduction La mémoire totale CEI définie (voir chapitre Synchronisation de la zone CEI et de la zone LL984, page 187) se compose de 2 zones. L'espace de mémoire totale CEI défini avec la taille de la mémoire de l'instruction chargeable (voir chapitre Synchronisation de la zone CEI et de la zone LL984, page 179) se compose de 2 zones : z Mémoire du programme CEI z se composant des codes EFB, z des codes programme, z des données de section, z des données d'instance DFB, z des liaisons de module, z éventuellement des données des modifications en ligne, z éventuellement des données d'animation, etc. z Données globales z se composant des variables non localisées Les zones pour les données globales et la mémoire du programme CEI peuvent être synchronisées l'une par rapport à l'autre. 192 33002205 12/2010 Mémoire de l’API et optimisation Synchronisation des zones pour les données globales et la mémoire du programme CEI (UC 434 12(A) / 534 14(A/B)) Taille de la zone de la mémoire du programme CEI Vous pouvez définir la configuration pour la mémoire du programme CEI dans Projet →Configuration automate →Sélection automate dans la zone CEI. Indiquez ici la taille de la mémoire totale CEI et des données globales afin d'obtenir la taille de la mémoire du programme CEI (mémoire du programme CEI = mémoire totale CEI - données globales). La configuration n'est possible que si le PC et l'automate sont hors ligne. Si vous n'utilisez pas ou peu de variables non localisées, et faites de même pour les liaisons modules, vous pouvez définir une taille importante de la mémoire programme CEI car vous ne devez pratiquement pas laisser de mémoire pour les données globales. 33002205 12/2010 193 Mémoire de l’API et optimisation Taille de la zone pour les données globales La zone pour les données globales (variables non localisées) se calcule avec la formule suivante : Zone pour les données globales = taille de la mémoire de l'instruction chargeable mémoire du programme CEI L'occupation actuelle des différentes zones (EFB, données d'instance, programme utilisateur, etc.) est affichée sous En ligne →Statistiques mémoire... → Statistiques mémoire. Cet affichage n'est possible que si le PC et l'automate sont en ligne. Message d'erreur lors du chargement du programme Si vous obtenez un message d'erreur lors du chargement du programme dans l'automate vous indiquant que le programme utilisateur est trop important pour la mémoire de l'automate, il peut y avoir trois raisons : 1. La mémoire est véritablement trop petite. 2. La taille de la mémoire totale CEI est trop petite (voir le chapitre Synchronisation de la zone CEI et de la zone LL984, page 187). 3. La zone pour les données globales et la zone de mémoire du programme CEI ne sont pas synchronisées de manière optimale l'une par rapport à l'autre (voir le présent chapitre). 194 33002205 12/2010 Mémoire de l’API et optimisation 6.5 Optimisation de mémoire pour les UC Compact Aperçu Ce chapitre décrit l’optimisation de mémoire pour les UC Compact. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Généralités sur l'optimisation de la mémoire pour les UC Compact 196 Synchronisation de la zone CEI et de la zone LL984 198 Synchronisation des zones pour les données globales et la mémoire du programme CEI (Compact) 203 195 Mémoire de l’API et optimisation Généralités sur l'optimisation de la mémoire pour les UC Compact Mémoire logique La zone de la mémoire du programme qui accueille votre programme utilisateur est appelée zone de logique. Cette zone détermine également la taille maximale de votre programme utilisateur. La taille actuelle de la zone de logique peut être visualisée sous Projets → Configuration automate dans la Vue d'ensemble de la configuration dans la zone Automate. La taille de la mémoire est affichée en nodules pour LL984 (1 nodule équivaut à 11 octets) et en ko pour CEI. Optimisation de la mémoire logique Vous avez différentes possibilités pour optimiser la mémoire logique en fonction de vos besoins : z Synchronisation de la zone CEI et de la zone LL984, page 198 z Synchronisation des zones pour les données globales et la mémoire du programme CEI (Compact), page 203 NOTE : Prenez également en compteles possibilités d'optimisation de la mémoire indépendantes de l'automate (voir page 165). 196 33002205 12/2010 Mémoire de l’API et optimisation Structure de la mémoire d'une UC Compact (représentation simplifiée) : 33002205 12/2010 197 Mémoire de l’API et optimisation Synchronisation de la zone CEI et de la zone LL984 Introduction Le fichier EXEC nécessaire pour les UC Compact "CTSXxxxx.bin" contient les systèmes d'exploitation pour CEI et LL984 (voir également Introduction à l'installation). La taille des zones logiques pour CEI et LL984 doit être synchronisée l'une par rapport à l'autre. Vous pouvez définir la taille des deux zones dans Projet → Configurateur automate →Sélection automate. En fonction de la taille choisie pour la zone CEI, des zones sont réservées dans la mémoire du programme de l'automate pour CEI et/ou LL984. Si vous définissez une zone combinée CEI et LL984 et qu'ensuite vous n'utilisez qu'un seul des deux types de langage dans votre programme utilisateur, la mémoire du programme n'est pas utilisée de manière optimale. Choisissez donc les langages que vous désirez utiliser : Utilisation exclusive de CEI, page 199 z Utilisation exclusive de LL984, page 200 z Utilisation conjointe de CEI et LL984, page 200 z 198 33002205 12/2010 Mémoire de l’API et optimisation Utilisation exclusive de CEI Si vous utilisez uniquement le langage CEI, sélectionnez l'entrée Validée sous Projet →Configuration automate →Sélection automate dans la zone de liste Moteur d'exécution CEI et déplacez le curseur Taille du tas CEI jusqu'à la bordure droite (valeur maximale).Ainsi, la zone LL984 est entièrement désactivée et vous disposez alors de toute la zone de logique pour votre programme utilisateur CEI. Structure de la mémoire des UC Compact lors d'une utilisation exclusive de CEI : 33002205 12/2010 199 Mémoire de l’API et optimisation Utilisation exclusive de LL984 Si vous utilisez uniquement le langage LL984, sélectionnez l'entrée Invalider sous Projet →Configuration automate →Sélection automate dans la zone de liste Moteur d'exécution CEI. Ainsi, la zone CEI est entièrement désactivée et vous disposez alors de toute la zone de logique pour votre programme utilisateur LL984. Structure de la mémoire des UC Compact lors d'une utilisation exclusive de LL984 : Utilisation conjointe de CEI et LL984 Lors d'une utilisation conjointe de CEI et LL984 vous devez syntoniser la taille des deux zones. En configurant l'élément Taille du tas CEI et Données globales, vous définissez automatiquement la taille de la mémoire du programme CEI et par là-même définissez la place disponible pour les données LL984 (programme utilisateur). La taille de la mémoire disponible pour les programmes utilisateur LL984 se calcule avec la formule suivante : Zone LL984 = nodules LL984 disponibles - mémoire totale CEI 200 33002205 12/2010 Mémoire de l’API et optimisation Lors de ce calcul il convient de prendre en compte le fait que la taille de la zone LL984 est calculée en nodules et que les autres données sont calculées en ko. Pour configurer la mémoire totale CEI, sélectionnez l'entrée Validée dans la zone de liste Moteur d'exécution sous Projet →Configuration automate → Sélection automate. La zone CEI est alors validée et vous pouvez saisir la taille de mémoire voulue dans la zone de texte Taille du tas CEI. La taille de la mémoire est indiquée en ko. L'espace mémoire total CEI ainsi défini se compose à son tour de différentes zones. La description de la synchronisation de ces zones est reprise au chapitre Synchronisation des zones pour les données globales et la mémoire du programme CEI (Compact), page 203. Structure de la mémoire Compact lors d'une utilisation conjointe de CEI et LL984 : 33002205 12/2010 201 Mémoire de l’API et optimisation Message d'erreur lors du chargement du programme Si vous obtenez un message d'erreur lors du chargement vous indiquant que le programme utilisateur est trop important pour la mémoire de l'automate, il peut y avoir trois raisons : 1. La mémoire est véritablement trop petite. 2. La zone de logique est trop petite (voir le présent chapitre). 3. La zone pour les données globales et la mémoire du programme CEI ne sont pas synchronisées de manière optimale l'une par rapport à l'autre (voir le chapitre Synchronisation des zones pour les données globales et la mémoire du programme CEI (Compact), page 203). 202 33002205 12/2010 Mémoire de l’API et optimisation Synchronisation des zones pour les données globales et la mémoire du programme CEI (Compact) Introduction La mémoire totale CEI définie (voir chapitre Synchronisation de la zone CEI et de la zone LL984, page 198) se compose de 2 zones. z Mémoire du programme CEI z se composant des codes EFB, z des codes programme, z des données de section, z des données d'instance DFB, z des liaisons de module, z éventuellement des données des modifications en ligne, z éventuellement des données d'animation, etc. z Données globales z se composant des variables non localisées Les zones pour les données globales et la mémoire du programme CEI peuvent être synchronisées l'une par rapport à l'autre. 33002205 12/2010 203 Mémoire de l’API et optimisation Synchronisation des zones pour les données globales et la mémoire du programme CEI (Compact) : Taille de la zone de la mémoire du programme CEI La configuration de la Mémoire du programme CEI se fait sous Projet → Configuration automate →Sélection automate dans la zone CEI. Indiquez ici la taille de la mémoire totale CEI et des données globales afin d'obtenir la taille de la mémoire du programme CEI (mémoire du programme CEI = mémoire totale CEI données globales). La configuration n'est possible que si le PC et l'automate sont hors ligne. Si vous n'utilisez pas ou peu de variables non localisées, et faites de même pour les liaisons modules, vous pouvez définir une taille importante de la mémoire programme CEI car vous ne devez pratiquement pas laisser de mémoire pour les données globales. 204 33002205 12/2010 Mémoire de l’API et optimisation Taille de la zone pour les données globales La zone pour les données globales (variables non localisées) se calcule avec la formule suivante : Zone pour les données globales = taille de la mémoire de l'instruction chargeable mémoire du programme CEI L'occupation actuelle des différentes zones (EFB, données d'instance, programme utilisateur, etc.) est affichée sous En ligne →Statistiques mémoire... → Statistiques mémoire. Cet affichage n'est possible que si le PC et l'automate sont en ligne. Message d'erreur lors du chargement du programme Si vous obtenez un message d'erreur lors du chargement du programme dans l'automate vous indiquant que le programme utilisateur est trop important pour la mémoire de l'automate, il peut y avoir trois raisons : 1. La mémoire est véritablement trop petite. 2. La taille de la mémoire totale CEI est trop petite (voir le chapitre Synchronisation de la zone CEI et de la zone LL984, page 198). 3. La zone pour les données globales et la zone de mémoire du programme CEI ne sont pas synchronisées de manière optimale l'une par rapport à l'autre (voir le présent chapitre). 33002205 12/2010 205 Mémoire de l’API et optimisation 6.6 Optimisation de mémoire pour les UC Momentum Vue d’ensemble Ce chapitre décrit l’optimisation de mémoire pour les UC Momentum. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 206 Page Généralités sur l'optimisation de la mémoire pour les UC Momentum 207 Sélectionner le fichier EXEC optimal 209 Synchronisation des zones pour les données globales et la mémoire du programme CEI (Momentum) 210 33002205 12/2010 Mémoire de l’API et optimisation Généralités sur l'optimisation de la mémoire pour les UC Momentum Mémoire logique La zone de la mémoire du programme qui accueille votre programme utilisateur est appelée zone de logique. Cette zone détermine également la taille maximale de votre programme utilisateur. La taille actuelle de la zone de logique peut être visualisée sous Projet → Configuration automate dans la vue d'ensemble de la configuration dans la zone Automate. La taille de la mémoire est affichée en nodules pour LL984 (1 nodule équivaut à 11 octets) et en ko pour CEI. Optimisation de la mémoire logique Vous avez différentes possibilités pour optimiser la mémoire logique en fonction de vos besoins : z Sélectionner le fichier EXEC optimal, page 209 z Synchronisation des zones pour les données globales et la mémoire du programme CEI (Momentum), page 210 NOTE : Prenez également en compteles possibilités d'optimisation de la mémoire indépendantes de l'automate (voir page 165). 33002205 12/2010 207 Mémoire de l’API et optimisation Structure de la mémoire d'une UC Momentum (représentation simplifiée) : 208 33002205 12/2010 Mémoire de l’API et optimisation Sélectionner le fichier EXEC optimal Introduction Avec Momentum, il n'est pas possible d'utiliser ensemble CEI et LL984. Utilisation de CEI Affectation des fichiers EXEC lors de l'utilisation de CEI : 171 CBB M1IVxxxE MPSV100e.BI N 970 30 - x 171 CCS M1IVxxxE M1EVxxxE 760 00 x - 760 10 x - 780 10 x - 960 30 - x 980 30 - x Utilisation de LL984 Affectation des fichiers EXEC lors de l'utilisation de LL984 : 33002205 12/2010 171 CBB M1LLVxxx M1MVxxxE 970 30 x - 171 CCS M1LLVxxx M1EVxxx 700 10 x - 700/780 00 x - 760 00 x - 760 10 x - 780 10 x - 960 20 - x 960 30 - x 980 20 - x 980 30 - x 209 Mémoire de l’API et optimisation Synchronisation des zones pour les données globales et la mémoire du programme CEI (Momentum) Introduction La zone de logique pour la mémoire totale CEI se compose de 2 zones. Mémoire du programme CEI z se composant des codes EFB, z des codes programme, z des données de section, z des données d'instance DFB, z des liaisons de module, z éventuellement des données des modifications en ligne, z éventuellement des données d'animation, etc. z z Données globales z se composant des variables non localisées Les zones pour les données globales et la mémoire du programme CEI peuvent être synchronisées l'une par rapport à l'autre. 210 33002205 12/2010 Mémoire de l’API et optimisation Synchronisation des zones pour les données globales et la mémoire du programme CEI (Momentum 171 CCS 760 00-CEI) : Taille de la zone de la mémoire du programme CEI La configuration pour la zone du programme utilisateur CEI se fait sous En ligne → Statistiques mémoire... →Statistiques mémoire dans la zone de texte Configurées. La configuration n'est possible que si le PC et l'automate sont hors ligne. Si vous n'utilisez pas ou peu de variables non localisées, et faites de même pour les liaisons modules, vous pouvez définir une taille importante de la mémoire programme CEI car vous ne devez pratiquement pas laisser de mémoire pour les données globales. 33002205 12/2010 211 Mémoire de l’API et optimisation Taille de la zone pour les données globales La zone pour les données globales (variables non localisées et liaisons de module) se calcule avec la formule suivante : Zone pour les données globales = taille de la mémoire de l'instruction chargeable mémoire du programme CEI L'occupation actuelle des différentes zones (EFB, données d'instance, programme utilisateur, etc.) est affichée sous En ligne →Statistiques mémoire... → Statistiques mémoire. Cet affichage n'est possible que si le PC et l'automate sont en ligne. Message d'erreur lors du chargement du programme Si vous obtenez un message d'erreur lors du chargement du programme dans l'automate vous indiquant que le programme utilisateur est trop important pour la mémoire de l'automate, il peut y avoir deux raisons : 1. La mémoire est véritablement trop petite. 2. La zone pour les données globales et la zone de mémoire du programme CEI ne sont pas synchronisées de manière optimale l'une par rapport à l'autre (voir le présent chapitre). 212 33002205 12/2010 Mémoire de l’API et optimisation 6.7 Optimisation de mémoire pour les UC Atrium Aperçu Ce chapitre décrit l’optimisation de mémoire pour les UC Atrium. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Généralités sur l'optimisation de la mémoire pour les UC Atrium 214 Utilisation de CEI 216 Synchronisation des zones pour les données globales et la mémoire du programme CEI (Atrium) 218 213 Mémoire de l’API et optimisation Généralités sur l'optimisation de la mémoire pour les UC Atrium Mémoire logique La zone de la mémoire du programme qui accueille votre programme utilisateur est appelée zone de logique. Cette zone détermine également la taille maximale de votre programme utilisateur. La taille actuelle de la zone de logique peut être visualisée sous Projet → Configurateur automate dans la Vue d'ensemble de la configuration dans la zone Automate. La taille de la mémoire est affichée en ko pour CEI. Optimisation de la mémoire logique Vous avez différentes possibilités pour optimiser la mémoire logique en fonction de vos besoins : z Utilisation de CEI, page 216 z Synchronisation des zones pour les données globales et la mémoire du programme CEI (Atrium), page 218 NOTE : Prenez également en compteles possibilités d'optimisation de la mémoire indépendantes de l'automate (voir page 165). 214 33002205 12/2010 Mémoire de l’API et optimisation Structure de la mémoire d'une UC Atrium (représentation simplifiée) : 33002205 12/2010 215 Mémoire de l’API et optimisation Utilisation de CEI Introduction Les fichiers EXEC nécessaires à la famille d'UC Atrium contiennent les systèmes d'exploitation pour CEI (voir également Introduction à l'installation). Lors de l'utilisation d'Atrium 180 CCO 121 01 vous chargez le fichier EXEC "AI3Vxxxx.bin". Lors de l'utilisation d'Atrium 180 CCO 241 01et 180 CCO 241 11 vous chargez le fichier EXEC "AI5Vxxxx.bin". Sélectionnez l'entrée Validée sous Projet →Configuration automate → Sélection automate dans la zone de liste Moteur d'exécution et déplacez le curseur Taille du tas CEI jusqu'à la bordure droite (valeur maximale). Ainsi, la zone LL984 est entièrement désactivée et vous disposez alors de toute la zone de logique pour votre programme utilisateur CEI. Création de la mémoire UC Atrium lors d'une utilisation exclusive de CEI : 216 33002205 12/2010 Mémoire de l’API et optimisation Message d'erreur lors du chargement du programme Si vous obtenez un message d'erreur lors du chargement vous indiquant que le programme utilisateur est trop important pour la mémoire de l'automate, il peut y avoir trois raisons : 1. La mémoire est véritablement trop petite. 2. La zone de logique est trop petite (voir le présent chapitre). 3. La zone pour les données globales et la mémoire du programme CEI ne sont pas synchronisées de manière optimale l'une par rapport à l'autre (voir le chapitre Synchronisation des zones pour les données globales et la mémoire du programme CEI (Atrium), page 218). 33002205 12/2010 217 Mémoire de l’API et optimisation Synchronisation des zones pour les données globales et la mémoire du programme CEI (Atrium) Introduction La mémoire totale CEI définie (voir chapitre Utilisation de CEI, page 216) se compose de 2 zones. z Mémoire du programme CEI z se composant des codes EFB, z des codes programme, z des données de section, z des données d'instance DFB, z des liaisons de module, z éventuellement des données des modifications en ligne, z éventuellement des données d'animation, etc. z Données globales z se composant des variables non localisées Les zones pour les données globales et la mémoire du programme CEI peuvent être synchronisées l'une par rapport à l'autre. 218 33002205 12/2010 Mémoire de l’API et optimisation Synchronisation des zones pour les données globales et la mémoire du programme CEI (Atrium) : Taille de la zone de la mémoire du programme CEI La configuration de la Mémoire du programme CEI se fait sous Projet → Configuration automate →Sélection automate dans la zone CEI. Indiquez ici la taille de la mémoire totale CEI et des données globales afin d'obtenir la taille de la mémoire du programme CEI (mémoire du programme CEI = mémoire totale CEI données globales). La configuration n'est possible que si le PC et l'automate sont hors ligne. Si vous n'utilisez pas ou peu de variables non localisées, et faites de même pour les liaisons modules, vous pouvez définir une taille importante de la mémoire programme CEI car vous ne devez pratiquement pas laisser de mémoire pour les données globales. 33002205 12/2010 219 Mémoire de l’API et optimisation Taille de la zone pour les données globales La zone pour les données globales (variables non localisées) se calcule avec la formule suivante : Zone pour les données globales = taille de la mémoire de l'instruction chargeable mémoire du programme CEI L'occupation actuelle des différentes zones (EFB, données d'instance, programme utilisateur, etc.) est affichée sous En ligne →Statistiques mémoire... → Statistiques mémoire. Cet affichage n'est possible que si le PC et l'automate sont en ligne. Message d'erreur lors du chargement du programme Si vous obtenez un message d'erreur lors du chargement du programme dans l'automate vous indiquant que le programme utilisateur est trop important pour la mémoire de l'automate, il peut y avoir trois raisons : 1. La mémoire est véritablement trop petite. 2. La taille de la mémoire totale CEI est trop petite (voir le chapitre Utilisation de CEI, page 216). 3. La zone pour les données globales et la zone de mémoire du programme CEI ne sont pas synchronisées de manière optimale l'une par rapport à l'autre (voir le présent chapitre). 220 33002205 12/2010 Langage des blocs fonctions FDB 33002205 12/2010 Langage des blocs fonctions FDB 7 Aperçu Ce chapitre décrit le langage des blocs fonctions FDB conforme à la norme CEI1131. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 7.1 Remarques générales sur le langage du bloc fonction FDB 222 7.2 Objets du langage de bloc fonction FBD 223 7.3 Tâches exécutées en langage de bloc fonction FBD 232 7.4 Génération de codes dans le cadre du langage de bloc fonction FBD 240 7.5 Fonctions en ligne du langage de bloc fonction FBD 241 7.6 Elaboration d’un programme avec le langage de bloc fonction FBD 243 221 Langage des blocs fonctions FDB 7.1 Remarques générales sur le langage du bloc fonction FDB Remarques générales sur le langage du bloc fonction FDB Introduction Les objets du langage de programmation FBD (Diagramme de blocs fonctionnels) offrent des aides permettant de structurer une section en un ensemble de : z EFB (fonctions élémentaires et blocs fonctions élémentaires) (voir page 224), z DFB (blocs fonctions dérivés) (voir page 226) et z UDEFB (fonctions et blocs fonctions définis par l’utilisateur) (voir page 227). Ces objets, regroupés sous l’abréviation générique FFB, peuvent être liés les uns aux autres par : z des liaisons (voir page 228) ou z de paramètres réels (voir page 229). Vous pouvez également insérer une logique étendue sous forme de macros dans votre section FBD (voir également Macros, page 541). Chaque section peut, théoriquement, contenir un nombre quelconque de FFB, et donc un nombre quelconque d’entrées et de sorties. Il est toutefois judicieux de diviser un programme global en différentes unités logiques, c’est-à-dire en différentes sections. La logique de la section peut être commentée par des objets texte (voir Objet texte, page 231). Ordre d’exécution L’ordre d’exécution des différents FFB dans une section FBD est déterminé par le flux de données à l’intérieur de la section (voir également Ordre d’exécution des FFB, page 235). Editer avec le clavier Normalement, dans Concept, l’édition s’effectue à l’aide de la souris, mais est également possible à l’aide du clavier (voire également Touches courtes dans l’éditeur FBDet SFC, page 863). Conformité CEI Description de la conformité CEI du langage de programmation FBD, voir Conformité CEI, page 877. 222 33002205 12/2010 Langage des blocs fonctions FDB 7.2 Objets du langage de bloc fonction FBD Aperçu Ce chapitre décrit les objets du langage de bloc fonction FBD. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Fonctions et blocs fonctions (FFB) 224 Liaison 228 Paramètres réels 229 Objet texte 231 223 Langage des blocs fonctions FDB Fonctions et blocs fonctions (FFB) Introduction FFB est le terme générique pour : EFB (fonctions élémentaires et blocs fonctions élémentaires), (voir page 224) z DFB (blocs fonctions dérivés) (voir page 226) z UDEFB (fonctions élémentaires dérivées et blocs fonctions élémentaires dérivés), (voir page 227) z EFB EFB est le terme générique pour : z Fonction élémentaire (voir page 224) z Bloc fonction élémentaire (voir page 225) Les EFB sont des fonctions et de blocs fonctions que Concept met à votre disposition sous forme de bibliothèques. La logique des EFB est établie en langage de programmation C et ne peut pas être modifiée dans l’éditeur FBD. Fonction élémentaire Les fonctions n’ont pas d’état interne. Pour des valeurs égales aux entrées, la valeur à la sortie est la même pour toutes les exécutions de la fonction. Par exemple, l’addition de deux valeurs livre le même résultat à chaque exécution de la fonction. Une Fonction élémentaire est représentée graphiquement comme un cadre avec des entrées et une sortie. Les entrées sont toujours représentées à la gauche et les sorties toujours à la droite du cadre. Le nom de la fonction, c’est-à-dire le type de fonction, est affiché au centre du cadre. Le numéro de fonction est affiché au-dessus du cadre. Le numéro de fonction ne peut pas être modifié et présente toujours la structure .n.m. .n = numéro courant de la section .n = numéro courant de la fonction Les fonctions ne sont exécutées pour FDB que lorsque l’entrée EN=1 ou lorsque l’entrée EN est désactivée (voir également EN et ENO, page 227). 224 33002205 12/2010 Langage des blocs fonctions FDB Fonction élémentaire Bloc fonction élémentaire Les blocs fonctions ont des états internes. Pour des valeurs égales aux entrées, la valeur à la sortie est toujours différente à chaque exécution du bloc fonction. Par exemple, pour un compteur, la valeur à la sortie augmente. Un bloc fonction est représenté graphiquement comme un cadre avec des entrées et des sorties. Les entrées sont toujours représentées à la gauche et les sorties toujours à la droite du cadre. Le nom du bloc fonction, c’est-à-dire le type bloc fonction, est affiché au centre du cadre. Le nom d’instance est affiché au-dessus du cadre. Le nom d’instance permet d’identifier précisément le bloc fonction dans un projet. Le nom d’instance est généré automatiquement et présente la structure suivante : FBI_n_m FBI = Instance de bloc fonction n = Numéro de section (numéro courant) m = Numéro de l’objet FFB dans la section (numéro courant) Le nom d'instance peut être édité par le biais de la boîte de dialogue Objet → Caractéristiques du bloc fonction. Le nom d’instance doit être précis dans tout le projet sans égard aux majuscules et minuscules. Si le nom entré existe déjà, vous en êtes averti et vous devez choisir un autre nom. Le nom d’instance doit correspondre aux conventions de nom CEI, sinon un message d’erreur s’affiche. NOTE : Selon CEI1131-3 seules des lettres sont autorisées comme premier caractère des noms d’instances. Si vous souhaitez cependant utiliser également des chiffres comme premiers caractères, vous pouvez le faire avec la commande Options →Environnement →Extensions CEI →Chiffres en tête de qualificatif autorisés Libérer. Les blocs fonction ne sont exécutés pour FDB que lorsque l’entrée EN=1 ou lorsque l’entrée EN est désactivée (voir également EN et ENO, page 227). 33002205 12/2010 225 Langage des blocs fonctions FDB Bloc fonction élémentaire DFB Les blocs fonctions (DFB) dérivés sont des blocs fonctions que vous avez définis dans Concept-DFB. Dans les DFB, on ne distingue pas la fonction du bloc fonction. Indépendamment de leur structure interne, elles sont toujours traitées comme des blocs fonctions. Un DFB est représenté graphiquement comme un cadre avec deux lignes verticales et des entrées et des sorties. Les entrées sont toujours représentées à la gauche et les sorties toujours à la droite du cadre. Le nom du DFB est affiché au centre du cadre. Le nom d’instance est affiché au-dessus du cadre. Le nom d’instance permet d’identifier précisément le bloc fonction dans un projet. Le nom d’instance est généré automatiquement et présente la structure suivante : FBI_n_m FBI = Instance de bloc fonction n = Numéro de section (numéro courant) m = Numéro de l’objet FFB dans la section (numéro courant) Le nom d'instance peut être édité par le biais de la boîte de dialogue Objet → Caractéristiques du DFB. Le nom d’instance doit être précis dans tout le projet sans égard aux majuscules et minuscules. Si le nom entré existe déjà, vous en êtes averti et vous devez choisir un autre nom. Le nom d’instance doit correspondre auxconventions de nom CEI, sinon un message d’erreur s’affiche. NOTE : Selon CEI1131-3 seules des lettres sont autorisées comme premier caractère des noms d’instances. Si vous souhaitez cependant utiliser également des chiffres comme premiers caractères, vous pouvez le faire avec la commande Options →Environnement →Extensions CEI →Chiffres en tête de qualificatif autorisés Libérer. Les blocs fonction dérivés ne sont exécutés pour FDB que lorsque l’entrée EN=1 ou lorsque l’entrée EN est désactivée (voir également EN et ENO, page 227). 226 33002205 12/2010 Langage des blocs fonctions FDB Bloc fonction dérivé UDEFB UDEFB est le terme générique pour : z Fonction élémentaire définie par l’utilisateur z Bloc fonction élémentaire défini par l’utilisateur Les UDEFB sont des fonctions et blocs fonctions que vous avez programmés avec Concept-EFB en langage de programmation C++ et que vous mettez sous forme de bibliothèques à la disposition de Concept. Il n’y a pas de différence fonctionnelle entre les UDEFB et les EFB dans Concept. EN et ENO Pour tous les FFB, une entrée EN et une sortie ENO peuvent être configurées. La configuration d’EN et d’ENO est activée ou désactivée dans la boîte de dialogue des Propriétés FFB . La boîte de dialogue est appelée par la commande Objets → Caractéristiques... ou en cliquant deux fois sur le FFB. Au cas où la valeur d’EN est égale à "0", lorsque le FFB est appelé, les algorithmes définis par le FFB ne seront pas exécutés et les sorties conserveront leur valeur précédente. Dans ce cas, la valeur d’ENO sera automatiquement placée à "0". Au cas où la valeur d’EN est égale à "1", lorsque le FFB est appelé, les algorithmes définis par le FFB sont exécutés. Après l’exécution exempte d’erreur de ces algorithmes, la valeur d’ENO est automatiquement placée à "1". Si une erreur se produit durant l’exécution de ces algorithmes, ENO est placée à "0". Le comportement de sortie des FFB pour FBD est indépendant du fait que les FFB soient appelés sans EN/ENO ou avec EN=1. 33002205 12/2010 227 Langage des blocs fonctions FDB Liaison Description Les connexions sont des liens entre des FFB. Plusieurs liaisons peuvent être reliées à une sortie FFB. Les points de liaison sont marqués par un cercle rempli. Type de données Les types de données respectifs des entrées/sorties à relier doivent correspondre les uns aux autres Créer des connexions Des liaisons peuvent être générées par Objets →Liaison . Traitement des liaisons Les liaisons peuvent être traitées en mode sélection. Le chevauchement avec d’autres objets est admis. Configuration de boucles Les boucles ne peuvent pas être configurées par le biais de liaisons, étant donné que, dans ce cas, l’ordre d’exécution dans la section ne peut pas être défini de façon unique. Les boucles doivent être résolues par le biais de paramètres réels (voir Configuration de boucles, page 238). 228 33002205 12/2010 Langage des blocs fonctions FDB Paramètres réels Introduction Durant l’exécution du programme, les valeurs sont transmises, par le biais de paramètres réels, du processus ou d’autres paramètres réels au FFB, et renvoyées à nouveau à la sortie après le traitement. Ces paramètres réels peuvent être les suivants : z Adresse directe (voir page 71) z Variables localisées (voir page 67) z Variable non-localisée (voir page 67) z Constantes (voir page 69) z Littéraux (voir page 70) Adresses directes L’indication/l’affichage des adresses directes peut s’effectuer dans différents formats. La définition du format d’affichage s’effectue dans le dialogue Options → Environnement →Commun.... La définition du format d’affichage n’a aucun impact sur le format d’entrée, ceci signifie que l’entrée d’adresses directes peut s’effectuer dans un format quelconque. Les formats d’adresses suivants sont disponibles : Format standard (400001) L’adresse à cinq positions intervient directement après le premier chiffre (de la Référence). z Format à séparateur (4 : 00001) Le premier chiffre (la Référence) est séparé(e) par un point double ( : ) de l’adresse à cinq positions. z Format compact (4 : 1) Le premier chiffre (la Référence) est séparé(e) par un point double ( : ) de l’adresse suivante, les zéros en tête n’étant pas indiqués dans l’adresse . z Format CEI (QW1) Un identificateur est placé en première position, après CEI, suivi de l’adresse à cinq positions. z %0x12345 = %Q12345 z %1x12345 = %I12345 z %3x12345 = %IW12345 z %4x12345 = %QW12345 z 33002205 12/2010 229 Langage des blocs fonctions FDB Type de données Le type des données du paramètre réel doit correspondre au type des données de l’entrée/la sortie. La seule exception concerne les entrées/sortie génériques dont le type de données est déterminé par le paramètre formel. On choisira un type de données adapté pour le bloc fonction, si tous les paramètres réels sont constitués de libellés. Valeurs initiales Les FFB utilisant aux entrées des paramètres réels, auxquels aucune valeur n’a encore été affectée, fonctionnent avec les valeurs initiales de ces paramètres réels. Entrées non reliées NOTE : Des entrées FFB non-liées sont équipées standard de la valeur " 0 ". 230 33002205 12/2010 Langage des blocs fonctions FDB Objet texte Introduction Dans le langage blocs fonctions FBD, les textes peuvent être placés sous forme d’objets texte. La taille de ces objets texte est fonction de la longueur du texte. Selon la longueur du texte, la taille de l’objet peut être agrandie, dans les sens vertical et horizontal, d’unités de grille supplémentaires. Les objets texte ne doivent pas se chevaucher avec des FFB, le chevauchement avec des liaisons est toutefois admis. Capacité de mémoire Les objets texte n’occupent pas d’espace de mémoire sur l’API, étant donné que le texte n’est pas chargé sur l’API. 33002205 12/2010 231 Langage des blocs fonctions FDB 7.3 Tâches exécutées en langage de bloc fonction FBD Aperçu Ce chapitre décrit ce que l’on peut faire avec le langage de bloc fonction FBD. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 232 Page Placement de fonctions et de blocs fonctions 233 Ordre d’exécution des FFB 235 Configuration de boucles 238 33002205 12/2010 Langage des blocs fonctions FDB Placement de fonctions et de blocs fonctions Sélection de FFB Avec Objets →Sélection FFB... vous pouvez ouvrir un dialogue pour la sélection de FFB. Cette boîte de dialogue est modeless, c.-à-d. qu’elle ne se referme pas automatiquement après le lacement d’un FFB, mais reste ouverte jusqu’à ce que vous la fermiez. Si vous avez ouvert plusieurs sections FBD et appelé la boîte de dialogue, une seule boîte de dialogue est ouverte et disponible pour toutes les sections. Pour toutes les autres sections (pas l’éditeur FBD),la boîte de dialogue n’est pas disponible. Lorsque les sections FBD sont transformées en symboles (minimaliser la fenêtre), la boîte de dialogue se ferme. Lorsque l’un des symboles de section FBD est à nouveau appelé, la boîte de dialogue s’ouvre à nouveau automatiquement . Au premier démarrage de Concept, l’affichage des FFB s’oriente sur les bibliothèques. Ceci signifie que pour sélectionner un FFB, il faut d’abord sélectionner la bibliothèque correspondante à l’aide du bouton de commande Bibliothèque. Vous pouvez ensuite sélectionner le groupe correspondant dans la zone de liste Groupe. Vous pouvez à présent sélectionner le FFB souhaité dans la zone de liste Type FFB. Au cas où vous ne savez pas dans quelle bibliothèque/ dans quel groupe le FFB souhaité se trouve, vous pouvez utiliser le bouton de commande Orienté FFB..., pour appeler un dialogue orienté sur les FFB. Ce dialogue propose une liste triée par ordre alphabétique de tous les FFB de toutes les bibliothèques et tous les groupes. Après chaque démarrage ultérieur du projet, la vue que vous avez sélectionnée apparaît. Après la sélection du FFB, choisissez sa position dans la section. Le symbole curseur se place comme un petit FFB à côté du symbole des FFB et la croix indique sa position (le coin gauche supérieur des FFB). Par un clic avec la touche gauche de la souris, vous placez le FFB. 33002205 12/2010 233 Langage des blocs fonctions FDB Placement de FFB (fonctions et blocs fonctions) Dans l’éditeur de langage de bloc fonction FBD, la fenêtre est placée sur une grille logique. Les FFB (voir page 224) sont ajustés sur le quadrillage de cette grille lors du placement. Lorsque les FFB sont placés hors du cadre de la section ou en cas de chevauchement avec un autre FFB, un message d’erreur est déclenché, et le FFB n’est pas placé. Lors du placement à une entrée/sortie FFB, les paramètres réels peuvent se chevaucher avec un autre objet, mais ils ne doivent pas franchir les limites du cadre de section. Lorsqu’une liaison est utilisée pour établir une liaison à un autre FFB, cette liaison est contrôlée. Si cette liaison n’est pas permise, vous obtenez un message et la liaison n’est pas générée. Lors de la génération de liaisons, des chevauchements et croisements avec d’autres liaisons et FFB sont permis. Lorsqu’un FFB est sélectionne, ce commentaire est affiché dans la première colonne de la ligne d’état. Lorsqu’un paramètre réel est sélectionné, son nom et – le cas échéant – son adresse, son affectation des E/S et son commentaire apparaissent dans la première colonne de la ligne d’état. Modifier type FFB Avec la commande Objets →Remplacer FFB... vous pouvez remplacer des FFB déjà placés dans la section par des FFB d’un autre type (par ex. un AND par un OR). Cependant, les variables attribuées aux FFB restent préservées lorsque le type de données et la position des entrées/sorties de ‘l’ancien’et du nouveau FFB correspondent. NOTE : Des FFB aux entrées/sorties de données du type ANY (des FFB génériques) ne peuvent être remplacés. 234 33002205 12/2010 Langage des blocs fonctions FDB Ordre d’exécution des FFB Introduction L’ordre d’exécution est d’abord déterminé par l’ordre observé lors du placement des FFB. Lorsque, par la suite, les FFB sont reliés par des liaisons graphiques, l’ordre d’exécution est alors déterminé par le flux de données. Afficher ordre d’exécution FFB Avec la commande Objets →Afficher ordre d’exécution FFB, vous pouvez afficher l’ordre d’exécution des FFB. L'ordre d'exécution des FFB est indiqué par l'affichage du numéro d'exécution (numéro entre parenthèses après le nom d’instance ou le numéro de fonction). Affichage de l'ordre d'exécution des FFB Modifier ordre d’exécution FFB L’ordre d’exécution peut être modifié ultérieurement de façon ciblée à l’aide de la commande Objets →Modifier ordre d’exécution FFB, uniquement cependant lorsque la règle du flux de donnée n’est pas violée. 33002205 12/2010 235 Langage des blocs fonctions FDB Modification de l'ordre d’exécution de deux réseaux (dans une boucle) Cette modification ne peut être effectuée que si les deux FFB sont liés par la variable d’asservissement de la boucle. Etape 1 : sélectionnez les deux FFB. Etape 2 : sélectionnez la commande Modifier ordre d'exécution FFB. Réaction : l'ordre d'exécution a été modifié comme suit : 236 33002205 12/2010 Langage des blocs fonctions FDB Modification de l'ordre d’exécution de FFB qui sont exécutés selon l’ordre de placement L'opération de modification permet la création d'un autre ordre souhaité (dans certains cas via l‘attribution étape par étape de plusieurs FFB). Réaction : l'ordre d'exécution a été modifié comme suit : 33002205 12/2010 237 Langage des blocs fonctions FDB Configuration de boucles Boucles non permises La configuration de boucles exclusivement par le biais de liaisons n’est pas permise, étant donné que, dans ce cas, une détermination unique du flux de données n’est pas possible (la sortie d’un FFB est l’entrée du FFB suivant, et la sortie de celui-ci est à son tour l’entrée du premier). Boucles non permises par le biais de liaisons Résolution par le biais d’un paramètre réel Une telle logique doit être résolue par le biais de paramètres réels, afin que le flux de données puisse être défini de façon unique . Boucle résolue par le biais d’un paramètre réel : Variante 1 Boucle résolue par le biais d’un paramètre réel : Variante 2 238 33002205 12/2010 Langage des blocs fonctions FDB Résolution par le biais de plusieurs paramètres réels Les boucles résolues par le biais de plusieurs paramètres réels sont également permises. Pour de telles boucles, l’ordre d’exécution peut être influencé ultérieurement par une exécution – éventuellement répétée – de la commande Objets → Modifier ordre d’exécution des FFB (voir également Ordre d’exécution des FFB, page 235). Boucle par le biais de plusieurs paramètres réels 33002205 12/2010 239 Langage des blocs fonctions FDB 7.4 Génération de codes dans le cadre du langage de bloc fonction FBD Options de génération de code Introduction Avec la commande Projet →Options de génération de code,vous pouvez définir les Options de génération de code. Des données de diagnostic comprennent Si vous activez la case à cocher Inclure les données de diagnostic, des informations pour le diagnostic de processus seront générées en plus lors de la génération de codes (par ex. Diagnostic de transition (voir page 333), Codes de diagnostic pour des blocs fonctions avec diagnostic étendu, comme par exemple XACT, XLOCK, etc. ). L’évaluation de ce diagnostic de processus peut s’effectuer avec MonitorPro ou FactoryLink, par exemple. Code le plus rapide (vérification limitée) Si vous activez la case à cocher Code le plus rapide (vérification limitée), un code à temps optimisé sera généré. L’optimisation du temps d’exécution est obtenue de la façon suivante : l’arithmétique sur les entiers (par ex. "+" ou "-") est réalisée via des commandes simples de processeur, au lieu d’être réalisée par des appels de EFB. Les commandes de processeur sont bien plus rapides que les appels de EFB, mais ils ne génèrent pas de messages d’erreur, comme Dépassement en arithmétique ou Débordement de tableau (d’Array). Vous ne devez utiliser cette option que si vous vous êtes assuré que le programme ne contient aucune erreur d’arithmétique. Si Code le plus rapide (vérification limitée) a été sélectionné, l’addition IN + 1 est exécutée par la commande de processeur "add". Le code est plus rapide que lorsque l’EFB ADD_INT est appelé. Mais aucune erreur d’exécution n’est générée si la valeur "IN1" est égale à 32767 . Dans ce cas, "OUT1" déborderait de 32767 à -32768. 240 33002205 12/2010 Langage des blocs fonctions FDB 7.5 Fonctions en ligne du langage de bloc fonction FBD Fonctions en ligne Introduction Deux modes d’animation sont disponibles dans l’éditeur FBD : z Animation de variables et liaisons binaires z Animation d’objets sélectionnés Ces modes sont également disponibles lors de l’affichage d’une instance de DFB (Bouton de commande Détail... dans la boîte de dialogue Bloc fonction : xxx). NOTE : Lorsque la section animée est utilisée comme section de transition pour SFC et que la transition (et donc la section de transition) n’est pas traitée, l’état INVALIDE apparaît dans la section de transition animée. Animation de variables et liaisons binaires L’animation de variables et liaisons binaires est activée à l’aide de la commande En ligne →Animer valeurs binaires . Dans ce mode, l’état de signal actuel des variable binaires, des adresses directes des domaines 0x et 1x et des liaisons binaires est affiché dans la fenêtre de l’éditeur. Animation d’objets sélectionnés L’animation d’objets sélectionnés est activée à l’aide de la commande En ligne → Animer sélection. Dans ce mode, l’état de signal actuel des liaisons, variables, variables multiéléments et littéraux sélectionnés est affiché dans la fenêtre de l’éditeur. NOTE : Si vous voulez animer toutes les variables/liaisons de la section, vous pouvez utiliser CTRL+A, pour marquer la section entière, puis En ligne →Animer sélection (CTRL+W) pour animer toutes les variables et liaisons de la section. Si vous sélectionnez une valeur numérique à une entrée/sortie, le nom de la variable, son adresse directe et son affectation E/S (si elle est disponible) ainsi que son commentaire s’affichent dans la barre d’état. NOTE : Les objets sélectionnés continuent de l'être après une nouvelle sélection d'Animer sélection, afin de les conserver pour une lecture ultérieure ou pour permettre une modification aisée de la liste des objets. 33002205 12/2010 241 Langage des blocs fonctions FDB Signification des couleurs 12 jeux de couleurs différents sont disponibles à des fins d'animation. Vous trouverez une vue d'ensemble des jeux de couleurs et de leur signification dans l'aide en ligne (astuce : recherchez dans l'aide en ligne en entrant "Couleurs" dans l'index). 242 33002205 12/2010 Langage des blocs fonctions FDB 7.6 Elaboration d’un programme avec le langage de bloc fonction FBD Etablissement d’un programme dans le langage de bloc fonction FBD Introduction La description suivante donne un exemple pour l’établissement d’un programme dans le langage de bloc fonction (FBD). L’établissement d’un programme dans le langage de bloc fonction FBD s’effectue en deux étapes principales : Etape Action 1 Génération d’une section (voir page 243) 2 Elaboration de la logique (voir page 244) Génération d’une section Pour générer une section, effectuez les opérations suivantes : Etape 1 33002205 12/2010 Action Générez avec la commande Fichier →Nouvelle section... une nouvelle section et attribuez-lui un nom de la section. Note : Le nom de la section (au max. 32 caractères) doit être unique dans tout le projet, aucune différence n’étant faite entre l’écriture en lettres majuscules et en minuscules. Si le nom de la section entré existe déjà, vous recevez un avertissement et devez sélectionner un autre nom. Le nom de la section doit correspondre aux conventions de nom CEI, sinon un message d’erreur s’affiche. Note : Selon CEI 1131-3, uniquement des lettres sont permises comme premier caractère de noms. Si vous souhaitez cependant utiliser également des chiffres comme premiers caractères, vous pouvez le faire avec la commande Options →Environnement →Extensions CEI →Chiffres en tête de qualificatif autorisés Libérer. 243 Langage des blocs fonctions FDB Elaboration de la logique Pour élaborer une logique, effectuez les opérations suivantes : Etape 244 Action 1 Pour insérer un FFB dans la section, sélectionnez la commande Objets → Sélection FFB.... Réaction : La boîte de dialogue FFB de bibliothèque s’ouvre. 2 Dans cette boîte de dialogue, vous pouvez employer le bouton de commande Bibliothèque... pour sélectionner une bibliothèque et y choisir un FFB. Mais vous pouvez également utiliser le bouton de commande DFB pour afficher les DFB que vous avez générés et en sélectionner un. 3 Placez uniquement le DFB sélectionné dans la section. 4 Lorsque vous avez placé tous les DFB sélectionnés, fermez la boîte de dialogue avec Fermer. 5 Activez le mode sélection avec Objets →Mode sélection, cliquez sur le FFB et décalez les FFB sur la position souhaitée. 6 Activez le mode de liaison avec Objets →Liaison, et établissez les liaisons entre les FFB. 7 A présent, activez à nouveau le mode sélection avec Objets →Mode sélection, et cliquez deux fois sur l’une des entrées/sorties non reliées. Réaction : La boîte de dialogue Relier FFB s’ouvre, dans laquelle vous pouvez affecter un paramètre réel à l’entrée/la sortie. 33002205 12/2010 Langage des blocs fonctions FDB Etape 8 Action Selon la logique du programme, vous pouvez affecter à l’entrée/la sortie : z Variable z Variable affectée Par une variable localisée , vous pouvez affecter un signal d’entrée/de sortie de matériel du FFB à l’entrée/la sortie. Le nom de la variable est affiché sur la fenêtre de l’éditeur à l’entrée/la sortie. z Variable non-affectée Vous pouvez utiliser la variable non localisée affectée à l’entrée/la sortie du FFB comme mémento, c’est-à-dire pour la résolution de boucles ou pour la transmission de valeur entre différentes sections. Le nom de la variable est affiché sur la fenêtre de l’éditeur à l’entrée/la sortie. z Constante Vous pouvez affecter une constante à l’entrée du FFB. Vous pouvez transmettre la constante à d’autres sections. Vous déterminez la valeur des constantes dans l’éditeur des variables. Le nom de la constante est affiché sur la fenêtre de l’éditeur à l’entrée. z Libellé Vous pouvez affecter un libellé à l’entrée, c’est-à-dire que vous pouvez affecter directement une valeur à l’entrée/la sortie. La valeur est affichée sur la fenêtre de l’éditeur à l’entrée. z Adresse directe Par une adresse, vous pouvez affecter un signal d’entrée/de sortie de matériel à l’entrée/la sortie. L’adresse est affichée sur la fenêtre de l’éditeur à l’entrée/la sortie. Note : Exemple d’appel de variables multi-éléments, voir Appel de types de données dérivés, page 610. Note : De façon standard, les entrées FFB non reliées sont occupées par "0". 9 33002205 12/2010 Sauvegardez à présent la section FBD avec la commande Fichier → Enregistrer projet. 245 Langage des blocs fonctions FDB 246 33002205 12/2010 Plan de contact LD 33002205 12/2010 Plan de contact LD 8 Aperçu Ce chapitre décrit le plan de contact LD conforme à la norme CEI-1131. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 8.1 Remarques générales sur le langage à contacts LD 248 8.2 Objets dans le langage à contacts LD 250 8.3 Tâches exécutées en langage à contacts LD 267 8.4 Génération de codes dans le cadre du langage à contacts LD 274 8.5 Fonctions en ligne dans le cadre du langage à contacts LD 275 8.6 Elaboration d’un programme avec le langage à contacts LD 278 247 Plan de contact LD 8.1 Remarques générales sur le langage à contacts LD Remarques générales sur le langage du schéma à contacts LD Introduction Le présent sous-chapitre décrit le schéma à contacts LD (Ladder Diagramm, schéma à contacts) selon CEI 1131-3. La structure d'une section LD correspond à une voie de courant pour des montages à relais. Dans l'éditeur LD, la fenêtre est placée sur une grille logique présentant sur son côté gauche la barre d'alimentation gauche. Cette barre d'alimentation gauche correspond à la phase (conducteur L) d'une voie de courant. De même que sur une voie de courant, ne sont "traités", lors de la programmation, que les objets LD (contacts, bobines) qui sont branchés à une alimentation en courant, c'est-à-dire qui sont reliés à la barre d'alimentation gauche. La barre d'alimentation droite, qui correspond au conducteur neutre, n'est pas représentée. Cependant, toutes les bobines et sorties FFB y sont reliées en interne, ce qui permet d'établir un flux de courant. Objets Les objets du langage de programmation LD (schéma à contacts) proposent des aides permettant de diviser une section en un ensemble de : z contacts (voir page 251), z bobines (voir page 253) et z FFB (fonctions et blocs fonctions) (voir page 256). Ces objets peuvent être reliés les uns aux autres par : des liaisons (voir page 262) ou z des paramètres réels (voir page 264). z Vous pouvez également insérer une logique étendue sous forme de macros dans votre section LD (voir également Macros, page 541). Chaque section peut, théoriquement, contenir un nombre quelconque d'objets, et donc un nombre quelconque d'entrées et de sorties. Il est toutefois conseillé de diviser un programme global en unités logiques, c'est-à-dire en différentes sections. La logique de la section peut être commentée à l'aide d'objets texte (voir Objet texte, page 266). 248 33002205 12/2010 Plan de contact LD Ordre d'exécution En principe, les sections LD sont traitées de haut en bas et de gauche à droite. Les réseaux raccordés à la barre d'alimentation gauche sont traités de haut en bas. L'ordre d'exécution des différents objets (contacts, bobines, FFB) au sein d'un réseau est déterminé par le flux de données. Vous trouverez une description complète dans la section Ordre d'exécution, page 270. Editer à l'aide du clavier Dans Concept, l'édition se fait normalement avec la souris, mais il est aussi possible d'utiliser le clavier (voir également Touches courtes dans éditeur LD, page 867). Pour simplifier l'édition avec le clavier, vous pouvez définir dans le fichier CONCEPT.INI (voir page 1151) le nombre de colonnes autorisé par section avant qu'un saut de ligne automatique ne soit ajouté en cas d'extension d'une voie de courant. Lorsque la dernière colonne est atteinte, les objets qui suivent sont alors placés automatiquement dans la ligne suivante, à partir de la deuxième colonne. Les objets des différentes lignes sont reliés automatiquement, c'est-à-dire que les objets sont créés au sein d'une même voie de courant. Conformité CEI Pour obtenir la description de la conformité CEI du langage de programmation LD, voir Conformité CEI, page 877. 33002205 12/2010 249 Plan de contact LD 8.2 Objets dans le langage à contacts LD Aperçu Ce chapitre décrit les objets dans le langage à contacts LD. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 250 Page Contacts 251 Bobines 253 Fonctions et blocs fonctions (FFB) 256 Liaison 262 Paramètres réels 264 Objet texte 266 33002205 12/2010 Plan de contact LD Contacts Introduction Un contact est un élément LD qui transmet un état à la liaison horizontale à sa droite. Cet état résulte de la combinaison booléenne ET de l’état de la liaison horizontale sur sa partie gauche avec l’état de la variable/l’adresse directe associée. Un contact ne change pas la valeur de la variable/l’adresse directe associée. Les contacts suivants sont disponibles : z Contact de fermeture (voir page 251) z Contact de rupture (voir page 251) z Contact de reconnaissance de passages positifs (voir page 252) z Contact de reconnaissance de passages négatifs (voir page 252) Contact de fermeture Dans le cas de dispositifs de fermeture, l’état de la connexion de gauche est copié sur la connexion de droite, si l’état de la variable booléenne associée est ACT. Sinon, l’état de la connexion de droite est DESACT. Contact de fermeture Contact de rupture Dans le cas de dispositifs d’ouverture, l’état de la connexion de gauche est copié sur la connexion de droite, si l’état de la variable booléenne associée est DESACT. Sinon, l’état de la connexion de droite est DESACT. Contact de rupture 33002205 12/2010 251 Plan de contact LD Contacts de reconnaissance de passages positifs Dans le cas de contact destinés à la reconnaissance de passages positifs, la connexion de droite est ACT. pour un cycle de programme, si un passage de DESACT. à ACT. de la variable booléenne associée a lieu et qu’en même temps, l’état de la connexion de gauche est ACT. Sinon, l’état de la connexion de droite est DESACT. Contact de reconnaissance de passages positifs Contacts de reconnaissance de passages négatifs Dans le cas de contact destinés à la reconnaissance de passages négatifs, la connexion de droite est ACT. pour un cycle de programme, si un passage de ACT. à DESACT. de la variable booléenne associée a lieu et qu’en même temps, l’état de la connexion de gauche est ACT. Sinon, l’état de la connexion de droite est DESACT. Contact de reconnaissance de passages négatifs 252 33002205 12/2010 Plan de contact LD Bobines Introduction Une bobine est un élément LD qui transmet sans modification l’état de la liaison horizontale sur sa gauche à la liaison horizontale sur sa droite. Ceci étant, l’état est mémorisé dans la variable/l’adresse directe associée. Comportement de démarrage des bobines Lors de la procédure de reprise de l’API, on fait la différence entre la reprise à chaud et la reprise à froid : z Reprise à froid Après une reprise à froid (Charger le programme avec En ligne →Chargement) tous les variables (de tous les types) seront mis sur "0" ou sur leurs valeurs initiales. z Reprise à chaud Lors d’une reprise à chaud (arrêter et démarrer le programme) ou En ligne → Chargement des modifications) de différents procédures de départ existent pour les variables non-localisées/adresses directes et les variables nonlocalisées : z Variables localisées /adresses directes Lors d’une reprise à chaud, toutes les bobines (registres 0x) sont placées à "0" ou, si existant, à leur valeur initiale. z Variables non-localisées Lors d’une reprise à chaud, toutes les variables non-localisées conservent leur valeur actuelle (comportement mémorisant). Ce comportement différent lors d’une reprise à chaud entraîne des particularités dans le comportement de reprise à chaud des objets LD "Bobine - Initialiser" et "Bobine - Réinitialiser". Le comportement de reprise à chaud est fonction du type de variables utilisé (comportement mémorisant, en cas d’utilisation de variables nonlocalisées; comportement non mémorisant en cas d’utilisation de variables/d’adresses directes) Au cas où vous avez besoin d’une bobine tamponnée, avec une variable localisée ou des adresses directes, utilisez les blocs fonctions RS ou SR de la bibliothèque de blocs CEI s.v.p. 33002205 12/2010 253 Plan de contact LD Bobines disponibles Les bobines suivantes sont disponibles : Bobine (voir page 254) z Bobine - Inversée (voir page 254) z Bobine - Initialiser (voir page 255) z Bobine - Réinitialiser (voir page 255) z Bobine – Front positif (voir page 254) z Bobine – Front négatif (voir page 255) z Bobine Dans le cas de bobines, l’état de la connexion de gauche est copié sur la variable booléenne associée et sur la connexion de droite. Normalement, les bobines viennent après des contacts ou des EFB, mais elles peuvent également être suivies par des contacts. Bobine Bobine – Inversée Pour les bobines inversées, l’état de la liaison gauche est copié sur la liaison de droite. L’état inversé de la connexion de gauche est copié sur la variable booléenne associée. Si la connexion de gauche est DESACT., alors la connexion de droite est également DESACT. et la variable associée est ACT. Bobine - Inversée Bobine – Front positif Dans le cas de bobines destinées à la reconnaissance de passages positifs, l’état de la connexion de gauche est copié sur la connexion de droite. La variable booléenne associée représente un cycle de programme ACT., si la connexion de gauche passe de DESACT. à ACT. Bobine – Front positif 254 33002205 12/2010 Plan de contact LD Bobine – Front négatif Dans le cas de bobines destinées à la reconnaissance de passages négatifs, l’état de la connexion de gauche est copié sur la connexion de droite. La variable booléenne associée représente un cycle de programme ACT., si la connexion de gauche passe de ACT. à DESACT. Bobine – Front négatif Bobine – Initialiser Dans le cas de "Définir bobines", l’état de la connexion de gauche est copié sur la connexion de droite. La variable booléenne associée est placée dans l’état ACT., si la connexion de gauche est dans l’état ACT. Sinon, elle reste inchangée. La variable booléenne associée peut être réinitialisée par "Réinitialiser bobines". Bobine - Initialiser Bobine – Réinitialiser Dans le cas de " Réinitialiser bobines", l’état de la liaison de gauche est copié sur la liaison de droite. La variable booléenne associée est placée dans l’état DESACT., si la liaison de gauche est dans l’état ACT. Sinon, elle reste inchangée. La variable booléenne associée peut être initialisée par "Initialiser bobines". Bobine - Réinitialiser 33002205 12/2010 255 Plan de contact LD Fonctions et blocs fonctions (FFB) Introduction FFB est le terme générique pour : EFB (fonctions élémentaires et blocs fonctions élémentaires), (voir page 256) z DFB (blocs fonctions dérivés) (voir page 259) z UDEFB (fonctions élémentaires dérivées et blocs fonctions élémentaires dérivés), (voir page 260) z EFB EFB est le terme générique pour : z Fonction élémentaire (voir page 257) z Bloc fonction élémentaire (voir page 258) Les EFB sont des fonctions et de blocs fonctions que Concept met à votre disposition sous forme de bibliothèques. La logique des EFB est établie en langage de programmation C et ne peut pas être modifiée dans l’éditeur FBD. NOTE : Les EFB AND_BOOL, NOT_BOOL, OR_BOOL, R_TRIG et F_TRIG ne sont pas disponibles dans LD. Leur fonctionnalité est réalisée à l’aide de contacts. La fonction MOVE ne peut pas être utilisée avec le type de données BOOL. 256 33002205 12/2010 Plan de contact LD Fonction élémentaire Les fonctions n’ont pas d’état interne. Pour des valeurs égales aux entrées, la valeur à la sortie est la même pour toutes les exécutions de la fonction. Par exemple, l’addition de deux valeurs livre le même résultat à chaque exécution de la fonction. Une Fonction élémentaire est représentée graphiquement comme un cadre avec des entrées et une sortie. Les entrées sont toujours représentées à la gauche et les sorties toujours à la droite du cadre. Le nom de la fonction, c’est-à-dire le type de fonction, est affiché au centre du cadre. Le numéro de fonction est affiché au-dessus du cadre. Le numéro de fonction ne peut pas être modifié et présente toujours la structure .n.m. .n = numéro courant de la section .n = numéro courant de la fonction Les fonctions ne sont exécutées que lorsque l’entrée EN=1 ou lorsque l’entrée EN est désactivée (voir également EN et ENO, page 261). Fonction élémentaire 33002205 12/2010 257 Plan de contact LD Bloc fonction élémentaire Les blocs fonctions ont des états internes. Pour des valeurs égales aux entrées, la valeur à la sortie est toujours différente à chaque exécution du bloc fonction. Par exemple, pour un compteur, la valeur à la sortie augmente. Un bloc fonction est représenté graphiquement comme un cadre avec des entrées et des sorties. Les entrées sont toujours représentées à la gauche et les sorties toujours à la droite du cadre. Le nom du bloc fonction, c’est-à-dire le type bloc fonction, est affiché au centre du cadre. Le nom d’instance est affiché au-dessus du cadre. Le nom d’instance permet d’identifier précisément le bloc fonction dans un projet. Le nom d’instance est généré automatiquement et présente la structure suivante : FBI_n_m FBI = Instance de bloc fonction n = Numéro de section (numéro courant) m = Numéro de l’objet FFB dans la section (numéro courant) Le nom d’instance peut être édité dans la boîte de dialogue Propriétés du bloc fonction. Le nom d’instance doit être précis dans tout le projet sans égard aux majuscules et minuscules. Si le nom entré existe déjà, vous en êtes averti et vous devez choisir un autre nom. Le nom d’instance doit obligatoirement satisfaire aux conventions de nom CEI. Si cela n’est pas le cas, un message d’erreur apparaît. NOTE : Selon CEI1131-3 seules des lettres sont autorisées comme premier caractère des noms d’instances. Si vous souhaitez cependant utiliser également des chiffres comme premiers caractères, vous pouvez le faire avec la commande Options →Environnement →Extensions CEI →Chiffres en tête de qualificatif autorisés Libérer. Les blocs fonctions ne sont exécutés que lorsque l’entrée EN=1 ou lorsque l’entrée EN est désactivée (voir également EN et ENO, page 261). Bloc fonction élémentaire 258 33002205 12/2010 Plan de contact LD DFB Les blocs fonctions dérivés sont des blocs fonctions que vous avez définis dans Concept-DFB. Dans les DFB, on ne distingue pas la fonction du bloc fonction. Indépendamment de leur structure interne, elles sont toujours traitées comme des blocs fonctions. Un DFB est représenté graphiquement comme un cadre avec deux lignes verticales et des entrées et des sorties. Les entrées sont toujours représentées à la gauche et les sorties toujours à la droite du cadre. Le nom du DFB est affiché au centre du cadre. Le nom d’instance est affiché au-dessus du cadre. Le nom d’instance permet d’identifier précisément le bloc fonction dans un projet. Le nom d’instance est généré automatiquement et présente la structure suivante : FBI_n_m FBI = Instance de bloc fonction n = Numéro de section (numéro courant) m = Numéro de l’objet FFB dans la section (numéro courant) Le nom d’instance peut être édité dans la boîte de dialogue Propriétés du DFB. Le nom d’instance doit être précis dans tout le projet sans égard aux majuscules et minuscules. Si le nom entré existe déjà, vous en êtes averti et vous devez choisir un autre nom. Le nom d’instance doit obligatoirement satisfaire aux conventions de nom CEI. Si cela n’est pas le cas, un message d’erreur apparaît. NOTE : Selon CEI1131-3 seules des lettres sont autorisées comme premier caractère des noms d’instances. Si vous souhaitez cependant utiliser également des chiffres comme premiers caractères, vous pouvez le faire avec la commande Options →Environnement →Extensions CEI →Chiffres en tête de qualificatif autorisés Libérer. Les blocs fonctions dérivés ne sont exécutés que lorsque l’entrée EN=1 ou lorsque l’entrée EN est désactivée (voir également EN et ENO, page 261). Bloc fonction dérivé 33002205 12/2010 259 Plan de contact LD UDEFB UDEFB est le terme générique pour : Fonction élémentaire définie par l’utilisateur z Bloc fonction élémentaire défini par l’utilisateur z Les UDEFB sont des fonctions et blocs fonctions que vous avez programmés avec Concept-EFB en langage de programmation C++ et que vous mettez sous forme de bibliothèques à la disposition de Concept. Il n’y a pas de différence fonctionnelle entre les UDEFB et les EFB dans Concept. Traitement de FFB Les FFB ne sont traités que lorsqu’au moins une entrée booléenne est connectée à la barre d’alimentation gauche. Au cas où le FFB ne possède pas d’entrée booléenne, l’entrée EN du FFB doit être utilisée. Si le FFB doit être exécuté de façon conditionnell, l’entrée booléenne peut être préalablement reliée par des contacts ou d’autres FFB. NOTE : Si l’entrée EN n’est pas connectée à la barre gauche d’alimentation, elle doit être désactivée dans la boîte de dialogue Propriétés, car sinon le FFB ne sera jamais traité. NOTE : Tout FFB sans liaison booléenne à la barre gauche d’alimentation provoque un message d’erreur lors du chargement dans l’API. Liaison d’un FFB à la barre gauche d’alimentation : 260 33002205 12/2010 Plan de contact LD EN et ENO Pour tous les FFB, une entrée EN et une sortie ENO peuvent être configurées. La configuration d’EN et d’ENO est activée ou désactivée dans la boîte de dialogue des Propriétés FFB. La boîte de dialogue est appelée par la commande Objets → Caractéristiques... ou en cliquant deux fois sur le FFB. Au cas où la valeur d’EN est égale à "0", lorsque le FFB est appelé, les algorithmes définis par le FFB ne seront pas exécutés et les sorties conserveront leur valeur précédente. Dans ce cas, la valeur d’ENO sera automatiquement placée à "0" Au cas où la valeur d’EN est égale à "1", lorsque le FFB est appelé, les algorithmes définis par le FFB sont exécutés. Après l’exécution exempte d’erreur de ces algorithmes, la valeur d’ENO est automatiquement placée à "1". Si une erreur se produit durant l’exécution de ces algorithmes, ENO est placée à "0". NOTE : Si l’entrée EN n’est pas connectée à la barre gauche d’alimentation, elle doit être désactivée dans la boîte de dialogue Propriétés, car sinon le FFB ne sera jamais traité. Le comportement de sortie des FFB est indépendant du fait que les FFB soient appelés sans EN/ENO ou avec EN=1 . 33002205 12/2010 261 Plan de contact LD Liaison Description Les liaisons sont des liens entre des contacts, des bobines et des FFB. Il est possible d'établir plusieurs liaisons avec un contact, une bobine ou une sortie FFB. Les différents points de liaison sont marqués par un cercle plein. NOTE : Les contacts, bobines et entrées de FFB non liés comportent par défaut la valeur "0". Types de données Les types de données des entrées / sorties à relier doivent correspondre. Editer des liaisons Les liaisons peuvent être éditées en mode sélection. Les recouvrements avec d'autres objets sont autorisés. Configurer des boucles Aucune boucle ne peut être configurée avec des liaisons car, dans ce cas, l'ordre d'exécution dans la section ne peut pas être déterminé de manière unique. Les boucles doivent être définies avec des paramètres réels (voir Configuration de boucles, page 238). Liaisons horizontales Lors de leur mise en place, les contacts et les bobines sont reliés automatiquement à une bobine / un contact voisin(e) non lié(e) qui se trouve à la même position verticale. Une liaison à la barre d'alimentation n'est établie que lorsque le contact est placé à proximité (voir également le sous-chapitre Définir une liaison des contacts, page 1151 dans le chapitre Fichier INI Concept). Si une bobine ou un contact est placé(e) sur une liaison horizontale existante, celle-ci est alors coupée automatiquement et le contact / la bobine est inséré(e). Lors de la mise en place, les paramètres actuels peuvent chevaucher un autre objet, mais ne peuvent pas franchir les limites du cadre de la section. Si une liaison est établie avec un autre objet via une connexion, cette liaison est vérifiée. Si cette liaison n'est pas autorisée, vous obtenez un message d'erreur et la liaison n'est pas générée. Après la mise en place des objets, le système crée automatiquement les liaisons horizontales avec les objets directement voisins. 262 33002205 12/2010 Plan de contact LD Liaisons verticales La "liaison verticale" est un cas particulier de liaison. La liaison verticale sert de OU logique. Pour ce type de liaison OU, 32 entrées (contacts) et 64 sorties (bobines, liaisons) sont possibles. 33002205 12/2010 263 Plan de contact LD Paramètres réels Paramètres réels possibles Durant l’exécution du programme, les valeurs sont transmises, par le biais de paramètres réels, du processus ou d’autres paramètres réels au FFB, et renvoyées à nouveau à la sortie après le traitement. Tableau des paramètres réels possibles 264 Elément Paramètre réel Contacts z Adresse directe (voir page 71) z Variables affectées (voir page 67) z Variable non-affectée (voir page 67) Bobines z Adresse directe (voir page 71) z Variables affectées (voir page 67) z Variable non-affectée (voir page 67) Entrées de FFB z z z z z Sorties de FFB z Adresse directe (voir page 71) z Variables affectées (voir page 67) z Variable non-affectée (voir page 67) Adresse directe (voir page 71) Variables affectées (voir page 67) Variable non-affectée (voir page 67) Constantes (voir page 69) Libellés (voir page 70) 33002205 12/2010 Plan de contact LD Adresses directes L’indication/l’affichage des adresses directes peut s’effectuer dans différents formats. La définition du format d’affichage s’effectue dans le dialogue Options → Environnement →Commun.... La définition du format d’affichage n’a aucun impact sur le format d’entrée, ceci signifie que l’entrée d’adresses directes peut s’effectuer dans un format quelconque. Les formats d’adresses suivants sont disponibles : z Format standard (400001) L’adresse à cinq positions intervient directement après le premier chiffre (de la Référence). z Format à séparateur (4 : 00001) Le premier chiffre (la référence) est séparé par un point double ( : ) de l’adresse à cinq positions. z Format compact (4 : 1) Le premier chiffre (la référence) est séparé par un point double ( : ) de l’adresse suivante, les zéros en tête n’étant pas indiqués dans l’adresse . z Format CEI (QW1) Un qualificatif est placé en première position, conforme CEI, suivi de l’adresse à cinq positions. z %0x12345 = %Q12345 z %1x12345 = %I12345 z %3x12345 = %IW12345 z %4x12345 = %QW12345 Type de données Pour les contacts et les bobines, le type de données du paramètre réel doit être de type BOOL. Pour les entrées/sorties, le type des données du paramètre réel doit correspondre au type des données de l’entrée/la sortie. La seule exception concerne les entrées/sortie génériques de FFB dont le type de données est déterminé par le paramètre formel. On choisira un type de données adapté pour le bloc fonction, si tous les paramètres réels sont constitués de libellés. Valeurs initiales Les FFB utilisant aux entrées des paramètres réels ainsi que les bobines auxquels aucune valeur n’a encore été affectée, fonctionnent avec les valeurs initiales de ces paramètres réels. Entrées non reliées NOTE : De façon standard, les contacts, bobines et entrées/sorties de FFB non reliés sont occupés par la valeur "0". 33002205 12/2010 265 Plan de contact LD Objet texte Introduction Dans le plan de contacts LD, les textes peuvent être placés sous forme d’objets texte. La taille de ces objets texte est fonction de la longueur du texte. Selon la longueur du texte, la taille de l’objet peut être agrandie, dans les sens vertical et horizontal, d’unités de grille supplémentaires. Les objets texte ne doivent pas se chevaucher avec d’autres objets, le chevauchement avec des liaisons est toutefois possible. Capacité de mémoire Les objets texte n’occupent pas d’espace de mémoire sur l’API, étant donné que le texte n’est pas chargé sur l’API. 266 33002205 12/2010 Plan de contact LD 8.3 Tâches exécutées en langage à contacts LD Aperçu Ce chapitre décrit ce que l’on peut faire avec le langage à contacts LD. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Placement de bobines, de contacts, de fonctions et de blocs fonctions 268 Ordre d'exécution 270 Configuration de boucles 272 267 Plan de contact LD Placement de bobines, de contacts, de fonctions et de blocs fonctions Mise en place d'objets Dans l’éditeur du schéma à contacts LD, la fenêtre est placée sur une grille logique. Lors de leur mise en place, les objets sont ajustés sur le quadrillage de cette grille (52 x 230 champs). A l’exception des liaisons verticales, des FFB et des zones de texte, tous les éléments ont besoin exactement d’un champ sur la grille. Les objets ne peuvent être placés qu’à l’intérieur d’un tel champ. Si un objet est placé entre deux champs, l’objet est automatiquement inséré dans le champ qui suit. Lorsqu'un objet est placé hors du cadre de la section ou en cas de chevauchement avec un autre objet, un message d'erreur apparaît, et l'objet n'est pas placé. Lors du placement, les contacts et les bobines sont automatiquement reliés à un contact / une bobine non relié(e) se trouvant à proximité immédiate à condition que le contact / la bobine se trouve à la même position verticale. Une liaison avec la barre d’alimentation n’est établie que lorsque le contact est placé 2 champs plus loin. Si des contacts ou bobines sont placé(e)s sur des contacts ou bobines déjà existant(e)s, ces derniers sont remplacés par ceux actuellement mis en place (valable uniquement pour les mêmes types, c’est-à-dire lorsque des bobines sont remplacées par des bobines et des contacts par des contacts). Si une bobine ou un contact est placé(e) sur une liaison horizontale existante, celle-ci est coupée automatiquement et le contact / la bobine est inséré(e). Lors de la mise en place, les paramètres réels peuvent chevaucher un autre objet, mais ne peuvent pas franchir les limites du cadre de la section. Si une liaison est établie avec un autre objet via une connexion, cette liaison est vérifiée. Si cette liaison n'est pas autorisée, vous obtenez un message d'erreur et la liaison n'est pas générée. Lors de la génération de liaisons, des chevauchements et croisements avec d’autres liaisons et objets sont permis. Lorsqu’un FFB est sélectionné, le commentaire associé est affiché dans la première colonne de la ligne d’état. Lorsqu’un paramètre réel est sélectionné, son nom et, le cas échéant, son adresse directe et son commentaire apparaissent dans la première colonne de la ligne d’état. Saut de ligne automatique Si vous utilisez le clavier, vous avez la possibilité de définir dans le fichier CONCEPT.INI (voir page 1151) le nombre de colonnes / champs autorisé avant que le système n'ajoute un saut de ligne automatique en cas d'édition avec le clavier lorsque vous atteignez la dernière colonne / le dernier champ. L'objet qui suit est alors inséré dans la deuxième colonne / le deuxième champ et relié au dernier objet de la ligne précédente. Ainsi, les objets sont créés au sein d'une même voie de courant. 268 33002205 12/2010 Plan de contact LD Sélectionner des FFB La commande Objets →Sélection FFB... vous permet d'ouvrir un dialogue pour sélectionner des FFB. Ce dialogue est "modeless", c.-à-d. qu’il ne se referme pas automatiquement après le placement d’un FFB, mais reste ouvert jusqu’à ce que vous le fermiez. Si vous avez ouvert plusieurs sections LD et appelé le dialogue, seul un dialogue disponible pour toutes les sections s'ouvre. Pour toutes les autres sections (pas l’éditeur LD), la boîte de dialogue n’est pas disponible. Lorsque les sections LD sont transformées en symboles (réduction de la fenêtre), la boîte de dialogue se ferme. Lorsque l’un des symboles de section LD est à nouveau appelé, la boîte de dialogue s’ouvre à nouveau automatiquement. Au premier démarrage de Concept, l’affichage des FFB s’oriente sur les bibliothèques. Ceci signifie que pour sélectionner un FFB, il faut d’abord sélectionner la bibliothèque correspondante à l’aide du bouton de commande Bibliothèque. Vous pouvez ensuite sélectionner le groupe correspondant dans la zone de liste Groupe. Vous pouvez alors sélectionner le FFB souhaité dans la zone de liste Type FFB. Si vous ne savez pas dans quelle bibliothèque / dans quel groupe le FFB souhaité se trouve, vous pouvez utiliser le bouton de commande Orienté FFB pour appeler un dialogue orienté sur les FFB. Ce dialogue présente une liste triée par ordre alphabétique de tous les FFB de toutes les bibliothèques et de tous les groupes. Après chaque démarrage ultérieur du projet, la vue que vous avez sélectionnée apparaît. Après avoir sélectionné le FFB, vous devez choisir sa position dans la section. Le symbole curseur se transforme en petit FFB, la croix indiquant la position (coin supérieur gauche du FFB) à laquelle est placé le FFB. Cliquez sur le bouton gauche de la souris pour placer le FFB. Modifier type FFB La commande Objets →Remplacer FFB... vous permet de remplacer des FFB déjà placés dans la section par des FFB d’un autre type (par ex. un ET par un OU). Cependant, les variables attribuées au FFB restent préservées lorsque le type de données et la position des entrées / sorties de "l’ancien" et du nouveau FFB correspondent. NOTE : Il est impossible de remplacer des FFB avec des entrées / sorties de données du type ANY (FFB génériques). Modifier contact / bobine Les contacts et bobines déjà placés peuvent être remplacés facilement. Pour ce faire, sélectionnez le nouvel élément et cliquez sur l’élément à remplacer. 33002205 12/2010 269 Plan de contact LD Ordre d'exécution Description La section suivante décrit l'ordre d'exécution des sections LD : L'ordre d'exécution des réseaux, qui sont reliés uniquement par la barre d'alimentation gauche, est déterminé par la position graphique où ces réseaux sont reliés à la barre d'alimentation gauche. L'exécution des différents réseaux s'effectue de haut en bas. Voir l'exemple ci-dessous, Réseaux I-VI. z L'ordre d'exécution des différents objets (contacts, bobines, FFB) au sein d'un réseau est déterminé par le flux de données. Cela signifie que les bobines et FFB dont les entrées ont déjà reçu des affectations de valeurs sont traités en premier. z Les voies de courant, qui commencent au niveau des sorties (broches) des FFB, sont traitées en fonction de la position graphique verticale de leur premier objet (de haut en bas). Voir l'exemple ci-dessous, Réseau III : Le traitement des objets du FFB (FBI_11_63) débute avec la voie de courant dont le premier objet occupe la position verticale la plus haute (13), puis suit la voie de courant (13)->(14). Lorsque la voie de courant (13)->(14) a été traitée, le processus passe à la voie suivante (15)->(19). z Lorsque les premiers objets de deux voies de courant commençant au niveau des sorties (broches) des FFB se situent au même niveau, la voie de courant dont l'objet est le plus à gauche est traitée en premier. Voir l'exemple ci-dessous, Réseau IV : (22)->(23), puis (24)->(25). z La position d'un FFB est déterminée en fonction de son coin supérieur gauche. Voir exemple ci-dessous. Réseau V : Coin supérieur gauche du FFB (FBI_11_76) au-dessus du contact (30). Ordre : (28)->(29), puis (30)->(31). Réseau VI : Coin supérieur gauche du FFB (FBI_11_82) à la même hauteur que le contact (34). Ordre : (34)->(35), puis (36)->(37). z 270 33002205 12/2010 Plan de contact LD Exemple Section LD 33002205 12/2010 271 Plan de contact LD Configuration de boucles Boucles non permises La configuration de boucles exclusivement par le biais de liaisons n’est pas permise, étant donné que, dans ce cas, une détermination unique du flux de données n’est pas possible (la sortie d’un FFB est l’entrée du FFB suivant, et la sortie de celui-ci est à son tour l’entrée du premier). Boucles non permises par le biais de liaisons Résolution par le biais d’un paramètre réel Une telle logique doit être résolue par le biais de paramètres réels, afin que le flux de données puisse être défini de façon unique . Boucle résolue par le biais d’un paramètre réel : Variante 1 Boucle résolue par le biais d’un paramètre réel : Variante 2 272 33002205 12/2010 Plan de contact LD Résolution par le biais de plusieurs paramètres réels Les boucles résolues par le biais de plusieurs paramètres réels sont également permises. Boucle par le biais de plusieurs paramètres réels 33002205 12/2010 273 Plan de contact LD 8.4 Génération de codes dans le cadre du langage à contacts LD Options de génération de code Introduction Avec la commande Projet →Options de génération de code,vous pouvez définir les Options de génération de code. Des données de diagnostic comprennent Si vous activez la case à cocher Inclure les données de diagnostic, des informations pour le diagnostic de processus seront générées en plus lors de la génération de codes (par ex. Diagnostic de transition, codes de diagnostic pour des blocs fonctions avec diagnostic étendu, comme par exemple XACT, XLOCK, etc. ). L’évaluation de ce diagnostic de processus peut s’effectuer avec MonitorPro ou FactoryLink, par exemple. Code le plus rapide (vérification limitée) Si vous activez la case à cocher Code le plus rapide (vérification limitée), un code à temps optimisé sera généré. L’optimisation du temps d’exécution est obtenue de la façon suivante : l’arithmétique sur les entiers (par ex. "+" ou "-") est réalisée via des commandes simples de processeur, au lieu d’être réalisée par des appels de EFB. Les commandes de processeur sont bien plus rapides que les appels de EFB, mais ils ne génèrent pas de messages d’erreur, comme Dépassement en arithmétique ou Débordement de tableau (d’Array). Vous ne devez utiliser cette option que si vous vous êtes assuré que le programme ne contient aucune erreur d’arithmétique. Si Code le plus rapide (vérification limitée) a été sélectionné, l’addition IN + 1 est exécutée par la commande de processeur "add". Le code est plus rapide que lorsque l’EFB ADD_INT est appelé. Mais aucune erreur d’exécution n’est générée si la valeur "IN1" est égale à 32767 . Dans ce cas, "OUT1" déborderait de 32767 à -32768. 274 33002205 12/2010 Plan de contact LD 8.5 Fonctions en ligne dans le cadre du langage à contacts LD Fonctions en-ligne Introduction Deux modes d’animation sont disponibles dans l’éditeur LD : z Animation de variables et liaisons binaires z Animation d’objets sélectionnés Ces modes sont également disponibles lors de l’affichage d’un instance DFB (Bouton de commande Détail... dans la boîte de dialogue Bloc fonction : xxx). NOTE : Lorsque la section animée est utilisée comme section de transition pour SFC et la transition (et donc la section de transition) n’est pas traitée, l’état suivant apparaît dans la section de transition animée : BLOQUE. Animation de variables et liaisons binaires L’animation de variables et liaisons binaires est activée à l’aide de la commande En ligne →Animer valeurs binaires. Dans ce mode, l’état de signal actuel des variable binaires, des adresses directes des domaines 0x et 1x et des liaisons binaires est affiché dans la fenêtre de l’éditeur. Signification des couleurs 33002205 12/2010 Couleur Signification Contact, bobine, entrée/sortie, connexion rouge Contact, bobine, entrée/sortie, connexion transmet la valeur 0 Barre d’alimentation de gauche, contact, bobine, entrée/sortie, connexion vert(e) Barre d’alimentation de gauche, contact, bobine, entrée/sortie, connexion transmet la valeur 1 Variable avec ombre beige Variable forcée Variable avec ombre violette Variable définie de façon cyclique Le nom des variables multi-éléments (par ex. moteur) est affiché en couleur. Affichage, dans l’éditeur, d’une variable multi-éléments (moteur, par ex.) comprenant un ou plusieurs éléments, objet d’un forçage ou d’un positionnement cyclique. 275 Plan de contact LD Couleur Signification Affichage, dans l’éditeur, d’un élément de Le nom intégral de l’élément des variables multi-éléments (par ex. moteur.droite.act.) est variable multi-éléments (Moteur droit Marche, par ex), objet d’un forçage ou d’un affiché en couleur. positionnement cyclique. Le nom des variables multi-éléments (par ex. moteur.droit.act.) est affiché en couleur, mais pas le nom de l’élément. Dans l’éditeur est affiché un élément d’une variable multi-éléments (par ex. moteur.droite.act.). Cet élément n’est ni forcé, ni défini de façon cyclique, mais un autre élément de cette variable multiéléments est défini de façon cyclique ou est forcé. Animation d’objets sélectionnés L’animation d’objets sélectionnés est activée à l’aide de la commande En ligne → Animer sélection . Dans ce mode, l’état de signal actuel des liaisons, variables, variables multiéléments et libellés sélectionnés est affiché dans la fenêtre de l’éditeur. NOTE : Au cas où vous souhaiteriez animer toutes les variables/liaisons de la section, vous pouvez utiliser CTRL+A, pour marquer la section entière, et ensuite, avec En ligne →Animer sélection (CTRL+W), animer toutes les variables et liaisons de la section. Si vous sélectionnez une valeur numérique à une entrée/sortie, le nom de la variable, son adresse directe et son affectation des E/S (si existant) ainsi que son commentaire s’affichent dans la ligne d’état. NOTE : Les objets sélectionnés restent également sélectionnés après une nouvelle sélection de Animer sélection , afin de sauvegarder ces objets pour la continuation de la lecture, ou permettre une modification aisée de la liste des objets. Signification des couleurs 276 Couleur Signification Contact, bobine, connexion rouge Contact, bobine, connexion transmet la valeur 0 Barre d’alimentation de gauche, contact, bobine, connexion vert(e) Barre d’alimentation de gauche, contact, bobine, connexion transmet la valeur 1 Connexion jaune La connexion transmet une variable multiéléments (cliquer deux fois sur la connexion pour afficher les valeurs) Variable avec fond jaune Variable multi-éléments (cliquer deux fois sur la variable pour afficher les valeurs) Valeur numérique au niveau de l’entrée/de la sortie (fond jaune) Valeur actuelle des variables 33002205 12/2010 Plan de contact LD Couleur Signification Valeur numérique sur connexion (fond jaune) Valeur transmise actuellement par la connexion Variable avec ombre beige La variable est forcée Variable avec ombre violette La variable est définie de façon cyclique Le nom des variables multi-éléments (par ex. moteur) est affiché en couleur. Dans l’éditeur est affichée une variable multiéléments (par ex. moteur) dans laquelle un ou plusieurs éléments sont forcés ou définis de façon cyclique. Dans l’éditeur est affiché un élément d’une Le nom intégral de l’élément des variables multi-éléments (par ex. moteur.droite.act.) est variable multi-éléments (par ex. moteur.droite.act). Cet élément est forcé ou affiché en couleur. défini de façon cyclique. Le nom des variables multi-éléments (par ex. Dans l’éditeur est affiché un élément d’une moteur.droit.act.) est affiché en couleur, mais variable multi-éléments (par ex. moteur.droite.act.). Cet élément n’est ni pas le nom de l’élément. forcé, ni défini de façon cyclique, mais un autre élément de cette variable multiéléments est défini de façon cyclique ou est forcé. Signification des couleurs 12 jeux de couleurs différents sont disponibles à des fins d'animation. Vous trouverez une vue d'ensemble des jeux de couleurs et de leur signification dans l'aide en ligne (astuce: recherchez dans l'aide en ligne en entrant "Couleurs" dans l'index). 33002205 12/2010 277 Plan de contact LD 8.6 Elaboration d’un programme avec le langage à contacts LD Etablissement d’un programme dans le plan de contact LD Introduction La description suivante donne un exemple pour l’établissement d’un programme dans le plan de contacts (LD). L’établissement d’un programme dans le plan de contact LD s’effectue en deux étapes principales : Etape Action 1 Génération d’une section (voir page 278) 2 Elaboration de la logique (voir page 279) Génération d’une section Pour générer une section, effectuez les opérations suivantes : Etape 1 278 Action Générez avec la commande Fichier →Nouvelle section... une nouvelle section et attribuez-lui un nom de la section. Note : Le nom de la section (au max. 32 caractères) doit être unique dans tout le projet, aucune différence n’étant faite entre l’écriture en lettres majuscules et en minuscules. Si le nom de la section entré existe déjà, vous recevez un avertissement et devez sélectionner un autre nom. Le nom de la section doit correspondre aux conventions de nom CEI, sinon un message d’erreur s’affiche. Note : Selon CEI 1131-3, uniquement des lettres sont permises comme premier caractère de noms. Si vous souhaitez cependant utiliser également des chiffres comme premiers caractères, vous pouvez le faire avec la commande Options →Environnement →Extensions CEI →Chiffres en tête de qualificatif autorisés Libérer. 33002205 12/2010 Plan de contact LD Elaboration de la logique Pour élaborer une logique, effectuez les opérations suivantes : Etape 33002205 12/2010 Action 1 Pour insérer un contact ou une bobine dans la section, ouvrez le menu principal Objets et sélectionnez le contact ou la bobine souhaité(e). Vous pouvez également sélectionner le contact ou la bobine par la barre à outils. Placez les contacts ou les bobines dans la section. 2 Pour insérer un FFB dans la section, sélectionnez la commande Objets → Sélection FFB.... Réaction : La boîte de dialogue FFB de bibliothèque s’ouvre. 3 Dans cette boîte de dialogue, vous pouvez employer le bouton de commande Bibliothèque... pour sélectionner une bibliothèque et y choisir un FFB. Mais vous pouvez également utiliser le bouton de commande DFB pour afficher les DFB que vous avez générés et en sélectionner un. 4 Placez uniquement le DFB sélectionné dans la section. 5 Lorsque vous avez placé tous les DFB sélectionnés, fermez la boîte de dialogue avec Fermer. 6 Avec Objets →Mode sélection, activez le mode sélection et déplacez les contacts, les bobines et les FFB sur la position souhaitée. 7 Avec Objets →Liaison, activez le mode de liaison et établissez les liaisons entre les contacts, les bobines et les FFB. Etablissez la liaison entre les contacts, les FFB et la barre gauche d’alimentation. 8 A présent, activez à nouveau le mode sélection avec Objets →Mode sélection, et cliquez deux fois sur un contact ou une bobine. Réaction : La boîte de dialogue Propriétés : Objet LD s’ouvre, et vous pouvez y affecter un paramètre réel au contact/à la bobine. 279 Plan de contact LD Etape 9 Action Selon la logique du programme, vous pouvez affecter au contact/à la bobine : z Variable z Variable affectée Par une variable localisée , vous pouvez affecter un signal d’entrée/de sortie de matériel à l’entrée/la sortie. Le nom de la variable est affiché sur la fenêtre de l’éditeur à l’entrée/la sortie. z Variable non-affectée Vous pouvez utiliser la variable non localisée affectée à l’entrée/la sortie comme mémento, c’est-à-dire pour la résolution de boucles ou pour la transmission de valeur entre différentes sections. Le nom de la variable est affiché sur la fenêtre de l’éditeur à l’entrée/la sortie. z Adresse directe Par une adresse, vous pouvez affecter un signal d’entrée/de sortie de matériel à l’entrée/la sortie. L’adresse est affichée sur la fenêtre de l’éditeur à l’entrée/la sortie. Note : Exemple d’appel de variables multi-éléments, voir Appel de types de données dérivés, page 610. Note : De façon standard, les entrées FFB non reliées sont occupées par "0". 10 280 Pour relier les entrées/sorties FFB aux paramètres réels, cliquez deux fois sur une des entrées/sorties non reliées. Réaction : La boîte de dialogue Connexion de FFB s’ouvre, dans laquelle vous pouvez affecter un paramètre réel à l’entrée/la sortie. 33002205 12/2010 Plan de contact LD Etape 11 Action Selon la logique du programme, vous pouvez affecter à l’entrée/la sortie : z Variable z Variable affectée Par une variable localisée , vous pouvez affecter un signal d’entrée/de sortie de matériel à l’entrée/la sortie. Le nom de la variable est affiché sur la fenêtre de l’éditeur à l’entrée/la sortie. z Variable non-affectée Vous pouvez utiliser la variable non localisée affectée à l’entrée/la sortie comme mémento, c’est-à-dire pour la résolution de boucles ou pour la transmission de valeur entre différentes sections. Le nom de la variable est affiché sur la fenêtre de l’éditeur à l’entrée/la sortie. z Constante Vous pouvez affecter une constante à l’entrée. Vous pouvez transmettre la constante à d’autres sections. Vous déterminez la valeur des constantes dans l’éditeur des variables. Le nom de la constante est affiché sur la fenêtre de l’éditeur à l’entrée. z Libellé Vous pouvez affecter un libellé à l’entrée, c’est-à-dire que vous pouvez affecter directement une valeur à l’entrée/la sortie. La valeur est affichée sur la fenêtre de l’éditeur à l’entrée. z Adresse directe Par une adresse, vous pouvez affecter un signal d’entrée/de sortie de matériel à l’entrée/la sortie. L’adresse est affichée sur la fenêtre de l’éditeur à l’entrée/la sortie. Note : Exemple d’appel de variables multi-éléments, voir Appel de types de données dérivés, page 610. Note : De façon standard, les entrées FFB non reliées sont occupées par "0". 12 33002205 12/2010 Sauvegardez à présent la section LD avec la commande Fichier →Enregistrer projet. 281 Plan de contact LD 282 33002205 12/2010 Langage de commande séquentielle SFC 33002205 12/2010 Langage de commande séquentielle SFC 9 Aperçu Ce chapitre décrit le langage de commande séquentielle SFC conforme à la norme CEI-1131. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 9.1 Remarques générales sur le langage séquentiel SFC 284 9.2 Eléments du langage séquentiel SFC 286 9.3 Travailler avec le langage séquentiel SFC 305 9.4 Fonctions en-ligne du langage séquentiel SFC 323 283 Langage de commande séquentielle SFC 9.1 Remarques générales sur le langage séquentiel SFC Remarques générales sur le langage séquentiel SFC Introduction La présente section décrit le langage séquentiel SFC selon CEI 1131-3. Dans le langage séquentiel SFC (Sequential Function Chart), une section est subdivisée en différentes séquences logiques, par des étapes et transitions qui se relaient dans le plan de déroulement. Objets Une commande séquentielle utilise les objets suivants pour l’établissement de programmes : z Etape (voir page 287) z Transition (voir page 292) z Saut (voir page 297) z Connexion (voir page 296) z Branchement alternatif (voir page 299) z Branchement simultané (voir page 302) z Jonction alternative (voir page 301) z Jonction simultanée (voir page 303) z Objet texte (voir page 304) Structure d’une section SFC Les étapes et transitions sont liées les unes aux autres par des liaisons dirigées. Deux étapes consécutives ne peuvent jamais être directement reliées; elles sont toujours séparées par une transition. Les séquences des états de signaux actifs se déroulent le long des liaisons dirigées, et sont déclenchées par la mise au point d’une transition. La séquence d’une chaîne va dans le sens des liaisons dirigées, et se déroule de la partie inférieure de l’étape précédente à la partie supérieure de l’étape suivante. Les branchements sont traités de la gauche vers la droite. On peut également utiliser un saut, plutôt qu’une étape. Les chaînes d’étapes sont toujours closes par un saut sur une autre étape de la même chaîne d’étapes. Elles se déroulent donc de façon cyclique. Chaque étape compte zéro ou plusieurs actions. Les étapes sans action sont dites étapes d’attente. Chaque transition comprend une condition de transition. 284 33002205 12/2010 Langage de commande séquentielle SFC Editer avec le clavier Normalement, dans Concept, l’édition s’effectue à l’aide de la souris, mais est également possible à l’aide du clavier (voire également Touches courtes dans l’éditeur FBDet SFC, page 863). Conformité CEI Description de la conformité CEI du langage de programmation SFC, voir Conformité CEI, page 877. 33002205 12/2010 285 Langage de commande séquentielle SFC 9.2 Eléments du langage séquentiel SFC Aperçu Ce chapitre décrit les éléments du langage séquentiel SFC Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 286 Page Etape 287 Action 290 Transition (Passage) 292 Section de transition 294 connextion 296 saut 297 divergence en OU 299 jonction alternative 301 dérivation simultanée 302 jonction simultanée 303 Objet texte 304 33002205 12/2010 Langage de commande séquentielle SFC Etape Introduction Une étape est représentée par un bloc contenant un nom d’étape. Les noms d’étapes doivent être uniques dans le projet tout entier. Une étape devient active, lorsque la transition placée en amont est remplie, et est, généralement, inactive lorsque la transition placée en aval est remplie. Etape initiale L’étape initiale constitue un cas particulier parmi les étapes. L’état initial d’une section SFC est caractérisée par l’étape initiale qui est à l’état actif lors de l’initialisation du projet qui contient la section. Une étape dans une section SFC doit toujours être définie comme étape initiale. Dans Concept, il est possible de définir une étape, au milieu d’une chaîne d’étapes, comme étape initiale. L’étape initiale est marquée par des lignes doubles sur les bords. Etape d’attente Chaque étape compte zéro ou plusieurs actions. Les étapes sans action sont dites étapes d’attente. Temps de retard Une durée minimale, pendant laquelle l’étape doit être active, peut être indiquée. Cette durée est appelée Temps de retard (Temporisation de l’étape). NOTE : Cette durée n’est valable que pour l’étape, pas pour les actions qui y sont associées. Pour celles-ci, des temps propres peuvent être définis. Temps de contrôle maximum Le Temps de contrôle maximum indique le temps pendant laquelle l’étape devrait au maximum rester active, dans le cas normal. Si, au terme de cette période, l'étape est encore active, un message d'erreur, que vous pouvez visualiser avec En ligne →Affichage d'événements , est généré. En mode d’animation, l’erreur est marquée en plus par une enveloppe en couleur de l’objet étape. NOTE : Ce temps de contrôle n’est valable que pour l’étape, pas pour les actions qui y sont associées. Pour celles-ci, des temps propres peuvent être définis. 33002205 12/2010 287 Langage de commande séquentielle SFC Temps de contrôle minimum Le temps de contrôle minimum indique le temps pendant lequel l’étape devrait au moins rester active. Si, avant la fin de temps, l'étape devient inactive, un message d'erreur, que vous pouvez visualiser par En ligne →Affichage d'événements , est généré. En mode d’animation, l’erreur est marquée en plus par une enveloppe en couleur de l’objet étape. NOTE : Ce temps de contrôle n’est valable que pour l’étape, pas pour les actions qui y sont associées. Pour celles-ci, des temps propres peuvent être définis. Coordination des temps Temps de retard < temps de contrôle minimum < temps de contrôle maximum Fixation des temps Les valeurs de temps peuvent être entrées dans le dialogue Propriétés, soit directement comme libellés de durée, soit comme variable multi-éléments du type de données SFCSTEP_TIMES . Les valeurs peuvent être déterminées automatiquement en mode Apprentissage des temps de contrôle. Les libellés de durée peuvent être modifiés en modus Animation. ’Variable SFCSTEP_TIMES’ En cas d’utilisation des variables ‘SFCSTEP_TIMES’, les durées apprises de ces variables sont affectées comme valeurs initiales. Si ces valeurs initiales sont destinées à être utilisées de façon permanente, certains éléments (min, max) de cette variable ne devront pas être écrits. Après l’Apprentissage des temps de contrôle, les valeurs initiales modifiées devront être chargées avec En ligne → Chargement des modificationsdans l’API. La variable SFCSTEP_TIMES peut être utilisée partout et présente la structure suivante : ‘varname’ delay min : max : : SFCSTEP_TIMES : TIME TIME TIME Les éléments ont la signification suivante : ‘varname’.delay = Temps de retard z ‘varname’.min = Temps de contrôle minimum z ‘varname’.max = Temps de contrôle maximum z 288 33002205 12/2010 Langage de commande séquentielle SFC Variable d'étape Une variable (Read-Only) du type de données SFCSTEP_STATE est affectée de façon implicite à chaque étape. Cette variable d’étape porte le nom de l’étape à laquelle elle est affectée. La variable d’étape peut être utilisée partout et présente la structure suivante : ‘Nom d’étape’ : SFCSTEP_STATE t : TIME x : BOOL tminErr : BOOL tmaxErr : BOOL Les éléments ont la signification suivante : z ‘Nom d’étape’.t = Temporisation actuelle dans l’étape z ‘Nom d’étape’.x z 1: Etape active z 0: Etape inactive 33002205 12/2010 z ‘Nom d’étape’.tminErr z 1: Sous-dépassement du temps de contrôle minimum z 0: Pas de sous-dépassement du temps de contrôle minimum z ‘Nom d’étape’.tmaxErr z 1: Dépassement du Temps de contrôle maximum z 0: Pas de dépassement du Temps de contrôle maximum 289 Langage de commande séquentielle SFC Action Introduction Les actions étant actives dans l’étape au moment donné et devant être exécutées doivent obligatoirement être liées à l’étape. La déclaration des actions s’effectue dans le dialogue des propriétés de l’étape déclenchante, voir Déclarations des actions, page 313. Il est impossible d’affecter une ou plusieurs actions à une étape. Une étape à laquelle une action est affectée a une fonction d’attente, c-à-d qu’elle attend que la transition affectée soit effectuée. Une action est une variable dont le type de données est BOOL. La commande des actions est exprimée via les caractères de définition. Attribution de signaux Vous pouvez attribuer les signaux suivants à une action : Adresse directe Une action peut être affectée à une sortie matérielle via une adresse directe. Vous pouvez dans ce cas utiliser l’action comme signal de libération pour une transition, comme signal d’entrée dans une autre section, ou comme signal de sortie pour le matériel. z Variable A l’aide d’une variable, il est possible d’utiliser une action comme signal d’entrée à l’intérieur d’une autre section. On appelle cette variable "variable d’action". z Variable non-localisée Dans le cas de Variables non-localisées, il est possible d’utiliser l’action comme signal de libération pour une transition et comme signal d’entrée à l’intérieur d’une section FDB. La déclaration des variables non-localisées s’effectue dans l’éditeur de variable (voir page 563). z Variable localisée Dans le cas de variables localisées, vous pouvez utiliser l’action comme signal de libération pour une transition, comme signal d’entrée dans une autre section, ou comme signal de sortie pour le matériel. La déclaration des variables localisées s’effectue dans l’éditeur de variable (voir page 563). z 290 33002205 12/2010 Langage de commande séquentielle SFC Adresses directes L’indication/l’affichage des adresses directes peut s’effectuer dans différents formats. La définition du format d’affichage s’effectue dans le dialogue Options → Environnement →Commun.... La définition du format d’affichage n’a aucun impact sur le format d’entrée, ceci signifie que l’entrée d’adresses directes peut s’effectuer dans un format quelconque. Les formats d’adresses suivants sont disponibles : z Format standard (X00001) L’adresse à cinq positions intervient directement après le premier chiffre (de la Référence). z Format à séparateur (X:00001) Le premier chiffre (la Référence) est séparé(e) par un point double ( : ) de l’adresse à cinq positions. z Format compact (X:1) Le premier chiffre (la Référence) est séparé(e) par un point double ( : ) de l’adresse suivante, les zéros en tête n’étant pas indiqués dans l’adresse . z Format CEI (XW1) Un identificateur est placé en première position, après CEI, suivi de l’adresse à cinq positions. z %0x12345 = %Q12345 z %1x12345 = %I12345 z %3x12345 = %IW12345 z %4x12345 = %QW12345 33002205 12/2010 291 Langage de commande séquentielle SFC Transition (Passage) Introduction Une transition indique la condition à laquelle le contrôle d’une ou plusieurs étapes, qui viennent avant la transition, passe à une ou plusieurs étapes suivantes, le long de la liaison correspondante. Condition de transition Une condition de transition est une variable du type de données BOOL, affectée à la transition. Les conditions de transition sont déclarées dans le dialogue Propriétés, voir également Déclarer une transition, page 318. Une condition de transition peut être : une adresse directe (entrée ou sortie), z une variable (entrée ou sortie) ou z une section de transition (voir page 294). z Position du nom de la variable : Si... Alors... Si vous affectez une adresse directe à la transition. Alors le nom d’adresse directe / de la variable sera représenté au dessous du symbole de transition. Si vous affectez une section de transition à la transition. Alors le nom de la section de transition sera représenté au-dessus du symbole de transition. NOTE : La variable ou l’adresse affectée à la transition est uniquement lue par la transition, jamais écrite. Validation d’une transition Une transition est validée, lorsque les étapes qui la précèdent directement sont actives. Les transitions, dont les étapes qui les précèdent directement ne sont pas actives, ne sont pas évaluées. NOTE : Si aucune condition de transition n’est définie, la transition n’est jamais active. Temps de mise au point d’une transition Théoriquement, le temps de mise au point d’une transition peut être considéré comme étant le plus court possible, mais il ne peut jamais prendre la valeur zéro. Le temps de mise au point d’une transition a au moins la durée d’un cycle de programme. 292 33002205 12/2010 Langage de commande séquentielle SFC Diagnostic de transition La mise au point de la transition peut être surveillée par Diagnostic de transition (voir page 333) . Déclenchement d’une transition Le déclenchement d’une transition s’effectue lorsque la transition est validée et la condition de transition correspondante est remplie. Le déclenchement d’une transition entraîne la désactivation (réinitialisation) de toutes étapes qui précèdent directement et qui sont reliées à la transition, et ensuite l’activation de toutes les étapes qui suivent directement. Lorsque le déclenchement d’une transition entraîne l’activation de plusieurs étapes au même moment, alors les chaînes séquentielles auxquelles appartiennent ces étapes sont appelées, Chaînes simultanées (voir page 302) . Après leur activation simultanée, chacune de ces chaînes se déroule indépendamment des autres. Pour souligner le type particulier de ce genre de construction, le branchement et la convergence de chaînes simultanées sont indiquées par une double ligne horizontale. 33002205 12/2010 293 Langage de commande séquentielle SFC Section de transition Introduction Pour chaque transition (voir page 292) on peut établir une section de transition. C’ est une section qui contient la logique de la conditon de transition et qui est automatiquement enchaînée à la transition. Production d’une section de transition Les sections de transition sont produites dans le dialogue des propriétés de la transition, cf. aussi Déclarer une transition, page 318. Nom de la section de transition Nom de la section de transition : Si... Alors... Si vous avez sélectionné dans le dialogue Options →Environnement →Editeurs graphiques... l’option Numérotation dynamique. Alors au dialogue Propriétés de la transition la désignation pseudonyme de la transition sera automatiquement affichée. Si vous donnez un propre nom à la section de Alors, veillez à ce que le nom soit unique transition. dans tout le programme (on ne fait pas la différence entre majuscules et minuscules). Si le nom existe déjà , vous en serez averti et devrez en choisir un autre. Le nom doit obligatoirement satisfaire aux conventions de nom CEI. Si cela n’ est pas le cas, un message d’erreur apparaît. NOTE : NE changez PAS le nom d’une section par Fichier →Caractéristiques section..., sinon la liaison à la transition sera perdue. Création d’une section de transition Lors de la première ouverture de la section de transition (bouton Edition... dans Propriétés de la transition dialogue) celle-ci sera automatiquement produite. Le nom de la section de transition est affiché au-dessus du symbole de transition dans l’éditeur SFC. 294 33002205 12/2010 Langage de commande séquentielle SFC Modifier la condition de transition Si après l’établissement de la section de transition, vous sélectionnez une autre option que Section de transition , il y aura une question demandant si la section de transition doit être effacée. Si vous donnez une réponse négative, la section de transition est maintenue. Vous pouvez afficher une liste des sections de transition qui ne sont pas utilisées actuellement à l’aide du bouton de commande Consulter.... Langages de programmation des sections de transition Les langages de programmation des sections de transition sont FDB , LD , IL et ST. Vous définissez le langage de programmation que vous voulez utiliser dans le dialogue Options →Environnement →Commun... avec l’option Langage des sections de transition.Si vous avez sélectionné le langage de programmation FBD, la section sera automatiquement préocuppée par un bloc ET avec 2 entrées dont la sortie est elle-même préocuppée par le nom de la section de transition. Le bloc proposé peut à présent être lié ou modifié. Aucune affection n’ est.présentée pour les autres langages de programmation. fonction édition pour les sections de transition. La fonction d’édition est limitée sur les points suivants par rapport aux sections "normales" : z La section de transition n’ a qu’ une seule sortie (la variable de transition) et son type de donnée est BOOL. Le nom de ces variables doit être identique au nom inscrit dans le champ Section de transition. z La variable de transition ne doit être écrite qu’ une seule fois. z Seules des fonctions et non des blocs de fonction peuvent être utilisées. z Il n’ y a qu’ un seul réseau, c-à-d. que toutes les fonctions utilisées sont reliées entre elles directement ou indirectement. z Les sections de transition ne peuvent être atteintes que par les boutons de commande Edition... dans le dialogue Propriétés de la transition. Elles n’ apparaissent pas dans Ouverture de la section dialogue. z Dans le dialogueSupprimer une section les sections de transitions sont repérées par un "T" devant le nom de la section. Animation de la section de transition Si la transition et donc la section de transition ne sont pas traitées, l’état VERROUILLE apparaît dans la section de transition animée. 33002205 12/2010 295 Langage de commande séquentielle SFC connextion Introduction Les liaisons associent les étapes et les transitions. Normalement les liaisons sont produits automatiquement lors du placement des objets. Mais si vous placez les objets dans des cellules qui ne suivent pas directement, il faudra établir les associations explicitement avec une liaison. chaînes simples Sur la chaîne simple le passage d’étape et transition sera répété comme suit. Un enchaînement de S_5_10 à S_5_11 aura seulement lieu si l’étape 5_10 est à l’état actif et la condition de transition a est réelle. 296 33002205 12/2010 Langage de commande séquentielle SFC saut Remarques générales Un saut permet de continuer le programme à un autre endroit. Il n’est pas possible d’effectuer des sauts vers ou à partir d’une chaîne simultanée (voir page 302). Pour les sauts, on fait la différence entre un saut de chaîne et une boucle de chaîne. saut de chaîne Un saut de chaîne est un cas particulier de dérivation alternative lors de laquelle une ou plusieurs branches ne contiennent pas d’étape. Un enchaînement de S_5_10 par S_5_11 et de S_5_12 à S_5_13 n’aura lieu que si S_5_10 est actif et que la condition de transition a est réelle. Un enchaînement de S_5_10 directement à S_5_13 n’aura lieu que si S_5_10 est actif et que la condition de transition b est réelle et que la a est erronée. 33002205 12/2010 297 Langage de commande séquentielle SFC boucle de chaîne Une boucle de chaîne est un cas spécial de la dérivation alternative à laquelle une ou plusieurs branches reconduisent à une étape précédente. Un enchaînement de S_5_11 par S_5_10 n’ aura lieu que si la condition de transition c est erronée et la b réelle. 298 33002205 12/2010 Langage de commande séquentielle SFC divergence en OU Introduction La divergence en OU permet de programmer de façon limitée des divergences dans le flux de contrôle de la structure SFC. Construction Lors de divergences en OU il y a après une étape autant de transitions sous la ligne horizontale qu’ il y a d’enchaînements différents. Une seule de ces transitions peut commuter à la fois. Le résultat des conditions de transitions des transitions qui suivent la divergence en OU déterminera quelle branche sera exécutée. Ordre d’exécution Les transitions de la divergence seront exécutées de gauche à droite. Si une condition de transition n’est pas remplie, les transitions restantes ne seront plus exécutées. La branche avec la transition remplie devient active. Il en résulte une priorité de gauche à droite pour les divergences. Si aucune des transitions ne commute, l’étape placée à ce moment-là reste en place. Exécution Exécution de la chaîne : Si... Alors... Si S_5_10 est actif et que la condition de transition a est réelle. Alors, il y a un enchaînement de S_5_10 à S_5_11. Si S_5_10 est actif et que la condition de transition b est réelle et la a erronée. Alors, il y a un enchaînement de S_5_10 à S_5_12. Exécution de la chaîne : 33002205 12/2010 299 Langage de commande séquentielle SFC Divergence en OU après une convergence en ET Après CEI 1131-3, les divergences en OU ne doivent pas suivre directement aux convergences en ET. La convergence et la divergence doivent être séparées par une séquence de transition-étape. Exemple : Si vous voulez insérer une divergence en OU directement après une convergence en ET, vous pouvez activer cette fonctionnalité avec la commande de menu Options →Environnement →Editeurs graphiques... →Divergence en OU autorisée après une convergence en ET. Exemple : Convergence Toutes les branches alternatives doivent être à nouveau fusionnées par convergences en OU (voir page 301) ou sauts (voir page 297) en une branche unique. 300 33002205 12/2010 Langage de commande séquentielle SFC jonction alternative Introduction A la jonction alternative, les différentes branches d’une dérivation alternative fusionneront à nouveau en une branche dans laquelle on continuera alors à travailler. Cette jonction peut aussi être réalisée par un saut. Exécution Exécution de la chaîne : Si... Alors... Si S_5_10 est actif et que la condition de transition d est réelle. Il y aura alors un enchaînement de S_5_10 à S_5_12. Si S_5_8 est actif et que la condition de transition b est réelle, le saut à S_5_12 sera donc réalisé. Il y aura alors un enchaînement de S_5_8 à S_5_12. Si S_5_11 est actif et que la condition de transition e est réelle. Il y aura alors un enchaînement de S_5_11 à S_5_12. NOTE : Une seule de ces branches est active conformément à la première condition de transition dans la branche alternative. Exécution de la chaîne : 33002205 12/2010 301 Langage de commande séquentielle SFC dérivation simultanée Introduction En dérivations simultanées, le traitement est réparti sur deux chaînes ou plus qui seront exécutées dans un autre simultané. Une seule transition commune est possible directement par la ligne de synchronisation horizontale double. Exécution Exécution d’une chaîne : Si... Alors... Si S_5_10 est actif et que la condition de transition a qui fait partie de la transition commune est aussi réelle. Il y aura alors un enchaînement de S_5_10 à S_5_11, S_5_12, ... . NOTE : Après l’activation simultanée de S_5_11, S_5_12 etc. les chaînes se déroulent indépendamment les unes des autres. Exécution d’une chaîne : Définition des étapes initiales Si à l’intérieur d’une dérivation simultanée une étape doit devenir étape initiale, il faudra définir dans chaque branche de la dérivation simultanée une étape comme étape initiale. 302 33002205 12/2010 Langage de commande séquentielle SFC jonction simultanée Introduction La jonction simultanée réunit à nouveau deux branches parallèles ou plus en une branche. La transition après une jonction simultanée sera évaluée si toutes les étapes précédentes directes de la transition sont posées. Une seule transition commune est possible directement sous la ligne de synchronisation horizontale double. Exécution Exécution d’une chaîne : Si... Alors... Si S_5_10, S_5_11 etc. sont actifs en même Alors, il y aura un enchaînement de S_5_10, temps et que la condition de transition d, qui S_5_11, ... à S_5_13 . fait partie de la transition commune, est réelle Exécution d’une chaîne : 33002205 12/2010 303 Langage de commande séquentielle SFC Objet texte Introduction Dans le langage séquentiel SFC, il est possible de placer du texte sous forme d’objets texte. La taille de ces objets texte est fonction de la longueur du texte. Cet objet texte a au minimum la taille d’une cellule et il peut, selon la taille du texte, être étendu à d’autres cellules, en direction verticale et horizontale. Les objets texte ne peuvent être placés que dans des cellules libres. Capacité de mémoire Les objets texte n’occupent pas d’espace de mémoire sur l’API, étant donné que le texte n’est pas chargé sur l’API. 304 33002205 12/2010 Langage de commande séquentielle SFC 9.3 Travailler avec le langage séquentiel SFC Vue d’ensemble Ce chapitre décrit le travail avec le langage séquentiel SFC. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page en général pour traiter des objets 306 déclarer les propriétés d’étapes 310 déclarer les actions 312 caractères de définition 315 Déclarer une transition 318 Désignations pseudonymes pour les étapes et les transitions 320 305 Langage de commande séquentielle SFC en général pour traiter des objets Introduction Dans l’éditeur SFC, la fenêtre est sur fond de grille logique. Théoriquement les objets SFC peuvent être placés dans toutes les cellules qui ne sont pas occupées. Ce faisant, si une liaison vers un autre objet est établie (explicitement ou par placement d’objets les uns au-dessous des autres dans des cellules voisines), cette dernière sera vérifiée. Si cette liaison n’ est pas autorisée, vous recevrez un message et l’objet ne sera pas inséré. Les étapes, transitions et sauts ont respectivement besoin d’une cellule. Les dérivations simultanées, les jonctions simultanées, les dérivations alternatives et les jonctions alternatives n’ ont pas besoin de leur propre cellule, mais elles seront insérées dans la cellule correspondante de l’étape ou de la transition. Nombre maximum d’éléments Pour éviter de devoir diviser les chaînes d’étapes, c’ est possible de réprésenter verticalement 99 étapes enchaînées avec leurs transitions et en plus un saut terminal avec sa transition. Afin de limiter la complexité et de permettre l’animation, le nombre d’objets (étapes + transitions + dérivations + jonctions) est limité à 2000 dans une section. Insertion d’objets Vous pouvez insérer les objets SFC (étape, transition etc.) par les commandes du menu principal Objets individuellement ou comme "Groupe" (chaîne étapetransition, chaîne simultanée structurée etc.) dans la dimension désirée. Après le choix de l’objet, sélectionnez une position dans la chaîne des étapes à laquelle l’objet doit être inséré. Si la position sélectionnée est déjà occupée et si vous le désirez, un espace libre sera inséré dans la chaîne des étapes avant l’insertion et ensuite les objets y seront placés. Si vous placez les objets sur une liaison, celle-ci sera interrompue, les objets seront insérés et une liaison sera établie aux objets nouvellement positionnée. Déplacement d’objets Si vous déplacez des objets sur une liaison, celle-ci sera interompue, les objets insérés et une liaison établie avec objets nouvellement placés. 306 33002205 12/2010 Langage de commande séquentielle SFC Copier les étapes Il est possible de copier des étapes au-delà des projets en les copiant et les insérant. Etant donné que les définitions d’action représentent une référence sur une variable qui a été définie par l’éditeur de variables pour le projet respectif, il peut arriver que cette référence ne soit plus valable lors de la copie au-delà des projets. Dans ce cas, l’action est effacée, la liste des actions actualisée et un message d’erreur apparaît. Effacement d’étapes Après l’application d’une action, les étapes ne pourront être effacées que si l’action (les actions) a (ont) été déconnectées de l’étape précédente. Sélection d’un objet Pour sélectionner un objet, procédez comme suit : Etape Action 1 Allez avec Objets →Mode sélection au mode de sélection. 2 Placez le pointeur de la souris sur l’objet à sélectionner et cliquez avec la touche gauche de la souris. Réaction : L’objet sélectionné est affiché dans un cadre bleu. Sélection de plusieurs objets (en appuyant sur la touche de majuscules) Pour sélectionner plusieurs objets (en appuyant sur la touche de majuscules), procédez comme suit : Etape 33002205 12/2010 Action 1 Allez avec Objets →Mode sélection au mode de sélection. 2 Placez le pointeur de la souris sur le premier objet sélectionné et cliquez avec la touche gauche de la souris. 3 Appuyez sur la touche majuscule, maintenez-la enfoncée et sélectionnez les autres objets avec la touche gauche de la souris. Réaction : Les objets sélectionnés sont affichés dans un cadre bleu. 307 Langage de commande séquentielle SFC Sélection de plusieurs objets (par la fonction bande caoutchouc) Pour sélectionner plusieurs objets (par la fonction bande caoutchouc) procédez comme suit : Etape Action 1 Allez avec Objets →Mode sélection au mode de sélection. 2 Maintenez enfoncée la touche gauche de la souris et tracez un cadre autour des objets sélectionnés. Réaction : Lorsque la touche est relâchée , tous les objets qui touchent la bordure sont sélectionnés. Les objets sélectionnés sont affichés dans un cadre bleu. Sélection de tous les objets dans une colonne/sur une ligne Pour sélectionner tous les objets dans une colonne/sur une ligne, procédez comme suit : Etape Action 1 Allez avec Objets →Mode sélection au mode de sélection. 2 Dans la règle de colonne/de ligne, cliquez sur le numéro de colonne/de ligne dont les objets doivent être sélectionnés. Note : Pour sélectionner plusieurs colonnes/lignes, maintenez la touche majuscules enfoncée. Réaction : Les objets sélectionnés sont affichés dans un cadre bleu. Insertion d’autres colonnes Pour insérer d’autres colonnes dans une chaîne d’étapes déjà établie, effectuez les étapes suivantes : Etape 308 Action 1 Allez avec Objets →Mode sélection au mode de sélection. 2 Dans la règle de colonne , cliquez sur le numéro de colonne devant lequel l’insertion doit avoir lieu. Note : Si vous voulez insérer plusieurs colonnes, en appuyant sur la touche majuscules marquez plusieurs colonnes et insérez ainsi le nombre correspondant de colonnes vides. 3 Exécutez la commande Edition →Coller. Réaction : A partir de la colonne sélectionnée , la chaîne d’étapes complète est décalée d’une colonne vers la droite. Les liaisons (branches) restent en place. 33002205 12/2010 Langage de commande séquentielle SFC Insertion d’autres lignes Pour insérer d’autres lignes dans une chaîne d’étapes déjà établie, procédez comme suit : Etape 33002205 12/2010 Action 1 Allez avec Objets →Mode sélection au mode de sélection. 2 Dans la règle de ligne, cliquez sur le numéro de ligne devant lequel l’insertion doit être effectuée. Note : Si vous voulez insérer plusieurs lignes, en appuyant sur la touche majuscules marquez plusieurs lignes et insérez ainsi le nombre correspondant de lignes vides. 3 Exécutez la commande Edition →Coller. Réaction : A partir de la ligne sélectionnée, la chaîne d’étapes complète est décalée d’une ligne vers le bas. Les liaisons (branches) restent en place. 309 Langage de commande séquentielle SFC déclarer les propriétés d’étapes Introduction Les propriétés d’étapes seront déclarées dans le dialogue propriétés de l’étape. Déclaration des propriétés d’étapes : 310 33002205 12/2010 Langage de commande séquentielle SFC Déclaration des propriétés d’étapes La description suivante donne un exemple de déclaration de propriétés d’étapes : Etape 33002205 12/2010 Action 1 Allez avec Objets →Mode sélection au mode de sélection. 2 Effectuez un double clic sur une étape. Réaction : Le dialogue Propriétés d’étapes de l’étape est ouvert. 3 Vous pouvez donner un propre nom à l’étape ou lui laisser le nom proposé. Si vous voulez donner un propre nom, veillez à ce que le nom de l’étape (maxi. 32 caractères) doit être bien unique dans tout le projet. Si le nom d’étape entré existe déjà , vous en serez averti et vous devrez entrer un autre nom. Le nom de l’étape doit correspondre aux conventions de nom CEI, sinon il y aura un message d’erreurs. Note : Selon CEI 1131-3, uniquement des lettres sont permises comme premier caractère de noms d’étape. Si vous souhaitez cependant utiliser également des chiffres comme premiers caractères, vous pouvez l’autoriser avec la commande Options →Environnement →Extensions CEI →Chiffres en tête de qualificatif autorisés. Les noms d’étapes ne doivent pas se terminer par 4 chiffres (p. ex. xxx_1234). Cette fin de nom de fichier est réservée pour le cas où dans la boîte de dialogue Options →Environnement →Editeurs graphiques... la case d’option Numérotation dynamique a été activée. Au lieu du nom libre, vous pouvez aussi sélectionner des désignations pseudonymes, voir aussi Désignations pseudonymes pour les étapes et les transitions, page 320. Vous trouverez celles-ci dans les sections SFC et FDB ainsi que dans les fonctions de recherche , la documentation de l’application et l’analyse. 4 Ensuite, définissez si pour ladite étape il s’agit de l’étape du début (étape initiale) de la chaîne d’enchaînement ou non. Il faut définir une étape comme étape initiale pour chaque chaîne d’enchaînement. 5 Si vous le souhaitez, vous pouvez définir des durées de surveillance et une durée de retard pour l’étape. Vous pouvez entrer les valeurs de temps dans le dialogue des propriétés soit directement comme littéral de durée (celles-ci peuvent être calculées automatiquement au mode apprendre durée de surveillance), cf. aussi Apprendre temps de surveillance, page 330) soit comme variable multi-élément du type de données SFCSTEP_TIMES, cf. aussi ’Variable SFCSTEP_TIMES’, page 288. Dans ce cadre est valable : Temps de retard < temps minimal de surveillance < temps maximal de surveillance 6 Le bouton de commande Commentaire... permet d’appeler la boîte de dialogue Saisir commentaire dans laquelle vous pouvez entrer un commentaire concernant l’étape. Ce commentaire sera affiché dans la barre d’état de la fenêtre de l’éditeur si vous sélectionnez l’étape. 311 Langage de commande séquentielle SFC déclarer les actions Introduction Les actions sont déclarées dans le dialogue des propriétés de l’étape. Déclaration d’actions : 312 33002205 12/2010 Langage de commande séquentielle SFC Déclarations des actions La description suivante donne un exemple de déclaration d’actions : Etape Action 1 Allez avec Objets →Mode sélection au mode de sélection. 2 Effectuez un double clic sur une étape. Réaction : Le dialogue Propriétés d’étapes de l’étape est ouvert. 3 Sélectionnez dans la zone de liste BstZ caractère de définition (voir page 315) pour l’action. vous déterminez ainsi le comportement de l’action (par ex. mémorisant, non mémorisant, retardée etc.) Note : Avec les caractères de définition L, D, et DS, dans la zone de texte Durée : il faut définir en plus une durée du type de données TIME. 4 Ensuite, avec le boutons d’option dans la zone Action : déterminez le type (variable ou adresse directe) de l’action. 5 z Si vous avez sélectionné Variable , avec le bouton Déclaration de var... vous pourrez ouvrir l’éditeur des variables et y déclarer une nouvelle variable de sortie. Mais avec le bouton de commande Consulter...vous pouvez aussi faire afficher une liste de variables et en choisir une par la sélection. z Si vous avez sélectionné adresse directe, il faut indiquer dans la zone de texte adresse directe : l’adresse de la sortie. 6 33002205 12/2010 Après avoir établi toutes les définitions des actions, confirmez-les avec le bouton de commande Nouvelle action. Note : Une confirmation par la touche Entrée n’est pas possible dans ce cas-là et entraîne un message d’erreurs. 313 Langage de commande séquentielle SFC Modifier une action Pour modifier une déclaration d’action procédez comme suit : Etape Action 1 Allez avec Objets →Mode sélection au mode de sélection. 2 Effectuez un double clic sur une étape. Réaction : Le dialogue Propriétés d’étapes de l’étape est ouvert. 3 Pour modifier une déclaration d’action, sélectionnez une action dans la zone de liste. Réaction : Toutes les définitions (caractères de définition, durée, variable ou adresse et type) de l’action sont pris en charge dans les zones correspondants de texte et de liste. 4 Modifier ces définitions comme décrit au paragraphe Déclarations des actions, page 313 . 5 z Si vous voulez affecter ces nouvelles définitions à l’étape en tant que nouvelle action, actionnez les boutons de commande Nouvelle action. Réaction : L’action est prise en charge en plus dans la liste des actions. z Si vous voulez recouvrir l’action actuelle par la nouvelle, actionnez les boutons de commande Valider action. Réaction : l’ancienne action est recouverte. Effacer une déclaration d’action Pour effacer une déclaration d’action, procédez comme suit : Etape 314 Action 1 Allez avec Objets →Mode sélection au mode de sélection. 2 Effectuez un double clic sur une étape. Réaction : Le dialogue Propriétés d’étapes de l’étape est ouvert. 3 Pour effacer une déclaration d’action, sélectionnez une action dans la zone de liste. Réaction : Toutes les définitions (caractères de définition, durée, variable ou adresse et type) de l’action sont pris en charge dans les zones correspondants de texte et de liste. 4 Actionnez les boutons de commande Supprimer action. Réaction : L’action sélectionnée est effacée. 33002205 12/2010 Langage de commande séquentielle SFC caractères de définition Introduction A chaque liaison d’une action à une étape, il faut définir un caractère de définition pour l’action, lequel définit la commande de l’action. On peut très bien se représenter le caractère de définition comme entrée d’un bloc de fonction interne pour l’enchaînement logique de l’étape avec l’action. Si l’étape est active, l’entrée de ce bloc interne de fonction est placé sur 1. Le bloc de fonction est alors traité conformément à son type. Si toutes les conditions sont remplies, la sortie Q (l’action) est mise sur 1. Les caractères de définition suivants sont utilisables dans le concept : z N / aucun (voir page 315) z S (voir page 315) z R (voir page 316) z L (voir page 316) z D (voir page 317) z P (voir page 317) z DS (voir page 317) Avec les caractères de définition L, D et DS il faut définir en plus une durée du type de données TIME . Caractère de définition N / aucun Les caractères de définition N et aucun signifient la même chose et correspondent à "Non mémorisé", voire "Pas de caractère de définition". Caractère de définition S Le caractère de définition S correspond à "poser (mémorisé)" L’action posée reste aussi active si l’étape afférente devient inactive. L’action reste inactive seulement si elle est remise dans autre étape avec le caractère de deinition R (voir page 316) . NOTE : Le caractère de définition est déclaré automatiquement comme non tamponné. Cela signifie que sa valeur est remise à "0" après un arrêt et un nouveau démarrage du programme, par ex. en tension hors circuit/en circuit. Si vous avez besoin d’une sortie tamponée, utiliser les blocs de fonction RS ou SR de la bibliothèque de bloc CEI. 33002205 12/2010 315 Langage de commande séquentielle SFC Caractère de définition R Le caractère de définition correspond à "remise à zéro prioritaire" L’action qui a été mise dans une autre étape par le caractère de définition S (voir page 315) est remise à zéro. Par ailleurs, l’activité de toute action quelconque est évitée. NOTE : Le caractère de définition est déclaré automatiquement comme non tamponné. Cela signifie que sa valeur est remise à "0" après un arrêt et un nouveau démarrage du programme, par ex. en tension hors circuit/en circuit. Si vous avez besoin d’une sortie tamponée, utiliser les blocs de fonction RS ou SR de la bibliothèque de bloc CEI. A l’étape S_5_10 l’action ACT1 est activée et reste active jusqu’ à ce qu’ elle soit remise dans l’étape S_5_12. Caractère de définition L Le caractère de définition L correspond à "limité dans le temps" Si l’étape est active, l’action devient aussi active. Après écoulement de la durée que vous avez défini pour l’action, celle-ci redevient 0 même si l’étape est encore active. L’action devient aussi 0 si l’étape est inactive. 316 33002205 12/2010 Langage de commande séquentielle SFC Caractère de définition D Le caractère de définition D correspond à "retard" Si l’étape est active, le Timer interne démarre et après écoulement de la durée que vous avez définie pour l’action, celle-ci devient 1. Si ensuite, l’étape devient inactive, l’action le sera également. Si l’étape devient inactive avant l’écoulement de la durée interne, l’action ne devindra pas active. Caractère de définition P Le caractère de définition P correspondant à "Impulsion". Si l’étape est active, l’action devient 1 et le reste pour un cycle de programme indépendamment du fait que l’étape reste active ou non. Caractère de définition DS Le caractère de définition DS correspond à "retardé et mémorisé". C’est une combinaison des caractères de définition D (voir page 317) et S (voir page 315). Si l’étape est active, le Timer interne démarre et après écoulement de la durée que vous avez définie, l’action devient active. L’action ne sera à nouveau inactive que si elle remise dans une autre étape par le caractère de définition R (voir page 316) . Si l’étape devient inactive avant l’écoulement de la durée interne, l’action ne devindra pas active. 33002205 12/2010 317 Langage de commande séquentielle SFC Déclarer une transition Introduction La boîte de dialogue Propriétés de la transition permet de déclarer les transitions. Déclarer une transition : Déclarer une transition L'exemple suivant décrit la procédure de déclaration d'une transition : Etape Action 1 Passez en Mode sélection en utilisant Objets →Mode sélection. 2 Cliquez deux fois sur une transition. Réaction : La boîte de dialogue Propriétés de la transition s'ouvre alors. 3 Commencez par confirmer avec les cases d'option dans la zone Type de condition de transition : le type de condition de transition (Section de transition, Variable, Libellé, Adresse directe). 4 z Si vous avez sélectionné Section de transition, indiquez dans la zone de texte Section de transition le nom de la section de transition à créer. Il s'agit d'une section qui comprend la logique de la condition de transition et qui est automatiquement liée à la transition. Pour éditer cette section, cliquez sur le bouton de commande Edition.... z Si vous avez sélectionné Variable, indiquez dans la zone de texte Variable booléenne le nom de la variable non-affectée, de la variable affectée ou des constantes sélectionnées. Note : Un exemple d'appel de variables multi-éléments est inclus au paragraphe Appel de types de données dérivés, page 610. z Si vous avez sélectionné Libellé, choisissez dans le champ Valeur la valeur du libellé. z Si vous avez sélectionné Adr. directe, indiquez dans la zone de texte Adresse directe l'adresse voulue. 318 33002205 12/2010 Langage de commande séquentielle SFC Etape Action 5 Vous pouvez désormais inverser la condition de transaction avec la case à cocher Inverser cond. de trans.. Réaction : Lors d'une condition de transition inversée, le nom des variables de la transition est précédé d'un tilde (~). 6 En utilisant le bouton de commande Commentaire appelez la boîte de dialogue Saisir commentaire où vous pouvez entrer un commentaire sur la transition. Ce commentaire est affiché dans la barre d'état de la fenêtre de l'éditeur lorsque la transition est sélectionnée. 7 Lorsque vous avez défini toutes les définitions de la transition, confirmez-les avec le bouton de commande OK. Copie des conditions de transition Grâce au copier-coller il est possible de copier des transitions d'un projet à l'autre. Etant donné que les conditions de transition représentent une référence à une variable qui a été définie avec l'éditeur de variables du projet en question, il est possible lors de la copie d'une condition d'un projet à l'autre que cette référence ne soit plus valide. Dans ce cas la condition de transition est supprimée et un message d'erreur est généré. 33002205 12/2010 319 Langage de commande séquentielle SFC Désignations pseudonymes pour les étapes et les transitions Introduction Au lieu du nom activé, vous pouvez également sélectionner des désignations pseudonymes pour les étapes et transitions. Celles-ci sont alors affichées dans les sections SFC et FBD, dans les fonctions de recherche, la documentation de l'application et l'analyse. Les fonctions d'importation et d'exportation ne connaissent pas les désignations pseudonymes car elles sont générées de manière dynamique. La visualisation peut appeler de manière dynamique les pseudonymes mais ne peut pas les utiliser pour la projection de références fixes car ils peuvent changer en permanence. Les langages ST, IL et LD ne prennent pas en charge les désignations pseudonymes, ils n'affichent que les noms activés. Définition des noms Les désignations pseudonymes sont générées dynamiquement par les procédures d'édition, ainsi qu'en activant l'option Numérotation dynamique. Les désignations pseudonymes restent vides jusqu'à ce qu'elles soient numérotées - même lorsque tous les objets sont liés à une chaîne. Les désignations pseudonymes sont constituées des positions des étapes et transitions dans la section et du nom de la section. La longueur de la partie du nom affiché dans la désignation pseudonyme peut être définie dans la boîte de dialogue Options →Environnement →Editeurs graphiques.... Dans cette boîte de dialogue, vous pouvez spécifier le nombre de caractères (en commençant aux premiers caractères) du nom de section que peut contenir la désignation pseudonyme. NOTE : La configuration définie dans cette boîte de dialogue est reprise dans la description du projet (PRJ.DSK) et dans la description de l'installation Concept (CONCEPT.DSK), c.-à-d. qu'elle s'applique à l'ensemble de l'installation Concept. Si vous ouvrez un projet qui a été créé avec une autre configuration (par ex. une configuration de Représentation des étapes et transitions dans le projet sur Selon CEI et dans l'installation Concept actuelle sur Numérotation dynamique), cela peut entraîner la génération d'erreurs lors de l'ouverture du projet. Désignations pseudonymes pour les étapes Pour les étapes, les colonnes et lignes occupées par les étapes sont numérotées à chaque fois en commençant par la zone supérieure gauche. Un numéro d'étape à quatre chiffres (ccll) est généré à partir des numéros de ligne et de colonne. La désignation pseudonyme des étapes (E_nn_ccll) est généré à partir de la chaîne E_, d'une partie du nom de section (nnn), d'un signe de soulignement (_) et du numéro de l'étape (ccll). 320 33002205 12/2010 Langage de commande séquentielle SFC Désignations pseudonymes pour les transitions La désignation pseudonyme des transitions est dérivée de la désignation pseudonyme de la cellule d'étape le précédant, même si celle-ci est vide. La désignation pseudonyme des transitions (T_nn_ccll) est générée à partir de la chaîne T_, d'une partie du nom de section (nnn), d'un signe de soulignement (_) et du numéro de la cellule d'étape le précédant (ccll). Activer les désignations pseudonymes Le nom activé est configuré par défaut pour les étapes et transitions. Si vous désirez utiliser les désignations pseudonymes, vous pouvez les activer en utilisant la boîte de dialogue Options →Environnement →Editeurs graphiques... et l'option Numérotation dynamique. ATTENTION Risque de perte de données. Si vous sélectionnez cette option, les noms activés (Selon CEI) sont remplacés par les désignations pseudonymes. Si vous voulez restaurer les noms activés, fermez le projet sans l'enregistrer. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. ATTENTION Risque de perte de données. Lorsqu'une section de transition FBD est déjà ouverte, il ne faut pas basculer entre les modes de représentation Selon CEI et Numérotation dynamique. Sinon, les noms de variable et de section peuvent perdre tous leurs caractères. Fermez donc toutes les sections de transition FBD avant de modifier le mode de représentation. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. 33002205 12/2010 321 Langage de commande séquentielle SFC Exemple pour les désignations pseudonymes Exemple pour les désignations pseudonymes : Insérer et supprimer des objets Lors de l'insertion et de la suppression d'objets (étapes et transitions) les désignations pseudonymes sont de nouveau numérotées. 322 33002205 12/2010 Langage de commande séquentielle SFC 9.4 Fonctions en-ligne du langage séquentiel SFC Aperçu Ce chapitre décrit les fonctions en ligne du langage séquentiel SFC. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Animation 324 commande d’une chaîne d’étapes 326 Apprendre temps de surveillance 330 Diagnostic de transition 333 323 Langage de commande séquentielle SFC Animation Introduction En mode d'animation, différentes couleurs sont utilisées dans la fenêtre de l'éditeur pour afficher : z les étapes actives, z la durée pendant laquelle les étapes ont été actives ou depuis laquelle elles sont actives, z Erreur chien de garde des étapes et z état des transitions (satisfaite, non satisfaite). NOTE : Lorsque la transition et donc la section de transition correspondante n'est pas traitée, le statut INVALIDE apparaît dans la section de transition animée. Activer l'animation L'animation est activée avec la commande En ligne →Animation. Signification des couleurs 12 jeux de couleurs différents sont disponibles à des fins d'animation. Vous trouverez une vue d'ensemble des jeux de couleurs et de leur signification dans l'aide en ligne (astuce: recherchez dans l'aide en ligne en entrant "Couleurs" dans l'index). Modifier des valeurs Les valeurs suivantes peuvent être modifiées dans ce mode : z Pour les transitions : z la condition de transition lorsque celle-ci est un libellé. z Pour les étapes : z le temps de contrôle maximal, z le temps de contrôle minimal, z le temps de retard et z les durées des actions. Ces modifications sont transmises en ligne à l'automate. 324 33002205 12/2010 Langage de commande séquentielle SFC Animation des transitions Normalement seules les transitions actuellement évaluées sont animées et seul leur état (condition de transition satisfaite/condition de transition non satisfaite) est affiché. Vous avez cependant également la possibilité d'afficher les états des transitions momentanément non traitées. Seul l'état des transitions est alors affiché. Cela n'a aucune influence sur le comportement de la séquence. Pour cela, vous devez utiliser le bloc fonction XSFCCNTRL de la bibliothèque de blocs SYSTEM. Vous devez également activer la case à cocher Animer toutes les conditions de la section de transition dans la boîte de dialogue Options →Environnement → Editeurs graphiques.... NOTE : Cette fonction entraîne une charge importante sur le cycle. Cela a pour conséquence que désormais toutes les transitions de la section concernée sont animées et exécutées dans un cycle, alors que celles-ci sont normalement exécutées de manière séquentielle en fonction de l'état du procédé (étape précédente active/non active). Affichage de toutes les conditions des transitions Pour afficher toutes les conditions des transitions, vous devez effectuer les étapes suivantes : Etape 33002205 12/2010 Action 1 Créez une section FBD et exécutez le bloc fonction XSFCCNTRL de la bibliothèque de blocs SYSTEM. 2 Donnez comme nom d'instance (nom du module) du bloc fonction XSFCCNTRL le nom de la section SFC à animer. 3 Affectez la valeur "1" à l'entrée ALLTRANS du bloc fonction XSFCCNTRL (par un libellé ou en fonction du procédé par une variable). Réaction : Cela a pour effet d'activer le calcul de toutes les conditions de transition. Sinon un ancien état de la condition de transition serait affiché. 4 Avec la commande Projet →Ordre d'exécution... (ou avec le navigateur de projet) assurez-vous que la section FBD est exécutée avant la section SFC à animer. 5 Activez la case à cocher Animer toutes les conditions de la section de transition dans la boîte de dialogue Options →Environnement →Editeurs graphiques.... 6 Chargez le programme dans l'automate et démarrez l'animation de la section SFC. Réaction : Tous les états des transitions sont alors affichés. 325 Langage de commande séquentielle SFC commande d’une chaîne d’étapes Introduction Il y a 3 possibilités de commander une chaîne d’étapes : par la commande d’animation z par les commandes dans le menu principal En ligne z par le bloc de fonction SFCCNTRL ou XSFCCNTRL (bibliothèque de blocs SYSTEM) z Si une chaîne est commandée par plusieurs possibilités en même temps, ces interventions de commande ont la même importance. Les interventions de commande par les commandes dans le menu principal En ligne et par la commande d’animation peuvent être verrouillées par les blocs de fonction SFCCNTRL et XSFCCNTRL . Une intervention de commande dans l’une des possibilités sera aussi affichée dans les deux autres. Condition Une commande de la chaîne des étapes n’est possible que si le mode animation est actif pour la section. Commande de l’animation La commande d’animation est activée par la commande En ligne →Afficher la commande de l’animation . La commande d’animation contient toutes les possibilités qui sont disponibles aussi en tant que commandes. 326 33002205 12/2010 Langage de commande séquentielle SFC Mode de fonctionnement Par la commande d’animation et les commandes, vous pouvez tester l’exécution d’une section SFC. Par exemple des étapes peuvent être transférées, le traitement de la chaîne commandé (si des transitions et(ou des actions doivent être traitées ou non) défaut de temps remis à zéro ou la chaîne remise à l’état d’initialisation. AVERTISSEMENT Risque d’opérations non-sûres, dangereuses et destructrices des outils. Drapeau d’initialisation/de réinitialisation, Verrouiller tansitions, Verrouiller actions, étape sans condition, étape/trans.-jointes et force étapes sélectionnées ne devrait pas être utilisées pour les recherches de défaut en cas de commandes d’outils de machines, de processus ou de systèmes de gestion de matériau si ceux-ci fonctionnent. Sinon que les outils ou processus associés pourraient exécuter des opérations dangereuses voire même destructrices. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Drapeau d’initialisation/de réinitialisation Avec Drapeau d’initialisation/de réinitialisation vous pouvez remettre la chaîne à zéro et démarrer de façon normalisée. z Remettre la chaîne Pour remettre la chaîne, activez Drapeau d’initialisation/de réinitialisation. La chaîne est arrêtée et toutes les actions seront remises à zéro. Pas d’intervention possible par l’opérateur. z Démarrer la chaîne de façon normalisée Pour un démarrage normalisé de la chaîne, il faut que Drapeau d’initialisation/de réinitialisation soit d’abord activé puis désactivé. Par le front 1 →0 la chaîne est remise à zéro, c.-à-d. que l’étape initiale est activée. Verrouillez le contrôle de temps Si Verrouiller contrôle de temps est activé, aucun contrôle de temps ne sera exécuté dans cette étape. Le temps de retard est toujours actif. Verrouiller les transitions Si Verrouiller les transitions est activé, les états des transitions ne seront plus évalués. La chaîne conserve son état actuel indépendamment de l’état des transitions. La chaîne ne peut plus être manipulée que par les commandes (Drapeau d’initialisation/de réinitialisation, étape sans condition, étape/trans. jointes). 33002205 12/2010 327 Langage de commande séquentielle SFC Verrouiller les actions Si Verrouiller les actions est activé, les actions des étapes ne seront plus traitées. Etape sans conditions L‘étape suivante est activée indépendamment de l‘état de transition mais seulement après la fin du retard de l‘étape active. En cas de divergences en ET, à l‘aide de Etape sans conditions toutes les divergences et en cas de divergences en OU toujours la divergence gauche seront activées. Pour l’activation des divergences en fonction des processus on utilidsera Etape/trans. jointes. AVERTISSEMENT Risque d’opérations non-sûres, dangereuses et destructrices des outils. Etapes sans conditions active l‘étape suivante, même quand la transition n‘a pas été remplie. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Etape/trans. jointes Si la condition de transitions est remplie, l‘étape suivante sera activée. Etape/trans.jointes est judicieux seulement si actif : verrouillage transitions . Par le gel des transitions (verrouillage transitions) c’ est possible avec étape/trans, jointes de traiter à la main les éléments de la chaîne étape par étape. Dans ce cas, les transitions s’enchaînent en fonction de la condition de transition. Reset erreur de temps Si Reset erreur de temps est activé, l‘affichage des messages d‘erreur du contrôle de temps est remis dans la section SFC. 328 33002205 12/2010 Langage de commande séquentielle SFC Force étapes sélectionnées Indépendamment de l‘état des transitions et des étapes, l‘étape sélectionnée est activée. En cas de divergences en OU, seulement une étape et donc une divergence peuvent être activées. Dans les divergences en ET, les étapes ne peuvent être faites que quand l’achèvement se trouve déjà dans la divergence en ET et donc quand une étape est active dans chaque divergence. Si une étape est mise dans une divergence en ET, les autres divergences en ET ne seront pas influencées par celle-ci. AVERTISSEMENT Risque d’opérations non-sûres, dangereuses et destructrices des outils. Force étapes sélectionnées active les étapes sélectionnées, même quand la transition n‘est pas remplie. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Cette fontionalité n’est pas disponible par les blocs de fonction SFCCNTRL ni XSFCCNTRL (bibliothèque de blocs SYSTEM). Sélectionner les étapes actives L’étape active de la chaîne est recherchée et sélectionnée. 33002205 12/2010 329 Langage de commande séquentielle SFC Apprendre temps de surveillance Introduction Dans ce mode, les heures minima et maxima qui ont été actives dans l’étape sont calculées. Après la désactivation du mode, les durées calculées pour les différentes étapes sont affichées dans la boîte de dialogue Apprendre temps de surveillance d’étape. A partir de là, elles peuvent être prises en charge comme minimales (voir page 288) et maximales durées de surveillance (voir page 287) dans les propriétés de l’étape. Lors de la transmission, un facteur peut être défini pour les durées minima et maxima. NOTE : Cette fontionalité n’ est pas disponible par les blocs de fonction SFCCNTRL ni XSFCCNTRL (bibliothèque de blocs SYSTEM). Remarques pour calculer les valeurs Il faut faire attention à ce qu’au moins 2 cycles typiques de votre procédé soient détectés. Les valeurs calculées ne seront mémorisées qu’ après que les différentes étapes seront devenues actives, c.-à-d. quand une étape n’ a jamais été inactive pendant le mode "apprendre durée de surveillance" aucune valeur ne sera calculée pour cette étape. L’évaluation de toutes les heures d’étapes calculées d’un cycle dure quelque temps. Il est donc possible, avec de grandes chaînes d’étapes et une courte durée dans les étapes , qu’ il soit impossible de détecter les heures pour les étapes séparées. Utilisation de variable ou constante de ‘ SFCSTEP_TIMES’ Si vous avez attribué à l’étape dans le dialogue Propriétés d’étape une variable ou une constante ‘ SFCSTEP_TIMES’, les heures apprises de la variable/de la constante seront considérées valeurs initiales. Si ces valeurs initiales doivent être utilisées de façon permanente, les éléments correspondants (mini., maxi.) de ces variables/constantes ne doivent pas être écrites. Après l’apprentissage des durées de surveillance, il faut que les valeurs initiales modifiées soient chargées dans API. z Avec les variables cela se fait par la commande En ligne →Chargement. z Avec les constantes, cela se fait par la commande En ligne →Chargement des modifications. 330 33002205 12/2010 Langage de commande séquentielle SFC Calcul des durées "apprises" Vous pouvez définir un facteur pour les valeurs calculées avec lequel vous multiplierez pour calculer les durées de surveillances : z durée de surveillance minimum = durée minimum x minimum [%] z durée de surveillance maximum = durée maximum calculée x maximum [%] Calcul des durées "apprises" : Exemple 1 Calcul des durées "apprises" Les durées calculées pour une étape sont : 1 s, 2 s, 2 s z Minimum [%] : 50 z Maximum [%] : 200 z D’après la formule ci-dessus, il en résulte une durée de surveillance minimum de 500 ms et une maximum de 4 s. Calcul des durées "apprises" : Exemple 2 Si un retard a été donné pour l’étape, il sera pris en compte lors du calcul de la durée de surveillance minimum. C.-à-d. que si le retard est plus important que la valeur calculée pour la durée de surveillance minimum, la valeur calculée pour la durée minimum de surveillance sera ignorée et mise sur 0 ms (cela veut dire qu’ il n’ y a pas de surveillance de la durée minimum). Calcul des durées "apprises" z Les durées calculées pour une étape sont : 1 s, 2 s, 2 s z Retard : 2 s z Minimum [%] : 50 z Maximum [%] : 200 Il en résulte une durée de surveillance minimum de 0 ms et une durée maximum de surveillance de 4 s. 33002205 12/2010 331 Langage de commande séquentielle SFC Calcul des durées "apprises" : Exemple 3 Si un retard a été donné pour l’étape, celui-ci sera pris en compte lors du calcul de la durée maximum de surveillance. C.-à-d. que si le retard est plus important que la valeur calculée pour la durée maximum de surveillance, la valeur calculée pour la durée maximum de surveillance sera ignorée et à sa place une valeur adaptée sera calculée. Ce faisant, on tiendra compte de 2 cas : Il existe une valeur pour la durée minimum de surveillance. Alors la valeur de la durée maximum de surveillance sera calculée selon la formule suivante : Durée minimum de surveillance + 20 ms exemple : z Les durées calculées pour une étape sont : 2 s, 2 s, 2 s z Retard : 3 s z Minimum [%] : 200 z Maximum [%] : 100 z z D’après la formule ci-dessus il en résulte une durée minimum de surveillance de 4 s et une durée maximum de 4s20ms. Il n’ existe pas de valeur pour la durée minimum de surveillance, cf.exemple 2. La valeur de la durée maximum de surveillance sera alors calculée selon la formule suivante : retard + 20 ms exemple : z Les durées calculées pour une étape sont : 1 s, 2 s, 2 s z Retard : 1 s z Minimum [%] : 50 z Maximum [%] : 100 D’après la formule ci-dessus, il en résulte une durée minimum de surveillance de 0 s et une maximum de 1s20ms. 332 33002205 12/2010 Langage de commande séquentielle SFC Diagnostic de transition Introduction Le diagnostic de transition surveille le fait que, une fois que l’étape suivant directement la transition est devenue active, un transfert ait lieu vers l’étape suivante (dans le cas de dérivations simultanées) en l’espace d’un délai précis. Si cela n’est pas le cas, le réseau de transition associé (dans le cas de dérivations simultanées, les réseaux de transition de toutes les transitions associées) est analysé et les erreurs, signaux analysés compris, sont enregistrées dans le tampon d’erreur. Ce dernier ne peut être traité que par un logiciel de visualisation (MonitorPro, Factory Link, par exemple). NOTE : Le diagnostic de transition fonctionne seulement si la chaîne est active. Diagnostic de transition et/ou. Diagnostic de réaction La performance du diagnostic de transition est comparable à celle du diagnostic de réaction (voir Bloc fonction REA_DIA de la bibliothèque de blocs DIAGNO). Ici, par opposition au diagnostic de réaction, les informations en retour de toutes les actions démarrées sont surveillées et, éventuellement, des conditions supplémentaires sont également surveillées. Activation du diagnostic de transition Activation du diagnostic de transition: Etape 33002205 12/2010 Action 1 Activez le diagnostic de transition en entrant un champ de surveillance dans le champ Maximum des propriétés d’étape de l’étape suivant directement (voir aussi Apprendre temps de surveillance, page 330). Si le champ reste vide ou que le temps "0" et entré, la surveillance de transition est inactive. 2 Activez dans le dialoge Projet →Options de génération de code... →Options de génération de code l’option Inclure les données de diagnostic, afin de créer sur l'API de l'espace mémoire pour le tampon d'erreur. 3 Chargez la configuration modifiée dans l’API. 333 Langage de commande séquentielle SFC 334 33002205 12/2010 Liste d’instructions IL 33002205 12/2010 Liste d’instructions IL 10 Aperçu Ce chapitre décrit le langage de programmation liste d’instructions IL conforme à la norme CEI-1131. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 10.1 Remarques générales sur la liste d’instructions IL 10.2 Instructions 338 10.3 Opérateurs de la liste d’instructions IL 353 10.4 Appel de fonctions, blocs fonctions (EFBs) et blocs fonctions dérivés (DFBs) 385 10.5 Vérification de la syntaxe et génération de code 395 10.6 Fonctions en ligne de la liste d’instructions IL 400 10.7 Elaboration d’un programme à l’aide de la liste d’instructions IL 405 336 335 Liste d’instructions IL 10.1 Remarques générales sur la liste d’instructions IL Généralités sur la liste d'instructions IL Introduction A l'aide du langage de programmation liste d'instructions (IL) vous pouvez par exemple effectuer des appels conditionnels ou non-conditionnels des blocs fonction et fonctions, exécuter de manière conditionnelle ou non-conditionnelle des affectations et des sauts au sein d'une section. Contrôle orthographique Lors de la saisie de clés, de séparateurs et de commentaires, un contrôle orthographique est immédiatement exécuté. Si une clé, un séparateur ou un commentaire est reconnu, il est signalé en couleur. Si des clés (instructions ou opérateurs) non autorisées sont saisies, ils sont également signalés en couleur. Conventions CEI La norme CEI 1131-3 ne permet pas, dans ce langage texte, la saisie d'adresses directes dans la forme habituelle Concept. Pour la saisie d'adresses directes, voir Opérandes, page 341. Selon la norme CEI 1131-3, les clés doivent être saisies en majuscules. Si vous voulez également utiliser les lettres minuscules, vous pouvez activer cette fonction dans la boîte de dialogue Options →Environnement →Extensions CEI... → Extension CEI avec l'option Majuscules/minuscules permises dans les mots clés. Les espaces et tabulations n'ont aucune influence sur la syntaxe et peuvent être utilisés librement. Aide contextuelle Avec le bouton droit de la souris, vous pouvez sélectionner un objet et appeler simultanément un menu contextuel. Par exemple pour les FFB, vous pouvez appeler avec le bouton droit de la souris la description du bloc sélectionné. Vérification de la syntaxe Pendant la création du DFB/programme, vous pouvez vérifier la syntaxe en utilisant Projet → Analyser section, voir également Vérification de la syntaxe, page 396. 336 33002205 12/2010 Liste d’instructions IL Génération de code Avec la commande Projet →Options de génération de code vous pouvez définir les options de génération de code, voir également Génération de code, page 398. Edition avec le clavier Dans Concept, l'édition se fait normalement avec la souris, mais il est aussi possible d'utiliser le clavier (voir également Touches courtes dans l’éditeur IL, ST et de type de données, page 860). Conformité CEI Pour une description de la conformité CEI du langage de programmation IL, voir Conformité CEI, page 877. 33002205 12/2010 337 Liste d’instructions IL 10.2 Instructions Aperçu Ce chapitre vous donne un aperçu des instructions du langage de programmation Liste d’instruction IL. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet Remarques générales sur les instructions 338 Page 339 Opérandes 341 Modificateur 343 Opérateurs 345 Repère 348 Déclaration (VAR...END_VAR) 350 Commentaires 352 33002205 12/2010 Liste d’instructions IL Remarques générales sur les instructions Introduction Une liste d’instructions se compose d’une chaîne d’instructions. Chaque instruction commence dans une nouvelle ligne et se compose : z d’un opérateur (voir page 341), z le cas échéant, accompagné d’un modificateur (voir page 343) et, z si nécessaire, d’un ou de plusieurs opérandes (voir page 353). Si plusieurs opérandes sont utilisés, ceux-ci sont séparés par des virgules. Un Repère (voir page 348) suivi de deux points ( : ) peut précéder une instruction. L’instruction peut être suivie d’un commentaire (voir page 352). Exemple : 33002205 12/2010 339 Liste d’instructions IL Structure du langage de programmation IL est le langage de programmation dit orienté accu, ce qui signifie que chaque instruction utilise ou modifie le contenu de l’accu (une sorte de mémoire temporaire). CEI 1131 désigne cet accu comme "résultat". C’est la raison pour laquelle une liste d’instructions doit toujours commencer par l’opérande LD ("commande Charger dans l’accu"). Exemple d’addition : Commande Signification LD 10 La valeur "10" est chargée dans l’accu. ADD 25 Le contenu de l’accu est additionné à "25". ST A Le résultat est stocké dans la variable "A". Le contenu de la variable "A" et de l’accu est maintenant "35". Une instruction suivante éventuelle travaillerait avec le contenu d’accu "35", si elle ne commence pas par LD. Les opérations de comparaison se rapportent aussi toujours à l’accu. Le résultat booléen de la comparaison est stocké dans l’accu, et est donc le contenu actuel de l’accu. Exemple de comparaison : 340 Commande Signification LD B La valeur de "B" sera chargée dans l’accu. GT 10 Le contenu de l’accu est comparé à "10". ST A Le résultat de la comparaison est stocké dans la variable "A". Si B est inférieur ou égal à "10", la valeur de la variable "A" et du contenu de l’accu est "0" (FALSE). Si B est supérieur ou égal à "10", la valeur de la variable "A" et du contenu de l’accu est "1" (TRUE). 33002205 12/2010 Liste d’instructions IL Opérandes Introduction Un opérande peut être : z un littéral, z une variable, z une variable multi-éléments, z un élément d’une variable multi-éléments, z une sortie FB/DFB ou z une adresse directe. Accès aux variables de champ Lors d’un accès aux variables de champ (ARRAY), seuls les littéraux et les variable du type ANY_INT sont autorisés dans l’indication d’index. Exemple : Enregistrement d’une variable de champ LD var1[i] ST var2.otto[4] Conversion de type L’opérande et le contenu actuel de l’accu doivent obligatoirement avoir le même type de données. Si des opérandes de différents types de données différents doivent être traitées, une conversion de type doit obligatoirement être effectuée auparavant. Le type de données TIME forme une exception en corrélation avec les opérateurs arithmétiques MUL et DIV. Pour ces deux opérateurs, un opérande dont le type de données est TIME peut être traité en commun avec un opérande dont le type de données est ANY_NUM. Dans ce cas, le type de données du résultat de ces instructions est TIME. Exemple : Variable entière et variable Real Dans l’exemple, la variable entière "i1" est convertie en une variable Real avant d’être additionnée à la variable Real "r4". LD i1 INT_TO_REAL ADD r4 ST r3 33002205 12/2010 341 Liste d’instructions IL Exemple : Variable entière et variable Time Dans l’exemple, la variable Time "t2" et multipliée à la variable entière "i4" et le résultat est stocké dans la variable Time "t1". LD t2 MUL i4 ST t1 Types de données par défaut d’adresses directes Le tableau suivant indique les types de données par défaut d’adresses directes : Entrée Sortie Types de données par défaut Types de données possibles %IX,%I %QX,%Q BOOL BOOL %IB %QB BYTE BYTE %IW %QW INT INT, UINT, WORD %ID %QD REAL REAL, DINT, UDINT, TIME Utilisation d’autres types de données Si d’autres types de données doivent être affectés en tant que types de données par défaut à un adresse directe, cela doit faire l’objet d’une déclaration explicite (VAR...END_VAR (voir page 350)). Pour la déclaration de variables, VAR...END_VAR ne peut pas être utilisé dans Concept. La déclaration de variables se fait confortablement via éditeur de variables (voir page 563). 342 33002205 12/2010 Liste d’instructions IL Modificateur Introduction Les modificateurs influencent l’exécution de l’opérateur suivant (voir Opérateurs, page 345). Modificateur N Le modificateur N est utilisé pour inverser bit à bit la valeur d’un opérande. Le modificateur peut seulement être utilisé sur les opérandes du type de données ANY_BIT. Exemple : N Dans l’exemple, C sera "1" si A est "1" et B est "0". LD A ANDN B ST C Modificateur C Le modificateur C est utilisé pour exécuter l’instruction associée, si la valeur de l’accu est "1" (TRUE). Le modificateur peut seulement être utilisé sur les opérandes du type de données BOOL. Exemple : C Dans l’exemple, le saut vers START est exécuté seulement si A est "1" (TRUE) et B est "1" (TRUE). LD AAND BJMPC START Modificateur CN Si le modificateur C est combiné avec le modificateur N, l’instruction associée est exécutée seulement si la valeur de l’accu est un "0" booléen (FALSE). Exemple : CN Dans l’exemple, le saut vers START est exécuté seulement si A est "0" (FALSE) et/ou B est "0" (FALSE). LD A AND B JMPCN START 33002205 12/2010 343 Liste d’instructions IL Modificateur Parenthèse ouvrante "(" Le modificateur Parenthèse ouvrante "(" est utilisé pour repousser l’évaluation de l’opérande, jusqu’à ce que l’opérateur Parenthèse fermante ")" apparaisse. Le nombre d’opérations Parenthèse droite doit être égal au nombre de modificateurs Parenthèse gauche. Il est possible d’imbriquer les parenthèses. Exemple : Parenthèse ouvrante "(" Dans cet exemple, E aura la valeur "1", si C et/ou D sont à "1", ainsi que A et B de valeur "1" . LD A AND B AND( C OR D ) ST E L’exemple peut être programmé de la façon suivante : LD A AND B AND( LD C OR D ) ST E 344 33002205 12/2010 Liste d’instructions IL Opérateurs Introduction Un opérateur est un symbole pour : z une opération arithmétique à exécuter, z une opération logique à exécuter ou z l’appel d’une fonction. Les opérateurs sont générique, ce qui signifie qu’ ils s’adaptent automatiquement au type de données de l’opérande. NOTE : Les opérandes peuvent être entrés à la main, ou ils peuvent être créés à l’aide du menu Objets. Tableau des opérateurs Opérateurs du langage de programmation IL : 33002205 12/2010 Opérateur Signification de l’opérateur Modificateurs possibles Opérandes possibles voir également LD Charge la valeur de l’opérande dans l’accu N Littéral, variable, adresse directe du type de données ANY Charger (LD et LDN), page 354 ST Enregistre la valeur de l’accu dans l’opérande. N Variable, adresse directe du type de données ANY Enregistrer (ST et STN), page 355 S Règle l’opérande sur 1 si le contenu de l’accu est 1. Variable, adresse directe du type de données BOOL Valider (S), page 356 R Règle l’opérande sur 0 si le contenu de l’accu est 1. Variable, adresse directe du type de données BOOL Initialiser (R), page 358 AND ET logique N, N(, ( Littéral, variable, adresse directe du type de données ANY_BIT ET logique (AND, AND (), ANDN, ANDN ()), page 360 OR OU logique N, N(, ( Littéral, variable, adresse directe du type de données ANY_BIT OU logique (OR, OR (), ORN, ORN ()), page 362 XOR OU exclusif logique N, N(, ( Littéral, variable, adresse directe du type de données ANY_BIT OU exclusif logique (XOR, XOR (), XORN, XORN ()), page 364 345 Liste d’instructions IL 346 Opérateur Signification de l’opérateur Modificateurs possibles Opérandes possibles voir également ADD Addition ( Littéral, variable, adresse directe du type de données ANY_NUM ou TIME Addition (ADD et ADD ()), page 367 SUB Soustraction ( Littéral, variable, adresse directe du type de données ANY_NUM ou TIME Soustraction (SUB et SUB ()), page 368 MUL Multiplication ( Littéral, variable, adresse directe du type de données ANY_NUM ou TIME Multiplication (*), page 422 DIV Division ( Littéral, variable, adresse directe du type de données ANY_NUM ou TIME Division (DIV et DIV ()), page 371 GT Comparaison : > ( Littéral, variable, adresse directe du type de données ANY_ELEM Comparaison de "plus grand" (GT et GT ()), page 373 GE Comparaison : >= ( Littéral, variable, adresse directe du type de données ANY_ELEM Comparaison "plus grand/égal" (GE et GE ()), page 374 EQ Comparaison : = ( Littéral, variable, adresse directe du type de données ANY_ELEM Comparaison "égal" (EQ et EQ ()), page 375 NE Comparaison : <> ( Littéral, variable, adresse directe du type de données ANY_ELEM Comparaison "inégal" (NE et NE ()), page 376 LE Comparaison : <= ( Littéral, variable, adresse directe du type de données ANY_ELEM Comparaison "plus petit/égal" (LE et LE ()), page 377 LT Comparaison : < Littéral, variable, adresse directe du type de données ANY_ELEM Comparaison de "plus petit" (LT et LT ()), page 378 ( 33002205 12/2010 Liste d’instructions IL 33002205 12/2010 Opérateur Signification de l’opérateur Modificateurs possibles Opérandes possibles voir également JMP Saut vers le repère C, CN REPERE Saut vers étiquette (JMP, JMPC et JMPCN), page 379 CAL Appel d’un bloc fonction ou d’un DFB C, CN FBNAME (nom d’instance) Lancement de bloc fonction/DFB (CAL, CALC et CALCN), page 382 FUNCNA ME Exécution d’une fonction ) Traitement d’opération placées vers l’arrière Appel fonction, Littéral, variable, page 393 adresse directe (le type de données dépend de la fonction) Parenthèse droite")", page 384 347 Liste d’instructions IL Repère Introduction Les repères servent de cible à atteindre pour les sauts (voir page 379). Propriétés Propriétés des repères : Les repères doivent toujours être le premier élément d’une ligne. z Les repères doivent obligatoirement être uniques dans tout le projet/DFB (aucune différence n’est faite entre les majuscules et les minuscules). z La longueur maximale d’un repère est de 32 caractères. z Les repères doivent satisfaire aux conventions de nom CEI. z Les repères sont séparés par deux points ":" de la commande suivante. z Les repères doivent se trouver au début d’"exprimer", car uniquement des valeurs non-définies peuvent se trouver dans l’accu. z Destinations de saut Des destinations de saut possibles sont : z la première instruction LD d’un appel de FB/DFB avec affectation de paramètres d’entrée (voir start2), z une instruction LD "normale" (voir start1), z une instruction CAL ne travaillant pas avec les instructions de paramètres d’entrée (voir start3), z une instruction JMP (voir start4), z la fin d’une liste d’instructions (voir start5). 348 33002205 12/2010 Liste d’instructions IL Exemple Lancer2 : ST LD ST LD A counter.CU B counter.R LD C start1 AND B start3 start4 start5 33002205 12/2010 ST counter.PV CAL counter JMPCN start4 : LD A OR C ST D JMPC start3 LD A ADD E JMP start5 : CAL counter ( CU : =A R : =B PV : =C ) JMP start1 : JMPC Lancer1 : 349 Liste d’instructions IL Déclaration (VAR...END_VAR) Introduction L’instruction VAR sert à la déclaration des blocs fonction et DFB utilisés, ainsi qu’à déclarer des adresses directes si celles-ci ne doivent pas être utilisées avec le type de données par défaut. VAR ne peut pas être utilisé dans Concept pour la déclaration de variables. La déclaration de variables se fait confortablement via éditeur de variables. L’instruction END_VAR marque la fin de la déclaration. NOTE : La déclaration des FB/DFB et des adresses directes n’est valable que pour la section courante. Si vous voulez utiliser le même type FFB ou la même adresse dans une autre section, vous devez redéclarer le type FFB ou l’adresse dans la section concernée. Déclaration des blocs fonction et DFB Lors de la déclaration, on affectera à chaque FB-/DFB utilisé un nom d’instance précis. Le nom d’instance permet d’identifier précisément le bloc fonction dans un projet. Le nom d’instance doit être précis dans tout le projet sans égard aux majuscules et minuscules. Le nom de l'exemplaire doit obligatoirement satisfaire aux conventions de nom CEI. Si cela n’est pas le cas, un message d’erreur apparaît. L’indication du nom d’instance est suivie de celle du type de bloc fonction, par exemple CTD_DINT. Le type de données n’est pas indiqué pour les types de blocs fonction génériques. Celui-ci est déterminé par le type de données des paramètres réels. On choisira un type de données adapté pour le bloc fonction, si tous les paramètres réels sont constitués de libellés. Vous pouvez déclarer autant de noms d’instance que vous voulez pour un FB/DFB. NOTE : La boîte de dialogue Objets →Insérer FFB met à votre disposition un formulaire pour la création facile et rapide d’une déclaration FB/DFB. NOTE : Contrairement aux langages de programmation graphiques (FDB, LD), vous pouvez appeler les FB/DFB plusieurs fois dans IL. 350 33002205 12/2010 Liste d’instructions IL Exemple Déclaration des blocs fonction et DFB Déclaration d’adresses directes Dans cette déclaration, on affecte le type de données souhaité à chaque adresse directe utilisée dont le type de données diffère du type de données par défaut (voir aussi Types de données par défaut d’adresses directes, page 342). Exemple Déclaration d’adresses directes VAR AT %QW1 : WORD ; AT %IW15 : UINT ; AT %ID45 : DINT ; AT %QD4 : TIME ; END_VAR 33002205 12/2010 351 Liste d’instructions IL Commentaires Description Dans l’éditeur IL, les commentaires commencent par la chaîne de caractères (* et se terminent par la chaîne de caractères *). Vous pouvez entrer un commentaire quelconque entre ces deux chaînes de caractères. Les commentaires sont affichés en couleur. NOTE : Selon CEI 1131-1, les commentaires sont autorisés seulement en fin de ligne. Toutefois, pour les placer à volonté, vous pouvez valider avec Options → Environnement →Extensions CEI... →Commentaires admis partout dans le texte. NOTE : Les commentaires emboîtés ne sont pas autorisés selon CEI 1131-1. Si vous voulez cependant les utiliser, vous pouvez les valider avec Options → Environnement →Extensions CEI... →Commentaires imbriqués autorisés. 352 33002205 12/2010 Liste d’instructions IL 10.3 Opérateurs de la liste d’instructions IL Aperçu Ce chapitre décrit les opérateurs de la liste d’instructions IL. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Charger (LD et LDN) 354 Enregistrer (ST et STN) 355 Valider (S) 356 Initialiser (R) 358 ET logique (AND, AND (), ANDN, ANDN ()) 360 OU logique (OR, OR (), ORN, ORN ()) 362 OU exclusif logique (XOR, XOR (), XORN, XORN ()) 364 Inverser (NOT) 366 Addition (ADD et ADD ()) 367 Soustraction (SUB et SUB ()) 368 Multiplication (MUL et MUL()) 369 Division (DIV et DIV ()) 371 Comparaison de "plus grand" (GT et GT ()) 373 Comparaison "plus grand/égal" (GE et GE ()) 374 Comparaison "égal" (EQ et EQ ()) 375 Comparaison "inégal" (NE et NE ()) 376 Comparaison "plus petit/égal" (LE et LE ()) 377 Comparaison de "plus petit" (LT et LT ()) 378 Saut vers étiquette (JMP, JMPC et JMPCN) 379 Lancement de bloc fonction/DFB (CAL, CALC et CALCN) 382 FUNCNAME 383 Parenthèse droite")" 384 353 Liste d’instructions IL Charger (LD et LDN) Description LD Avec LD, la valeur de cette opérande est chargée dans l’accu. Les données de l’accu s’adaptent automatiquement au type de données de l’opérande. Le même est valable pour les types de données dérivés. Exemple LD Exemple LD Commande Description LD A La valeur de "A" sera chargée dans l’accu. ADD B La valeur de "B" sera ajoutée au contenu de l’accu. ST E Le résultat est archivé en "E". Description LDN L’opérande chargée peut être inversée à l’aide du modificateur N (quand l’opérande est du type de données ANY_BIT ). Exemple LDN Exemple LDN 354 Commande Description LDN A La valeur de "A" est inversée et chargée dans l’accu. ADD B La valeur de "B" sera ajoutée au contenu de l’accu. ST E Le résultat est archivé en "E". 33002205 12/2010 Liste d’instructions IL Enregistrer (ST et STN) Description ST Avec ST, la valeur actuelle de l’accu est archivée dans l’opérande. Le type de données de l’opérande doit correspondre avec le type de données de l’accu. Selon le fait si un LD suit le ST, on continue à travailler avec un "vieux" résultat. Exemple ST Exemple ST Commande Description LD A La valeur de "A" sera chargée dans l’accu. ADD B La valeur de "B" sera ajoutée au contenu de l’accu. ST E Le résultat est archivé en "E". ADD B Après, la valeur de "B" est ajoutée à la valeur de "E" (contenu de l’accu actuel). ST F Le résultat est archivé en "F". LD X La valeur de "X" est alors chargée dans l’accu. SUB 3 3 est soustrait au contenu de l’accu. ST Y Le résultat est archivé en "Y". Description STN L’opérande chargé peut être inversé à l’aide du modificateur N (quand l’opérande est du type de données ANY_BIT ). Exemple STN Exemple ST 33002205 12/2010 Commande Description LD A La valeur de "A" sera chargée dans l’accu. ADD B La valeur de "B" sera ajoutée au contenu de l’accu. STN E Le résultat est inversé et archivé en "E". 355 Liste d’instructions IL Valider (S) Description Avec S, l’opérande est mis sur "1" quand le contenu de l’accu actuel est d’un "1" booléen. Example S Example S Commande Description LD A La valeur de "A" sera chargée dans l’accu. S OUT Quand le contenu de l’accu (valeur de A) est de "1", "OUT" est mis sur "1". Utilisation Normalement, cette opérande est utilisé avec l’opérateur de remise R (Flip-Flop). Example RS-Flip-Flop L’example montre un RS-Flip-Flop (Remise dominante). 356 Commande Description LD A La valeur de "A" sera chargée dans l’accu. S OUT Quand le contenu de l’accu (valeur de A) est de "1", "OUT" est mis sur "1". LD C La valeur de "C" sera chargée dans l’accu. R OUT Quand le contenu de l’accu (valeur de C) est de "1", "OUT" est mis sur "0". 33002205 12/2010 Liste d’instructions IL Procédure de reprise Lors de la procédure de reprise de l’API, on fait la différence entre la reprise à chaud et la reprise à froid : z Reprise à froid Après une reprise à froid (Charger le programme avec En ligne →Chargement) tous les variables (de tous les types) seront mis sur "0" ou sur leurs valeurs initiales. z Reprise à chaud Lors d’une reprise à chaud (arrêter et démarrer le programme) ou En ligne → Chargement des modifications) de différents procédures de départ existent pour les variables Located/adresses directes et les variables Unlocated : z Variables Located /adresses directes Lors d’une reprise à chaud, la variable Located/adresse directe est mis à "0" ou à la valeur initiale. z Variables Unlocated Lors d’une reprise à chaud, la variable Unlocated définie par la commande Mettre garde sa valeur actuelle (procédure d’archivage). NOTE : Si vous avez besoin d’un variable Located/adresse directe à buffer, utilisez le bloc fonction RS ou SR de la bibliothèque des blocs fonction CEI. 33002205 12/2010 357 Liste d’instructions IL Initialiser (R) Description Avec R, l’opérande est mis sur "0" quand le contenu de l’accu actuel est d’un "1" booléen. Example R Example R Commande Description LD A La valeur de "A" sera chargée dans l’accu. R OUT Quand le contenu de l’accu (valeur de A) est de "1", "OUT" est mis sur "1". Utilisation Normalement, cet opérateur est utilisé avec l’opérateur de mise S (Flip-Flop). Example SR-Flip-Flop L’example montre un SR-Flip-Flop (Mise dominante). 358 Commande Description LD A La valeur de "A" sera chargée dans l’accu. R OUT Quand le contenu de l’accu (valeur de A) est de "1", "OUT" est mis sur "1". LD C La valeur de "C" sera chargée dans l’accu. S OUT Quand le contenu de l’accu (valeur de C) est de "1", "OUT" est mis sur "0". 33002205 12/2010 Liste d’instructions IL Procédure de reprise Lors de la procédure de reprise de l’API, on fait la différence entre la reprise à chaud et la reprise à froid : z Reprise à froid Après une reprise à froid (Charger le programme avec En ligne →Chargement) tous les variables (de tous les types) seront mis sur "0" ou sur leurs valeurs initiales. z Reprise à chaud Lors d’une reprise à chaud (arrêter et démarrer le programme) ou En ligne → Chargement des modifications) de différents procédures de départ existent pour les variables Located/adresses directes et les variables Unlocated : z Variables Located /adresses directes Lors d’une reprise à chaud, la variable Located/adresse directe définie par la commande Remettre est mis à "0" ou à sa valeur initiale. z Variables Unlocated Lors d’une reprise à chaud, la variable Unlocated définie par la commande Remettre garde sa valeur actuelle (procédure d’archivage). NOTE : Si vous avez besoin d’un variable Located/adresse directe à buffer, utilisez le bloc fonction RS ou SR de la bibliothèque des blocs fonction CEI. 33002205 12/2010 359 Liste d’instructions IL ET logique (AND, AND (), ANDN, ANDN ()) Description AND En AND un lien logique ET est exécuté entre le contenu de l’accu et l’opérande. Pour le type de données BYTE et WORD le lien est fait par bit. Exemple AND Dans l’exemple, "D" deviendra "1" quand A, B et C sont "1". Commande Description LD A Le contenu de "A" sera chargée dans l’accu. AND B Le contenu de l’accu sera relié par "ET" dans le contenu de "B". AND C Le contenu de l’accu (résultat du lien ET entre "A" et "B") sera relié par "ET" avec le contenu de "C". ST D Le résultat du lien sera archivé en "D". Description AND () AND peut être utilisé avec le modificateur parenthèse gauche "(". Exemple AND () Dans l’exemple D deviendra "A& quand A est "1" et B ou C sont "1". Commande Description LD A Le contenu de "A" sera chargée dans l’accu. AND ( Le lien "ET" sera retardé jusqu’à ce que la parenthèse droite est atteinte. LD B Le contenu de "B" sera chargée dans l’accu. OR C Le contenu de "C" sera lié par "OU" avec le contenu de l’accu. ) Le lien "ET" retardé sera exécuté. Le contenu de l’accu (résultat du lien "OU" entre "B" et "C") sera relié par "ET" avec le contenu de "A". ST D Le résultat du lien sera archivé en "D". Description ANDN AND peut être utilisé avec le modificateur N. 360 33002205 12/2010 Liste d’instructions IL Exemple ANDN Dans l’exemple D deviendra "1 " quand A est "1" et B et C sont "0". Commande Description LD A Le contenu de "A" sera chargée dans l’accu. ANDN B Le contenu de "B" sera inversé et relié par "ET" avec le contenu de l’accu ANDN C Le contenu de "C" sera inversé et relié par "ET" avec le contenu de l’accu (résultat du lien "ET" de "A" et "B"). ST D Le résultat du lien sera archivé en "D". Description ANDN () AND peut être utilisé avec le modificateur N et la parenthèse gauche "(". Exemple ANDN () Dans l’exemple D est "1" quand A est "1", B "0" et C "1". 33002205 12/2010 Commande Description LD A Le contenu de "A" sera chargée dans l’accu. ANDN ( Le lien "ET" sera retardé jusqu’à ce que la parenthèse droite est atteinte. LD B Le contenu de "B" sera chargée dans l’accu. ORN C Le contenu de "C" sera inversé et lié par "OU" avec le contenu de l’accu. ) Le lien "ET" retardé sera exécuté. Le contenu de "A" sera inversé et relié par "ET" avec le contenu de l’accu (résultat du lien "OU" de "B" et "C"). ST D Le résultat du lien sera archivé en "D". 361 Liste d’instructions IL OU logique (OR, OR (), ORN, ORN ()) Description OR OR entraîne une association OU logique entre le contenu accumulateur et l’opérande. Pour le type de données BYTE et WORD le lien est fait par bit. Exemple OR Dans l’exemple, D pasest à l’état "1" si A ou B sont à l’état "1" et C est à l’état "1". Commande Description LD A Le contenu de "A" sera chargée dans l’accu. OR B Le contenu accumulateur est associé au contenu de "B" par OU. AND C Le contenu accumulateur (résultat de l’association par OU de "A" et "B") est associé par opération ET. ST D Le résultat du lien sera archivé en "D". Description OR () OR peut être utilisé avec parenthèse ouvrante "(" comme modificateur. Exemple OR () Dans l’exemple, D pasest à l’état "1" si A est à l’état "1" ou B et C sont à l’état "1". Commande Description LD A Le contenu de "A" sera chargée dans l’accu. OR ( L’opération OU est retardée jusqu’à ce que la parenthèse fermante soit atteinte. LD B Le contenu de "B" sera chargée dans l’accu. AND C Le contenu de "C" est associé au contenu accumulateur par ET. ) Exécution de l’opération OU retardée. Le contenu accumulateur (résultat de l’association par ET de "B" et "C") est associé par OU au contenu de "A". ST D Le résultat du lien sera archivé en "D". Description ORN ORN peut être utilisé avec modificateur N. 362 33002205 12/2010 Liste d’instructions IL Exemple ORN Dans l’exemple, D pasest à l’état "1" si A est à l’état "1" ou B est à l’état "0" et C est à l’état "1". Commande Description LD A Le contenu de "A" sera chargée dans l’accu. ORN B Le contenu de "B" est inverti et associé par OU au contenu accumulateur. AND C Le contenu de "C" est associé au contenu accumulateur (résultat de l’association par OU de "A" et "B") par opération ET. ST D Le résultat du lien sera archivé en "D". Description ORN () ORN peut être utilisé avec modificateurs N et parenthèse ouvrante "(". Exemple ORN () Dans l’exemple, D pasest à l’état "1" si A est à l’état "1" ou B ou C sont à l’état "0". 33002205 12/2010 Commande Description LD A Le contenu de "A" sera chargée dans l’accu. ORN ( L’opération OU est retardée jusqu’à ce que la parenthèse fermante soit atteinte. LD B Le contenu de "B" sera chargée dans l’accu. AND C Le contenu de "C" est associé au contenu accumulateur par ET. ) Exécution de l’opération OU retardée. Le contenu accumulateur (résultat de l’association par ET de "B" et "C") est associé par OU au contenu de "A". ST D Le résultat du lien sera archivé en "D". 363 Liste d’instructions IL OU exclusif logique (XOR, XOR (), XORN, XORN ()) Description XOR XOR entraîne une association par OU exclusif entre le contenu accumulateur et l’opérande. Si plus de deux opérandes sont associées, le résultat de l’opération est à l’état "1" pour un nombre impair d‘états 1 et à l’état "0" pour un nombre pair d’états 1. Pour le type de données BYTE et WORD le lien est fait par bit. Exemple XOR Dans l’exemple, D pasest à l’état "1" si A ou B est à l’état "1". Si A et B ont le même état (c’est-à-dire "0" ou "1"), D est à l’état "0". Commande Description LD A Le contenu de "A" sera chargée dans l’accu. XOR B Le contenu accumulateur est associé au contenu de "B" par OU exclusif. ST D Le résultat du lien sera archivé en "D". Description XOR () XOR peut être utilisé avec parenthèse ouvrante "(" comme modificateur. Exemple XOR () Dans l’exemple, D pasest à l’état "1" si A ou le résultat de l’association par ET de B et C est à l’état "1". Si A et l’opération ET ont le même état (c’est-à-dire "0" ou "1" tous les deux), D est à l’état "0". 364 Commande Description LD A Le contenu de "A" sera chargée dans l’accu. XOR ( L’opération OU exclusif est retardée jusqu’à ce que la parenthèse fermante soit atteinte. LD B Le contenu de "B" sera chargée dans l’accu. AND C Le contenu de "C" est associé au contenu accumulateur par ET. ) Exécution de l’opération OU exclusif retardée. Le contenu accumulateur (résultat de l’association par opération ET de "B" et "C") est associé au contenu de "A" par OU exclusif. ST D Le résultat du lien sera archivé en "D". 33002205 12/2010 Liste d’instructions IL Description XORN XORN peut être utilisé avec modificateur N. Exemple XORN Dans l’exemple, D pasest à l’état "1" si A et B ont le même contenu ("1" tous les deux ou "0" tous les deux). Si A et B n’ont pas le même état, D est à l’état "0". Commande Description LD A Le contenu de "A" sera chargée dans l’accu. XORN B Le contenu de "B" est inverti et associé au contenu accumulateur par OU exclusif. ST D Le résultat du lien sera archivé en "D". Description XORN () XORN peut être utilisé avec modificateurs N et parenthèse ouvrante "(". Exemple XORN () Dans l’exemple, D pasest à l’état "1" si A et le résultat de l’opération ET de B et C ont le même contenu ("1" tous les deux ou "0" tous les deux). Si A et l’association par opération ET de B et C n’ont pas le même état, D est à l’état "0". 33002205 12/2010 Commande Description LD A Le contenu de "A" sera chargée dans l’accu. XORN ( L’opération OU exclusif est retardée jusqu’à ce que la parenthèse fermante soit atteinte. LD B Le contenu de "B" sera chargée dans l’accu. AND C Le contenu de "C" est associé au contenu accumulateur par ET. ) Exécution de l’opération OU exclusif retardée. Le contenu accumulateur (résultat de l’association par opération ET de "B" et "C") est associé au contenu de "A" par OU exclusif. ST D Le résultat du lien sera archivé en "D". 365 Liste d’instructions IL Inverser (NOT) Description de NOT NOT permet d'inverser l'index accu. NOT ne peut être utilisé qu'avec des types de données booléens (BIT, OCTET, WORD). NOTE : Cet opérateur n'est pas conforme à la norme CEI 61131-1. Exemple NOT Exemple NOT 366 Commande Description LD A L'index de "A" est chargé dans l'accu. NOT L'index accu est inversé. ST B Le résultat est enregistré dans "B". 33002205 12/2010 Liste d’instructions IL Addition (ADD et ADD ()) Description ADD En ADD, la valeur de l’opérande est ajoutée à la valeur du contenu de l’accu. Exemple ADD L’exemple correspond à la formule D = A + B + C Commande Description LD A La valeur de "A" sera chargée dans l’accu. ADD B La valeur de "B" sera ajoutée au contenu de l’accu. ADD C La valeur de "C" sera ajoutée au contenu de l’accu (résultat de "A"+"B"). ST D Le résultat sera archivé en "D". Description ADD () ADD peut être utilisé avec le modificateur parenthèse gauche "(". Exemple ADD () L’exemple correspond à la formule D = A + (B – C) 33002205 12/2010 Commande Description LD A La valeur de "A" sera chargée dans l’accu. ADD ( L’addition est retardée jusqu’à ce que la parenthèse droite est atteinte. LD B La valeur de "B" sera chargée dans l’accu. SUB C Le contenu de l’accu sera soustrait avec la valeur de "C". ) L’addition retardée est exécutée. La valeur de "A" sera ajoutée au contenu de l’accu (résultat de "B"-"C"). ST D Le résultat sera archivé en "D". 367 Liste d’instructions IL Soustraction (SUB et SUB ()) Description SUB En cas de SUB, le contenu de l’accu est réduit de la valeur de l’opérande. Exemple SUB L’exemple correspond à la formule D = A - B - C Commande Description LD A La valeur de "A" sera chargée dans l’accu. SUB B Le contenu de l’accu est réduit avec la valeur de "B". SUB C Le contenu de l’accu (résultat de "A"-"B") est réduit avec la valeur de "C". ST D Le résultat sera archivé en "D". Description SUB () SUB peut être utilisé avec la parenthèse gauche "(" modifiée. Exemple SUB () L’exemple correspond à la formule D = A - B - C 368 Commande Description LD A La valeur de "A" sera chargée dans l’accu. SUB ( La soustraction est retardée jusqu’à ce que la parenthèse droite soit atteinte. LD B La valeur de "B" sera chargée dans l’accu. SUB C Le contenu de l’accu sera soustrait avec la valeur de "C". ) La soustraction remise est exécutée. La valeur de "A" est réduite avec le contenu de l’accu (résultat de "B"-"C"). ST D Le résultat sera archivé en "D". 33002205 12/2010 Liste d’instructions IL Multiplication (MUL et MUL()) Description MUL Pour MUL, le contenu de l’accu est multiplié de la valeur de l’opérande. Exemple MUL L’exemple correspond à la formule D = A x B x C Commande Description LD A La valeur de "A" sera chargée dans l’accu. MUL B Le contenu de l’accu est multiplié avec la valeur de "B". MUL C Le contenu de l’accu (résultat de "A"x"B") est multiplié avec la valeur de "C". ST D Le résultat sera archivé en "D". Multiplication de valeurs TIME Normalement, l’opérande et le contenu de l’accu doivent avoir le même type de données . Une exception est le type de données TIME en combinaison avec MUL. Dans ce cas, le contenu de l’accu du type de données TIME peut être traité avec un opérande du type de données ANY_NUM. Le contenu de l’accu est du type de données TIME après l’exécution de cette liste d’allocation. Exemple MUL avec valeurs TIME L’exemple correspond à la formule t1 = t2 x i4. Commande Description LD t2 La valeur de la variable Time "t2" est chargée dans l’accu. MUL i4 Le contenu de l’accu est multiplié avec la valeur de la variable entière "i4". ST t1 Le résultat est archivé dans la variable Time "t1". Description MUL () MUL peut être utilisé avec le modificateur parenthèse gauche "(". 33002205 12/2010 369 Liste d’instructions IL Exemple MUL () L’exemple correspond à la formule D = A x (B –C) 370 Commande Description LD A La valeur de "A" sera chargée dans l’accu. MUL ( La multiplication est remise jusqu’à la parenthèse droite est atteinte. LD B La valeur de "B" sera chargée dans l’accu. SUB C Le contenu de l’accu sera soustrait avec la valeur de "C". ) La multiplication remise est exécutée. Le contenu de l’accu (résultat de "B"-"C") est multiplié avec la valeur de "A". ST D Le résultat sera archivé en "D". 33002205 12/2010 Liste d’instructions IL Division (DIV et DIV ()) Description DIV En DIV, le contenu de l’accu est divisé par la valeur de l’opérande. Exemple DIV L’exemple correspond à la formule D = A / B / C Commande Description LD A La valeur de "A" sera chargée dans l’accu. DIV B Le contenu de l’accu est divisé par la valeur de "B". DIV C Le contenu de l’accu (résultat de "A"/"B") est divisé par la valeur de "C". ST D Le résultat sera archivé en "D". Division des valeurs TIME Normalement, l’opérande et le contenu de l’accu doivent avoir le même type de données . Une exception est le type de données TIME en combinaison avec DIV. Dans ce cas, le contenu de l’accu du type de données TIME peut être traité avec un opérande du type de données ANY_NUM. Le contenu de l’accu est du type de données TIME après l’exécution de cette liste d’allocation. Exemple MUL avec valeurs TIME Cet exemple correspond à la formule t1 = t2 / i4. 33002205 12/2010 Commande Description LD t2 La valeur de la variable Time "t2" est chargée dans l’accu. DIV i4 Le contenu de l’accu est divisé par la valeur de la variable entière "i4". ST t1 Le résultat est archivé dans la variable Time "t1". 371 Liste d’instructions IL Description DIV () DIV peut être utilisé avec le modificateur parenthèse gauche "(". Exemple DIV () L’exemple correspond à la formule D = A / (B –C) 372 Commande Description LD A La valeur de "A" sera chargée dans l’accu. DIV ( La division est remise jusqu’à la parenthèse droite est atteinte. LD B La valeur de "B" sera chargée dans l’accu. SUB C Le contenu de l’accu sera soustrait avec la valeur de "C". ) La division remise est exécutée. La valeur de "A" est divisée par le contenu de l’accu (résultat de "B"-"C"). ST D Le résultat sera archivé en "D". 33002205 12/2010 Liste d’instructions IL Comparaison de "plus grand" (GT et GT ()) Description GT En GT, la comparaison est faite entre le contenu de l’accu et le contenu de l’opérande. Quand le contenu de l’accu est plus grand le contenu de l’opérande, le résultat est un "1" booléen. Quand le contenu de l’accu est plus petit/le même que le contenu de l’opérande, le résultat est un "0" booléen. Example GT Example GT Commande Description LD A La valeur de "A" sera chargée dans l’accu. GT 10 La comparaison sera faite entre le contenu de l’accu et la valeur "10". ST D Quand la valeur de "A" est plus petite que "10" (ou "10"), la valeur "0" sera archivée en "D". Quand la valeur de "A" est plus grande que "10", la valeur "1" sera archivé en "D". Description GT () GT peut être utilisé avec le modificateur parenthèse gauche "(". Example GT () Example GT () 33002205 12/2010 Commande Description LD A La valeur de "A" sera chargée dans l’accu. GT ( La comparaison sera retardée jusqu’à ce que la parenthèse droite soit atteinte. LD B La valeur de "B" sera chargée dans l’accu. SUB C Le contenu de l’accu sera soustrait avec la valeur de "C". ) La comparaison en attente sera exécutée. La comparaison sera faite entre la valeur de "A" et le contenu de l’accu (résultat de "B"-"C"). ST D Quand la valeur de "A" est plus petite que "B"-"C" (ou "B"-"C"), la valeur "0" sera archivée en "D". Quand la valeur de "A" est plus grande que "B"-"C", la valeur "1" sera archivée en "D". 373 Liste d’instructions IL Comparaison "plus grand/égal" (GE et GE ()) Description GE En GE, la comparaison est faite entre le contenu de l’accu et le contenu de l’opérande. Quand le contenu de l’accu est plus grand/le même que le contenu de l’opérande, le résultat est un "1" booléen. Quand le contenu de l’accu est plus petit que le contenu de l’opérande, le résultat est un "0" booléen. Example GE Example GE Commande Description LD A La valeur de "A" sera chargée dans l’accu. GE 10 La comparaison sera faite entre le contenu de l’accu et la valeur "10". ST D Quand la valeur de "A" est plus petite que "10", la valeur "0" sera archivé en "D". Quand la valeur de "A" est "10" ou plus grande, la valeur "1" sera archivée en "D". Description GE () GE peut être utilisé avec le modificateur parenthèse gauche "(". Example GE () Example GE () 374 Commande Description LD A La valeur de "A" sera chargée dans l’accu. GE ( La comparaison sera retardée jusqu’à ce que la parenthèse droite soit atteinte. LD B La valeur de "B" sera chargée dans l’accu. SUB C Le contenu de l’accu sera soustrait avec la valeur de "C". ) La comparaison en attente sera exécutée. La comparaison sera faite entre la valeur de "A" et le contenu de l’accu (résultat de "B"-"C"). ST D Quand la valeur de "A" est plus petite que "B"-"C", la valeur "0" sera archivée en "D". Quand la valeur de "A" est "B"-"C" ou plus grande, la valeur "1" sera archivée en "D". 33002205 12/2010 Liste d’instructions IL Comparaison "égal" (EQ et EQ ()) Description EQ En EQ, la comparaison est faite entre le contenu de l’accu et le contenu de l’opérande. Quand le contenu de l’accu est le même que le contenu de l’opérande, le résultat est un "1" booléen. Quand le contenu de l’accu n’est pas le même que le contenu de l’opérande, le résultat est un "0" booléen. Example EQ Example EQ Commande Description LD A La valeur de "A" sera chargée dans l’accu. EQ 10 La comparaison sera faite entre le contenu de l’accu et la valeur "10". ST D Quand la valeur de "A" n’est pas "10", la valeur "0" sera archivé en "D". Quand la valeur de "A" n’est pas "10", la valeur "1" sera archivé en "D". Description EQ () EQ peut être utilisé avec le modificateur parenthèse gauche "(". Example EQ () Example EQ () 33002205 12/2010 Commande Description LD A La valeur de "A" sera chargée dans l’accu. EQ ( La comparaison sera retardée jusqu’à ce que la parenthèse droite soit atteinte. LD B La valeur de "B" sera chargée dans l’accu. SUB C Le contenu de l’accu sera soustrait avec la valeur de "C". ) La comparaison en attente sera exécutée. La comparaison sera faite entre la valeur de "A" et le contenu de l’accu (résultat de "B"-"C"). ST D Quand la valeur de "A" n’est pas "B"-"C", la valeur "0" sera archivée en "D". Quand la valeur de "A" est "B"-"C", la valeur "1" sera archivée en "D". 375 Liste d’instructions IL Comparaison "inégal" (NE et NE ()) Description NE En NE, la comparaison est faite entre le contenu de l’accu et le contenu de l’opérande. Quand le contenu de l’accu n’est pas le même que le contenu de l’opérande, le résultat est un "1" booléen. Quand le contenu de l’accu est le même que le contenu de l’opérande, le résultat est un "0" booléen. Example NE Example NE Commande Description LD A La valeur de "A" sera chargée dans l’accu. NE 10 La comparaison sera faite entre le contenu de l’accu et la valeur "10". ST D Quand la valeur de "A" n’est pas "10", la valeur "0" sera archivé en "D". Quand la valeur de "A" n’est pas "10", la valeur "1" sera archivé en "D". Description NE () NE peut être utilisé avec le modificateur parenthèse gauche "(". Example NE () Example NE () 376 Commande Description LD A La valeur de "A" sera chargée dans l’accu. NE ( La comparaison sera retardée jusqu’à ce que la parenthèse droite soit atteinte. LD B La valeur de "B" sera chargée dans l’accu. SUB C Le contenu de l’accu sera soustrait avec la valeur de "C". ) La comparaison en attente sera exécutée. La comparaison sera faite entre la valeur de "A" et le contenu de l’accu (résultat de "B"-"C"). ST D Quand la valeur de "A" est "B"-"C", la valeur "0" sera archivée en "D". Quand la valeur de "A" n’est pas "B"-"C", la valeur "1" sera archivée en "D". 33002205 12/2010 Liste d’instructions IL Comparaison "plus petit/égal" (LE et LE ()) Description En LE, la comparaison est faite entre le contenu de l’accu et le contenu de l’opérande. Quand le contenu de l’accu est plus petit/le même que le contenu de l’opérande, le résultat est un "1" booléen. Quand le contenu de l’accu est plus grand le contenu de l’opérande, le résultat est un "0" booléen. Example LE Example LE Commande Description LD A La valeur de "A" sera chargée dans l’accu. LE 10 La comparaison sera faite entre le contenu de l’accu et la valeur "10". ST D Quand la valeur de "A" est plus grande que "10", la valeur "0" sera archivé en "D". Quand la valeur de "A" est plus petite que "10" ou "10", la valeur "1" sera archivée en "D". Description LE () LE peut être utilisé avec le modificateur parenthèse gauche "(". Example LE () Example LE () 33002205 12/2010 Commande Description LD A La valeur de "A" sera chargée dans l’accu. LE ( La comparaison sera retardée jusqu’à ce que la parenthèse droite soit atteinte. LD B La valeur de "B" sera chargée dans l’accu. SUB C Le contenu de l’accu sera soustrait avec la valeur de "C". ) La comparaison en attente sera exécutée. La comparaison sera faite entre la valeur de "A" et le contenu de l’accu (résultat de "B"-"C"). ST D Quand la valeur de "A" est plus grande que "B"-"C", la valeur "0" sera archivée en "D". Quand la valeur de "A" est plus petite que "B"-"C" (ou "B"-"C"), la valeur "1" sera archivée en "D". 377 Liste d’instructions IL Comparaison de "plus petit" (LT et LT ()) Description LT En LT, la comparaison est faite entre le contenu de l’accu et le contenu de l’opérande. Quand le contenu de l’accu est plus petit que le contenu de l’opérande, le résultat est un "1" booléen. Quand le contenu de l’accu est plus grand/le même que le contenu de l’opérande, le résultat est un "0" booléen. Example LT Example LT Commande Description LD A La valeur de "A" sera chargée dans l’accu. LT 10 La comparaison sera faite entre le contenu de l’accu et la valeur "10". ST D Quand la valeur de "A" est plus grande que "10" (ou "10"), la valeur "0" sera archivée en "D". Quand la valeur de "A" est plus petite que "10", la valeur "1" sera archivé en "D". Description LT () LT peut être utilisé avec le modificateur parenthèse gauche "(". Example LT () Example LT () 378 Commande Description LD A La valeur de "A" sera chargée dans l’accu. LT ( La comparaison sera retardée jusqu’à ce que la parenthèse droite soit atteinte. LD B La valeur de "B" sera chargée dans l’accu. SUB C Le contenu de l’accu sera soustrait avec la valeur de "C". ) La comparaison en attente sera exécutée. La comparaison sera faite entre la valeur de "A" et le contenu de l’accu (résultat de "B"-"C"). ST D Quand la valeur de "A" est plus grande que "B"-"C" (ou "B"-"C"), la valeur "0" sera archivée en "D". Quand la valeur de "A" est plus petite que "B"-"C", la valeur "1" sera archivée en "D". 33002205 12/2010 Liste d’instructions IL Saut vers étiquette (JMP, JMPC et JMPCN) Description JMP En JMP un saut avec ou sans conditions à une étiquette est exécuté. L’étiquette est utilisée comme destination du saut et indique l’indication du but. L’indication du but peut se trouver en haut ou en bas de l’indication du saut Un reprère doit toujours être le premier élément d’une ligne. L’étiquette (32 caractères au maximum) doit être la même dans tout le projet/DFB, aucune différence n’est faite entre minuscules et majuscules. Les repères sont séparés par deux points" :" de la commandesuivante. Les repères doivent se trouver au début d’"exprimer", car uniquement des valeurs non-définies peuvent se trouver dans l’accu. Exemple JMP Dans l’exemple, un saut sans conditions est fait vers l’étiquette "Lancer" Commande Lancer : Description LD A AND B Lien logique "ET" entre le contenu de l’accu et le contenu de "B". OR C Lien logique OU entre le contenu de l’accu et le contenu de "C". ST D Le résultat du lien sera archivé en "D". JMP Lancer 33002205 12/2010 La valeur de "A" sera chargée dans l’accu. Indépendant du contenu de l’accu (valeur de "D") un saut à l’étiquette "Lancer" sera exécuté. 379 Liste d’instructions IL Description JMPC et JMPCN JMP peut être utilisé avec les modificateurs C et CN (uniquement quand l’opérande est du type de données ANY_BIT ). Exemple JMPC Dans l’exemple, un saut à conditions (près de "1") est exécuté vers l’étiquette "Lancer". Commande Lancer : Description LD A La valeur de "A" sera chargée dans l’accu. AND B Lien logique "ET" entre le contenu de l’accu et le contenu de "B". OR C Lien logique OU entre le contenu de l’accu et le contenu de "C". ST D Le résultat du lien sera archivé en "D". JMPC Lancer Le saut ne sera exécuté que lorsque le contenu de l’accu (valeur de "D") prend la valeur "1". Exemple JMPCN Dans l’exemple, un saut à conditions (près de "0") est exécuté vers l’étiquette "Lancer". Commande Lancer : Description LD A AND B Lien logique "ET" entre le contenu de l’accu et le contenu de "B". OR C Lien logique OU entre le contenu de l’accu et le contenu de "C". ST D JMPCN Lancer 380 La valeur de "A" sera chargée dans l’accu. Le résultat du lien sera archivé en "D". Le saut ne sera exécuté que lorsque le contenu de l’accu (valeur de "D") prend la valeur "1". 33002205 12/2010 Liste d’instructions IL Destinations de saut Des destinations de saut possibles sont : z chaque commande LD (voir Lancer1) z chaque commande CAL (voir Lancer2) z la fin d’une liste de commandes (voir Lancer3) Des sauts sont impossibles dans les autres chapitres. Exemple des destinations de saut possibles : Commande Description VAR Timer_1 : TON; END_VAR Déclaration du bloc fonction TON. LD IN1_BOOL ST OT1_BOOL JMPC Lancer1 Saut vers Lancer1, quand OT1_BOOL = 1 LDN IN1_BOOL AND IN2_BOOL JMPCN Lancer2 Saut vers Lancer2, quand OT1_BOOL = 0 ST OT2_BOOL Lancer1 : LD IN1_INT ADD IN2_INT ST OT1_INT JMP Lancer3 Lancer2 Saut sans conditions vers Lancer3, JMPC/JMPCN n’est pas permis ici car le contenu d’accu n’est pas du type BOOL. : CAL Timer_1 (IN :=IN3_BOOL, PT :=t#6s) LD Timer_1.ET ST OT1_TIME LD Timer_1.Q ST OT3_BOOL Lancer3 33002205 12/2010 381 Liste d’instructions IL Lancement de bloc fonction/DFB (CAL, CALC et CALCN) Description CAL En CAL, un bloc fonction ou un DFB est appelé avec ou sans conditions. Description CALC et CALCN CAL peut être utilisé avec les modificateurs C et CN (uniquement quand l’opérande est du type de données ANY_BIT ). Utilisation des blocs fonction et DFB Utilisation des blocs fonctions et DFB, page 386 382 33002205 12/2010 Liste d’instructions IL FUNCNAME Description Le nom de fonction vous permet d’exécuter une fonction (voir Appel fonction, page 393). 33002205 12/2010 383 Liste d’instructions IL Parenthèse droite")" Introduction La parenthèse droite ")" permet de lancer l’édition de l’opérateur en attente. Le nombre d’opérations Parenthèse droite doit être égal au nombre de modificateurs Parenthèse gauche. Il est possible d’imbriquer les parenthèses. Exemple Dans cet exemple, E aura la valeur "1", si C et/ou D sont à "1", ainsi que A et B de valeur "1" . LD A AND B AND( C OR D ) ST E 384 33002205 12/2010 Liste d’instructions IL 10.4 Appel de fonctions, blocs fonctions (EFBs) et blocs fonctions dérivés (DFBs) Aperçu Ce chapitre décrit l’appel de fonctions, blocs fonctions (EFBs) et blocs fonctions dérivés (DFBs). Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Utilisation des blocs fonctions et DFB 386 Lancement de bloc fonction/DFB 388 Appel fonction 393 385 Liste d’instructions IL Utilisation des blocs fonctions et DFB Utilisation de blocs fonctions et DFB Concept mettra à votre disposition les blocs fonctions sous la forme de bibliothèques. La logique des blocs fonctions est créée en langage de programmation C et ne peut pas être modifiée dans l'éditeur IL. Vous obtenez les noms des blocs fonctions à disposition dans les bibliothèques de blocs. Les DFB sont des blocs fonctions que vous avez définis dans DFB Concept. Pour les DFB, aucune différence n'est faite entre fonction et bloc fonction. Quelle que soit la configuration interne, elles seront toujours traitées comme des blocs fonctions. L'utilisation de blocs fonctions et de DFB se compose de trois parties dans IL : la déclaration (voir page 387), z le lancement du bloc fonction/DFB (voir page 388), z l'utilisation des sorties de bloc fonction/DFB (voir page 387). z NOTE : La déclaration du lancement du bloc fonction/DFB peut être créée manuellement ou vous pouvez créer le corps du module et l'affectation du paramètre avec la commande de menu Objets →Insérer FFB. Blocs fonctions d'utilisation restreinte Dans IL, les EFB suivants de la bibliothèque de blocs DIAGNO sont uniquement utilisables restreints (les blocs fonctions eux-même sont utilisables, mais il n'y a aucune évaluation des informations de diagnostic étendues) : z XACT, XACT_DIA, z XDYN_DIA, z XGRP_DIA, z XLOCK, z XPRE_DIA, z XLOCK_DIA, z XREA_DIA Blocs fonctions lançables restreints Pour les EFB qui ont une ou plusieurs sorties de type de données ANY mais aucune entrée de type de données ANY (sorties/entrées génériques), le lancement du module ne peut être exécuté qu'en forme compacte (voir page 390). Par ex. dans la bibliothèque de blocs LIB984 : z GET_3X z GET_4X 386 33002205 12/2010 Liste d’instructions IL Blocs fonctions non utilisables Blocs fonctions non utilisables : z Les EFB qui utilisent plusieurs registres pour la saisie exclusive du premier registre en entrée/sortie (par ex. MBP_MSTR de la bibliothèque de blocs COMM) ne peuvent pas être utilisés. z Les EFB qui contiennent des sorties avec des informations d'entrée (par ex. GET_BIT, R2T de la bibliothèque de blocs LIB984) ne peuvent pas être utilisés. z Les EFB suivants de la bibliothèque de blocs COMM ne peuvent pas être utilisés pour les raisons techniques indiquées ci-dessus : z CREADREG z CREAD_REG z CWRITREG z CWRITE_REG z READREG z READ_REG z WRITEREG z WRITE_REG z MBP_MSTR z Les EFB suivants de la bibliothèque de blocs LIB984 ne peuvent pas être utilisés pour les raisons techniques indiquées ci-dessus : z FIFO z GET_BIT z IEC_BMDI z LIFO z R2T z SET_BIT z SRCH z T2T Déclaration Avant le lancement d'un bloc fonction/DFB, celui-ci doit être déclaré avec VAR et END_VAR (voir page 350). Lancement d'un bloc fonction/DFB Lancement de bloc fonction/DFB, page 388 Utilisation des sorties de bloc fonction/DFB Les sorties des blocs fonctions/DFB peuvent toujours être utilisées si une variable (lecture seule) peut également être utilisée. 33002205 12/2010 387 Liste d’instructions IL Lancement de bloc fonction/DFB Introduction Le lancement peut être effectué sous 4 formes : avec CAL et Liste des paramètres d'entrée (voir page 388), z avec CAL et Liste des paramètres d'entrée/de sortie (forme compacte) (voir page 390), z avec CAL et Charger/enregistrer les paramètres d'entrée (voir page 390), z en utilisant les opérateurs d'entrée (voir page 391). z NOTE : Même si le bloc fonction n'a pas d'entrée ou si les entrées ne doivent pas être paramétrées, le bloc fonction doit être lancé (CAL EFB_XY ()) avant qu'il soit possible d'utiliser ses sorties. Sinon, les valeurs initiales seront transmises aux sorties, c.-à-d. "0". NOTE : Dans IL, les instances FB/DFB peuvent être lancées plusieurs fois, contrairement aux langages de programmation graphiques (FBD, LD). CAL avec Liste des paramètres d'entrée Les blocs fonction/DFB peuvent être lancés via une instruction qui contient l'instruction CAL, qui est suivie du nom d'instance du FB/DFB et d'une liste entre parenthèses des affectations de valeur (paramètre actuel) aux paramètres formels. L'ordre dans lequel les paramètres formels sont comptés dans un lancement de bloc fonction n'est pas significatif. La liste des paramètres actuels peut être directement séparée par une virgule. Il n'est pas obligatoire d'affecter une valeur à tous les paramètres formels. Si aucune valeur est affectée à un paramètre formel, la valeur initiale définie dans l'éditeur de variable sera utilisée lors de l'exécution du bloc fonction. Si aucune valeur initiale n'est définie, la valeur par défaut (0) sera utilisée. NOTE : Les entrées du type VARINOUT (voir page 512) doivent toujours se voir affecter une valeur. Le paramétrage du bloc fonction/DFB se termine par l'instruction CAL (..). Par la suite, aucune autre valeur ne peut être transmise aux FB/DFB. Seules ses valeurs de sortie peuvent encore être lues. 388 33002205 12/2010 Liste d’instructions IL Exemple CAL avec Liste des paramètres d'entrée ou Lancement du bloc fonction dans FBD : 33002205 12/2010 389 Liste d’instructions IL CAL avec Liste des paramètres d'entrée/de sortie (forme compacte) Le lancement du module et l'affectation des entrées/sorties peuvent également être en forme compacte réduisant le temps d'exécution : VAR CLOCK : SYSCLOCK ; COUNT : CTU_DINT ; END_VAR CAL CLOCK () ; CAL COUNT (CU:=CLOCK.CLK3, R:=%IX10, PV:=100, Q=>out) CAL et Charger/enregistrer les paramètres d'entrée Les blocs fonction/DFB peuvent être lancés via une liste d'instructions qui comprend le chargement des paramètres actuels, suivi de l'enregistrement dans le paramètre formel, suivi de l'instruction CAL. L'ordre dans lequel les paramètres seront chargés et enregistrés n'est pas significatif. La liste des paramètres actuels peut être directement séparée par une virgule. Il n'est pas obligatoire d'affecter une valeur à tous les paramètres formels. Si aucune valeur est affectée à un paramètre formel, la valeur initiale définie dans l'éditeur de variable sera utilisée lors de l'exécution du bloc fonction. Si aucune valeur initiale n'est définie, la valeur par défaut (0) sera utilisée. NOTE : Les entrées du type VARINOUT (voir page 512) doivent toujours se voir affecter une valeur. Le paramétrage du bloc fonction/DFB se termine par l'instruction CAL FBNAME. Par la suite, aucune autre valeur ne peut être transmise aux FB/DFB. Seules ses valeurs de sortie peuvent encore être lues. Seules des instructions de chargement et d'enregistrement pour le FB/DFB à paramétrer doivent se trouver entre la première instruction de chargement du paramètre actuel et le lancement du bloc fonction/DFB. Aucune autre instruction n'est admise à cet emplacement. Exemple CAL et Charger/enregistrer les paramètres d'entrée 390 33002205 12/2010 Liste d’instructions IL Utilisation des opérateurs d'entrée Les blocs fonction peuvent être lancés via une liste d'instructions qui comprend le chargement des paramètres actuels, suivi de l'enregistrement dans le paramètre formel, suivi d'un opérateur d'entrée. L'ordre dans lequel les paramètres seront chargés et enregistrés n'est pas significatif. La liste des paramètres actuels peut être directement séparée par une virgule. Il n'est pas obligatoire d'affecter une valeur à tous les paramètres formels. Si aucune valeur est affectée à un paramètre formel, la valeur initiale définie dans l'éditeur de variable sera utilisée lors de l'exécution du bloc fonction. Si aucune valeur initiale n'est définie, la valeur par défaut (0) sera utilisée. NOTE : Les entrées du type VARINOUT (voir page 512) doivent toujours se voir affecter une valeur. Vous obtiendrez dans le tableau les opérateurs d'entrée possibles pour les différents blocs fonctions. Aucun autre opérateur d'entrée n'est disponible. Opérateur d'entrée Type FB S1, R SR S, R1 RS CLK R_TRIG CLK F_TRIG CU, R, PV CTU_INT, CTU_DINT, CTU_UINT, CTU_UDINT CD, LD, PV CTD_INT, CTD_DINT, CTD_UINT, CTD_UDINT CU, CD, R, LD, PV CTUD_INT, CTUD_DINT, CTUD_UINT, CTUD_UDINT IN, PT TP IN, PT TON IN, PT TOF Le paramétrage du bloc fonction se termine par le lancement de l'opérateur d'entrée. Par la suite, aucune autre valeur ne peut être transmise au FB. Seules ses valeurs de sortie peuvent encore être lues. Seules des instructions de chargement et d'enregistrement pour le FB actuellement à paramétrer doivent se trouver entre la première instruction de chargement du paramètre actuel et l'opérateur d'entrée du bloc fonction. Aucune autre instruction n'est admise à cet emplacement. 33002205 12/2010 391 Liste d’instructions IL Exemple Utilisation des opérateurs d'entrée 392 33002205 12/2010 Liste d’instructions IL Appel fonction Utilisation des fonctions Concept met des fonctions sous forme de bibliothèques à votre disposition. La logique des fonctions est créée dans le langage de programmation C et ne peut être modifiée dans l’éditeur IL. Reportez-vous aux bibliothèques des blocs pour les noms des fonctions disponibles. Les fonctions sont appelées à l’aide d’une liste d’instructions composée le charge du premier paramètre réel dans l’accumulateur et du nom de la fonction. Celle-ci est suivie, le cas échéant, d’une liste des autres paramètres réels. L’ordre d’énumération des paramètres formels dans l’appel d’une fonction est important. La liste des paramètres réels peut être éditée directement après une virgule. Le résultat de la fonction passe après exécution de cette dernière au contenu accumulateur et peut être mémorisé dans un opérande à l’aide de ST (voir page 355) ou continuer d’être traité directement. NOTE : Vous pouvez déclarer les appels fonction manuellement, ou créer la structure du bloc et affecter les paramètres avec la commande Objets →Insérer FFB. La figure montre l’appel d’une fonction dans IL. La figure montre l’appel de la fonction dans FDB. Fonctions non utilisables Les fonctions disposant d’une ou de plusieurs sorties de type données ANY, mais sans entrées de type données ANY (sorties/entrées génériques), ne peuvent être utilisés dans IL. 33002205 12/2010 393 Liste d’instructions IL Appel d’une fonction à une entrée Si la fonction à exécuter n’a qu’une seule entrée, le nom de la fonction n’est pas suivi d’une liste de paramètres réels : Appel d’une fonction à plusieurs entrées Si la fonction à exécuter a plusieurs entrées, il y a deux possibilités d’affectation des paramètres réels : z Le nom de la fonction est suivi d’une liste de paramètres réels z Le nom de la fonction est suivi d’une liste de valeurs (paramètres réels) affectées aux paramètres formels. Appels de fonction avec traitement de la valeur accumulateur Si la valeur à traiter se trouve déjà dans l’accumulateur, l’instruction de charge n’est plus nécessaire. LIMIT_REAL B,C ST result Appels de fonction avec utilisation directe du résultat Si le résultat doit être directement utilisé, l’instruction de sauvegarde n’est plus nécessaire : LD A LIMIT_REAL B,C MUL E 394 33002205 12/2010 Liste d’instructions IL 10.5 Vérification de la syntaxe et génération de code Aperçu Ce chapitre décrit la vérification de la syntaxe et la génération de code pour la liste d’instructions IL. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Vérification de la syntaxe 396 Génération de code 398 395 Liste d’instructions IL Vérification de la syntaxe Introduction Pendant la création du DFB/programme, vous pouvez vérifier la syntaxe en utilisant Projet → Analyser section. Options pour la vérification de la syntaxe Avec la commande Options →Environnement →Extensions CEI... → Extensions CEI vous pouvez définir les options de vérification de la syntaxe. NOTE : La configuration définie dans cette boîte de dialogue est reprise dans la description du projet (PRJ.DSK) et dans la description de l'installation Concept (CONCEPT.DSK), c.-à-d. qu'elle s'applique à l'ensemble de l'installation Concept. Si un projet créé avec une autre configuration est ouvert (par ex. Commentaires imbriqués autorisés admis dans le projet mais non admis dans l'installation actuelle Concept), il y a risque de génération d'erreurs lors de l'ouverture du projet. Majuscules/minuscules permises dans les mots clés Si vous activez la case à cocher Majuscules/minuscules permises dans les mots clés, les majuscules et minuscules peuvent être utilisées pour tous les mots clés. Commentaires imbriqués autorisés Si vous activez la case à cocher Commentaires imbriqués autorisés, vous pouvez définir des commentaires imbriqués. La profondeur d'imbrication n'est pas limitée. Commentaires admis partout dans le texte (IL) Si vous activez la case à cocher Commentaires admis partout dans le texte (IL), vous pouvez choisir librement l'emplacement des commentaires dans la section IL. Noms de variables étendues autorisés (IL) Si vous activez la case à cocher Noms de variables étendues autorisés (IL), l'utilisation de noms de variables étendues, comme par ex. "S1" ou "IN", est possible dans IL. (Dans FBD, LD et ST ces variables peuvent toujours être utilisées.) Chiffres en tête de qualificatif autorisés Si vous activez la case à cocher Chiffres en tête de qualificatif autorisés, il est possible d'utiliser des chiffres comme premier caractère des qualificatifs (par ex. pour les noms de variables, les noms d'étape, les noms EFB). Les qualificatifs comprenant uniquement des chiffres ne sont cependant pas autorisés, ils doivent au moins comprendre une lettre. 396 33002205 12/2010 Liste d’instructions IL Les paramètres non utilisés provoquent des avertissements La norme CEI 1131-3 permet d'appeler les fonctions et blocs fonction sans l'affectation de tous leurs paramètres d'entrée. La valeur 0 est affectée de manière implicite à ces paramètres non utilisés, ou bien ils conservent la valeur provenant du dernier appel (uniquement pour les blocs fonction). Lorsque vous activez la case à cocher Les paramètres non utilisés provoquent avertissementsdans la commande Options... →Environnement → Analyse... → Analyse , une liste des paramètres non utilisés est affichée dans la fenêtre des messages lors de la génération de code. 33002205 12/2010 397 Liste d’instructions IL Génération de code Introduction Avec la commande Projet →Options de génération de codes ,vous pouvez définir les options pour la génération de codes. Code le plus rapide (contrôle limité) Si vous activez la case à cocher Code le plus rapide (contrôle limitée), un code à temps optimisé sera généré. L’optimisation du temps d’exécution est obtenue de la façon suivante : l’arithmétique sur les entiers (par ex. "+" ou "-") est réalisée via des commande s simples de processeur, au lieu d’être réalisée par des appels de EFB. Les commande s de processeur sont bien plus rapides que les appels de EFB, mais ils ne génèrent pas de messages d’erreur, comme Dépassement en arithmétique ou Débordement de tableau (d’Array). Vous ne devez utiliser cette option que si vous vous êtes assuré que le programme ne contient aucune erreur d’arithmétique. Exemple : Code le plus rapide LD in1 ADD 1 ST out1 Si Code le plus rapide (contrôle limitée) a été sélectionné, l’addition "in1 + 1" est exécutée par la commande de processeur "add". Le code est plus rapide que lorsque l’EFB ADD_INT est appelé. Aucune erreur d’exécution n’est cependant générée si "in1" est 32767. Dans ce cas, on aurait un débordement de "out1", à savoir de 32767 à -32768. 398 33002205 12/2010 Liste d’instructions IL Activer contrôle de boucle Cette case à cocher permet d’activer un chien de garde logiciel pour les boucles sans fin. Si vous activez cette case à cocher, dans le cas de boucles à l’intérieur des section IL et ST, un contrôle est effectué pour détecter si ces boucles sont quittées après un temps précis. Le délai autorisé dépend du délai de chien de garde que vous avez défini. Le délai autorisé pour toutes les boucles ensemble est égal à 80 % du délais de chien de garde matériel. Cela permet d’empêcher que des boucles sans fin déclenchent le chien de garde matériel. Si une boucle de longue durée ou une boucle sans fin est détectée, le traitement de la section concerné est quitté, une entrée est générée dans l’affichage des événements, et le traitement est effectué dans la section suivante. Dans le cycle suivant, la section est à nouveau traitée, jusqu’ à ce que la boucle de longue durée ou la boucle sans fin soit détectée, ou que la section soit quittée de façon normale. NOTE : Si le chien de garde matériel doit arrêter l’API lors de la détection d’une boucle de longue durée ou d’une boucle sans fin, vous n’ êtes pas autorisé à activer cette option . Cette fonction ne désactive pas le chien de garde lui-même. 33002205 12/2010 399 Liste d’instructions IL 10.6 Fonctions en ligne de la liste d’instructions IL Aperçu Ce chapitre décrit les fonctions en ligne de la liste d’instructions IL. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 400 Page Animation 401 Champs de contrôle 404 33002205 12/2010 Liste d’instructions IL Animation Introduction Dans l’éditeur IL et ST, vous disposez de deux modes d’animation : z Animation de variables binaires z Animation de variables sélectionnées Animation de variables binaires Pour activer l’animation des valerus binaires, utilisez la commande En ligne → Animer Valeurs binaires. Dans ce mode, l’état de signal actuel des variable binaires est affiché dans la fenêtre de l’éditeur. Il n’est pas possible d’animer les adresses directes et les entrées/sorties FB directes. Animation de variables sélectionnées Pour activer la boîte de dialogue permettant d’afficher les états actuels de signaux des variables sélectionnées, utilisez la commande En ligne →Sélection dans champ d'inspection. Au préalable, il faut avoir sélectionné au moins une variable pouvant être animée. Les variables et les variables multi-éléments pouvant être sélectionnées sont caractérisées par la couleur (verte ou jaune) de leur police de caractères. Propriétés de la boîte de dialogue La boîte de dialogue permet d’afficher le nom des variables sélectionnées ou de la variable multi-éléments, le type de données correspondant et la valeur actuelle afférente. Cette boîte de dialogue est modeless, ce qui signifie qu’il reste ouvert jusqu’à ce que vous le fermiez ou que vous quittiez l’animation. Si vous avez plusieurs sections de langage texte ouvertes et que vous appelez la boîte de dialogue, une boîte de dialogue est alors ouverte pour chaque section. Le nom de la section est affiché dans la barre de titre de la boîte de dialogue . Signification des couleurs 12 jeux de couleurs différents sont disponibles à des fins d'animation. Vous trouverez une vue d'ensemble des jeux de couleurs et de leur signification dans l'aide en ligne (astuce: recherchez dans l'aide en ligne en entrant "Couleurs" dans l'index). 33002205 12/2010 401 Liste d’instructions IL Insertion de plusieurs variables Pour insérer plusieurs variables, effectuez les opérations suivantes : Etape Action 1 Sélectionnez les variables souhaitées ou les variables multi-éléments. 2 Les transférer dans la boîte de dialogue à l’aide de En ligne →Animer la sélection. Insertion de toutes les variables Pour insérer toutes les variables, effectuez les opérations suivantes : Etape Action 1 Sélectionnez la section complète à l’aide de CTRL+A. 2 A l’aide de En ligne →Animer la sélection transférez, dans la boîte de dialogue, toutes les variables et variables multi-éléments de la section impliquée dans le dialogue. Modification de la largeur de colonnes Pour modifier la largeur de colonnes, effectuez les opérations suivantes : Etape 402 Action 1 Positionnez le pointeur de la souris sur le bord droit du bouton de commande. Réaction : Le pointeur de la souris se transforme en . 2 Faites glisser la souris en maintenant le bouton gauche enfoncé pour modifier la largeur de colonne. 33002205 12/2010 Liste d’instructions IL Variables multi-éléments Dans le cas de variables multi-éléments, vous pouvez activer ou désactiver l’affichage des éléments de celles-ci. Action Fonction Condition Cliquer sur l’icône+ ou la touche + Le niveau de composant suivant est affiché pour la ligne actuelle. Lorsque l’entrée est effectuée via le clavier, le curseur doit obligatoirement se trouver sur une icône +. Touche x (pavé numérique) Tous les niveaux de composants sur la ligne actuelle s’affichent. Le curseur doit obligatoirement se trouver sur une icône +. Cliquer sur l’icône ou la touche - Tous les niveaux de composants affichés sur la ligne actuelle seront effacés. Lorsque l’entrée est effectuée via le clavier, le curseur doit obligatoirement se trouver sur une icône -. CTRL++ Restauration de l’affichage Le curseur doit obligatoirement se des composants de la ligne trouver sur une icône +. actuelle (rétablissement de l’affichage avant la dernière activation de - CTRL+x (pavé numérique) Tous les niveaux de composants de la variable multi-éléments actuel s’affichent. Le curseur doit être positionné sur un élément d’une variable multi-élément. CTRL+- Tous les niveaux de composants de la variable multi-éléments actuel sont effacés. Le curseur doit être positionné sur un élément d’une variable multi-élément. CTRL+Fin Va à la fin du tableau CTRL+Pos1 Va au début du tableau Enregistrement et rétablissement des animations La commande Sauvegarder animation vous permet de mémoriser les réglages (par ex. Position des champs de contrôle) de votre animation actuelle. Après avoir quitté cette animation, utilisez la commande Restaurer animation pour rétablir cette animation dans la même configuration. NOTE : Enregistrer le projet avant de quitter Concept, non seulement pour éviter toute incohérence entre le programme de l’ordinateur et l’API, mais aussi pour pouvoir disposer de l’animation dans les sessions de Concept suivantes. 33002205 12/2010 403 Liste d’instructions IL Champs de contrôle Introduction La commande En ligne →Sélection dans champ d'inspection vous permet d’insérer un champ de contrôle dans la section. Affichage, dans ce champ de contrôle, de la valeur actuelle des variables afférentes. Restrictions La création de champs de surveillance pour des adresses directes et des entrées/sorties FB directes (INST.Q) n’est pas possible. Affichage de variables multi-éléments Dans le cas de variables multi-éléments, la valeur du premier élément est affichée. Pour visualiser plusieurs éléments, activez le dialogue Paramétrages des champs de contrôle, en double cliquant sur le champ de contrôle. Valeurs minimales et maximales Le dialogue Paramétrages des champs de contrôle, que vous pouvez activer en double cliquant sur le champ de contrôle, vous permet de définir une valeur minimale et une valeur maximale pour la variable objet du contrôle. Si la variable ne respecte pas l’une de ces valeurs limites, l’affichage correspondant change de couleur dans le champ de contrôle. Vous trouverez une vue d'ensemble des jeux de couleurs et de leur signification dans l'aide en ligne (astuce: recherchez dans l'aide en ligne en entrant "Couleurs" dans l'index). Création d’un champ de surveillance Pour créer un champ de surveillance, effectuez les opérations suivantes : Etape 404 Action 1 Sélectionnez une variable (double clic sur la variable, par ex.). 2 Exécutez la commande En ligne →Sélection dans champ d'inspection. Réaction : L’animation de la section est démarrée (Arrière plan gris de la section) et l’icône du curseur se transforme en icône de case à cocher. 3 Placez le curseur à un endroit quelconque de la section et cliquez avec la touche gauche de la souris. Réaction : Au niveau de la position sélectionnée, un champ de surveillance est créé. Il se compose du nom et de la valeur de la variable sélectionnée. 33002205 12/2010 Liste d’instructions IL 10.7 Elaboration d’un programme à l’aide de la liste d’instructions IL Elaboration d’un programme en liste d’instructions IL Introduction Vous trouverez ci-après un exemple d’élaboration de programme en liste d’instructions IL. L’élaboration d’un programme en liste d’instructions IL comprend deux étapes majeures : Etape Action 1 Génération d’une section (voir page 405) 2 Elaboration de la logique (voir page 406) Génération d’une section Pour générer une section, effectuez les opérations suivantes : Etape 1 33002205 12/2010 Action Générez avec la commande Fichier →Nouvelle section... une nouvelle section et attribuez-lui un nom de section. Note : Le nom de section (au max. 32 caractères) doit être unique dans tout le projet, aucune différence n’ étant faite entre l’écriture en lettres majuscules et en minuscules. Si le nom de section entré existe déjà, vous recevez un avertissement et devez sélectionner un autre nom. Le nom de section doit correspondre aux conventions de nom CEI, sinon un message d’erreur s’ affiche. Note : Selon CEI 1131-3, uniquement des lettres sont permises comme premier caractère de noms. Si vous souhaitez cependant utiliser également des chiffres comme premiers caractères, vous pouvez le faire avec la commande Options →Environnement →Extensions CEI →Chiffres en tête de qualificatif autorisés Libérer. 405 Liste d’instructions IL Elaboration de la logique Pour élaborer une logique, effectuez les opérations suivantes : Etape 406 Action 1 A l’aide de VAR...END_VAR, indiquez les blocs fonctions et DFBs que vous voulez utiliser. Exemple : VAR RAMP_UP, RAMP_DOWN, RAMP_X : TON; COUNT : CTU_DINT ; END_VAR 2 Indiquez les variables et leurs valeurs initiales dans l’éditeur de variables. 3 Créez la logique de votre programme. Exemple : LD A SIN_REAL MUL_REAL B,C ST D LD Y AND X JMPC end1 LD M SIN_REAL MUL_REAL N,O ST P JMP end2 end1 : LD D ST %QD4 end2 : LD P ST %QD5 4 Porcéder ensuite à la sauvegarde de la section à l’aide de la commande Fichier →Enregistrer du Projet. 33002205 12/2010 Texte structuré ST 33002205 12/2010 Texte structuré ST 11 Aperçu Ce chapitre décrit le langage de programmation Texte structuré ST conforme à la norme CEI-1131. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 11.1 Remarques générales sur le littéral structuré ST 408 11.2 Expressions 410 11.3 Opérateurs du langage de programmation Littéral structuré ST 416 11.4 Instructions 436 11.5 Appel de fonctions, composants fonctionnels (EFBs) et composants fonctionnels dérivés (DFBs) 456 11.6 Vérification de la syntaxe et génération de code 463 11.7 Fonctions en ligne du langage de programmation ST 468 11.8 Etablissement d’un programme avec le littéral structuré ST 469 407 Texte structuré ST 11.1 Remarques générales sur le littéral structuré ST Généralités sur le text structuré ST Introduction Avec le langage de programmation Text Structuré (ST) vous pouvez par ex. appeler les blocs fonction, exécuter les fonctions, exécuter les affectations, exécuter les énoncés attendus et répéter les instructions. Contrôle orthographique Lors de la saisie de clés, de séparateurs et de commentaires, un contrôle orthographique est immédiatement exécuté. Si une clé, un séparateur ou un commentaire est reconnu, il est signalé en couleur. Si des clés (instructions ou opérateurs) non autorisées sont saisies, elles sont également identifiées en couleur. Conventions CEI La norme CEI 1131-3 ne permet pas, dans ce langage texte, la saisie d'adresses directes dans la forme habituelle Concept. Pour la saisie d'adresses directes, voir Opérandes, page 411. Selon la norme CEI 1131-3, les clés doivent être saisies en majuscules. Si vous voulez également utiliser les lettres minuscules, vous pouvez activer cette fonction dans la boîte de dialogue Options →Environnement →Extensions CEI... → Extension CEI avec l'option Majuscules/minuscules permises dans les mots clés. Les espaces et tabulations n'ont aucune influence sur la syntaxe et peuvent être utilisés librement. Aide contextuelle Avec le bouton droit de la souris, vous pouvez sélectionner un objet et appeler simultanément un menu contextuel. Par exemple pour les FFB vous pouvez appeler avec le bouton droit de la souris la description du bloc sélectionné. Vérification de la syntaxe Pendant la création du DFB/programme, vous pouvez vérifier la syntaxe en utilisant Projet → Analyser section, voir également Vérification de la syntaxe, page 464. Génération de code Avec la commande Projet →Options de génération de code vous pouvez définir les options de génération de code, voir également Génération de code, page 466. 408 33002205 12/2010 Texte structuré ST Edition avec le clavier Dans Concept, l'édition se fait normalement avec la souris, mais il est aussi possible d'utiliser le clavier (voir également Touches courtes dans l’éditeur IL, ST et de type de données, page 860). Conformité CEI Pour une description de la conformité CEI du langage de programmation ST voir Conformité CEI, page 877. 33002205 12/2010 409 Texte structuré ST 11.2 Expressions Aperçu Ce chapitre vous donne un aperçu sur les expressions du langage de programmation Littéral structuré ST. Les expressions se composent d’opérandes et d’opérateurs. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 410 Page Opérandes 411 Opérateurs 413 33002205 12/2010 Texte structuré ST Opérandes Introduction Un opérande peut être : z un littéral, z une variable, z une variable multi-éléments, z un élément d’une variable multi-éléments, z un appel de fonction, z une sortie FB/DFB ou z une adresse directe. Accès aux variables de champ Lors d’un accès aux variables de champ (ARRAY), seuls les littéraux et les variable du type ANY_INT sont autorisés dans l’indication d’index. Exemple : Emploi de variables de zone var1[i] := 8 ; var2.otto[4] := var3 ; var4[1+i+j*5] := 4 ; Conversion de type Les types de données des opérandes à traiter dans une instruction doivent être identiques. Si des opérandes de différents types de données différents doivent être traitées, une conversion de type doit obligatoirement être effectuée auparavant. Une exception concerne le type de données TIME en relation avec les opérateurs arithmétiques "*" (Multiplication) et "/" (Division). Pour ces deux opérateurs, un opérande dont le type de données est TIME peut être traité en commun avec un opérande dont le type de données est ANY_NUM. Dans ce cas , le résultat de cette instruction possède le type de données TIME. Exemple : Variable entière et variable Real Dans l’exemple, la variable Integer i1 est convertie en une variable Real, avant d’être ajoutée à la variable Real r4. r3 := r4 + SIN_REAL(INT_TO_REAL(i1)) ; Exemple : Variable entière et variable Time Dans l’exemple, la variable Time t2 est multipliée par la variable Integer i4 et le résultat est déposé dans la variable Time t1. t1 := t2 * i4 ; 33002205 12/2010 411 Texte structuré ST Types de données par défaut d’adresses directes Le tableau suivant indique les types de données par défaut d’adresses directes : Entrée Sortie Types de données par défaut Types de données possibles %IX,%I %QX,%Q BOOL BOOL %IB %QB BYTE BYTE %IW %QW INT INT, UINT, WORD %ID %QD REAL REAL, DINT, UDINT, TIME Utilisation d’autres types de données Si d’autres types de données doivent être affectés en tant que types de données par défaut à un adresse directe, cela doit faire l’objet d’une déclaration explicite (VAR...END_VAR (voir page 440)). Pour la déclaration de variables, VAR...END_VAR ne peut pas être utilisé dans Concept. La déclaration de variables se fait confortablement via éditeur de variables (voir page 563). 412 33002205 12/2010 Texte structuré ST Opérateurs Introduction Un opérateur est une icône pour : z une opération arithmétique à exécuter ou z une opération logique à exécuter ou z l'appel d'une fonction. Les opérateurs sont génériques, c.-à-d. qu'ils s'adaptent automatiquement au type de données de l'opérande. NOTE : Les opérateurs peuvent être saisis à la main ou à l'aide du menu Objets → Opérateurs Créer. Evaluation d'une expression L'évaluation d'une expression consiste à appliquer les opérateurs sur les opérandes, dans l'ordre défini par la place des opérateurs (voir tableau). L'opérateur avec la priorité la plus élevée dans l'expression est exécuté en premier, suivi de l'opérateur ayant le niveau de priorité suivant, etc. jusqu'à ce que l'évaluation soit terminée. Les opérateurs ayant le même rang sont exécutés de gauche à droite, en fonction de l'emplacement de l'expression où ils sont écrits. Cette séquence peut être modifiée par mise entre parenthèses. Tableau des opérateurs Opérateurs du langage de programmation ST : 33002205 12/2010 Opérateur Signification Opérandes possibles Place Voir également () Mise entre parenthèses Expression 1 (supérieur e) Mise entre parenthèses "()", page 417 Expression, Libellé, FUNCNAM Edition des E (Liste des fonctions (Appel) Variable, Adresse directe du type de données ANY paramètres actuels) 2 Lancement de fonction, page 461 - Négation Expression, Libellé, Variable, Adresse directe du type de données ANY_NUM 3 Négation (-), page 420 NOT Complément Expression, Libellé, Variable, Adresse directe du type de données ANY_BIT 3 Complémentation (NOT), page 421 413 Texte structuré ST 414 Opérateur Signification Opérandes possibles Place Voir également ** Exponentiation Expression, Libellé, Variable, Adresse directe du type de données REAL (base), ANY_NUL (exposant) 4 Exponentiation (**), page 419 * Multiplication Expression, Libellé, Variable, Adresse directe du type de données ANY_NUM ou TIME 5 Multiplication (*), page 422 / Division Expression, Libellé, Variable, Adresse directe du type de données ANY_NUM 5 Division (/), page 423 MOD Modulo Expression, Libellé, Variable, Adresse directe du type de données ANY_INT 5 Modulo (MOD), page 424 + Addition Expression, Libellé, Variable, Adresse directe du type de données ANY_NUM ou TIME 6 Addition (+), page 425 - Soustraction Expression, Libellé, Variable, Adresse directe du type de données ANY_NUM ou TIME 6 Soustraction (-), page 426 < InférieurComparaison Expression, Libellé, Variable, Adresse directe du type de données ANY_ELEM 7 Comparaison de "inférieur à" (<), page 431 > SupérieurComparaison Expression, Libellé, Variable, Adresse directe du type de données ANY_ELEM 7 Comparaison de "supérieur à" (>), page 427 <= Inférieur ou égal- Expression, Libellé, Comparaison Variable, Adresse directe du type de données ANY_ELEM 7 Comparaison de "inférieur ou égal à" (<=), page 432 >= Supérieur ou égalComparaison Expression, Libellé, Variable, Adresse directe du type de données ANY_ELEM 7 Comparaison de "supérieur ou égal à" (>=), page 428 33002205 12/2010 Texte structuré ST 33002205 12/2010 Opérateur Signification Opérandes possibles Place Voir également = Egalité Expression, Libellé, Variable, Adresse directe du type de données ANY_ELEM 8 Comparaison sur "égaux" (=), page 429 <> Inégalité Expression, Libellé, Variable, Adresse directe du type de données ANY_ELEM 8 Comparaison sur "Différents" (<>), page 430 &, AND ET logique Expression, Libellé, Variable, Adresse directe du type de données ANY_BIT 9 ET logique (AND ou &), page 433 XOR OU exclusif logique Expression, Libellé, Variable, Adresse directe du type de données ANY_BIT 10 OU exclusif logique (XOR), page 435 OR OU logique Expression, Libellé, Variable, Adresse directe du type de données ANY_BIT 11 (le plus faible) OU logique (OR), page 434 415 Texte structuré ST 11.3 Opérateurs du langage de programmation Littéral structuré ST Aperçu Ce chapitre décrit les opérateurs du langage de programmation Littéral structuré ST. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 416 Page Mise entre parenthèses "()" 417 FUNCNAME 418 Exponentiation (**) 419 Négation (-) 420 Complémentation (NOT) 421 Multiplication (*) 422 Division (/) 423 Modulo (MOD) 424 Addition (+) 425 Soustraction (-) 426 Comparaison de "supérieur à" (>) 427 Comparaison de "supérieur ou égal à" (>=) 428 Comparaison sur "égaux" (=) 429 Comparaison sur "Différents" (<>) 430 Comparaison de "inférieur à" (<) 431 Comparaison de "inférieur ou égal à" (<=) 432 ET logique (AND ou &) 433 OU logique (OR) 434 OU exclusif logique (XOR) 435 33002205 12/2010 Texte structuré ST Mise entre parenthèses "()" Description La mise entre parenthèses est utilisée pour modifier la séquence d’exécution des opérateurs. Exemple de mise entre parenthèses "()" Si les opérandes A, B, C et D ont les valeurs "1", "2", "3" et"-4", alors A+B-C*D a 15 comme résultat et (A+B-C)*D a 0 comme résultat.. 33002205 12/2010 417 Texte structuré ST FUNCNAME Description Le traitement de fonction est utilisé pour exécuter des fonctions (voir Lancement de fonction, page 461). 418 33002205 12/2010 Texte structuré ST Exponentiation (**) Description Dans le cas de l’élévation à une puissance plus haute "**", la valeur du premier opérande (base) est élevée avec la valeur du second opérande (exposant). NOTE : L’élévation à une puissance plus haute ne travaille dans le langage de programmation ST qu’avec une résolution de 23 bits. Dans les langages graphiques, l’élévation à une puissance plus haute travaille avec une résolution de 24 bits. Exemple Exponentiation "**" Dans l’exemple, OUT est "625.0" si IN1 est "5.0" et IN2 "4.0". OUT := IN1 ** IN2 ; 33002205 12/2010 419 Texte structuré ST Négation (-) Description Dans le cas de la fonction NON "-", un changement de caractère a lieu pour la valeur de l’opérande. Exemple Négation "-" Dans l’exemple,. OUT est "-4" si IN1 est "4". OUT := - IN1 ; 420 33002205 12/2010 Texte structuré ST Complémentation (NOT) Description Dans le cas de NOT, une inversion de l’opérande a lieu par bit. Exemple NOT Dans l’exemple, OUT est "0011001100" si IN1 est "1100110011". OUT := NOT IN1 ; 33002205 12/2010 421 Texte structuré ST Multiplication (*) Description Dans le cas de la multiplication "*", la valeur du premier opérande est multipliée par la valeur du deuxième opérande. Exemple Multiplication "*" OUT := IN1 * IN2 ; Multiplication de valeurs TIME Normalement, les types de données des opérandes d’une instruction à traiter doivent être identiques. La multiplication en rapport avec le type de données TIME constitue cependant une exception. Dans ce cas, un opérande de type de données TIME peut être traité conjointement avec un opérande de type de données ANY_NUM. Dans ce cas, le résultat de cette instruction possède le type de données TIME. Exemple : Multiplication de valeurs TIME Dans l’exemple, la variable Time t2 est multipliée par la variable Integer i4 et le résultat est déposé dans la variable Time t1. t1 := t2 * i4 ; 422 33002205 12/2010 Texte structuré ST Division (/) Description Dans le cas de la division "/", la valeur du premier opérande est divisée par la valeur du deuxième opérande. Exemple Division "/" OUT := IN1 / IN2 ; Division de valeurs TIME Normalement, les types de données des opérandes d’une instruction à traiter doivent être identiques. La division en rapport avec le type de données TIMEconstitue cependant une exception. Dans ce cas, un opérande de type de données TIME peut être traité conjointement avec un opérande de type de données ANY_NUM. Dans ce cas, le résultat de cette instruction possède le type de données TIME. Exemple Division de valeurs TIME Dans l’exemple, la variable Time t2 est divisée par la variable Integer i4 et le résultat est déposé dans la variable Time t1. t1 := t2 / i4 ; 33002205 12/2010 423 Texte structuré ST Modulo (MOD) Description Dans le cas de MOD, la valeur du premier opérande est divisée par la valeur du deuxième opérande et le reste de division (Modulo) est sorti comme résultat. Exemple MOD OUT := IN1 MOD IN2 ; 424 33002205 12/2010 Texte structuré ST Addition (+) Description Dans le cas de l’addition "+", la valeur du premier opérande est ajoutée à la valeur du deuxième opérande. Exemple Addition "+" OUT := IN1 + IN2 ; 33002205 12/2010 425 Texte structuré ST Soustraction (-) Description Dans le cas de la soustraction "-", la valeur du deuxième opérande est soustraite du premier opérande. Exemple Soustraction "-" OUT := IN1 - IN2 ; 426 33002205 12/2010 Texte structuré ST Comparaison de "supérieur à" (>) Description Avec ">", la valeur de la première opérande est comparée à la valeur de la deuxième opérande. Si le premier opérande est plus grand que le deuxième, le résultat est un "1" booléen. Si le premier opérande est plus petit/égal au deuxième opérande, le résultat est un "0" booléen. Exemple supérieur à ">" Dans l’exemple, "OUT" est "1" si "IN1" est plus grand que "10"et "0" si "IN1" est plus petit que "0". OUT := IN1 > 10 ; 33002205 12/2010 427 Texte structuré ST Comparaison de "supérieur ou égal à" (>=) Description Avec ">=", la valeur du premier opérande est comparée à la valeur du deuxième opérande. Si le premier opérande est plus grand/égal au deuxième opérande, le résultat est un "1" booléen. Si le contenu de l’opérande est plus petit que le deuxième, le résultat est un "0" booléen. Exemple supérieur ou égal à ">=" Dans l’exemple, "OUT" est "1" si "IN1" est plus grand/égal à "10" et "0" dans les autres cas. OUT := IN1 >= 10 ; 428 33002205 12/2010 Texte structuré ST Comparaison sur "égaux" (=) Description Avec "=", la valeur de la première opérande est comparée à la valeur de la deuxième opérande. Si la première opérande est égale à la deuxième, le résultat est un "1" booléen. Si la première opérande n’est pas égale à la deuxième, le résultat est un "0" booléen. Exemple Egaux "=" Dans l’exemple, "OUT" passe à "1" si "IN1" est égal à "10" et autrement "0". OUT := IN1 = 10 ; 33002205 12/2010 429 Texte structuré ST Comparaison sur "Différents" (<>) Description Avec "<>", la valeur de la première opérande est comparée à la valeur de la deuxième opérande. Si la première opérande est inégale à la deuxième, le résultat est un "1" booléen. Si la première opérande n’est pas égale à la deuxième, le résultat est un "0" booléen. Exemple Différents"<>" Dans l’exemple, "OUT" passe à "1" si "IN1" est inégal à "10" et autrement "0". OUT := IN1 <> 10 ; 430 33002205 12/2010 Texte structuré ST Comparaison de "inférieur à" (<) Description Avec "<", la valeur de la première opérande est comparée à la valeur de la deuxième opérande. Si le premier opérande est plus petit que le deuxième opérande, le résultat est un "1" booléen. Si le premier opérande est plus grand/égal au deuxième opérande, le résultat est un "0" booléen. Exemple inférieur à "<" Dans l’exemple, "OUT" est "1" si "IN1" est plus petit que "10" et "0" dans les autres cas. OUT := IN1 < 10 ; 33002205 12/2010 431 Texte structuré ST Comparaison de "inférieur ou égal à" (<=) Description Avec "<=", la valeur du premier opérande est comparée à la valeur du deuxième opérande. Si le premier opérande est plus petit/égal au deuxième opérande, le résultat est un "1" booléen. Si le premier opérande est plus grand que le deuxième, le résultat est un "0" booléen. Exemple inférieur ou égal à "<=" Dans l’exemple, "OUT" est "1" si "IN1" est plus petit/égal à "10" et "0" dans les autres cas. OUT := IN1 <= 10 ; 432 33002205 12/2010 Texte structuré ST ET logique (AND ou &) Description Si "AND" ou "&", il se produit une opération ET logique entre les opérandes. Pour le type de données BYTE et WORD le lien est fait par bit. Exemple ET logique "AND ou &" Dans les exemples "OUT" passe à "1" si "IN1", "IN2" et "IN3" sont "1". OUT := IN1 AND IN2 AND IN3 ; ou OUT := IN1 AND IN2 AND IN3 ; 33002205 12/2010 433 Texte structuré ST OU logique (OR) Description Avec OR, il se produit une opération OU logique entre les opérandes. Pour le type de données BYTE et WORD le lien est fait par bit. Exemple OU logique "OR" Dans l’exemple, "OUT" passe à "1" si "IN1", "IN2" ou "IN3" est "1". OUT := IN1 OR IN2 OR IN3 ; 434 33002205 12/2010 Texte structuré ST OU exclusif logique (XOR) Description Avec XOR, il se produit une opération OU exclusive logique entre les opérandes. Pour le type de données BYTE et WORD le lien est fait par bit. Exemple OU exclusif logique "XOR" Dans l’exemple, "OUT" passe à "1" si "IN1" et "IN2" ne sont pas égaux. Si "IN1" et "IN2" ont le même état (tous deux "0" ou "1"), "OUT" est "0". OUT := IN1 XOR IN2 ; Opération de plus de 2 opérandes Si plus de deux opérandes sont associées, le résultat de l’opération est à l’état "1" pour un nombre impair d‘états 1 et à l’état "0" pour un nombre pair d’états 1. Exemple : Opération de plus de 2 opérandes Dans l’exemple, "OUT" passe à "1" si 1, 3 ou 5 opérandes sont "1". Dans l’exemple, "OUT" passe à "0" si 0, 2 ou 4 opérandes sont "1". OUT := IN1 XOR IN2 XOR IN3 XOR IN4 XOR IN5; 33002205 12/2010 435 Texte structuré ST 11.4 Instructions Aperçu Ce chapitre décrit les instructions du langage de programmation Littéral structuré ST. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet Instructions 436 Page 437 Affectation 438 Déclaration (VAR...END_VAR) 440 IF...THEN...END_IF 442 ELSE 443 ELSIF...THEN 444 CASE...OF...END_CASE 445 FOR...TO...BY...DO...END_FOR 446 WHILE...DO...END_WHILE 449 REPEAT...UNTIL...END_REPEAT 451 EXIT 453 Instruction d’espacement 454 Commentaire 455 33002205 12/2010 Texte structuré ST Instructions Description Les instructions sont les "commandes" du langage de programmation ST. Les instructions doivent être terminées par des points-virgules. Une ligne peut contenir plusieurs instructions (séparées par des points-virgules). NOTE : Les instructions peuvent soit être introduites à la main soit vous pouvez les produire à l’aide du menu Objets . 33002205 12/2010 437 Texte structuré ST Affectation Introduction L’affectation remplace la valeur courante d’une variable à élément unique ou multiple par le résultat de l’évaluation d’une expression. Une affectation est composée d’une indication de variables à gauche, suivie du facteur d’attribution " :=", suivi de l’expression à évaluer. Les deux variables doivent avoir le même type de données . Affecter la valeur d’une variable à une autre variable Les affectations sont utilisées pour affecter la valeur d’une variable à une autre variable. L’instruction A := B ; est par exemple utilisée pour remplacer la valeur de la variable "A" par la valeur courante de la variable "B". Si "A" et "B" ont un type de données élémentaire, la valeur individuelle de "B" est transmise vers "A". Si "A" et "B" ont un type de données dérivé, les valeurs de tous les éléments de "B" seront transmises vers "A". Affecter la valeur d’un libellé à une variable Les affectations sont utilisées pour affecter un libellé à une variable. L’instruction C := 25 ; est par exemple utilisée pour affecter la valeur "25" à la variable "C". Affecter la valeur d’un FFB à une variable Les affectations sont utilisées pour affecter à une variable une valeur renvoyée par une fonction ou un bloc fonction. L’instruction B := MOD_INT(C,A) ; est par exemple utilisée pour affecter le Modulo des variables "C" et "A" à la variable "B". L’instruction A := TON1.Q ; est par exemple utilisée pour affecter la valeur de sortie "Q" du bloc fonction TON1 à la variable "A". 438 33002205 12/2010 Texte structuré ST Affecter le résultat d’une opération à une variable Les affectations sont utilisées pour affecter à une variable une valeur qui est le résultat d’une opération. L’instruction X := (A+B-C)*D ; est par exemple utilisée pour affecter à la variable "X" le résultat de l’opération "(A+B-C)*D". 33002205 12/2010 439 Texte structuré ST Déclaration (VAR...END_VAR) Introduction L’instruction VAR sert à la déclaration des blocs fonction et DFB utilisés, ainsi qu’à déclarer des adresses directes si celles-ci ne doivent pas être utilisées avec le type de données par défaut. VAR ne peut pas être utilisé dans Concept pour la déclaration de variables. La déclaration de variables se fait confortablement via éditeur de variables. L’instruction END_VAR marque la fin de la déclaration. NOTE : La déclaration des FB/DFB et des adresses directes n’est valable que pour la section courante. Si vous voulez utiliser le même type FFB ou la même adresse dans une autre section, vous devez redéclarer le type FFB ou l’adresse dans la section concernée. Déclaration des blocs fonction et DFB Lors de la déclaration, on affectera à chaque FB-/DFB utilisé un nom d’instance précis. Le nom d’instance permet d’identifier précisément le bloc fonction dans un projet. Le nom d’instance doit être précis dans tout le projet sans égard aux majuscules et minuscules. Le nom de l'exemplaire doit obligatoirement satisfaire aux conventions de nom CEI. Si cela n’est pas le cas, un message d’erreur apparaît. L’indication du nom d’instance est suivie de celle du type de bloc fonction, par exemple CTD_DINT. Le type de données n’est pas indiqué pour les types de blocs fonction génériques. Celui-ci est déterminé par le type de données des paramètres réels. On choisira un type de données adapté pour le bloc fonction, si tous les paramètres réels sont constitués de libellés. Vous pouvez déclarer autant de noms d’instance que vous voulez pour un FB/DFB. NOTE : La boîte de dialogue Objets →Insérer FFB met à votre disposition un formulaire pour la création facile et rapide d’une déclaration FB/DFB. NOTE : Contrairement aux langages de programmation graphiques (FDB, LD), vous pouvez appeler les FB/DFB plusieurs fois dans ST. Exemple Déclaration des blocs fonction et DFB 440 33002205 12/2010 Texte structuré ST Déclaration d’adresses directes Dans cette déclaration, on affecte le type de données souhaité à chaque adresse directe utilisée dont le type de données diffère du type de données par défaut (voir aussi Types de données par défaut d’adresses directes, page 342). Exemple Déclaration d’adresses directes VAR AT %QW1 : WORD ; AT %IW15 : UINT ; AT %ID45 : DINT ; AT %QD4 : TIME ; END_VAR 33002205 12/2010 441 Texte structuré ST IF...THEN...END_IF Description L’instruction IF signifie qu’une instruction ou un groupe d’instructions peut être seulement exécuté si l’expression booléenne correspondante a la valeur 1 (vrai). Si la condition a pour valeur 0 (faux), l’instruction ou le groupe d’instructions n’est pas exécuté. L’instruction THEN marque la fin d’une condition et le début d’une instruction (des instructions). L’instruction END_IF marque la fin de l’instruction (des instructions). NOTE : Vous pouvez emboîter autant d’instructions IF...THEN...END_IF que vous voulez pour créer des instructions de sélection complexes. Exemple IF...THEN...END_IF Si FLAG a la valeur 1, les instructions sont exécutées, si FLAG a la valeur 0, elles ne sont pas exécutées. IF FLAG THEN C :=SIN_REAL(A) * COS_REAL(B) ; B :=C - A ; END_IF ; Exemple IF NOT...THEN...END_IF NOT permet d’invertir la condition (toutes les deux instructions sont exécutées si 0). IF NOT FLAG THEN C :=SIN_REAL(A) * COS_REAL(B) ; B :=C - A ; END_IF ; voir également ELSE (voir page 443) ELSEIF (voir page 444) 442 33002205 12/2010 Texte structuré ST ELSE Description L’instruction ELSE vient toujours après une instruction IF...THEN, ELSIF...THEN ou CASE Si l’instruction ELSE vient après IF ou ELSIF, l’instruction ou le groupe d’instructions sont exécutés seulement si les expressions booléennes correspondantes des instructions IF et ELSIF ont la valeur 0 (faux). Si la condition de l’instruction IF ou ELSIF est 1 (vrai), l’instruction ou le groupe d’instructions ne sont pas exécutés. Si l’instruction ELSE vient après CASE, l’instruction ou le groupe d’instructions ne sont exécutés que si aucune marque ne contient la valeur du sélecteur. Si une marque contient la valeur du sélecteur, l’instruction ou le groupe d’instructions ne sont pas exécutés. NOTE : Un nombre quelconque d’instructions IF...THEN...ELSE...END_IF peuvent être imbriquées pour générer des instructions complexes de sélection. Exemple ELSE IF A>B THEN C :=SIN_REAL(A) * COS_REAL(B) ; B :=C - A ; ELSE C :=A + B ; B :=C * A ; END_IF ; voir également IF (voir page 442) ELSIF (voir page 444) CASE (voir page 445) 33002205 12/2010 443 Texte structuré ST ELSIF...THEN Description L’instruction ELSIF vient toujours après une instruction IF...THEN. L’instruction ELSI détermine qu’une instruction ou un groupe d’instructions sont exécutés seulement si l’expression booléenne correspondante de l’instruction IF a la valeur 0 (faux) et que l’expression booléenne correspondante de l’instruction ELSIF a la valeur 1 (faux). Si la condition de l’instruction IF est 1 (vrai) ou que la condition de l’instruction ELSIF est 0 (faux), l’instruction ou le groupe d’instructions ne sont pas exécutés. L’instruction THEN caractérise la fin de la (des) conditions ELSIF et le début de (des) instruction(s). NOTE : Un nombre quelconque d’instructions IF...THEN...ELSIF...END_IF peut être imbriqué pour générer des instructions complexes de sélection. Exemple ELSIF...THEN IF A>B THEN C :=SIN_REAL(A) * B :=SUB_REAL(C,A) ELSIF A=B THEN C :=ADD_REAL(A,B) B :=MUL_REAL(C,A) END_IF ; COS_REAL(B) ; ; ; ; Exemple d’instructions imbriquées IF A>B THEN IF B=C THEN C :=SIN_REAL(A) * COS_REAL(B) ; ELSE B :=SUB_REAL(C,A) ; END_IF ; ELSIF A=B THEN C :=ADD_REAL(A,B) ; B :=MUL_REAL(C,A) ; ELSE C := DIV_REAL (A,B) ; END_IF ; voir également IF (voir page 442) ELSE (voir page 443) 444 33002205 12/2010 Texte structuré ST CASE...OF...END_CASE Description L’instruction CASE est composée d’une expression de type données INT (le "sélecteur") et d’une liste de groupes d’instructions. Chaque groupe porte une marque composée d’un ou de plusieurs entiers (ANY_INT) ou de plages de valeurs entières. L’on exécutera le premier groupe d’instructions dont la marque contient la valeur calculée du sélecteur. Sinon aucune des instructions n’est exécutée. L’instruction OF caractérise le début des marques. A l’intérieur d’une instruction CASE, on peut définir une instruction ELSE dont les instructions seront exécutées si aucune marque ne contient la valeur du sélecteur. L’instruction END_CASE marque la fin de l’instruction (des instructions). Exemple CASE...OF...END_CASE Exemple CASE...OF...END_CASE voir également ELSE (voir page 443) 33002205 12/2010 445 Texte structuré ST FOR...TO...BY...DO...END_FOR Description L’instruction FOR est utilisée si le nombre d’occurrences peut être défini à l’avance. Sinon, on utiliest WHILE (voir page 449) ou REPEAT (voir page 451). L’instruction FOR reprend une chaîne d’instructions jusqu’à l’instruction END_FOR. Le nombre des occurrences est déterminé par la valeur initiale, la valeur finale et la variable commande . Valeur initiale, valeur finale et variable de commande doivent avoir le même type données (DINT ou INT) et ne doivent pas être modifiées par une des instructions récurrentes. L’instruction FOR incrémente la valeur des variables de commande d’une valeur initiale à une valeur finale. La valeur de l’incrément est préréglée sur 1. Pour le cas où une autre valeur doit être utilisée, la possibilité est donnée d’indiquer explicitement une valeur d’incrément (variable ou constante). La valeur des variables de commande est contrôlée avant chaque nouveau parcours de la boucle. La boucle est abandonnée si ladite valeur est en dehors de la plage de la valeur initiale et de la valeur finale. Avant le premier parcours de la boucle, on contrôlera si l’incrément des variables de commande progresse vers la valeur finale à partir de la valeur initiale. Faute de quoi (par exemple valeur initiale ≤valeur finale et incrément négatif) la boucle n’est pas traitée. Cette règle permet d’éviter les boucles continues. NOTE : Pour la valeur finale du type de données DINT vaut la plage des valeurs 2 147 483 646 à 2 147 483 645 L’instruction DO marque la fin de définition d’une occurrence et le début d’une instruction (des instructions). L’occurrence peut être annulée avant exécution avec l’instruction EXIT. L’instruction END_FOR marque la fin de l’instruction (des instructions). Exemple : FOR avec incrément "1" FOR avec incrément "1" 446 33002205 12/2010 Texte structuré ST FOR avec incrément différent de "1" Si un autre incrément que "1" doit être utilisé vous pouvez le définir avec BY. Incrément, valeur initiale, valeur finale et variable de commande doivent avoir le même type de données (DINT ou INT). Le critère qui détermine le sens de traitement (comptage, décomptage) est le signé de l’expression BY. Si cette expression est positive, la boucle est comptée, si elle est négative, la boucle est décomptée. Exemple : Comptage à deux étapes Comptage à deux étapes Exemple : Décomptage Décomptage FOR i := 10 TO 1 BY -1 DO (* BY < 0 : boucle décomptée *) C := C * COS_REAL(B) ; (* Instr. est exécutée 10x *) END_FOR ; Exemple : Boucles "uniques" Les boucles dans l’exemple sont parcourues exactement une fois puisque valeur initiale = valeur finale. Et ce n’est pas important si l’incrément est positif ou négatif. FOR i := 10 TO 10 DO (* Boucle Unique *) C := C * COS_REAL(B) ; END_FOR ; ou FOR i := 10 TO 10 BY -1 DO (* Boucle Unique *) C := C * COS_REAL(B) ; END_FOR ; 33002205 12/2010 447 Texte structuré ST Exemple : Boucles critiques Si dans l’exemple, l’incrément j a la valeur > 0, alors les instructions ne sont pas exécutées, puisque la situation valeur initiale > valeur finale autorise seulement un incrément ≤0. Une boucle continue peut se former seulement si l’incrément a la valeur 0. Si ce cas est détecté pendant l’opération Analyse section, alors un message d’erreur est généré. Si une erreur relative au temps d’exécution est détectée, un message d’erreur est généré dans la liste Affichage d’événements... . FOR i := 10 TO 1 BY j DO (* boucle décomptée *) C := C * COS_REAL(B) ; END_FOR ; Si dans l’exemple, l’incrément j a la valeur < 0, alors les instructions ne sont pas exécutées, puisque la situation valeur initiale < valeur finale autorise seulement un incrément ≥ 0. Une boucle continue peut se former seulement si l’incrément a la valeur 0. Si ce cas est détecté pendant l’opération Analyse section, alors un message d’erreur est généré. Si une erreur relative au temps d’exécution est détectée, un message d’erreur est généré dans la liste Affichage d’événements... . FOR i := 1 TO 10 BY j DO (* boucle comptée *) C := C * COS_REAL(B) ; END_FOR ; Exemple : Boucles non autorisées Boucles non autorisées FOR i := 1 TO 10 BY 0 DO (* Erreur si Section- *) C:= C * COS_REAL(B) ; (* Analyse, puisque boucle continue *) END_FOR ; ou FOR i := 1 TO 10 BY j DO (* si j=0, message erreur *) C := C * COS_REAL(B) ; (* dans la liste Affichage d’événements *) END_FOR ; 448 33002205 12/2010 Texte structuré ST WHILE...DO...END_WHILE Description L’instruction WHILE provoque l’exécution répétée d’une chaîne d’instructions jusqu’à ce que la primaire de Boole correspondante soit 0 (fausse). Si la primaire est fausse dès le départ, le groupe d’instructions n’est pas exécuté. L’instruction DO marque la fin de définition d’une occurrence et le début d’une instruction (des instructions). La répétition peut être prématurément quittée avec l’instruction EXIT. L’instruction END_WHILE signale la fin de l’instruction/des instructions. AVERTISSEMENT Risque d’un blocage de programme WHILE ne doit pas servir à effectuer une synchronisation entre des processus, par ex. comme une "boucle d’attente" avec une condition finale déterminée de manière externe. C’est-à-dire qu’aucune boucle infinie ne doit être formée car ceci peut provoquer le blocage du programme si vous ne l’empêchez pas avec la fonction Projet →Options de génération de code →Activer contrôle de boucle. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. AVERTISSEMENT Risque d’un blocage de programme WHILE ne doit pas être utilisé dans un algorithme pour lequel la condition de fin de boucle ou l’exécution d’une instruction EXIT ne peut pas être garantie. C’est-àdire qu’aucune boucle infinie ne doit être formée car ceci peut provoquer le blocage du programme si vous ne l’empêchez pas avec la fonction Projet → Options de génération de code →Activer contrôle de boucle. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. 33002205 12/2010 449 Texte structuré ST Exemple WHILE...DO...END_WHILE var := 1 WHILE var <= 100 DO var := var + 4 ; END_WHILE ; voir également EXIT (voir page 453) 450 33002205 12/2010 Texte structuré ST REPEAT...UNTIL...END_REPEAT Description L’instruction REPEAT provoque la répétition d’une chaîne d’instructions (au moins une fois) jusqu’à ce que la primaire de Boole correspondante soit 1 (vraie). L’instruction UNTIL signale la condition de fin. La répétition peut être prématurément quittée avec l’instruction EXIT. L’instruction END_REPEAT signale la fin de l’instruction/des instructions. AVERTISSEMENT Risque d’un blocage de programme REPEAT ne doit pas servir à effectuer une synchronisation entre des processus, par ex. comme une "boucle d’attente" avec une condition finale déterminée de manière externe. C’est-à-dire qu’aucune boucle infinie ne doit être formée car ceci peut provoquer le blocage du programme si vous ne l’empêchez pas avec la fonction Projet →Options de génération de code →Activer le contrôle de boucle. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. AVERTISSEMENT Risque d’un blocage de programme REPEAT ne doit pas être utilisé dans un algorithme pour lequel la condition de fin de boucle ou l’exécution d’une instruction EXIT ne peut pas être garantie. C’est-àdire qu’aucune boucle infinie ne doit être formée car ceci peut provoquer le blocage du programme si vous ne l’empêchez pas avec la fonction Projet → Options de génération de code →Activer le contrôle de boucle . Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. 33002205 12/2010 451 Texte structuré ST Exemple REPEAT...UNTIL...END_REPEAT var := -1 REPEAT var := var + 2 UNTIL var >= 101 END_REPEAT ; voir également EXIT (voir page 453) 452 33002205 12/2010 Texte structuré ST EXIT Description L’instruction EXIT est utilisée pour terminer les instructions récurrentes (FOR, WHILE, REPEAT) avant que la condition de fin ne soit accomplie. Si l’instruction EXIT se trouve dans une occurrence emboîtée, la boucle interne (dans laquelle se trouve EXIT) est abandonnée. Et l’instruction suivante qui est exécutée est la première instruction après la fin de la boucle (END_FOR, END_WHILE ou END_REPEAT). Exemple EXIT Si FLAG a la valeur 0, SUM est 15 après exécution des instructions. Si FLAG a la valeur 1, SUM est 6 après exécution des instructions. SUM : = 0 ; FOR I := 1 TO 3 DO FOR J := 1 TO 2 DO IF FLAG=1 THEN EXIT; END_IF ; SUM := SUM + J ; END_FOR ; SUM := SUM + I ; END_FOR voir également CASE (voir page 445) WHILE (voir page 449) REPEAT (voir page 451) 33002205 12/2010 453 Texte structuré ST Instruction d’espacement Description Les instructions d’espacement sont produites par un point-virgule (;). 454 33002205 12/2010 Texte structuré ST Commentaire Description Dans l’éditeur ST, les commentaires commencent par la chaîne de caractères (* et se terminent par la chaîne de caractères *). Vous pouvez entrer un commentaire quelconque entre ces deux chaînes de caractères. Des commentaires peuvent être entrés sur une position quelconque dans l’éditeur ST. Les commentaires sont affichés en couleur. NOTE : Les commentaires emboîtés ne sont pas autorisés selon CEI 1131-1. Si vous voulez cependant les utiliser, vous pouvez les valider avec Options → Environnement →Extensions CEI →Commentaires imbriqués autorisés. 33002205 12/2010 455 Texte structuré ST 11.5 Appel de fonctions, composants fonctionnels (EFBs) et composants fonctionnels dérivés (DFBs) Aperçu Ce chapitre décrit l’appel de fonctions, blocs fonctions (EFBs) et blocs fonctions dérivés (DFBs). Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 456 Page Lancement de bloc fonction/DFB 457 Lancement de fonction 461 33002205 12/2010 Texte structuré ST Lancement de bloc fonction/DFB Utilisation de blocs fonctions et DFB Concept mettra à votre disposition les blocs fonctions sous la forme de bibliothèques. La logique des blocs fonctions est créée en langage de programmation C++ et ne peut pas être modifiée dans l'éditeur ST. Vous obtenez les noms des blocs fonctions à disposition dans les bibliothèques de blocs. Les DFB sont des blocs fonctions que vous pouvez définir dans DFB Concept. Pour les DFB, aucune différence n'est faite entre fonction et bloc fonction. Quelle que soit la configuration interne, elles seront toujours traitées comme des blocs fonctions. L'utilisation de blocs fonctions et de DFB se compose de trois parties dans ST : z la déclaration (voir page 458), z le lancement du bloc fonction/DFB (voir page 459), z l'utilisation des sorties de bloc fonction/DFB (voir page 460). NOTE : La déclaration du lancement du bloc fonction/DFB peut être créée manuellement ou vous pouvez créer le corps du module et l'affectation du paramètre avec la commande de menu Objets →Insérer FFB. Blocs fonctions d'utilisation restreinte Dans ST, les EFB suivants de la bibliothèque de blocs DIAGNO sont uniquement utilisables restreints (les blocs fonctions eux-même sont utilisables, mais il n'y a aucune évaluation des informations de diagnostic étendues) : z XACT, XACT_DIA z XDYN_DIA z XGRP_DIA z XLOCK, z XPRE_DIA z XLOCK_DIA z XREA_DIA Blocs fonctions lançables restreints Pour les EFB qui ont une ou plusieurs sorties de type de données ANY mais aucune entrée de type de données ANY (sorties/entrées génériques), le lancement du module ne peut être exécuté qu'en forme compacte (voir page 460). Par ex. dans la bibliothèque de blocs LIB984 : z GET_3X z GET_4X 33002205 12/2010 457 Texte structuré ST Blocs fonctions non utilisables Blocs fonctions non utilisables : Les EFB qui utilisent plusieurs registres pour la saisie exclusive du premier registre en entrée/sortie (par ex. MBP_MSTR de la bibliothèque de blocs COMM) ne peuvent pas être utilisés. z Les EFB qui contiennent des sorties avec des informations d'entrée (par ex. GET_BIT, R2T de la bibliothèque de blocs LIB984) ne peuvent pas être utilisés. z Les EFB suivants de la bibliothèque de blocs COMM ne peuvent pas être utilisés pour les raisons techniques indiquées ci-dessus : z CREADREG z CREAD_REG z CWRITREG z CWRITE_REG z READREG z READ_REG z WRITEREG z WRITE_REG z MBP_MSTR z z Les EFB suivants de la bibliothèque de blocs LIB984 ne peuvent pas être utilisés pour les raisons techniques indiquées ci-dessus : z FIFO z GET_BIT z IEC_BMDI z LIFO z R2T z SET_BIT z SRCH z T2T Déclaration Avant le lancement d'un bloc fonction/DFB, celui-ci doit être déclaré avec VAR et END_VAR (voir page 440). 458 33002205 12/2010 Texte structuré ST Lancement d'un bloc fonction/DFB Les blocs fonctions/DFB sont lancés via une instruction qui contient le nom d'instance du FB/DFB suivi d'une liste entre parenthèses des affectations de valeur (paramètre actuel) aux paramètres formels. L'ordre dans lequel les paramètres formels sont comptés dans un lancement de bloc fonction n'est pas significatif. Il n'est pas obligatoire d'affecter une valeur à tous les paramètres formels. Si aucune valeur est affectée à un paramètre formel, la valeur initiale définie dans l'éditeur de variable sera utilisée lors de l'exécution du bloc fonction. Si aucune valeur initiale n'est définie, la valeur par défaut (0) sera utilisée. NOTE : Les entrées du type VARINOUT (voir page 510) doivent toujours se voir affecter une valeur. Lancement d'un bloc fonction/DFB : NOTE : Dans ST, les instances FB/DFB peuvent être appelées plusieurs fois, contrairement aux langages de programmation graphiques (FBD, LD). NOTE : Même si le bloc fonction n'a pas d'entrée ou si les entrées ne doivent pas être paramétrées, le bloc fonction doit être lancé avant qu'il soit possible d'utiliser ses sorties. Sinon, les valeurs initiales seront transmises aux sorties, c.-à-d. "0". Déclaration et lancement d'un bloc fonction dans ST : VAR CLOCK : SYSCLOCK ; COUNT : CTU_DINT ; END_VAR CLOCK () ; COUNT (CU:=CLOCK.CLK3, R:=reset, PV:=100) ; out:=COUNT.Q ; current:=COUNT.CV ; 33002205 12/2010 459 Texte structuré ST Lancement du bloc fonction dans FBD : Lancement d'un bloc fonction/DFB dans une forme compacte Le lancement du module et l'affectation des entrées/sorties peuvent également être en forme compacte réduisant le temps d'exécution : VAR CLOCK : SYSCLOCK ; COUNT : CTU_DINT ; END_VAR CLOCK () ; COUNT (CU:=CLOCK.CLK3, R:=reset, PV:=100, Q=>out, CV=>current) ; Utilisation des sorties de bloc fonction/DFB Les sorties des blocs fonctions/DFB peuvent toujours être utilisées si une variable (lecture seule) peut également être utilisée. 460 33002205 12/2010 Texte structuré ST Lancement de fonction Utilisation des fonctions Concept mettra à votre disposition les fonctions sous la forme de bibliothèques. La logique des fonctions est créée en langage de programmation C++ et ne peut pas être modifiée dans l'éditeur ST. Vous obtenez les noms des fonctions à disposition dans les bibliothèques de blocs. NOTE : La déclaration des lancements de fonction peut être créée manuellement ou vous pouvez créer le corps du module et l'affectation du paramètre avec la commande Objets →Insérer FFB. Lancement d'une fonction dans ST : out := LIMIT_INT (MN:=0, IN:=in1, MX:=5 + var) ; Lancement d'une fonction FBD : Fonctions non utilisables Les fonctions qui ont une ou plusieurs sorties de type de données ANY mais aucune entrée de type de données ANY (sorties/entrées génériques) ne peuvent pas être utilisées dans ST. Lancement d'une fonction : Variante 1 La fonction peut également être lancée via une instruction comprenant un paramètre actuel (variable) suivi de l'instruction d'affectation ":=", suivie du nom de la fonction, suivi d'une liste entre parenthèses des affectations de valeur (paramètre actuel) au paramètre formel. L'ordre dans lequel les paramètres formels sont comptés dans un lancement de fonction n'est pas significatif. 33002205 12/2010 461 Texte structuré ST Lancement d'une fonction : Variante 2 Les fonctions sont lancées via une instruction. L'instruction se compose du paramètre actuel (variable) de la sortie, suivi de l'instruction d'affectation ":=", suivie du nom de la fonction, suivi d'une liste entre parenthèses des paramètres actuels des entrées. L'ordre dans lequel les paramètres actuels sont comptés dans un lancement de fonction est significatif. 462 33002205 12/2010 Texte structuré ST 11.6 Vérification de la syntaxe et génération de code Aperçu Ce chapitre décrit le contrôle de la syntaxe et la Génération de code du langage de programmation Littéral structuré ST . Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Vérification de la syntaxe 464 Génération de code 466 463 Texte structuré ST Vérification de la syntaxe Introduction Pendant la création du DFB/programme, vous pouvez vérifier la syntaxe en utilisant Projet → Analyser section. Options pour la vérification de la syntaxe Avec la commande Options →Environnement →Extensions CEI... → Extensions CEI vous pouvez définir les options de vérification de la syntaxe. NOTE : La configuration définie dans cette boîte de dialogue est reprise dans la description du projet (PRJ.DSK) et dans la description de l'installation Concept (CONCEPT.DSK), c.-à-d. qu'elle s'applique à l'ensemble de l'installation Concept. Si un projet créé avec une autre configuration est ouvert (par ex. Commentaires imbriqués autorisés admis dans le projet mais non admis dans l'installation actuelle de Concept), il y a risque de génération d'erreurs lors de l'ouverture du projet. Majuscules/minuscules permises dans les mots clés Si vous activez la case à cocher Majuscules/minuscules permises dans les mots clés, les majuscules et minuscules peuvent être utilisées pour tous les mots clés. Commentaires imbriqués autorisés Si vous activez la case à cocher Commentaires imbriqués autorisés, vous pouvez définir des commentaires imbriqués. La profondeur d'imbrication n'est pas limitée. Chiffres en tête de qualificatif autorisés Si vous activez la case à cocher Chiffres en tête de qualificatif autorisés, il est possible d'utiliser des chiffres comme premier caractère des qualificatifs (par ex. pour les noms de variables, les noms d'étape, les noms EFB). Les qualificatifs comprenant uniquement des chiffres ne sont cependant pas autorisés, ils doivent au moins comprendre une lettre. 464 33002205 12/2010 Texte structuré ST Les paramètres non utilisés provoquent des avertissements La norme CEI 1131-3 permet d'appeler les fonctions et blocs fonction sans l'affectation de tous leurs paramètres d'entrée. La valeur 0 est affectée de manière implicite à ces paramètres non utilisés, ou bien ils prendront la valeur provenant du dernier appel (uniquement pour les blocs fonction). Lorsque vous activez la case à cocher Les paramètres non utilisés provoquent avertissements dans la commande Options →Environnement → Analyse... → Analyse , une liste des paramètres non utilisés est affichée dans la fenêtre des messages lors de la génération de code. 33002205 12/2010 465 Texte structuré ST Génération de code Introduction Avec la commande Projet →Options de génération de codes ,vous pouvez définir les options pour la génération de codes. Code le plus rapide (contrôle limité) Si vous activez la case à cocher Code le plus rapide (contrôle limitée), un code à temps optimisé sera généré. L’optimisation du temps d’exécution est obtenue de la façon suivante : l’arithmétique sur les entiers (par ex. "+" ou "-") est réalisée via des commande s simples de processeur, au lieu d’être réalisée par des appels de EFB. Les commande s de processeur sont bien plus rapides que les appels de EFB, mais ils ne génèrent pas de messages d’erreur, comme Dépassement en arithmétique ou Débordement de tableau (d’Array). Vous ne devez utiliser cette option que si vous vous êtes assuré que le programme ne contient aucune erreur d’arithmétique. Exemple : Code le plus rapide SI i <= max ALORS i := i +1 ; FIN_SI ; (*i et max sont du type INT *) Si Code le plus rapide(Contrôle limité) a été choisi, alors l’addition "i1 + 1" est effectuée par la commande de processeur "add". Le code est plus rapide que lorsque l’EFB ADD_INT est appelé. Seulement , aucune erreur d’exécution n’ est générée si "max" est 32767 . Dans ce cas , on aurait un débordement de "i" , à savoir de 32767 à -32768. 466 33002205 12/2010 Texte structuré ST Activer contrôle de boucle. Cette case à cocher permet d’activer un chien de garde logiciel pour les boucles sans fin. Si vous activez cette case à cocher, dans le cas de boucles à l’intérieur des section IL et ST, un contrôle est effectué pour détecter si ces boucles sont quittées après un temps précis. Le délai autorisé dépend du délai de chien de garde que vous avez défini. Le délai autorisé pour toutes les boucles ensemble est égal à 80 % du délais de chien de garde matériel. Cela permet d’empêcher que des boucles sans fin déclenchent le chien de garde matériel. Si une boucle de longue durée ou une boucle sans fin est détectée, le traitement de la section concerné est quitté, une entrée est générée dans l’affichage des événements, et le traitement est effectué dans la section suivante. Dans le cycle suivant, la section est à nouveau traitée, jusqu’ à ce que la boucle de longue durée ou la boucle sans fin soit détectée, ou que la section soit quittée de façon normale. NOTE : Si le chien de garde matériel doit arrêter l’API lors de la détection d’une boucle de longue durée ou d’une boucle sans fin, vous n’ êtes pas autorisé à activer cette option . Cette fonction ne désactive pas le chien de garde lui-même. 33002205 12/2010 467 Texte structuré ST 11.7 Fonctions en ligne du langage de programmation ST Fonctions En ligne Description Vous disposez des mêmes fonctions en ligne que dans le langage de programmation liste d’instructions IL (voirFonctions en ligne de la liste d’instructions IL, page 400). 468 33002205 12/2010 Texte structuré ST 11.8 Etablissement d’un programme avec le littéral structuré ST Rédaction d’un programme dans le littéral structuré ST Introduction La description qui suit donne un exemple de rédaction d’un programme dans le langage de programmation Littéral structuré ST. La rédaction d’un programme en ST se subdivise en 2 étapes principales : Etape Action 1 Génération d’une section (voir page 469) 2 Elaboration de la logique (voir page 470) Génération d’une section Pour générer une section, effectuez les opérations suivantes : Etape 1 33002205 12/2010 Action Générez avec la commande Fichier →Nouvelle section... une nouvelle section et attribuez-lui un nom de section. Note : Le nom de section (au max. 32 caractères) doit être unique dans tout le projet, aucune différence n’ étant faite entre l’écriture en lettres majuscules et en minuscules. Si le nom de section entré existe déjà, vous recevez un avertissement et devez sélectionner un autre nom. Le nom de section doit correspondre aux conventions de nom CEI, sinon un message d’erreur s’ affiche. Note : Selon CEI 1131-3, uniquement des lettres sont permises comme premier caractère de noms. Si vous souhaitez cependant utiliser également des chiffres comme premiers caractères, vous pouvez le faire avec la commande Options →Environnement →Extensions CEI →Chiffres en tête de qualificatif autorisés Libérer. 469 Texte structuré ST Elaboration de la logique Pour élaborer une logique, effectuez les opérations suivantes : Etape 470 Action 1 A l’aide de VAR...END_VAR, indiquez les blocs fonctions et DFBs que vous voulez utiliser. Exemple : VAR RAMP_UP, RAMP_DOWN, RAMP_X : TON; COUNT : CTU_DINT ; END_VAR 2 Indiquez les variables et leurs valeurs initiales dans l’éditeur de variables. 3 Créez la logique de votre programme. Exemple : SUM : = 0 ; FOR I := 1 TO 3 DO FOR J := 1 TO 2 DO SI FLAG=1 ALORS SORTIR; FIN_SI; SUM := SUM + J ; FIN_POUR ; SUM := SUM + I ; FIN_POUR 4 Porcéder ensuite à la sauvegarde de la section à l’aide de la commande Fichier →Enregistrer Projet. 33002205 12/2010 Ladder Logic 984 33002205 12/2010 Ladder Logic 984 12 Introduction Ce chapitre décrit le language de programmation Ladder Logic 984. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 12.1 Généralités concernant la Ladder Logic 984 12.2 Utilisation de la Ladder Logic 984 474 12.3 Sous-programmes 486 12.4 Editeur du réseau d’équations 488 12.5 Modes de programmation LL984 497 472 471 Ladder Logic 984 12.1 Généralités concernant la Ladder Logic 984 Généralités concernant la Ladder Logic 984 Introduction La Ladder logic s’affiche dans une fenêtre graphique. Chaque fenêtre contient exactement une section ladder logic. Il est possible d’afficher ou de modifier une ou plusieurs sections ladder différentes (les fenêtres multiples d’une même section ne peuvent être gérées). Si vous ajoutez une nouvelle section, un numéro lui est attribué pour référence. Corrélation entre les sections et les segments Chaque section ladder logic est liée à un segment ladder logique de l’automate (par exemple, une section est égale à un segment) dès que vous entrez un numéro de segment dans la boîte de dialogue Caractéristiques de la section. Un seul réseau à la fois est visible dans chaque section. Utilisation du clavier Avec Concept, l’édition est généralement effectuée via la souris mais vous pouvez également utiliser le clavier (voir également Touches courtes dans l‘éditeur LL984, page 874). Analyse du projet La Ladder Logic est analysée avant de télécharger le programme dans le régulateur. L’éditeur peut uniquement accueillir une Ladder Logic valide, par exemple : seuls les éléments logique gérés par la configuration automate courante sont visibles pour la sélection. Vous devez configurer le régulateur avant d’entrer la logique. z L’analyseur n’accepte pas les références sortant des limites de la configuration courante. z L’analyseur n’accepte pas les bobines en double sauf si elles sont gérées par la configuration courante. z L’analyseur n’accepte pas les loadables non présents dans la configuration courante. z Tous les sous-programmes doivent exister dans une section unique. z La section contenant les sous-programmes ne peut pas être planifiée. z 472 33002205 12/2010 Ladder Logic 984 z z Toutes les instruction d’accès au sous-programme doivent faire référence à la même section. Plusieurs variables sont possibles par référence. Une préférence utilisateur est disponible afin d’activer ou de désactiver cette fonctionnalité. Lorsque plusieurs variables sont définies pour une référence donnée, un avertissement ou une erreur est généré, selon cette préférence. NOTE : Vos modifications de la configuration peuvent rendre le programme incompatible avec la configuration. NOTE : Les contacts ou les bobines peuvent être entrés sans références. Ceci n’est pas autorisé et n’est pas couvert par l’analyse du projet. Capacité et restrictions Capacité et restrictions : z L’éditeur ne peut pas autoriser plus de sections que de segments z L’éditeur ne peut pas autoriser plus de réseaux que ne peut en accueillir la mémoire du régulateur 33002205 12/2010 473 Ladder Logic 984 12.2 Utilisation de la Ladder Logic 984 Introduction Ce sous-chapitre décrit la méthode de travail avec la Ladder Logic 984. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 474 Page Saisie et modification des objets logique 475 Entrée et édition de variables 477 Edition réseau et Ladder 480 Zoom référence et zoom DX 483 Rechercher remplacer 485 33002205 12/2010 Ladder Logic 984 Saisie et modification des objets logique Exigences préalables Seuls les objets logique gérés par la configuration automate courante sont visibles pour votre sélection. Vous devez configurer le régulateur avant d’entrer la logique. Pour les loadables devant être paramétrés dans Projet →Configuration automate →Configurer →Extensions de configuration…, il convient de prendre des dispositions avant de les incorporés dans un programme Ladder. Navigation Lorsque vous vous trouvez au milieu d’une section, le réseau suivant ou précédent peut être affiché en faisant défiler avec les touches Pg préc. et Pg suiv.. Lorsque vous vous trouvez en haut ou en bas d’une section, le réseau suivant ou précédent peut être affiché en faisant défiler avec les touches Pg préc. et Pg suiv.. Par exemple, à la fin des réseaux de la dernière section (il ne s’agit pas de la section 32), une boîte de dialogue vous propose d’ajouter une nouvelle section. Chaque réseau est comparé à une base de données par Pg préc./Pg suiv. (en mode liste modifiable). Dans une section, vous pouvez aller à un réseau via la boîte de dialogue Atteindre réseau. Vous pouvez sélectionner le premier ou le dernier réseau dans la section courante ou aller à un réseau en entrant un numéro ou un nom de réseau. Une liste de réseaux (avec leurs noms) pouvant être classée est fournie. Interaction avec la boîte de dialogue Vos actions de saisie et de modification Ladder Logic respectent les normes de MSWindows et les conventions des principales applications MS-Windows. Lorsqu’un élément est sélectionné avec la souris, le pointeur de souris se transforme en image représentant l’élément logique. Le programmeur d’applications place l’élément logique dans la zone de modification en cliquant ou en appuyant sur la touche Entrée. Un curseur clavier est représenté sous forme de cellule en surbrillance (bloc) dans le réseau Ladder Logic. A chaque action de modification avec la souris correspondant une action clavier (voir également Touches courtes dans l‘éditeur LL984, page 874). Lorsqu’un élément logique est entré au moyen du clavier, il n’y a aucune étape de sélection initiale et l’élément logique est immédiatement placé dans le réseau à l’endroit du curseur clavier. 33002205 12/2010 475 Ladder Logic 984 Réseau exemple de Ladder Logic : Positionnement des objets Toute la gamme d’objets de programmation est disponible dans le menu principal Objet et les éléments de sous-menu sélectionnés. Les nuds occupés de hauteur équivalente peuvent être remplacés par écrasement. Les instructions peuvent être entrées en tapant le nom dans une boîte de dialogue. NOTE : Lorsque cel est possible, Concept utilise la touche Ctrl au lieu de la touche Modsoft Alt (voir également Touches Modsoft avec équivalents Concept, page 1036). Restriction en ligne Restrictions en ligne : z Les suppressions en ligne doivent être confirmées par l’utilisateur. z Concept ne gère pas les actions glisser/déplacer des éléments programmés lorsqu’ils sont en ligne. 476 33002205 12/2010 Ladder Logic 984 Entrée et édition de variables Introduction Les références d'éléments contenus sur les items logiques peuvent être visualisées ou éditées en cliquan doublement sur un item dans un réseau ou en appuyant sur la touche Entrée sur un item focalisé. un dialogue Caractéristiques de l'objet apparaît, lorsque vous cliquez deux fois sur un objet marqué, ou lorsque vous appuyez sur la touche Entrée sur un item focalisé. Vous pouvez visualiser les variables déjà créées en cliquant sur le bouton Consulter. Vous pouvez créer de nouvelles variables en cliquant sur le bouton Déclarations de variables. Editer des références Les références de tout élément de l'item logique (par ex. multi-élément) peuvent être éditées. Si c'est applicable, vous pouvez entrer le nom de la sous-fonction (à partir d'une liste déroulante). Si aussi bien une constante qu'une référence peuvent être entrées, le signe # doit précéder toute constante commençant par 0, 1, 3 ou4. Vous pouvez entré un nom variable pour les références. 33002205 12/2010 477 Ladder Logic 984 Caractéristiques de l'objet avec le dialogue Consulter variables : Format d'entrée des valeurs des références Lors de l'entrée de référence, le premier chiffre représente toujours le type de référence (par ex. 0x) et les chiffres suivants constituent le numéro de référence. Vous pouvez changer le format des références affichées en sélectionnant Options →Environnement →Commun. 478 33002205 12/2010 Ladder Logic 984 Barre d'état Le nom de variable (si applicable) est montré sur la ligne d'état, pour l'élément focalisé. En mode en ligne, la valeur de la référence est également indiquée. Le format initial d'affichage de la valeur de référence dépend de l'instruction dans le programme. Vous pouvez changer le format d'affichage en combinant les touches suivantes, pour définir la précision des données et donc le format. Tableau des formats d'affichage : Précision Format L (32 bits) D (décimal avec signe) U (sans signe) A (ascii) H (hex) S (16 bits) D (décimal avec signe) U (sans signe) A (ascii) H (hex) Décaler des références Les références du programme peuvent être décalées en utilisant Edition → Références Offset.... Des références multiples peuvent être décalées en une seule étape (hors ligne). Les sections/réseaux en cours de décalage peuvent être sélectionnés. Un message apparaît, vous demandant d'entrer la première et la dernière référence concernées ainsi que le nombre de décalage. 33002205 12/2010 479 Ladder Logic 984 Edition réseau et Ladder Introduction Les fonctions d’édition réseau et Ladder sont accessibles via les menus principaux Edition et Réseaux. NOTE : Les éléments de menu moins lumineux ne peuvent pas être sélectionnés en raison de la configuration, de l’état… Annuler Supprimer La fonction Edition →Annuler : Supprimer est une fonction en mode local permettant d’annuler les 5 dernières suppressions maximum. La commande Annuler : Supprimer existe pour chaque section ladder logic et inclut des opérations permettant de supprimer/couper des éléments ou un réseau. Insérer, Ajouter ou Réorganiser, qui sont deux opérations réseau entraînent une réinitialisation de la zone supprimer-enregistrer évitant ainsi une contamination des numéros de réseau. Sélectionner/désélectionner tout, couper, copier et coller Sélectionner tout, Couper, Copier, et Coller, qui sont des opérations effectuées sur des éléments de language individuels concernent un seul réseau (à la fois). Vous pouvez sélectionner ou désélectionner tous les éléments d’un réseau unique. Vous pouvez également sélectionner, couper, copier et coller des éléments de language dans les sections ou les réseaux ladder logic ou entre ces différents réseaux ou sections. Dans le cadre d’une opération coller en ligne, l’élément est collé par incrémentations de scrutations jusqu’à la fin. Sélection d’éléments Il est impossible de sélectionner plusieurs éléments de language (par exemple des sélections accumulées) sur plusieurs réseaux ou sections. Pour sélectionner un élément, déplacez le curseur sur cet élément (avec la souris ou les flèches). Vous pouvez sélectionner des éléments en cliquant ou en appuyant sur la touche Espace lorsque vous vous trouvez sur l’élément sélectionné. Il est possible de sélectionner plusieurs éléments via la fonction souris de multisélection. Plusieurs éléments peuvent également être sélectionnés en maintenant la touche Maj appuyée puis en cliquant sur les éléments ou en appuyant sur la touche Espace sur les éléments. 480 33002205 12/2010 Ladder Logic 984 Il est possible de sélectionner une ligne ou une colonne entière en cliquant sur l’entête de colonne ou le bord de la ligne dans le réseau. La souris offre un niveau de sélection plus précis que le clavier. Si plus de deux éléments apparaîssent dans une cellule (par exemple à la fois un court-circuit vertical et un contact), appuyez sur la touche Espace pour sélectionne tous les éléments de cette cellule. L’élément le plus près du pointeur de la souris est sélectionné lorsque vous cliquez sur celle-ci. Ouvrir une ligne Une nouvelle ligne est ouverte à l’emplacement du curseur. Cette commande est exécutée uniquement s’il y a suffisamment d’espace libre (c’est-à-dire si la dernière ligne est vide). Le reste du réseau est ensuite décalé vers le bas. Les zones de fonctions et les autres objets ayant une hauteur supérieure à un nud ne sont pas fractionnées par cette commande. Ouvrir une colonne Si la colonne du nud située à l’extrême droite est libre, le reste du réseau est décalé vers la droite et une colonne vide est ouverte à l’emplacement du curseur. Fermer une ligne Si la ligne de nud sur laquelle le curseur est positionné est vide, tous les éléments de nud se trouvant en-dessous sont remontés d’une ligne et la ligne du bas reste vide. Fermer une colonne Si la colonne de nud sur laquelle le curseur est positionné est vide, tous les éléments de nud se trouvant sur la droite sont décalés d’une colonne vers la gauche et la colonne de droite reste vide. Réseau A l’aide du menu principal Réseaux et de ses sous-commandes, vous pouvez insérer (avant) ou ajouter (après) un seul réseau vide ou effacer un ou plusieurs réseaux. En outre, dans une même section, vous pouvez couper/copier un réseau puis copier/coller des réseaux dans n’importe quelle section. Vous disposez d’une liste de réseaux sur lesquels vous pouvez effectuer les opérations couper/copier. 33002205 12/2010 481 Ladder Logic 984 Réorganiser les réseaux La réorganisation de réseaux est une fonction en local. Vous pouvez modifier l’ordre d’exécution des réseaux dans une même section. Les réseaux sont résolus dans leur ordre d’apparition dans la section. L’ordre d’exécution des réseaux est modifié à l’aide de la boîte de dialogue Réorganiser les réseaux de cette section c’est-à-dire en sélectionnant Réseaux →Réorganiser.... Commentaires réseau Une description de section peut être incluse. Chaque réseau peut faire l’objet de commentaires individuels à l’aide des commentaires réseau et des commentaires en ligne. Il est possible d’entrer un nom de réseau dans la boîte de dialogue Commentaires réseau. 482 33002205 12/2010 Ladder Logic 984 Zoom référence et zoom DX Introduction Concept vous offre deux différents types de zoom : z le zoom référence z le zoom DX Zoom référence Certains éléments de programmation permettent de définir des paramètres afin de personnaliser l’implementation d’un réseau pour cet élément spécifique. Les caractéristiques comme les plages, les limites…. sont entrées grâce à cette capacité de modification du zoom. Les informations relatives aux références individuelles peuvent être affichées ou modifées. La boîte de dialogue Zoom référence affiche les informations suivantes sur une référence : z Valeur ram état z Le drop/rack/emplacement si la référence est dans la répartition E/S z Si la référence est 0x ou 1x, l’état activé/désactivé est indiqué Le format d’affichage initial des valeurs des références 3x et 4x dépend des instructions du programme. Il est possible de modifier le format d’affichage. La valeur de la ram d’état ou l’état activé/désactivé (si applicable) peuvent également être modifiés. Il est impossible d’effectuer un zoom les constantes. Il est impossible d’effectuer un zoome sur des variables sans référence. Les boîtes de dialogue du zoom référence peuvent être utilisées pour des références 4x et pour des références 0x désactivées. 33002205 12/2010 483 Ladder Logic 984 Zoom DX L’éditeur du zoom DX vous permet de modifier des registres pour des fonctions DX. Ces registres utilisés par la fonction DX possèdent également des descriptions textuelles associées d’aide pour la programmation DX. Le zoom DX dispose à la fois d’un accès clavier et souris depuis l’éditeur Ladder Logic. La boîte de dialogue Zoom DX vous permet de modifier des registres pour des fonctions DX données. L’écran zoom DX contient un texte pour chaque registre, bit ou groupe de bits. Les types de données autorisés sont : Type des données Longueur Entier non signé 16 bits Entier signé 16 bits Entier long non signé 32 bits Entier long signé 32 bits flottant 32 bits bit (flag) 1 bit champ de bit 1-16 bits Les types de données complexes autorisés sont : Types de données complexes Longueur équation 1-16 bits ASCII Chaîne de 80 caractères maximum Un adressage absolu est la seule méthode d’adressage autorisée. L’adressage indirect n’est pas géré. Outre l’entrée des données, le zoom DX peut afficher des informations textuelles associées à un registre spécifique. Chaque entrée de registre est associée à un descripteur et possède une aide contextuelle. 484 33002205 12/2010 Ladder Logic 984 Rechercher remplacer Tracer La fonction En ligne →Tracer recherche des bobines de références 0x dans le programme. Vous pouvez tracer une bobine en sélectionnant d’abord une référence 0x puis en lançant la fonction tracer. Le traçage positionne le réseau avec la bobine trouvée dans la zone de modification. Après un traçage réussi, vous pouvez revenir à la référence 0x initiale avec En ligne →Retracer. Recherche en ligne Une boîte de dialogue séparée est disponible pour Projet →Rechercher en mode direct. La boîte de dialogue Rechercher. Chaque fois qu’un élément est trouvé, vous avez le choix entre rechercher l’élément suivant ou revenir au précédent. La recherche peut être annulée à tout moment. En mode direct Ladder Logic, il est impossible de rechercher des noms de variables. Remplacer références Il est possible de rechercher et remplacer des références pendant tout le programme. Vous pouvez sélectionner les sections/réseaux à rechercher. La boîte de dialogue Edition →Replacer références est modale. Une invite s’affiche à chaque demande de remplacement unique alors que pour les demandes remplacer tous, aucune invite n’apparaît. Les références remplacées sont reportées dans la liste Projet →Rechercher →Historique des recherches. Vous pouvez exclure de la recherche les fonctions DX comportant des références TOR. Les fonctions DX impliquent que les références 0x et 1x soient limitées à 16 bits. 33002205 12/2010 485 Ladder Logic 984 12.3 Sous-programmes Sous-programmes Exemple L’exemple ci-dessous illustre une série de trois réseaux logique utilisateur dont le dernier est utilisé pour un sous-programme de comptage. Le segment 32 a été supprimé de la table de l’ordre de résolution du planificateur de segments. 486 33002205 12/2010 Ladder Logic 984 Description de l’exemple Description de l’exemple : Etape 33002205 12/2010 Description 1 Lorsque vous entrez 10001 dans le bloc JSR du réseau 2 des transitions horstension-sous-tension du segment 1, la scrutation logique passe au sousprogramme #1 du réseau 1 du segment 32. Résultat : Le sous-programme effectue dix boucles en interne, comptées par le bloc ADD. 2 Les neuf premières boucles se terminent lorsque le bloc JSR du sousprogramme (réseau 1 du segment 32) renvoie la scrutation au block LAB. 3 Après la dixième boucle, le bloc RET envoie la scrutation logique à la logique planifiée dans le nud JSR du réseau 2 du segment 1. 487 Ladder Logic 984 12.4 Editeur du réseau d’équations Introduction Ce sous-chapitre décrit l’éditeur du réseau d’équations LL984. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 488 Page Introduction 489 Edition d’équations 491 Syntaxe et sémantique 493 33002205 12/2010 Ladder Logic 984 Introduction Aperçu Le réseau d’équations est une combinaison de la Ladder Logic et d’une équation algébrique. Ce type de réseau permet au concepteur de contrôle d’incorporer une équation algébrique dans un programme de la Ladder Logic. La boîte de dialogue Editeur du réseau d’équations n’a pas de numéros de ligne/colonne puisqu’ils n’ont aucune signification. L’affichage optionnel de la grille n’est pas disponible pour le réseau d’équations car la disposition ligne/colonne ne s’applique pas à ce nouveau type de réseau. Vous pouvez mentionner le moment où l’équation sera résolue à l’aide de la notation de la Ladder Logic. Le réseau d’équations est un réseau spécial de la Ladder Logic qui vous permet de spécifier la valeur d’un registre de résultat sous forme algébrique. Si votre automate dispose d’un processeur de flottant, le réseau d’équations profitera de cette particularité pour un traitement plus rapide. Il utilise un réseau complet de Ladder Logic pour composer l’équation, avec un court-circuit contact ou un court-circuit horizontal, comme l’entrée d’activation et jusqu’à cinq bobines de sortie pour décrire l’état du résultat. Eléments du menu disponibles Le menu principal Réseaux comporte deux entrées de sous-menu permettant de supporter les réseaux d’équations : Insérer une équation et Attacher équation. Si vous naviguez à travers les réseaux et atteignez le début/la fin de la section, vous avez la possibilité d’insérer/d’ajouter un nouveau réseau d’équations en plus des autres choix disponibles (insérer/ajouter un réseau ladder, annuler, etc.). 33002205 12/2010 489 Ladder Logic 984 Représentation L’affichage du réseau de la Ladder Logic change pour s’adapter à un réseau d’équations initalisé. Les numéros des lignes et colonne sont supprimés ainsi que les lignes de la grille si elles sont affichées. L’affichage initial est remplacé par la figure ci-dessous lorsque vous double-cliquez sur le corps de l’équation qui apparaît par défaut. 490 33002205 12/2010 Ladder Logic 984 Edition d’équations Entrées d’équations Dans la première colonne du réseau, ligne 1 colonne 1, les entrées activation de l’équation légales sont les suivantes : z Contact à fermeture ( -| |- ) Lorsqu’un contact à fermeture est inséré comme premier nud du réseau, l’équation est résolue lorsque la bobine référencée du contact ou l’entrée est sous tension. z Contact à ouverture ( -| |- ) Lorsqu’un contact à ouverture est inséré comme premier nud du réseau, l’équation est résolue lorsque la bobine référencée du contact est hors tension. z Court-circuit horizontal ( ----- ) Lorsqu’un court-circuit horizontal est inséré comme premier nud dans le réseau, l’équation doit être résolue à chaque scrutation. Le court-circuit horizontal est utilisé pour des besoins d’affichage uniquement et n’est pas envoyé à l’automate comme étant une partie du réseau ; l’absence d’un nud de contact d’activation dans le réseau envoyé à l’automate indique que le réseau doit toujours être résolu. z Ouverture horizontale ( ----- ) Lorsqu’une ouverture horizontale est insérée comme premier nud du réseau, l’exécution du réseau d’équations est évitée. Résultats d’équation Le réseau d’équations peut fournir cinq sorties possibles à partir des cinq lignes du réseau supérieures afin de décrire le résultat de l’équation. Vous choisissez les sorties que vous souhaitez utiliser en leur attribuant les numéros de référence 0x. Les sorties s’affichent comme bobines dans la dernière colonne du réseau d’équations. La ligne dans laquelle les bobines de sortie sont placées détermine leur signification. z Réalisé sans erreur ( -(√) ) Lorsque l’équation alimente la sortie à partir de la ligne supérieure, l’équation est réalisée avec succès, sans erreur. z Résultat < 0 ( -(< 0) ) Lorsque l’équation alimente la sortie à partir de la deuxième ligne, l’équation est réalisée avec succès et le résultat est inférieur à zéro. z Résultat = 0 ( -(= 0) ) Lorsque l’équation alimente la sortie à partir de la troisième ligne, l’équation est réalisée avec succès et le résultat est égal à zéro. 33002205 12/2010 491 Ladder Logic 984 z z Résultat > 0 ( -(> 0) ) Lorsque l’équation alimente la sortie à partir de la quatrième ligne, l’équation est réalisée avec succès et le résultat est supérieur à zéro. Réalisé sans erreur ( -(!) ) Lorsque l'équation alimente la sortie à partir de la cinquième ligne, les données de l’équation ont provoqué une erreur de calcul. Couper, Copier et Coller Le texte peut être collé dans la boîte d’édition d’une boîte de dialogue Editeur du réseau d'équations. Il s’agit d’opérations de texte Windows normalisées et elles représentent les seules opérations couper/copier/coller autorisées dans les réseaux d’équations. Aucune validation n’est réalisée au moment d’une opération couper ou coller ; l’équation est validée lorsque l’utilisateur décide de fermer la boîte de dialogue en cliquant sur le bouton OK. Vous pouvez couper/copier/coller les réseaux d’équations à l’aide de Réseaux → Couper/Copier... où il est possible de manipuler un réseau dans sa totalité. Lorsqu’un réseau est coupé ou copié, il peut être collé comme un nouveau réseau d’équations. Dans ce cas, " coller " signifie " insérer un nouveau réseau ". La même opération est utilisée pour les réseaux ladder. Contrôle de validité Lorsque OK est sélectionné dans la boîte de dialogue Editeur du réseau d'équations, la validité de l’équation est contrôlée. Si une erreur est détectée, le curseur est placé le plus près possible de l’erreur et un message d’erreur s’affiche. 492 33002205 12/2010 Ladder Logic 984 Syntaxe et sémantique Opérateurs Les opérateurs sont listés ci-dessous dans l'ordre de priorité décroissante. If nécessaire, les opérateurs en concurrence sont présentés de la gauche vers la droite. Groupe d'opérateurs Opérateurs Description unitaire - Fonction NON ~ complément à un ** Exponentielle Exponentielle multiplication/division addition/soustraction bit par bit Relations conditionnel 33002205 12/2010 * multiplication / division + Addition - soustraction & et - ou << Maj. gauche >> Maj. droite ^ ou exclusif < inférieur à < = inférieur ou égal à = égal à < > différentl = > supérieur ou égal à > supérieur à ?: test 493 Ladder Logic 984 Fonctions De plus, les fonctions suivantes sont reconnues (et prédéfinies) dans une équation : Function Description ABS valeur absolue ARCCOS arccosinus ARCSIN arcsinus ARCTAN arctangente COS cosinus des radians COSD cosinus des degrés EXPE fonction exponentielle, argument e** FIX convertit une virgule flottante en entier, présume un argument à virgule flottante FLOAT convertit un entier en virgule flottante LN Logarithme naturel (base e) LOG Logarithme à base 10 SIN sinus des radians SIND sinus des degrés SQRT racine carrée TAN tangente des radians TAND tangente des degrés Syntaxe d'équation conventions des syntaxes d'équation : 494 Commande Description [abc] quelque soit l'élément a b c [a-z] tout élément compris dans la plage allant de aàz expr* zéro expr ou plus expr+ une expr ou plus 33002205 12/2010 Ladder Logic 984 Classes lexicales tableau des classes lexicales lettre a-z A-Z bit 0-1 chiffre_octal 0-7 chiffre 0-9 chiffre_hex 0-9 a-f A-F lettre_ou_chiffre lettre | chiffre identificateur lettre lettre_ou_chiffre* op_affectation := op_relationnel > < >= <= = <> op_bit par bit & | ^ >> << op_add_sub + - op_mul_div * / op_exp ** op_unit - ~ sign_optionnel + - /*néant*/ Constantes les constantes sont : z const_binaire 2# bit partie_const_binaire z const_décimale chiffre partie_const_décimale z const_octale 8# chiffre_octal partie_const_octale z const_hex 16# chiffre_hex partie_const_hex z const_virgule mantisse exposant 33002205 12/2010 495 Ladder Logic 984 Registre références les reg_rvalue sont : discrete_rvalue 0 digit+ 1 digit+ int_reg_rvalue 3 digit+ 4 digit+ 6 digit+ uint_reg_rvalue U3 digit+ U4 digit+ U6 digit+ long_reg_rvalue L3 digit+ L4 digit+ L6 digit+ ulong_reg_rvalue UL3 digit+ UL4 digit+ UL6 digit+ float_reg_rvalue F3 digit+ F4 digit+ F6 dgit+ les reg_lvalue sont : int_reg_lvalue 4 digit+ 6 digit+ uint_reg_lvalue U4 digit+ U6 digit+ long_reg_lvalue L4 digit+ L6 digit+ ulong_reg_lvalue UL4 digit+ UL6 digit+ float_reg_lvalue F4 digit+ F6 dgit+ Nota : du fait des standards de Concept CEI, le placement des identificateurs lexicaux de Modsoft est différent de celui de Concept. Toutefois, toute équation Modsoft existante est correctement transformée en utilisant la convertisseur du programme Modsoft. Par exemple, l'équation Modsoft 400100F := 400001UL + 400002U + 400003L + #23 devient l'équation Concept suivante %F400100 := %UL400001 + %U400002 + %L400003 +23 496 33002205 12/2010 Ladder Logic 984 12.5 Modes de programmation LL984 Modes de programmation LL984 Programmation directe L’édition ladder en mode direct peut être appliquée dans deux cas : z Premièrement, lorsqu’il n’existe aucun projet ouvert et que vous êtes connecté à un automate possédant un programme valide. Lorsque vous sélectionnez la commande Editeur 984LL en mode direct le premier programme du premier segment s’affiche. Vous pouvez voir l’état de mode direct sur le côté droit de la barre d’état et la fenêtre réseau porte l’indication 984LL Direct. z Deuxièmement, lorsqu’un projet est ouvert et que vous êtes connecté à l’automate (non EGAL). Lorsque vous sélectionnez Editeur 984LL en mode direct une boîte de dialogue s’affiche, donnant une liste de segments et le nombre de réseaux contenu dans chacun d’entre eux. Cliquez sur le segment souhaité, cliquez sur le bouton OK et la fenêtre Modifier réseau s’affiche avec une fenêtre portant l’indication 984LL Direct. Si vous possédez un fenêtre d’édition d’origine, elle reste affichée. Mode combination La programmation combination intervient lorsque le tableau de connexions est en ligne. Les modifications valides du programme sont immédiatement et simultanément écrites dans le régulateur et la base de données du programme. 33002205 12/2010 497 Ladder Logic 984 498 33002205 12/2010 DFB (blocs fonctions dérivés) 33002205 12/2010 DFB (blocs fonctions dérivés) 13 Aperçu Ce chapitre décrit comment créer les DFB (blocs fonctions dérivés) avec ConceptDFB. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 13.1 DFB (Unités de fonctions dérivées) 500 13.2 Programmation et appel d’un DFB. 520 499 DFB (blocs fonctions dérivés) 13.1 DFB (Unités de fonctions dérivées) Aperçu Ce chapitre vous donne un aperçu sur la création et l’application de DFBs (Unités de fonctions dérivées). Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 500 Page Remarques générales sur les DFBs (Unités de fonctions dérivées) 501 DFB globaux / locaux 504 Utilisation de variables dans les DFB 506 Variables combinées d'entrée/de sortie (variables VARINOUT) 508 Variables globales 515 Etablissement d’une aide sur contexte (aide En ligne) pour DFB 518 33002205 12/2010 DFB (blocs fonctions dérivés) Remarques générales sur les DFBs (Unités de fonctions dérivées) Introduction Les DFBs sont établis à l’aide du logiciel Concept-DFB. Les DFBs (Derived Function Blocks) peuvent être utilisés aussi bien pour la structuration que pour la hiérarchisation d’un programme. D’un point de vue technique de programme, un DFB représente un sousprogramme. Cela signifie : z Impoet/export de valeurs définies au/du sous-programme. z Programme de complexité quelconque z Imbrication d’un ou de plusieurs DFBs dans un DFB z Appel multiple du DFBs dans le programme d’ensemble, le code programme du DFB n’étant inséré qu’une seule fois dans le programme d’ensemble. z Variables locales spécifiques du DFB. z Valeurs initiales pour les variables z Interface à définir librement Langages de programmation Les DFBs peuvent être établis dans les langages de programmation langage des unités de fonction (FBD), plan de contact (LD), liste d’instructions (IL) et Structurateur de texte (ST). Construction d’un DFB Un DFB représente d’abord un cadre vide, qui reçoit des entrées/sorties que vous aurez définies et une logique que vous aurez programmée librement. La structure hiérarchique de cette logique correspond à un projet dans Concept, qui se compose d’une ou de plusieurs sections. Ces sections contiennent la logique propre. Structure interne du DFB dans l’éditeur FBD : 33002205 12/2010 501 DFB (blocs fonctions dérivés) Ordre d’exécution L’ordre d’exécution de la logique, les règles de la programmation et les FFB et DFB utilisables correspondent très largement à ceux de la programmation FBD-, LD-, ILou. ST. Imbrication Il est tout à fait possible qu’un ou plusieurs DFB déjà existants soient appelés dans un DFB, les DFB appelés pouvent eux-mêmes appeler un ou plusieurs DFB. Un DFB ne peut cependant pas se contenir lui-même. Il ne faudrait pas dépasser une profondeur d’imbrication de 5. La limite précise dépend entre autres du paramétrage, par ex. du nombre des variables d’entrée/sortie du DFB, de l’UC utilisée et de leur configuration. NOTE : Si l’on utilise des DFB imbriqués, on ne contrôle pas dans l’éditeur de DFB la cohérence de l’ensemble de la hiérarchie des DFB imbriqués, mais uniquement des DFB du niveau suivant. Cela signifie que, par ex. pour un DFB avec 3 ou 4 niveaux, les DFB plus profondément imbriqués peuvent être modifiés (par ex. attribution de broche) sans que cela se remarque. Dans Concept, une erreur n’est signalée que lors de l’analyse du projet . NOTE : Des EFB de diagnostic (Diagno-Bibliothèque) NE peuvent PAS être utilisés dans les DFB. Aide contextuelle Pour les DFB, vous pouvez établir une aide propre liée au contexte (aide en ligne) (voir Etablissement d’une aide sur contexte (aide En ligne) pour DFB, page 518). 502 33002205 12/2010 DFB (blocs fonctions dérivés) Appel d’un DFB Les DFB sont caractérisés visuellement, dans la fenêtre de l’éditeur FBD- et LD, par des lignes verticales doubles au cadre DFB. Avec le bouton de commande Détail... dans la boîte de dialogue Propriétés du DFB, vous pouvez ouvrir une fenêtre de document, dans laquelle vous pouvez regarder la logique programmée du DFB (même si elle a été établie avec IL ou ST ). Cette fenêtre de document a un fond gris, qui indique que le DFB ne peut pas être édité dans cette fenêtre de document. Après leur appel dans Concept, les DFB sont traités comme des unités de fonctions. Appel d’un DFB dans l’éditeur de FBD : Archivage et documentation L’archivage et la documentation d’un DFB se font comme dans les projets (voirDocumentation et archivage, page 755). 33002205 12/2010 503 DFB (blocs fonctions dérivés) DFB globaux / locaux Description Les DFB globaux et locaux se différencient dans la localisation de la hiérarchie des répertoires. Selon le répertoire ou le sous-répertoire dans lequel un DFB est enregistré, il peut être appelé de manière globale, c.-à-d. au sein de tous les projets créés sous Concept, ou localement dans un projet spécifique. Dans le Définition de l’emplacement des DFB globaux lors de la lecture [Upload], page 1147, vous pouvez définir qu'un répertoire GLB contenant les DFB globaux doit être créé dans le répertoire de projet lors du processus de chargement CEI. Ainsi, les DFB globaux disponibles dans Concept →DFB ne sont pas écrasés. Cela n'a donc aucune influence sur les autres projets. Structure des répertoires sans projet téléchargé : 504 33002205 12/2010 DFB (blocs fonctions dérivés) Structure des répertoires selon la configuration INI ([Upload]: PreserveGlobalDFBs=1) pour les projets téléchargés : S'il existe un DFB local et un DFB global qui portent le même nom, le DFB local a la priorité. NOTE : La longueur du chemin d'accès DOS vers lequel les DFB sont stockés est limitée à 29 caractères. Veillez à ce que le répertoire DFB ne dépasse pas cette limite. 33002205 12/2010 505 DFB (blocs fonctions dérivés) Utilisation de variables dans les DFB Introduction Lors de la programmation de DFB, on distingue deux types de variables : des variables internes, z des paramètres formels (Variables d’entrée/sortie). z Variables internes Les variables internes sont des variables utilisées uniquement au sein de la logique du DFB. Ces variables ne peuvent être modifiées que dans le DFB Concept luimême. Cette modification s'applique alors à toutes les instances de ce DFB. Les types de variables suivants sont autorisés : les variables non localisées, z les variables multi-éléments non localisées, z les constantes, z les libellés et z les variables localisées. z NOTE : Les variables localisées peuvent être utilisées, si l'option Autoriser variables localisées dans les DFB a été activée dans la boîte de dialogue Extensions CEI (voir également le sous-chapitre Variables globales, page 515). Ces variables sont déclarées dans l'éditeur de variables (voir page 504). Paramètre formel Pour importer des valeurs dans le DFB ou exporter des valeurs du DFB, des variables d’entrée et de sortie sont nécessaires. Ces types de variables sont appelés paramètres formels. Ces variables sont extraites du DFB et représentées comme entrées/sorties à l’appel du DFB. Dans l'éditeur de variables (voir page 504) vous définissez le nom du paramètre formel (le nom des entrées/sorties), le type de données et la position de l’entrée/sortie (pour l’éditeur FBD/LD) sur le DFB. Un total de 32 variables d’entrée et 32 variables de sortie est possible. La largeur du symbole du DFB est ainsi automatiquement adaptée à la longueur des noms des entrées/sorties. Les variables d’entrée et de sortie sont toujours des variables non localisées. Pour les variables d’entrée, vous pouvez en plus définir une valeur initiale. Les variables d’entrée, c'est-à-dire les entrées, sont toujours affichées à gauche du DFB dans l’éditeur FBD/LD. Les variables de sortie, c'est-à-dire les sorties, sont toujours affichées à droite du DFB. Les variables dites variables VARINOUT (voir page 508) constituent un cas particulier de variables d’entrée/sortie. 506 33002205 12/2010 DFB (blocs fonctions dérivés) Export de valeurs pendant l’exécution du programme Au cours de l’exécution du programme, la communication des valeurs de paramètres actuels et leur sortie ont lieu grâce aux paramètres formels. Les valeurs de ces paramètres formels sont déterminées par celle du paramètre actuel associé à l’entrée/sortie correspondante du DFB. Les paramètres actuels peuvent être des adresses directes, des variables localisées, des variables non localisées, des variables multi-éléments localisées, des variables multi-éléments non localisées, des éléments de variables multi-éléments, des constantes ou des lettres. De cette manière, vous pouvez appeler plusieurs fois le même type de DFB et doter chaque instance du DFB de paramètres actuels propres. Permutation des positions Si vous avez affecté les 32 variables d’entrée ou de sortie possibles lors de la création du DFB et que vous voulez à présent permuter les positions de 2 variables, vous pouvez provisoirement placer une variable sur la position 33. Ceci vous permet de modifier les positions de variables. Cependant, la sauvegarde du DFB avec 33 variables d’entrée ou de sortie n’est pas possible. La position 33 sert uniquement de position d’aide pendant l’édition. 33002205 12/2010 507 DFB (blocs fonctions dérivés) Variables combinées d'entrée/de sortie (variables VARINOUT) Introduction Les variables combinées d'entrée/de sortie sont un cas spécial des variables d'entrée/de sortie. On les appelle aussi "variables VARINOUT". Usage Très souvent, on utilise des DFB pour lire une variable au niveau de l'entrée (variables d'entrée), traiter celle-ci et sortir à nouveau les valeurs modifiées de la même variable (variables de sortie). Si ces variables sont des variables structurées, et que les éléments non concernés par le traitement doivent aussi être sortis à la sortie, il est nécessaire de copier la variable complète à l'intérieur du DFB, de l'entrée vers la sortie. Cela est également nécessaire si seulement un seul élément de la variable structurée est traité dans le DFB. Dans l'objectif d'économiser de l'espace mémoire et de réduire le temps d'exécution, il est conseillé d'utiliser des variables VARINOUT. Ce type de variable peut (doit obligatoirement) être utilisé en même temps au niveau des entrées DFB et des sorties DFB associées. Créer une variable VARINOUT dans le DFB Lors de la création d'une variable VARINOUT, il convient de veiller à respecter les conditions suivantes : z La création de variables VARINOUT s'effectue, comme pour toutes les variables d'entrée/de sortie, dans l'éditeur de variable. z Les variables VARINOUT sont déclarées deux fois. Une fois comme variable d'entrée et une fois comme variable de sortie. z Il est impératif d'utiliser les mêmes noms de paramètre formel dans les deux déclarations. z Il est impératif d'utiliser les mêmes types de données dans les deux déclarations. z Il est impératif d'utiliser les mêmes positions de broche dans les deux déclarations. z La variable d'entrée est d'abord déclarée, puis la variable de sortie. z Après la confirmation de la déclaration avec OK, la modification de la variable d'entrée n'est plus possible. 508 33002205 12/2010 DFB (blocs fonctions dérivés) Particularités lors de la création Il convient de noter les particularités suivantes dans le cas de la création de DFB avec Entr./Sorties VARINOUT : z Au cas où, pour l'entrée VARINOUT du DFB, une valeur initiale a été attribuée, celle-ci n'est pas utilisée, étant donné que l'entrée doit absolument être câblée. Exemple Logique du DFB : Déclaration des entrées : 33002205 12/2010 509 DFB (blocs fonctions dérivés) Déclaration des sorties : Utilisation du DFB dans FBD/LD L'appel et l'utilisation du DFB s'effectuent dans l'éditeur FBD/LD, comme pour n'importe quel DFB (voir aussi Appel d’un DFB en langage d’unité de fonctions FBD, page 534 et Appel d’un DFB dans plan contact LD, page 536). Les variables d'entrées/sorties du type VARINOUT sont caractérisées par une ligne en pointillé. Utilisation du DFB dans l'éditeur FDB : Particularités lors de l'utilisation Il convient de noter les particularités suivantes dans le cas de l'utilisation de DFB avec entrées/sorties VARINOUT : z Les entrées/sorties VARINOUT doivent impérativement être reliées. Si ce n'est pas le cas, un message d'erreur apparaît lors de l'analyse de section. z La même variable/le même composant de variable doit obligatoirement être relié(e) à l'entrée VARINOUT et à la sortie VARINOUT. z Il n'est pas possible de relier des connexions graphiques à des entrées/sorties VARINOUT. z Il est interdit de relier des libellés ou des constantes à des entrées/sorties VARINOUT. 510 33002205 12/2010 DFB (blocs fonctions dérivés) z z z Il est interdit de relier des variables booléennes à des entrées/sorties VARINOUT, car cela entraîne des problèmes lors de la génération de code. Il est interdit d'utiliser des négations au niveau des entrées/sorties VARINOUT. Si un DFB est utilisé avec des entrées/sorties VARINOUT à l'intérieur d'un autre DFB (DFB imbriqués), il est possible de connecter les entrées/sorties VARINOUT du DFB intérieur avec les entrées/sorties VARINOUT du DFB extérieur. Utilisation du DFB dans ST L'appel et l'utilisation du DFB s'effectuent dans l'éditeur ST, comme pour n'importe quel DFB (voir aussi Lancement de bloc fonction/DFB, page 457). Utilisation du DFB dans l'éditeur ST : (* Déclaration de bloc fonction *) VAR Instance_nom : DFBX ; END_VAR (* Appel de bloc fonction *) Instance_nom (IN1 := V1, IO1 := V5, IN2 := V2); (* Affectations *) V4 := Instance_nom.OUT1; V4 := Instance_nom.OUT3; Il convient de noter les particularités suivantes dans le cas de l'utilisation de DFB avec sorties/entrées VARINOUT : z Dans le cas d'un appel du DFB, une valeur doit obligatoirement être affectée aux entrées VARINOUT. Si ce n'est pas le cas, un message d'erreur apparaît lors de l'analyse de section. En d'autres termes, l'appel suivant de bloc fonction n'est pas autorisé car l'affectation d'une valeur à l'entrée VARINOUT "V5" est manquante : Instance_nom (IN1 := V1, IN2 := V2); z Aucune valeur ne doit être affectée aux sorties VARINOUT. Si ce n'est pas le cas, un message d'erreur apparaît lors de l'analyse de section. En d'autres termes, l'affectation suivante de sortie n'est pas autorisée car l'affectation d'une valeur à la sortie VARINOUT "V5" est effectuée : V5 := Instance_nom.IO1; z Il est interdit d'affecter des libellés ou des constantes aux entrées VARINOUT. z Il est interdit d'affecter des variables booléennes aux entrées/sorties VARINOUT car cela entraîne des erreurs lors de la génération de code. z Si un DFB est utilisé avec des entrées/sorties VARINOUT à l'intérieur d'un autre DFB (DFB imbriqués), il est possible de connecter les entrées/sorties VARINOUT du DFB intérieur avec les entrées/sorties VARINOUT du DFB extérieur. 33002205 12/2010 511 DFB (blocs fonctions dérivés) Utilisation du DFB dans IL L'appel et l'utilisation du DFB s'effectuent dans l'éditeur IL, comme pour n'importe quel DFB (voir aussi Utilisation des blocs fonctions et DFB, page 386). Utilisation du DFB dans l'éditeur IL : (* Déclaration de bloc fonction *) VAR Instance_nom : DFBX ; END_VAR (* Appel de bloc fonction *) CAL Instance_nom (IN1 := V1, IO1 := V5, IN2 := V2) (* Affectations *) LD Instance_nom.OUT1 ST V4 LD Instance_nom.OUT3 ST V3 Il convient de noter les particularités suivantes dans le cas de l'utilisation de DFB avec sorties/entrées VARINOUT : z Dans le cas d'un appel du DFB, une valeur doit obligatoirement être affectée aux entrées VARINOUT. Si ce n'est pas le cas, un message d'erreur apparaît lors de l'analyse de section. En d'autres termes, l'appel suivant de bloc fonction n'est pas autorisé car l'affectation d'une valeur à l'entrée VARINOUT "V5" est manquante : CAL Instance_nom (IN1 := V1, IN2 := V2) z Aucune valeur ne doit être affectée aux sorties VARINOUT. Si ce n'est pas le cas, un message d'erreur apparaît lors de l'analyse de section. En d'autres termes, les affectations suivantes de sortie ne sont pas autorisées car l'affectation d'une valeur à la sortie VARINOUT "V5" est effectuée : LD Instance_nom.IO1 ST V5 z Il est interdit d'affecter des libellés ou des constantes aux entrées VARINOUT. z Il est interdit d'affecter des variables booléennes aux entrées/sorties VARINOUT car cela entraîne des erreurs lors de la génération de code. z Si un DFB est utilisé avec des entrées/sorties VARINOUT à l'intérieur d'un autre DFB (DFB imbriqués), il est possible de connecter les entrées/sorties VARINOUT du DFB intérieur avec les entrées/sorties VARINOUT du DFB extérieur. 512 33002205 12/2010 DFB (blocs fonctions dérivés) Particularités lors de la modification Il y a 3 possibilités générales de modification des variables VARINOUT : z modifier des variables VARINOUT existantes : z renommer des variables z modification du type de données z modification de la position de broche z z réunir deux variables existantes en une variable VARINOUT diviser une variable VARINOUT en deux variables Modifier une variable VARINOUT existante Pour modifier (renommer, modification du type de données, changement de la position de broche) des variables VARINOUT existantes, exécutez les étapes suivantes : Etape Action 1 Ouvrez l'éditeur de variables (F8). 2 Choisissez l'option Sorties. 3 Procédez aux modifications requises. Réaction : Ces modifications sont transmises automatiquement à la variable d'entrée. 4 Confirmez les modifications à l'aide de OK. Réunir plusieurs variables en une variable VARINOUT Pour réunir deux variables en une variable VARINOUT, exécutez les étapes suivantes : Etape 33002205 12/2010 Action 1 Ouvrez l'éditeur de variables (F8). 2 Choisissez l'option Entrées. 3 Créez une nouvelle variable d'entrée (par ex. INOUT1). 4 Choisissez l'option Sorties. 5 Créez une nouvelle variable de sortie avec le même nom (par ex. INOUT1), le même type de données et la même position de broche que la variable d'entrée. 6 Confirmez les modifications à l'aide de OK. 7 Remplacez dans votre programme toutes les variables d'entrée et de sortie par la variable VARINOUT. 8 Ouvrez l'éditeur de variables (F8) et effacez la variable d'entrée et de sortie qui n'est à présent plus utilisée. 513 DFB (blocs fonctions dérivés) Diviser une variable VARINOUT Pour diviser une variable VARINOUT en deux variables, exécutez les étapes suivantes : Etape 1 514 Action Ouvrez l'éditeur de variables (F8). 2 Choisissez l'option Entrées. 3 Créez une nouvelle variable d'entrée (par ex. IN1). 4 Choisissez l'option Sorties. 5 Créez une nouvelle variable de sortie (par ex. OUT1). 6 Confirmez les modifications à l'aide de OK. 7 Remplacez dans votre programme toutes les utilisations de la variable VARINOUT par les variables d'entrée et de sortie. 8 Ouvrez l'éditeur de variables (F8) et effacez la variable VARINOUT qui n'est à présent plus utilisée. 33002205 12/2010 DFB (blocs fonctions dérivés) Variables globales Introduction Les variables globales sont des variables localisées déclarées dans un DFB Concept et dans Concept. Les variables globales de DFB ne peuvent être déclarées que si la case à cocher Autoriser variables localisées dans les DFB a été sélectionnée dans la boîte de dialogue Extensions CEI. Ensuite, la colonne Adresse apparaît dans l'éditeur de variables de DFB. Cela signifie qu'à présent, vous pouvez déclarer des variables localisées. Les variables deviennent globales dans la mesure où le DFB est utilisé dans le projet et que les variables localisées à cet effet sont déclarées dans l'éditeur de variables de Concept. Veillez lors de la déclaration des variables à utiliser les mêmes nom, adresse et type de données que dans l'éditeur de variables de DFB. Toutes les plages de référence (0x, 1x, 3x et 4x) sont autorisées. Des erreurs de déclaration ne sont détectées et signalées que lors de l'analyse du programme (Projet →Analyser programme). Si à cette occasion le système reconnaît les variables globales, celles-ci apparaissent sur fond gris dans l'éditeur de variables globales de Concept et elles sont protégées en écriture. Cela signifie que les variables globales ne peuvent être à nouveau modifiées que dans l'éditeur des variables de DFB. Ensuite, dans l'éditeur de variables de Concept, une modification doit être apportée au niveau des variables déclarées pour que ces variables redeviennent globales. NOTE : Si au cours de l'analyse du programme, le système détecte une incohérence au niveau des variables globales déclarées dans le DFB et dans le programme, en cas p. ex. d'une déclaration d'adresse différente, le chargement du programme dans l'API n'est pas possible. Exécutions dans un DFB Concept Pour créer des variables globales dans le DFB, procédez comme suit, tout d'abord dans le DFB Concept : Etape 33002205 12/2010 Action 1 Fermez Concept et démarrez DFB Concept. 2 Cliquez sur Options →Environnement →Extensions CEI..., et cochez la case Autoriser variables localisées dans les DFB. 3 Créez un DFB (voir le sous-chapitre Installation du DFB, page 522). 4 Créez la logique (voir l'exemple du sous-chapitre Création de la logique dans le langage de bloc fonction FBD, page 523). 515 DFB (blocs fonctions dérivés) Etape 5 Cliquez sur Projet →Déclarations de variables. Pour déclarer les variables localisées, sélectionnez la case d'option Variables. Note : Toutes les plages de référence (0x, 1x, 3x et 4x) sont autorisées pour l'adressage. 6 A présent, activez à nouveau le mode de sélection en cliquant sur Objets → Mode de sélection, et cliquez doublement sur l’une des entrées non reliées. Réaction : La boîte de dialogue Connexion de FFB, vous permettant d'associer un paramètre actuel à l’entrée/sortie, apparaît. 7 Dans la zone Connecter à, sélectionnez la case d'option Variable. 8 Cliquez sur Déclaration de var..... pour ouvrir l'éditeur de variables. Sélectionnez ensuite la variable non localisée (STOP) et cliquez sur OK. Réaction : La variable sélectionnée apparaît dans la zone de texte de la boîte de dialogue Connexion de FFB. 9 Un clic sur OK affecte la variable (STOP) à la sortie sélectionnée du module. 10 516 Action Enregistrez à présent le DFB avec la commande Fichier →Enregistrer. 33002205 12/2010 DFB (blocs fonctions dérivés) Exécutions dans Concept Pour créer des variables globales dans le DFB, procédez ensuite, comme suit, dans Concept : Etape 33002205 12/2010 Action 1 Fermez DFB Concept et démarrez Concept. 2 Appelez le DFB (voir l'exemple du sous-chapitre Appel d’un DFB en langage d’unité de fonctions FBD, page 534). 3 Cliquez sur Projet →Déclarations de variables.... Pour déclarer les variables localisées (STOP), sélectionnez la case d'option Variables. 4 Entrez le nom de variable, le type de données et l'adresse, tels qu'ils ont été déclarés dans l'éditeur de variables de DFB Concept. 5 Exécutez une analyse de programme en cliquant sur Projet →Analyser programme. Réaction : Le système affiche la fenêtre Messages et signale que la variable globale "STOP" a été détectée dans le DFB. Comme la variable globale a été reconnue par le système, elle apparaît sur fond gris dans l'éditeur de variables de Concept et ne peut plus être modifiée. 6 Dans l'éditeur de DFB, un double clic sur le DFB fait apparaître la boîte de dialogue Bloc fonction. Avec le bouton de commande Détail... Ouvrez une fenêtre de document avec la logique du DFB. Le système affiche, entre autres, la variable globale (STOP). 517 DFB (blocs fonctions dérivés) Etablissement d’une aide sur contexte (aide En ligne) pour DFB Introduction Dans Concept vous avez à votre disposition pour chaque EFB une aide, que vous pouvez appeler en fonction du contexte (Bouton de commande Aide pour type dans la boîte de dialogue Propriétés du EFB). Pour les DFB que vous avez établis, il n’existe naturellement pas de textre d’aide correspondant dans Concept. Vous pouvez cependant, pour chaque DFB, générer une aide propre qui peut être appelée dans Concept avec Aide pour type. Format de fichier Vous pouvez générer l'aide dans les formats de fichier suivants : .chm (fichier HTML d'aide compilé de Microsoft Windows) z .doc (format Microsoft Word) z .htm (Hypertext Markup Language) z .hlp (fichier d’aide Microsoft Windows (format 16- ou 32-octets)) z .pdf (format Adobe Portable Document z .rtf (format Microsoft Rich Text) z .txt (format texte ASCII simple) z Nom Le nom du fichier doit correspondre exactement au nom du DFB (par ex. SKOE.ext). La seule exception concerne les noms de DFB classés par type (par ex. SKOE_BOOL, SKOE_REAL etc..) Dans ce cas, le nom du fichier d'aide est le nom du DFB sans l'élément du type de fichier (par ex. nom du DFB : SKOE_BOOL possède le fichier d'aide SKOE.ext). Répertoire : Le fichier d'aide peut être mémorisés dans les répertoires suivants : Répertoire de Concept z Répertoire d'aide de Concept (au cas où Concept.ini est défini dans le fichier, voir readme) z Répertoire global de DFB z Répertoire local de DFB z 518 33002205 12/2010 DFB (blocs fonctions dérivés) Appel de l‘aide en ligne Pour l'appel de l'aide, Concept exécute la procédure suivante : Phase 1 Description Recherche du fichier d'aide DFBNom.ext dans le répertoire local de DFB. La recherche du fichier d'aide s'effectue dans l'ordre de procédure suivant : z .hlp z .chm z .htm z .rtf z .doc z .txt z .pdf Résultat : En cas de résultat positif de recherche, le fichier d'aide est affiché, sinon suite avec la phase 2. 33002205 12/2010 2 Recherche du fichier d'aide DFBNom.ext dans le répertoire global de DFB. Ordre de procédure, voir phase 1. Résultat : En cas de résultat positif de recherche, le fichier d'aide est affiché, sinon suite avec la phase 3. 3 Recherche du fichier d'aide DFBNom.ext dans le répertoire de Concept ou dans le répertoire d'aide de Concept. Ordre de procédure, voir phase 1. Résultat : En cas de résultat positif de recherche, le fichier d'aide est affiché, sinon suite avec la phase 4. 4 Affichage du commentaire établi avec Projet →Caractéristiques en ConceptDFB. 519 DFB (blocs fonctions dérivés) 13.2 Programmation et appel d’un DFB. Aperçu Ce chapitre décrit la programmation et l’appel d’un DFB. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 520 Page Introduction 521 Installation du DFB 522 Création de la logique dans le langage de bloc fonction FBD 523 Création de la logique dans le plan de contact LD 526 Création de la logique dans la liste d’instructions IL 530 Création de la logique dans le littéral structuré ST 532 Appel d’un DFB en langage d’unité de fonctions FBD 534 Appel d’un DFB dans plan contact LD 536 Appel d’un DFB dans liste d’instructions IL 538 Appel d’un DFB en langage littéral structuré ST 539 33002205 12/2010 DFB (blocs fonctions dérivés) Introduction Introduction La programmation et l’appel d’un DFB se divisent en 3 étapes principales : Etape 33002205 12/2010 Action 1 Installation du DFB (voir page 522) 2 Création de la logique dans : z Langage des unités de fonction (FBD) (voir page 523) z Plan de contact (LD) (voir page 526) z Liste d’instructions (IL) (voir page 530) z Littéral structuré (ST) (voir page 532) 3 Appel du DFB dans : z Langage des unités de fonction (FBD) (voir page 534) z Plan de contact (LD) (voir page 536) z Liste d’instructions (IL) (voir page 538) z Littéral structuré (ST) (voir page 539) 521 DFB (blocs fonctions dérivés) Installation du DFB Description Pour l’installation du DFB, exécutez les étapes suivantes : Etape 522 Action 1 Fermez Concept et démarrez Concept-DFB. 2 Installez avec la commande Fichier →Nouveaur DFB un DFB. Réaction : Dans la liste des titres apparaît à présent le nom [anonyme]. 3 Générez avec la commande Fichier →Nouvelle section... une nouvelle section et introduisez un nom de section. Le nom de section (max. 32 caractères) doit être unique dans tout le DFB, on ne fait pas de distinction ici entre majuscules et minuscules. Si le nom de section entré existe déjà , vous en serez averti et vous devrez choisir un autre nom. Le nom de section doit correspondre aux Conventions CEI sur les noms , sinon il apparaît un message d’erreur. Note : Selon CEI 1131-3, uniquement des lettres sont permises comme premier caractère de noms. Si vous voulez néanmoins utiliser également des chiffres comme premier caractère, vous pouvez le valider avec la commande Options →Environnement →Extensions CEI... →Extensions CEI →Chiffres de tête de qualificatif autorisés. 4 Choisissez un langage de programmation pour la section. z Langage des unités de fonction (FBD) (voir page 523) z Plan de contact (LD) (voir page 526) z Liste d’instructions (IL) (voir page 530) z Littéral structuré (ST) (voir page 532) 5 Avec la commande Projet →Caractéristiques vous pouvez produire un commentaire pour le DFB. Réaction : Vous pouvez alors faire afficher ce commentaire dans Concept dans la boîte de dialogue Propriétés du DFB avec la commande Aide pour type . 6 Sauvegardez à présent le DFB avec la commande Fichier →Sauvegarder DFB. Réaction : Lors de la première sauvegarde, la boîte de dialogue s’ouvre Sauvegarder sous , dans laquelle vous spécifiez le nom du DFB et la liste dans laquelle le DFB doit être sauvegardé. 7 Sélectionnez la liste dans laquelle le DFB doit être déposé. Soyez bien attentif à la différence entre DFB global et local (voir aussi DFB globaux / locaux, page 504). 8 Entrez le nom (max. 8 caractères) du DFB (toujours avec l’extension .DFB). Le nom doit être clair dans tout le répertoire, on ne fait pas de distinction ici entre majuscules et minuscules. Si le nom entré existe déjà , vous recevrez un avertissement et vous devrez sélectionner un autre nom. 33002205 12/2010 DFB (blocs fonctions dérivés) Création de la logique dans le langage de bloc fonction FBD Description Pour créer la logique dans le langage de bloc fonction FBD, exécutez les étapes suivantes : Etape 33002205 12/2010 Action 1 Afin d'insérer un FFB dans la section, sélectionnez la commande de menu Objets →Sélection FFB.... Réaction : La boîte de dialogue FFB de bibliothèque est ouverte. 2 Dans cette boîte de dialogue, vous pouvez, avec le bouton de commande Bibliothèque..., sélectionner une bibliothèque puis un FFB. Mais vous pouvez également afficher les DFB que vous avez créés avec le bouton de commande DFB, puis en choisir un. 3 Placez maintenant le FFB sélectionné dans la section. 4 Une fois que vous avez placé tous les FFB, fermez la boîte de dialogue avec OK. 5 Activez le mode sélection via Objets →Mode sélection, cliquez sur le FFB et déplacez les FFB aux emplacements voulus. 6 Activez le mode de liaison via Objets →Liaison et définissez les liaisons entre les FFB. Par exemple : 523 DFB (blocs fonctions dérivés) Etape 7 Action Activez maintenant l'éditeur de variables via Projet →Déclarations de variables... afin de déclarer les variables et les entrées/sorties (paramètre formel) des DFB. Exemple (entrées) : Exemple (sorties) : 524 33002205 12/2010 DFB (blocs fonctions dérivés) Etape 33002205 12/2010 Action 8 Activez alors de nouveau le mode sélection via Objets →Mode sélection et cliquez deux fois sur l'une des entrées/sorties non liées. Réaction : La boîte de dialogue Connexion de FFB s'ouvre. Vous pouvez y affecter un paramètre réel à l'entrée/la sortie. 9 Enregistrez ensuite le DFB avec la commande de menu Fichier →Enregistrer projet. Par exemple : 525 DFB (blocs fonctions dérivés) Création de la logique dans le plan de contact LD Description Pour la création de la logique dans le plan de contact LD, exécutez les étapes suivantes : Etape 526 Action 1 Pour insérer un contact ou une bobine dans la section, ouvrez le menu principal Objets et sélectionnez le contact ou la bobine souhaité(e). Vous pouvez également sélectionner le contact ou la bobine à l'aide de la barre d'outils. Placez les contacts ou les bobines dans la section. 2 Afin d'insérer un FFB dans la section, sélectionnez la commande de menu Objets →Sélection FFB.... Réaction : La boîte de dialogue FFB de bibliothèque s’ouvre. 3 Dans cette boîte de dialogue, vous pouvez, avec le bouton de commande Bibliothèque..., sélectionner une bibliothèque, puis un FFB. Mais vous pouvez également afficher les DFB que vous avez créés avec le bouton de commande DFB, puis en choisir un. 4 Placez maintenant le FFB sélectionné dans la section. 5 Une fois que vous avez placé tous les FFB, fermez la boîte de dialogue avec OK. 6 Avec Objets →Mode sélection, activez le mode sélection et déplacez les contacts, les bobines et les FFB jusqu'à la position souhaitée. 33002205 12/2010 DFB (blocs fonctions dérivés) Etape 7 33002205 12/2010 Action Avec Objets →Liaison, activez le mode de liaison et établissez les liaisons entre les contacts, les bobines et les FFB. Etablissez la liaison entre les contacts, les FFB et la barre gauche d’alimentation. Par exemple : 527 DFB (blocs fonctions dérivés) Etape 8 Action Activez maintenant l'éditeur de variables via Projet →Déclarations de variables... afin de déclarer les variables et les entrées/sorties (paramètre formel) des DFB. Exemple (entrées) : Exemple (sorties) : 9 528 A présent, activez à nouveau le mode sélection via Objets →Mode sélection et cliquez deux fois sur un contact ou une bobine. Réaction : La boîte de dialogue Propriétés : Objet LD s’ouvre, vous permettant d'affecter un paramètre réel au contact/à la bobine. 33002205 12/2010 DFB (blocs fonctions dérivés) Etape 33002205 12/2010 Action 10 Pour relier les entrées/sorties FFB aux paramètres réels, cliquez deux fois sur l'une des entrées/sorties non reliées. Réaction : La boîte de dialogue Connexion de FFB s’ouvre, dans laquelle vous pouvez associer un paramètre réel à l’entrée/sortie. 11 Enregistrez ensuite le DFB via la commande de menu Fichier →Enregistrer projet. Par exemple : 529 DFB (blocs fonctions dérivés) Création de la logique dans la liste d’instructions IL Description Pour la création de la logique dans la liste d’instructions IL, procédez comme suit : Etape Action 1 A l’aide de VAR...END_VAR, indiquez les blocs fonctions et DFB que vous voulez utiliser. Note : Les fonctions ne doivent pas être déclarées. Exemple : VAR CLOCK : CLOCK_DINT ; END_VAR 2 Indiquez les variables et leurs valeurs initiales dans l’éditeur de variables. Exemple (entrées) : Exemple (sorties) : 530 33002205 12/2010 DFB (blocs fonctions dérivés) Etape 33002205 12/2010 Action 3 Créez la logique de votre programme. Par exemple : LD IN1 ADD IN2 MUL ( LD IN3 SUB IN4 ) ST OUT 4 Procédez ensuite à la sauvegarde de la section via la commande de menu Fichier →Enregistrer projet. 531 DFB (blocs fonctions dérivés) Création de la logique dans le littéral structuré ST Description Pour la création de la logique dans le littéral structuré ST, procédez comme suit : Etape Action 1 A l’aide de VAR...END_VAR, indiquez les blocs fonctions et DFB que vous voulez utiliser. Note : Les fonctions ne doivent pas être déclarées. Exemple : VAR CLOCK : CLOCK_DINT ; END_VAR 2 Indiquez les variables et leurs valeurs initiales dans l’éditeur de variables. Exemple (entrées) : Exemple (sorties) : 532 33002205 12/2010 DFB (blocs fonctions dérivés) Etape 33002205 12/2010 Action 3 Créez la logique de votre programme. Par exemple : OUT := (IN1 + IN2) * (IN3 - IN4) 4 Procédez ensuite à la sauvegarde de la section via la commande de menu Fichier →Enregistrer projet. 533 DFB (blocs fonctions dérivés) Appel d’un DFB en langage d’unité de fonctions FBD Note Lors du lancement d’un DFB, il est indispensable de savoir dans quels langages de programmation il a été créé.. Le DFB peut être appelé dans toutes les sections CEI. Description Pour appeler un DFB en langage d’unité de fonctions FBD, procédez comme suit : Etape 534 Action 1 Fermez Concept-DFB et démarrez Concept. 2 Ouvrez/produisez un projet et ouvrez/produisez une section. 3 L’appel du DFB se fait comme pour un EFB par la commande Objets → Sélection FFB .... Réaction : La boîte de dialogue FFB de la bibliothèque s’ouvre. 4 Activez le bouton de commande DFB, pour afficher les DFB globaux et locaux. Par exemple : 5 Cliquez à présent sur le DFB désiré dans la zone de liste et positionnez-le dans la fenêtre Editeur. Par exemple : 33002205 12/2010 DFB (blocs fonctions dérivés) Etape Action 6 Par un double clic sur le DFB, vous pouvez ouvrir la boîte de dialogue Propriétés : Ouvrir l’unité de fonctions dérivée , dans laquelle, avec le bouton de commande Détail... vous pouvez ouvrir une fenêtre de document avec la logique interne du DFB. Pour préciser que l’on ne peut pas éditer le DFB dans cette fenêtre de document, le fond est gris. 7 Maintenant, vous devez encore définir uniquement les paramètres actuels. Ceci se fait comme pour la liaison EFB normale par la boîte de dialogue Connexion de FFB (Double clic sur l’entrée/sortie à paramétrer). Par exemple : Réaction : Comme on peut le voir dans l’exemple, on utilise des paramètres actuels différents dans l’appel DFB 1 et dans l’appel DFB 2. Les paramètres formels sont identiques dans les deux appels, parce que le code de programme du DFB n’a été déposé qu’une seule fois. 33002205 12/2010 535 DFB (blocs fonctions dérivés) Appel d’un DFB dans plan contact LD Note Lors du lancement d’un DFB, il est indispensable de savoir dans quels langages de programmation il a été créé. Le DFB peut être appelé dans toutes les sections CEI. Description Pour appeler un DFB dans plan contact LD, procédez comme suit : Etape 536 Action 1 Fermez Concept-DFB et démarrez Concept. 2 Ouvrez/produisez un projet et ouvrez/produisez une section. 3 L’appel du DFB se fait comme pour un EFB par la commande Objets → Sélection FFB .... Réaction : La boîte de dialogue FFB de la bibliothèque s’ouvre. 4 Activez le bouton de commande DFB, pour afficher les DFB globaux et locaux. Par exemple : 5 Cliquez à présent sur le DFB désiré dans la zone de liste et positionnez-le dans la fenêtre Editeur. Par exemple : 33002205 12/2010 DFB (blocs fonctions dérivés) Etape Action 6 Par un double clic sur le DFB, vous pouvez ouvrir la boîte de dialogue Propriétés : Ouvrir l’unité de fonctions dérivée , dans laquelle, avec le bouton de commande Détail... vous pouvez ouvrir une fenêtre de document avec la logique interne du DFB. Pour préciser que l’on ne peut pas éditer le DFB dans cette fenêtre de document, le fond est gris. 7 Reliez l’entrée EN au rail de contact gauche. 8 Maintenant, vous devez encore définir uniquement les paramètres actuels. Ceci se fait comme pour la liaison EFB normale par la boîte de dialogue Connexion de FFB (Double clic sur l’entrée/sortie à paramétrer). Par exemple : Réaction : Comme on peut le voir dans l’exemple, on utilise des paramètres actuels différents dans l’appel DFB 1 et dans l’appel DFB 2. Les paramètres formels sont identiques dans les deux appels, parce que le code de programme du DFB n’a été déposé qu’une seule fois. 33002205 12/2010 537 DFB (blocs fonctions dérivés) Appel d’un DFB dans liste d’instructions IL Note Lors du lancement d’un DFB, il est indispensable de savoir dans quels langages de programmation il a été créé. Le DFB peut être appelé dans toutes les sections CEI. Description Pour appeler un DFB dans liste d’instructions IL, procédez comme suit : Etape 538 Action 1 Fermez Concept-DFB et démarrez Concept. 2 Ouvrez/produisez un projet et ouvrez/produisez une section. 3 L’appel d’un DFB dans IL se fait comme un appel d’une unité de fonctions (voir page 386). Par exemple : VAR SKOE1, SKOE2 : SKOE; (* Instantiation du DFB *) END_VAR CAL SKOE1(IN1 :=VALUE1,IN2 :=VALUE2,IN3 :=VALUE3,IN4 :=VALUE4) LD SKOE1.out (* Appel DFB 1 *) ST RESULT1 CAL SKOE2(IN1 :=VALUE5,IN2 :=VALUE6,IN3 :=VALUE7,IN8 :=VALUE4) LD SKOE2.out (* Appel DFB 2 *) ST RESULT2 Réaction : Comme on peut le voir dans l’exemple, on utilise des paramètres actuels différents dans l’appel DFB 1 et dans l’appel DFB 2. Les paramètres formels sont identiques dans les deux appels, parce que le code de programme du DFB n’a été déposé qu’une seule fois. 33002205 12/2010 DFB (blocs fonctions dérivés) Appel d’un DFB en langage littéral structuré ST Note Lors du lancement d’un DFB, il est indispensable de savoir dans quels langages de programmation il a été créé. Le DFB peut être appelé dans toutes les sections CEI. Description Pour appeler un DFB en langage littéral structuré ST, procédez comme suit : Etape 33002205 12/2010 Action 1 Fermez Concept-DFB et démarrez Concept. 2 Ouvrez/produisez un projet et ouvrez/produisez une section. 3 L’appel d’un DFB dans ST se fait comme un appel d’une unité de fonctions (voir page 457). Par exemple : VAR SKOE1, SKOE2 : SKOE; (* Instantiation du DFB *) END_VAR SKOE1(IN1 :=VALUE1, IN2 :=VALUE2, IN3 :=VALUE3, IN4 :=VALUE4); RESULT1 :=SKOE1.OUT ; (* Appel DFB 1 *) SKOE2(IN1 :=VALUE5, IN2 :=VALUE6, IN3 :=VALUE7, IN4 :=VALUE8); RESULT2 :=SKOE2.OUT ; (* Appel DFB 2 *) Réaction : Comme on peut le voir dans l’exemple, on utilise des paramètres actuels différents dans l’appel DFB 1 et dans l’appel DFB 2. Les paramètres formels sont identiques dans les deux appels, parce que le code de programme du DFB n’a été déposé qu’une seule fois. 539 DFB (blocs fonctions dérivés) 540 33002205 12/2010 Macros 33002205 12/2010 Macros 14 Aperçu Ce chapitre décrit comment créer les macros à l’aide de Concept-DFB. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 14.1 Macro 542 14.2 Programmation et appel d’une macro. 552 541 Macros 14.1 Macro Aperçu Ce chapitre vous donne un aperçu sur la création et l’utilisation de macros. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 542 Page Remarques générales sur les macros 543 Macros globales / locales 545 Marque d’échange 547 Création d’une aide sur contexte (aide en ligne) pour les macros. 550 33002205 12/2010 Macros Remarques générales sur les macros Introduction Les macros servent à dupliquer les sections très souvent utilisées et les réseaux (y compris leurs logiques, leurs variables et leur déclaration de variables). Création de macros Les macros sont créées à l’aide du logiciel Concept-DFB. Langages de programmation Les macros ne peuvent être créées que dans les langages de programmation FBD et LD. Propriétés Les macros ont les propriétés suivantes : z Les macros ne contiennent qu’ une seule section. z Les macros peuvent contenir une section d’une complexité quelconque. z Au point de vue de la technique de programmation, une macro instantiée, c.à.d. une macro insérée dans une section, ne se différencie pas d’une section créée de façon conventionnelle. z Il est possible de lancer des DFB dans une macro. z La déclaration de variables propres à une macro est possible pour cette macro. z Il est possible d’utiliser des structures de données propres à la macro z Application automatique des variables déclarées dans la macro. z Il est possible de définir des valeurs initiales pour les variables macro. z Il est possible d’instancier plusieurs fois une macro dans le programme d’ensemble avec des variables différentes. z Le nom de section, les noms de variables et le nom de la structure de données peuvent contenir jusqu’à 10 marques d’échange différentes (@0 à @9). Structure hiérarchique La structure hiérarchique d’une macro correspond à un projet dans Concept, qui se compose d’une seule section. Cette section contient sa logique propre. Aide contextuelle Pour les macros, vous pouvez créer votre propre aide sur contexte (aide en ligne) (voir Création d’une aide sur contexte (aide en ligne) pour les macros., page 550). 33002205 12/2010 543 Macros Ordre d’exécution L’ordre d’exécution de la logique, les règles de la programmation et les FFB et DFB utilisables correspondent très largement à ceux de la programmation FBD, respectivement à ceux de la programmation.LD. Appel d’une macro Vous pouvez appeler des macros à partir de sections API, de sections FBD et de sections LD. Il existe cependant une différence fondamentale : Appel à partir d’une section SFC Lors du lancement (instantiation) d’une macro à partir d’une section SFC (par ex. comme réseau pour la variable d’action), une nouvelle section FBD-/LD est automatiquement déposée, qui ne contient que la logique de la macro. z Appel d’une section FBD-/LD Lors du lancement d’une macro à partir d’une section FBD-/LD, la logique de la macro est insérée dans la section FBD-/LD actuelle. Dans ce cas, on ne produit pas de nouvelle section. z Archivage et documentation L’archivage d’une macro se fait comme l’archivage et la documentation d’un projet (voir Documentation et archivage, page 755). 544 33002205 12/2010 Macros Macros globales / locales Description Les macros globales et locales se différencient dans la localisation de la hiérarchie des répertoires. Selon le répertoire ou le sous-répertoire dans lequel une macro est placée, elle peut être appelée de manière globale, c.-à-d. au sein de tous les projets créés sous Concept, ou localement dans un projet spécifique. Dans le Définition de l’emplacement des DFB globaux lors de la lecture [Upload], page 1147, vous pouvez définir qu'un répertoire GLB contenant les macros globales doit être créé dans le répertoire de projet lors du processus de chargement CEI. Ainsi, les macros globales disponibles dans Concept →DFB ne sont pas écrasées. Cela n'a donc aucune influence sur les autres projets. Structure des répertoires sans projet téléchargé : 33002205 12/2010 545 Macros Structure des répertoires selon la configuration INI ([Upload]: PreserveGlobalDFBs=1) pour les projets téléchargés : S'il existe une macro locale et une macro globale qui portent le même nom, le nom de la macro locale est affiché en minuscules lors de l'insertion alors que celui de la macro globale apparaît en majuscules. NOTE : La longueur du chemin d'accès DOS vers lequel les macros sont stockées est limitée à 29 caractères. Veillez à ce que le répertoire des macros ne dépasse pas cette limite. 546 33002205 12/2010 Macros Marque d’échange Introduction Les marques d’échange (@0 à @9) dans les macros servent à l’insertion de la macro dans une section Concept. Lors de l’insertion d’une macro dans une section, leur marque d’échange est remplacée par des suites de caractères déterminées par vous. Il est ainsi possible d’utiliser une macro, identique au point de vue logique, avec des variables différentes, des structures de données différentes et avec des commentaires différents, parce que vous pouvez déterminer une autre suite de caractères à chaque insertion. Les marques d’échange peuvent être utilisées dans les éléments suivants : z Noms de sections z Noms de variables z Commentaires Commentaire sur les marques d’échange Avec Fichier →Caractéristiques section vous pouvez écrire un commentaire sur les marques d’échange de la macro. Ce commentaire s’affichera lors du lancement de la macro dans Concept dans le dialogue Remplacer des marques d’échange. Marques d’échange dans les noms de sections Lors de l’instantiation d’une macro, c.à.d. lors de son lancement à partir d’une section SFC, une nouvelle section avec le nom de la section de la macro est entre autres déposée automatiquement. Pour que la macro puisse à présent être instantiée plusieurs fois dans un projet, le nom de la section doit être modifié à chaque instantiation. C’est à cela que sert la marque d’échange dans le nom de section. Lors de la création de la section dans la macro, indiquez dès lors toujours une marque d’échange (@0 à @9) dans le nom de section. Du reste, vous ne pouvez appeler votre macro qu’une seule fois à partir d’une section SFC et l’utiliser dans le projet. Lors du lancement d’une macro à partir d’une section FBD-/LD, le nom de section de la macro est indispensable, parce qu’ici on ne dépose pas de nouvelle section. 33002205 12/2010 547 Macros Marque d’échange dans des noms de variables Pour transférer des valeurs à un réseau ou pour importer des valeurs à partir d’un réseau, on a besoin de variables d’entrée et de sortie. Ces variables sont déjà déclarées dans la macro et attachées aux EFB de la macro. Pour la déclaration de ces variables, vous définissez dans l’éditeur des variables le nom des variables (avec des marques d’échange), le type de données et éventuellement un commentaire (éventuellement avec des marques d’échange). Pour les variables d’entrée, on peut définir en plus une valeur initiale. Lors de l’instantiation d’une macro dans Concept, les marques d’échange sont remplacées, dans tous les noms de variables, par les suites de caractères déterminées par vous. On assure ainsi que, pour chaque utilisation de la macro, les variables nécessaires à cet effet sont automatiquement déclarées clairement. Si une variable doit être utilisée dans toutes les instantiations de la macro, attribuez à cette variable un nom sans les marques d’échange. Ceci vaut également pour des variables avec des types de données dérivés (structures de données). Cela signifie que le type d’une structure de données peut être utilisé dans autant de macros et aussi fréquemment qu’on le désire. Marques d’échange dans l’éditeur de variables NOTE : Si la macro doit être liée comme action à une étape d’une chaîne d’exécution (API), il est judicieux de désigner uniquement avec la marque d’échange @0 la variable prévue comme variable d’action. Dans ce cas, la variable d’action prévue par vous est automatiquement liée à l’étape lors de l’instantiation de la macro. Veuillez être attentif au fait que les variables d’action doivent toujours être du type BOOL. Si la macro contient plusieurs variables d’action (par ex. pour marche avant/ et arrière d’un moteur), il est judicieux de définir ces variables d’action dans un type de données dérivé (structure de données) et de désigner uniquement par la marque d’échange @0 la variable à laquelle ce type de données est assigné. 548 33002205 12/2010 Macros Etant donné que, lors de l’instantiation de la macro, une variable claire est assignée à chaque entrée/sortie, seules des variables non localisées peuvent être assignées à la macro lors de la création. L’utilisation d’adresses directes et de variables localisées n’est pas possible dans la macro. Dans le cas où vous voulez utiliser des variables localisées, vous pouvez assigner aux variables correspondantes, après l’instantiation de la macro, une adresse directe dans l’éditeur de variables. Dans le cas où vous voulez utiliser des adresses directes, n’assignez pas de variable dans la macro à l’entrée/sortie correspondante, et liez l’entrée/sortie à l’adresse désirée après l’instantiation de la macro. Si des variables sont déjà déclarées, celles-ci sont utilisées (les références et les valeurs initiales sont conservées). Marques d’échange dans des commentaires Lors de l’instantiation d’une macro dans Concept, les marques d’échange sont remplacées par la série de caractères prédéterminée par vous dans tous les commentaires. Ceci vaut aussi bien pour des objets texte dans la section, que pour des commentaires de variables dans l’éditeur de variables. 33002205 12/2010 549 Macros Création d’une aide sur contexte (aide en ligne) pour les macros. Introduction Dans Concept vous avez à votre disposition pour chaque EFB une aide, que vous pouvez appeler en fonction du contexte (Bouton de commande Aide pour type dans la boîte de dialogue Propriétés du EFB). Pour les macros que vous avez créées, il n’existe naturellement aucun texte d’aide correspondant dans Concept. Vous pouvez cependant, pour chaque macro, générer une aide propre qui peut être appelée dans Concept avec Aide pour type. Format de fichier Vous pouvez générer l'aide dans les formats de fichier suivants : .CHM (fichier HTML d'aide compilé de Microsoft Windows) z .DOC (format Microsoft Word) z .HTM (Hypertext Markup Language) z .HLP (fichier d’aide Microsoft Windows (format 16- ou 32-octets)) z .PDF (format Adobe Portable Document z .RTF (format Microsoft Rich Text) z .TXT (format texte ASCII simple) z Nom Le nom du fichier doit correspondre exactement au nom du macro (par ex. SKOE.EXT). La seule exception concerne les noms de macro classés par type (par ex. SKOE_BOOL, SKOE_REAL etc..) Dans ce cas, le nom du fichier d'aide est le nom du macro sans l'élément du type de fichier (par ex. nom du macro : SKOE_BOOL possède le fichier d'aide SKOE.EXT). Répertoire : Le fichier d'aide peut être mémorisés dans les répertoires suivants : Répertoire de Concept z Répertoire d'aide de Concept (au cas où CONCEPT.INI est défini dans le fichier, voir readme) z Répertoire global de macros z Répertoire local de macros z 550 33002205 12/2010 Macros Appel de l‘aide en ligne Pour l'appel de l'aide, Concept exécute la procédure suivante : Phase 1 Description Recherche du fichier d'aide NomMacro.EXT dans le répertoire local des macros. La recherche du fichier d'aide s'effectue dans l'ordre de procédure suivant : z .HLP z .CHM z .HTM z .RTF z .DOC z .TXT z .PDF Résultat : En cas de résultat positif de recherche, le fichier d'aide est affiché, sinon suite avec la phase 2. 33002205 12/2010 2 Recherche du fichier d'aide NomMacro.EXT dans le répertoire global des macros. Ordre de procédure, voir phase 1. Résultat : En cas de résultat positif de recherche, le fichier d'aide est affiché, sinon suite avec la phase 3. 3 Recherche du fichier d'aide NomMacro.EXT dans le répertoire de Concept ou dans le répertoire d'aide de Concept. Ordre de procédure, voir phase 1. Résultat : En cas de résultat positif de recherche, le fichier d'aide est affiché, sinon suite avec la phase 4. 4 Affichage du commentaire établi avec Projet →Caractéristiques en ConceptDFB. 551 Macros 14.2 Programmation et appel d’une macro. Aperçu Ce chapitre décrit la programmation et le lancement d’une macro. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 552 Page Introduction 553 Dépôt de la macro 554 Elaboration de la logique 555 Appel d’une macro à partir d’une section SFC 558 Appel d’une macro à partir d’une section FBD-/LD 561 33002205 12/2010 Macros Introduction Introduction La programmation et le lancement d’une macro se divisent en 3 étapes principales : Etape 33002205 12/2010 Action 1 Dépôt de la macro (voir page 554) 2 Elaboration de la logique (voir page 555) 3 Appel de la macro dans : z Langage d’exécution (SFC) (voir page 558) z Langage des unités de fonction (FBD) (voir page 561) z Langage du plan de contact (LD) (voir page 561) 553 Macros Dépôt de la macro Description Pour le dépôt de la macro, procédez comme suit : Etape 554 Action 1 Fermez Concept et démarrez Concept-DFB. 2 Avec la commande Fichier →Nouvelle macro... déposez une macro. Réaction : Dans la liste des titres apparaît à présent le nom [anonyme]. 3 Générez avec la commande Fichier →Nouvelle section... une nouvelle section et entrez un nom de section (avec une marque d’échange par ex. @0). Le nom de section (max. 32 caractères) doit être clair dans toute la macro, on ne fait pas de distinction ici entre caractères majuscules et minuscules. Si le nom de section entré existe déjà , vous en serez averti et vous devrez choisir un autre nom. Le nom de section doit correspondre aux Conventions CEI sur les noms , sinon il apparaît un message d’erreur. Note : Selon CEI 1131-3, uniquement des lettres sont permises comme premier caractère de noms. Si vous voulez néanmoins utiliser également des chiffres comme premier caractère, vous pouvez le valider avec la commande Options →Présélections el →Extensions CEI... →Extensions CEI →Chiffres de tête permis dans les indicateurs . 4 Choisissez un langage de programmation pour la section. z Langage des unités de fonction (FBD) z Plan de contact (LD) 5 Avec la commande Projet →Propriétés vous pouvez produire un commentaire sur la macro. Réaction : Avec le bouton de commande Aide sur type vous pouvez alors faire afficher ce commentaire dans Concept dans le dialogue de sélection pour les macros. 6 Avec la commande Fichier →Propriétés de section vous pouvez produire un commentaire sur les marques d’échange. Réaction : Ce commentaire apparaît alors automatiquement dans le dialogue Remplacement des marques d’échange. 7 Enregistrez à présent la macro avec la commande Fichier →Enregistrer macro. Réaction : Au premier enregistrement, la boîte de dialogue Enregistrer sous s’ouvre, dans laquelle vous spécifiez le nom de la macro et le répertoire dans lequel la macro doit être enregistrée. 8 Choisissez le répertoire dans lequel la macro doit être déposée. Soyez bien attentif ici à la différence entre les macros globales et locales (voir aussi Macros globales / locales, page 545). 9 Entrez le nom (max. 8 caractères) de la macro (toujours avec l’extension .Mac). Le nom doit être clair dans tout le répertoire, on ne fait pas de distinction ici entre majuscules et minuscules. Si le nom entré existe déjà , vous recevrez un avertissement et vous devrez sélectionner un autre nom. 33002205 12/2010 Macros Elaboration de la logique Description Pour créer la logique, procédez comme suit : Etape 33002205 12/2010 Action 1 Pour insérer un FFB dans la section, sélectionnez la commande Objets → Sélectionner FFB.... Réaction : La boîte de dialogue FFB dans la bibliothèque s’ouvre. 2 Dans cette boîte de dialogue, vous pouvez employer le bouton de commande Bibliothèque... pour sélectionner une bibliothèque et y choisir un FFB. Mais vous pouvez également utiliser le bouton de commande DFB pour afficher les DFB que vous avez générés et en sélectionner un. 3 Placez uniquement le DFB sélectionné dans la section. 4 Lorsque vous avez placé tous les DFB sélectionnés, fermez la boîte de dialogue avec Fermer. 5 Activez le mode de sélection avec Objets →Mode de sélection, cliquez sur le FFB et décalez les FFB sur la position souhaitée. 6 Activez le mode de liaison avec Objets →Liaison, et établissez les liaisons entre les FFB. 555 Macros Etape 7 Action A présent, activez avec Projet →Editeur de variables l’éditeur de variables pour déclarer les variables. Pour des variables non localisées, déclarez ici un nom (avec marques d’échange), un type de données, éventuellement une valeur initiale et éventuellement un commentaire (éventuellement avec des marques d’échange). Pour des constantes, déclarez ici un nom (avec des marques d’échange), un type de données, une valeur et éventuellement un commentaire (éventuellement avec des marques d’échange). Par exemple : Note : Dans le cas où vous voulez utiliser des variables localisées, vous pouvez assigner aux variables non localisées correspondantes une adresse directe dans l’éditeur de variables, après l’instantiation de la macro. Dans le cas où vous voulez utiliser des adresses directes, vous n’assignez à l’entrée/sortie aucune variable dans la macro et vous liez l’entrée/sortie à l’adresse désirée après l’instantiation de la macro. Note : Si une variable/constante doit être utilisée dans toutes les instantiations d’une macro, attribuez pour cette variable/constante un nom sans marque d’échange. 556 33002205 12/2010 Macros Etape 33002205 12/2010 Action 8 A présent, activez à nouveau le mode de sélection avec Objets →Mode de sélection, et cliquez doublement sur l’une des entrées/sorties non reliées. Réaction : La boîte de dialogue Relier FFB s’ouvre, dans laquelle vous pouvez affecter un paramètre réel à l’entrée/la sortie. 9 Enregistrez à présent la macro avec la commande Fichier →Enregistrer. Par exemple : 557 Macros Appel d’une macro à partir d’une section SFC Description de la procédure Pour appeler une macro à partir d’une section SFC, procédez comme suit : Etape Action 1 vous fermez le DFB Concept. 2 Démarrez Concept, ouvrez/produisez un projet et ouvrez/produisez une section SFC. 3 Ouvrez avec un double clic les propriétés d’étape de l’étape, à laquelle vous voulez relier la macro. 4 Appelez, avec le bouton de commande Instancier section... le dialogue pour l’instantiation de macros. 5 Sélectionnez la macro désirée dans la liste. Au cas où vous avez produit des groupes de sections dans le navigateur de projet, vous pouvez sélectionner, dans la zone de texte Insérer dans groupe de sections le groupe de sections, dans lequel la section doit être insérée. Confirmez avec OK. Exemple : Réaction : Le dialogue Remplacer pour le remplacement des marques d’échange s’ouvre. 558 33002205 12/2010 Macros Etape 6 33002205 12/2010 Action Attribuez aux zones de texte @0 à @9 les séries de caractères, par lesquelles les marques d’échange doivent être remplacées dans la macro. Exemple : 559 Macros Etape 560 Action 7 Confirmez les entrées à l’aide de Valider. Réaction : Après l’exécution de la procédure décrite ci-dessus, vous obtenez les réactions suivantes : z Une section est à présent automatiquement produite, dont le nom se compose du nom de section de la macro et, au lieu de la marque d’échange, de la série de caractères que vous lui avez attribuée. Note : Cette section ne s’ouvre pas automatiquement. Dans le cas où vous voulez la traiter, vous devez l’ouvrir par un double clic sur le nom de variable dans le dialogue Propriétés d’étape. z Toutes les variables déclarées dans la macro sont transférées dans la déclaration de variables de votre projet actuel et la marque d’échange est également remplacée par la série de caractères actuelle. Si des variables sont déjà déclarées, celles-ci sont utilisées (les références et les valeurs initiales sont conservées). Ceci vaut également pour tous les commentaires, qui contiennent la marque d’échange. z Au cas où la macro contient une seule variable d’entrée binaire, celle-ci est automatiquement reprise comme variable d’action. z Si la macro comprend plusieurs variables d‘entrée binaires, alors s‘ouvrira le dialogueSélectionner une de ces variables dans lequel vous pouvez choisir la variable souhaitée comme variable d‘action. z Si vous avez désigné une structure de données uniquement avec la marque d’échange, alors le dialogue Sélection de l’élément de type binaire est appelé et vous pouvez y choisir la variable binaire désirée pour votre action. 8 Avec cette procédure, vous pouvez appeler la macro aussi souvent que vous le désirez, sans conduire à des conflits de noms. La macro instantiée et ses variables ne se différencient en aucune manière des sections et variables créées de façon conventionnelle. Exemple d’une macro instantiée : 33002205 12/2010 Macros Appel d’une macro à partir d’une section FBD-/LD Description de la procédure Pour appeler une macro à partir d’une section FBD-/LD, procédez comme suit : Etape 33002205 12/2010 Action 1 vous fermez le DFB Concept. 2 Démarrez Concept, ouvrez/produisez un projet et ouvrez/produisez une section FBD-/LD. 3 Appelez, avec la commande Objets →Macro insérer le dialogue Sélectionner macro pour insérer des macros dans des sections FBD-/LD. 4 Sélectionnez la macro désirée dans la liste et confirmez avec OK. Réaction : Le dialogue Remplacer pour le remplacement des marques d’échange s’ouvre. 5 Attribuez aux zones de texte @0 à @9 les séries de caractères, par lesquelles les marques d’échange doivent être remplacées dans la macro. Exemple : 561 Macros Etape 562 Action 6 Confirmez les entrées à l’aide de Valider. Réaction : Après l’exécution de la procédure décrite ci-dessus, vous obtenez les réactions suivantes : z On bascule à présent automatiquement dans le mode Insertion et la logique de la macro peut être insérée à une position quelconque dans la section FBD/LD. z Par ailleurs, toutes les variables déclarées dans la macro sont transférées dans la déclaration de variables de votre projet actuel et la marque d’échange est alors remplacée par la série de caractères actuelle. Ceci vaut également pour tous les commentaires, qui contiennent la marque d’échange. 7 Avec cette procédure, vous pouvez appeler la macro aussi souvent que vous le désirez, sans conduire à des conflits de noms. La macro insérée et ses variables ne se différencient en aucune manière des sections et variables créées de façon conventionnelle. Exemple d’une macro instantiée : 33002205 12/2010 Editeur de variables 33002205 12/2010 Editeur de variables 15 Aperçu Ce sous-chapitre contient des informations sur la déclaration de variables dans l’éditeur de variables. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Remarques générales 564 déclarer des variables 565 rechercher et remplacer des noms de variables et des adresses 568 Recherche et insertion de noms de variables et d’adresses 572 Export de variables localisées 576 563 Editeur de variables Remarques générales Introduction La déclarationde variables sert à l’échange de données dans le programme de l’utilisateur. Cependant vous pouvez adresser des variables (Localisées et des variables non-localisées) et/ou attribuer une valeur à des constantes. Des variables ou des adresses directes sont associées par l’adressage de composants E/S et peuvent être utilisées avec des noms symboliques (variable) ou de l’adresse directe dans la programmation. Cependant, des valeurs entre les différentes sections sont échangées sur les variables ou sur les adresses directes. NOTE : Selon CEI1131-3, il ne faut employer que des lettres comme premier signe pour des noms de variables. Si vous voulez cependant utiliser un chiffre comme premier caractère, vous pouvez autoriser l’utilisation par le biais de la commande Options →Environnement →Extensions CEI... →Extensions CEI →Chiffres en tête de qualificatif autorisés. NOTE : Des variables non déclarées sont refusées lors de la programmation. 564 33002205 12/2010 Editeur de variables déclarer des variables Introduction Lors de la déclaration de variables sont déterminés le type de données , l’adresse et le nom symbolique. Par l’adressage, vous définissez respectivement les entrées (1x/3x) ou les sorties (0x/4x), qui sont associées au choix de type de données de la fonction correspondante, ou aux éléments constitutifs de fonction correspondants dans le programme de l’utilisateur. Chaque variable peut être dotée d’une valeur initiale supplémentaire qui est transférée dans l’API lors du premier chargement. Vous avez la possibilité pour toutes variablesou adresse directe d’inscrire un commentaire qui fait reconnaître l’association d’une fonction. Au cas où des déclarations sont modifiées, effacées ou ajoutées, cette situation de changement est caractérisée par des symboles définis dans la première colonne. Modification en mode CONNECTÉ Le nom des variables et l’adresse des variable peuvent être modifiés en ligne. Par ailleurs, une variable non-localisée peut être modifiée en une variable localisée (c.à.d. qu’une adresse lui sera respectivement attribuée ou effacée). Les modifications sont reprises en validant avec le bouton de commande OK dans les sections concernées, c.à.d. la section dans laquelle les variables modifiées sont utilisées. Ceci entraîne les conséquences suivantes : Si... Alors... vous changez des variables, l’état de toutes les Sections concernées est mis sur MODIFIÉ, et que les Sections concernées doivent être chargées dans l’API avec En ligne →Chargement des modifications. une section de transition est concernée par les modifications, la section SFC qui lui est associée est également mise sur l’état MODIFIÉ. une section concernée est l’animation est terminée. animiée, une variable modifiée est utilisée dans les données de référence de l’éditeur, aucune autre variable ne peut être insérée dans la fenêtre de l’éditeur, et l’animation de l’éditeur de données de référence est arrêtée. Ceci est valable aussi longtemps que les modifications avec En ligne →Chargement des modifications sont chargées dans l’API et ainsi reconstituées avec l’état ÉGAL. NOTE : L’association d’adresses directes et de commentaires peut également avoir lieu en dehors d’un concept après fermeture de la programmation. 33002205 12/2010 565 Editeur de variables Décalration de variables en dehors de l’éditeur de variables Manière de procéder lors de l’établissement d’un déclaration de variables en dehors de l’éditeur de variables : Etape Action 1 Exportez les délarations de variables avec Fichier →Exporter →Variables : Texte délimité. 2 Ouvrez le fichier exporté. 3 Introduisez les adresses et les commentaires. 4 Importez les déclarations de variables éditées avec Fichier →Importer → Variables : Texte délimité. Copier des lignes dans l’éditeur de variables Il est possible de copier des lignes individuelles ou alors des blocs de lignes entiers pour les réinsérer dans l’éditeur de variables à un autre endroit et les éditer. Cette opération s’effectue par l’intermédiaire de raccourcis clavier. Les opérations de copie et d’insertion ne sont possibles qu’ à l’intérieur de l’éditeur de variables lorsque celui-ci a été ouvert, les lignes insérées étant relevées en rouge. Ces lignes doivent alors être modifiées sinon elles seront perdues lorsque l’on quitte le dialogue. Des paramètres identiques ne sont pas admissibles à l’intérieur de l’éditeur de variables. NOTE : On peut copier un maximum de 500 lignes. Procédure pour la copie et l’insertion Pour la copie et l’insertion de lignes entières, procédez aux étapes suivantes : Etape 566 Action 1 Sélectionnez la ligne voulue dans la première colonne du tableau. Réaction :la ligne entière est affichée dans une autre couleur. Note : Pour copier un bloc de lignes, sélectionnez la première ligne du bloc, et appuyez sur la touche MAJ tout en sélectionnant la dernière ligne du bloc. 2 Pour copier , appuyez sur la combinaison de touches CTRL+Col ou CTRL+ALT+c. Réaction :les lignes sélectionnées sont copiées dans la mémoire intermédiaire. 3 Sélectionnez la ligne à partir de laquelle vous souhaitez insérer du texte. Réaction :la ligne entière est affichée dans une autre couleur. 4 Pour insérer du texte , appuyez sur la combinaison de touches MAJ+Col ou CTRL+ALT+c. Réaction :Les lignes copiées sont insérées dans le tableau à partir de la ligne sélectionnée, et représentées en rouge. Note : Si vous insérez entre deux lignes existantes, la ligne sélectionnée est déplacée vers le bas en fonction du nombre de lignes copiées. 33002205 12/2010 Editeur de variables Imprimer la liste des variables L’impression de la liste des variables s’effectue par l’intermédiaire du menu principal Fichier. Avec la commande Imprimer... vous ouvrez le dialogue Contenu du document , dans lequel vous réglez l’exécution de l’impression en activant la case à cocher Liste de variables. NOTE : Nota : Lors de l’impression, il n’ est pas certain que tous les 32 caractères (maximum) du nom de symbole apparaîtront sur papier. 33002205 12/2010 567 Editeur de variables rechercher et remplacer des noms de variables et des adresses Introduction Avec le bouton de commande Rechercher/remplacer vous pouvez appeler une boîte de dialogue pour rechercher et remplacer des noms de variables et des adresses. Contrairement à Rechercher/Coller , les noms/adresses de variables existant ont été modifiés. Par ces boutons d’option Nom et Adresse choisissez si vous souhaitez rechercher les noms de variables ou les adresses. Si vous souhaitez limiter la recherche et le remplacement à une zone définie de variables ou d’adresses, vous pouvez sélectionner cette zone. Dans ce cas , la recherche et le remplacement se font uniquement dans la zone sélectionnée. Si aucune sélection n’ a été effectuée, la recherche et le remplacement se réfèrent toujours à toutes les variables et adresses contenues dans l’éditeur de variables. Si vous activez la case à cocher Extension d’adresse dans la zone de texte Adresse les adresses renseignées sont automatiquement étendues au format standart. Utilisation de caractères joker Lors d’une recherche et d’un remplacement, les caractères joker suivants peuvent être utilisés : * Ce symbole est utilisé comme caractère joker pour n’importe quel nombre de caractères. * ne peut être employé qu’en début et en fin de phrase. ? Ce symbole n’occupe la place que d’un seul caractère. Si plusieurs symboles doivent être ignorés, un nombre correspondant de ? doit alors être employé. Les caractères joker peuvent être combinés. Les combinaisons *? et ?* ne sont toutefois pas permises. NOTE : Lors d’une recherche et d’un remplacement, le nombre des caractères joker doit être le même dans la chaîne de caractères de la recherche et celle du remplacement. Voyez à ce sujet également les exemples suivants dans le tableau. 568 33002205 12/2010 Editeur de variables Exemple de recherche/remplacement L’exemple montre différentes méthodes de recherche et les résultats correspondants lors du remplacement : Rechercher : Remplacer par : noms présents résultat nom 1 nom2 nom 1 nom1A nomA nomB nom2 nom1A nomA nomB ???123 ???456 abc123 cde123 abcd123 abc1234 abc456 cde456 abcd123 abc1234 nom1* nom2* nom1A nom1B nomAB nom2A nom2B nomAB *123 *456 abc123 cde123 abc1234 abcde123 abc456 cde456 abc4564 abcde456 *123* *456* abc123abc cde123defghi abcde123def abc456abc cde456defghi abcde456def ???123* ???456* abc123abc cde123defghi abcde123def abc456abc cde456defghi abcde123def Rechercher le nom et le remplacer Si vous sélectionnez ce bouton d’option , vous pouvez alors chercher et remplacer des noms de variables. On y recherche uniquement dans la colonne Nom de variable de l’éditeur de variables les occurrences des chaînes de caractères à rechercher. Recherchez et remplacer l’adresse Si vous sélectionnez ce bouton d’option , vous pouvez alors chercher et remplacer des adresses. Seule la présence de l’adresse à rechercher est recherchée dans la colonne Adresse de l’éditeur de variables. 33002205 12/2010 569 Editeur de variables Rechercher : Entrez une chaîne de caractères d’après laquelle la recherche de variables ou d’adresses doit se faire. Aucune des fonctions disponibles dans le dialogue n’est exécutée sans l’indication d’une chaîne de caractères qui aboutit à un résultat de recherche positif. NOTE : Les entrées dans le champ Rechercher restent également disponibles pour des utilisations ultérieures après fermeture de la boîte de dialogues. Remplacer par : Entrez une chaîne de caractères par laquelle la chaîne de caractères recherchée doit être remplacée dans la nouvelle variable ou adresse. NOTE : Les entrées dans le champ Remplacer par restent également disponibles pour des utilisations ultérieures après fermeture de la boîte de dialogues. Suivant Description de la fonction Suivante : Echelon 570 Description 1 Avec le bouton de commande Suivante le processus de recherche démarre au début du tableau de l’éditeur de variables ou de la zone sélectionnée et la variable trouvée est sélectionnée. 2 Il vous est demandé si la chaîne de caractères doit être recherchée ailleurs. 3 En validant avec le bouton de commande Oui, le prochain emplacement de la chaîne de caractères recherchée est sélectionné. En validant avec le bouton de commande Non , la recherche est quittée. 4 Si l’opération de recherche atteint la fin du tableau de l’éditeur de variables, il vous est demandé si la recherche doit ou non recommencer au début du tableau de l’éditeur de variables ou de la zone sélectionnée. 5 En validant avec le bouton de commande Oui, le prochain emplacement de la chaîne de caractères recherchée est sélectionné. En validant avec le bouton de commande Non , la recherche est quittée. 6 Si aucune autre présence de la chaîne de caractères n’ a été trouvée, un message comme quoi la recherche est terminée apparaît. 33002205 12/2010 Editeur de variables Remplacer Description de la fonction Remplacer : Echelon 1 Description Avec le bouton de commande Remplacer le processus de recherche démarre au début du tableau de l’éditeur de variables ou de la zone sélectionnée et la variable trouvée est sélectionnée. Note : Cette fonction ne peut pas être annulée. 2 Il vous est demandé si la chaîne de caractères trouvée doit être remplacée. 3 En validant avec le bouton de commande Oui , la variable/adresse est remplacée par la chaîne de caractères dans la zone de texte Remplacer par : . Avec le bouton de commande Non, la recherche est terminée. 4 Si plusieurs utilisations de la chaîne de caractères recherchée sont disponibles, le prochain emplacement est sélectionné et une nouvelle demande a lieu. 5 Si l’opération de recherche atteint la fin du tableau de l’éditeur de variables, il vous est demandé si la recherche doit ou non recommencer au début du tableau de l’éditeur de variables ou de la zone sélectionnée. 6 En validant avec le bouton de commande Oui, le prochain emplacement de la chaîne de caractères recherchée est sélectionné. Avec le bouton de commande Non, la recherche est terminée. 7 Si aucune autre présence de la chaîne de caractères n’ a été trouvée, un message comme quoi la recherche est terminée apparaît. Remplacer tout Recherche toutes les présences de la chaîne de caractères recherchée et les remplace (sans interrogation préalable) par les indications contenues dans la zone de texte Remplacer tout :. Si l’opération de recherche atteint la fin du tableau de l’éditeur de variables, il vous est demandé si la recherche doit ou non recommencer au début du tableau de l’éditeur de variables ou de la zone sélectionnée. NOTE : Cette fonction ne peut pas être annulée. 33002205 12/2010 571 Editeur de variables Recherche et insertion de noms de variables et d’adresses Introduction En validant avec le bouton de commande Rechercher/Coller vous pouvez appeler un dialogue pour établir de nouvelles variables qui sont basées sur d’autres déjà présentes. Contrairement à Rechercher/Remplacer, une copie des variables disponibles est créée avec un nouveau nom/une nouvelle adresse. Si vous avez par exemple déjà déclaré les variables pour un moteur et si vous souhaitez déclarer les mêmes variables pour un autre moteur mais avec d’autres noms et adresses, ceci est tout simplement possible avec ce dialogue. Si vous souhaitez créer d’autres variables uniquement à partir d’une zone définie, vous pouvez sélectionner cette zone. Dans ce cas, la recherche s’effectue uniquement dans la zone sélectionnée. Si rien n’a été selectionné, la recherche et l’insertion se rapportent toujours à toutes les variables de l’éditeur de variables. Si vous activez la case à cocher Etendre l’adresse, les adresses indiquées dans la zone de texte adresse sont automatiquement étendues au format standard . Utilisation de caractères joker Lors d’une recherche et d’une insertion, les caractères joker suivants peuvent être utilisés : * Ce symbole est utilisé comme caractère joker pour n’importe quel nombre de caractères. * ne peut être employé qu’en début et en fin de phrase. ? Ce symbole n’occupe la place que d’un seul caractère. Si plusieurs symboles doivent être ignorés, un nombre correspondant de ? doit alors être employé. Les caractères joker peuvent être combinés. Les combinaisons *? et ?* ne sont toutefois pas permises. NOTE : Lors d’une recherche et d’une insertion, le nombre de caractères joker doit être le même dans la chaîne de caractères de recherche et dans celle d’insertion. Rechercher un nom Si vous sélectionnez cette case d’option, vous pouvez rechercher les noms de variables. On y recherche uniquement dans la colonne Nom de variable de l’éditeur de variables les occurrences des chaînes de caractères à rechercher. Rechercher des adresses Cette zone n’est pas disponible uniquement pour les constantes. Si vous sélectionnez cette case d’option, vous pouvez rechercher des adresses. Seule la présence de l’adresse à rechercher est recherchée dans la colonne Adresse de l’éditeur de variables. 572 33002205 12/2010 Editeur de variables Rechercher : Entrez la chaîne de caractères à rechercher dans des variables ou adresses. Lors de la recherche, il ne faut chercher que dans les colonnes Nom de la variables et adresse du tableau de l’éditeur de variables. Une recherche dans d’autres zones (par ex. type de données) n’est pas possible. Aucune des fonctions disponibles dans le dialogue n’est exécutée sans l’indication d’une chaîne de caractères qui aboutit à un résultat de recherche positif. NOTE : Les entrées dans le champ Rechercher restent également disponibles pour des utilisations ultérieures après fermeture de la boîte de dialogues. Remplacer par : Entrez une chaîne de caractères par laquelle la chaîne de caractères recherchée doit être remplacée dans la nouvelle variable ou adresse. Si le nom entré existe déjà, aucune nouvelle variable n’est créée. NOTE : Les entrées dans le champ Remplacer par restent également disponibles pour des utilisations ultérieures après fermeture de la boîte de dialogues. Décalage d’adresse : Cette zone n’est pas disponible uniquement pour les constantes. Indiquer une valeur de laquelle les adresses des variables existantes seront augmentées. NOTE : Si vous n’entrez aucune valeur de décalage, la nouvelle variable est déposée à la même adresse que celle qui existe déjà. Il n’est pas nécessaire d’entrer une valeur pour les variables non-affectées. Les entrées dans cette zone restent maintenues même après la fermeture du dialogue en vue d’une prochaine utilisation. Exemple de décalage d’adresse SKOE1 à l ’ adresse 000012 Rechercher : SKOE1 Remplacer par : SKOE2 Décalage d’adresse : 1 Le résultat a donné la variable suivante nouvellement établie : SKOE2 sur adresse 000013 33002205 12/2010 573 Editeur de variables Suivant Description de la fonction Suivante : Echelon Description 1 Avec le bouton de commande Suivante le processus de recherche démarre au début du tableau de l’éditeur de variables ou de la zone sélectionnée et la variable trouvée est sélectionnée. 2 Il vous est demandé si la chaîne de caractères doit être recherchée ailleurs. 3 En validant avec le bouton de commande Oui, le prochain emplacement de la chaîne de caractères recherchée est sélectionné. En validant avec le bouton de commande Non, la recherche prend fin. 4 Si l’opération de recherche atteint la fin du tableau de l’éditeur de variables, il vous est demandé si la recherche doit ou non recommencer au début du tableau de l’éditeur de variables ou de la zone sélectionnée. 5 En validant avec le bouton de commande Oui, le prochain emplacement de la chaîne de caractères recherchée est sélectionné. En validant avec le bouton de commande Non, la recherche prend fin. 6 Si aucune autre présence de la chaîne de caractères n’a été trouvée, un message comme quoi la recherche est terminée apparaît. Lancer insertion Description de la fonction Lancer l’insertion : Echelon 574 Description 1 Avec le bouton de commande Lancer insertion le processus de recherche est démarrré au début du tableau de l’éditeur de variables ou de la zone sélectionnée et la variable est sélectionnée. Note : Cette fonction ne peut pas être annulée. 2 Il vous est demandé si une nouvelle variable doit être créée avec le nom affiché et l’adresse affichée. 3 En validant avec le bouton de commande Oui, la variable est créée et l’opération est poursuivie jusqu’ à ce que toutes les occurences de la chaîne de caractères soient "traitées". Avec le bouton de commande Non, la recherche est terminée. 4 Quand le processus de recherche atteint la fin du tableau de l’éditeur de recherche de variables, il vous est demandé si le processus de recherche doit être recommencé au début du tableau de l’éditeur de variables ou de la zone sélectionnée. 5 En validant avec le bouton de commande Oui, le prochain emplacement de la chaîne de caractères recherchée est sélectionné. Avec le bouton de commande Non, la recherche est terminée. 6 Si aucune autre présence de la chaîne de caractères n’a été trouvée, un message comme quoi la recherche est terminée apparaît. 33002205 12/2010 Editeur de variables Coller le tout Recherche toutes les occurrences de la chaîne de caractères à rechercher et les remplace (sans demande préalable) par de nouvelles variables, en tenant compte des indications dans la zone de texte Remplacer par : des nouvelles variables. Cette opération se poursuit jusqu’ à ce que toutes les occurences de la chaîne de caractères recherchée aient été traitées ou qu’ une erreur se produise. La fonction est interrompue dès qu’ un défaut se produit. Toutes les variables juquelà créées restent cependant maintenues. NOTE : Cette fonction ne peut pas être annulée. 33002205 12/2010 575 Editeur de variables Export de variables localisées Introduction Pour l’échange de données avec des unités DOP, toutes les variables localisées peuvent être sélectionnées dans la colonne Exp et être transférées avec la fonction export dans le menu principal Fichier. Des variables localiséespeuvent être exportées au moyen de ModLink, de Factory Link et avec le format d’export "Texte avec séparateurs". Suppression de la sélection Après l’export, la sélection (dans la colonne Exp) des variables exportées peut être supprimée en une fois par la combinaison de touches Ctrl+Alt+F3 . NOTE : Cette suppression ne peut plus être annulée, également pas avec le bouton de commande Annuler. 576 33002205 12/2010 Navigateur de projet 33002205 12/2010 Navigateur de projet 16 Aperçu Ce chapitre décrit le navigateur de projet. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Remarques générales sur le Navigateur de projet 578 Fenêtre détaillée du navigateur de projet 581 Commande du parcoureur de projet 583 577 Navigateur de projet Remarques générales sur le Navigateur de projet Introduction Le navigateur de projet permet de former des groupes de sections permettant d'améliorer la clarté et le confort d'utilisation. Ces groupes reçoivent des noms uniques et peuvent être formés de sections et d’autres groupes de sections. La représentation et l'utilisation s’effectuent par voie graphique à l’aide d'une arborescence. Les fonctions du navigateur de projet améliorent confortablement les commandes possibles et constituent une alternative aux fonctions de Concept déjà disponibles. Vous pouvez ouvrir une fenêtre supplémentaire dans le navigateur de projet, afin d'afficher les DFB, les sections à blocs de commande et les sections de transition. Navigateur de projet : 578 33002205 12/2010 Navigateur de projet Fonctions Le navigateur de projet prévoit les fonctions suivantes : z Créer de nouvelles sections z Ouvrir des sections (appeler l’éditeur) z Modifier les caractéristiques des sections (noms, commentaires) z Modifier l’ordre d’exécution z Supprimer des sections z Créer des groupes de sections z Ouvrir des groupes de sections (afficher les niveaux inférieurs) z Fermer des groupes de sections (masquer les niveaux inférieurs) z Renommer des groupes de sections z Rechercher des groupes de sections/des sections dans le navigateur de projet z Déplacer des groupes de sections/des sections (ce qui entraîne une modification de l’ordre d’exécution ! ) z Démarrer la prédiction mémoire hors ligne z Supprimer des groupes de sections z Ouvrir le configurateur z Réduire les sections ouvertes z Ouvrir les sections réduites z Fermer les sections ouvertes z Agrandir la fenêtre à sa taille maximale z Afficher en détails z Sur les systèmes à redondance d’UC, des sections individuelles peuvent être exclues de la synchronisation des UC primaire et rédondante. z Animer les états de validation (animation de l'arborescence) z Changer l'état de libération Restrictions Observez les restrictions suivantes : Les groupes de sections ne peuvent être créés qu’à l’aide du navigateur de projet. z Les sections de transition ne sont pas visualisées dans le navigateur de projet. z La modification de l’ordre d’exécution à l'aide de Projet →Ordre d’exécution est uniquement possible, s’il n’existe pas de groupe de sections dans le navigateur de projet. A l'issue de la création du premier groupe de sections, vous ne pouvez plus apporter de modifications à l'aide de Projet →Ordre d’exécution. z Le changement de l’état de validation d’une section n’est possible que si la variable (.disable) correspondant à cette section n’a pas été utilisée. z 33002205 12/2010 579 Navigateur de projet Particularités de LL984 Notez les particularités suivantes liées à l’utilisation de LL984 : Si une ou plusieurs sections LL984 sont disponibles, le navigateur de projet crée automatiquement un groupe de sections LL984. z Les sections LL984 ne peuvent pas être déplacées. z Les sections CEI ne peuvent pas être insérées dans ou devant un groupe de sections LL984. z Particularités des événements d'E/S et des événements de temporisation Notez les particularités suivantes liées à l’utilisation de sections d'interruption : z Si une ou plusieurs sections d'interruption sont disponibles, le navigateur de projet crée automatiquement un groupe de sections d'événements d'E/S ou de temporisation. z Les sections d'interruption ne peuvent pas être déplacées. z Les sections CEI ne peuvent pas être insérées dans ou devant un groupe de sections d'interruption. 580 33002205 12/2010 Navigateur de projet Fenêtre détaillée du navigateur de projet Introduction Dans le menu contextuel du projet, la commande Afficher la vue détaillée vous permet de diviser la fenêtre du navigateur de projet en deux volets verticaux. Le volet droit affiche des informations détaillées sur l'élément sélectionné dans l'arborescence des projets. Le type d'information dépend de l'élément sélectionné. 33002205 12/2010 Elément Information Projet Arborescence de tous les DFB utilisés dans le projet. Groupe Néant Section LL984 Néant FBD/LD Arborescence de tous les DFB utilisés dans la section. Si aucun DFB n'est utilisé, le système affiche un message (!). ST/IL Arborescence de tous les DFB utilisés dans la section. Si aucun DFB n'est utilisé, ou en cas d'erreur d'analyse, le système affiche un message (!). SFC Le module d'informations SFC peut contenir les informations suivantes : z la section contenant le bloc de commande (p. ex. SFC_CTRL) de cette section SFC. z Message doté d'un point d'exclamation rouge (!) : Dans l'ordre d'exécution, la section SFC se trouve avant celle contenant le bloc de commande. z Message doté d'un point d'exclamation noir (!) : Aucune section de transition n'est utilisée. z Toutes les sections de transition utilisées. 581 Navigateur de projet Fenêtre détaillée dans la fenêtre droite du navigateur de projet. 582 33002205 12/2010 Navigateur de projet Commande du parcoureur de projet Introduction Le parcoureur permet la commande par clavier et par souris. Commande par la souris Commande du parcoureur de projet par la souris : Fonction Touche Sélection d’un groupe/une section (lors de la sélection une section déjà ouverte est placée devant toutes les autres fonctions ouvertes) Touche gauche de la souris Appel du menu contextuel Touche droite de la souris Exécution du 1er point de menu du menu contextuel Double clic avec la touche gauche de la souris Déplacer un groupe/une section cliquer avec la touche gauche de la souris sur le symbole correspondant, maintenir la touche appuyée, aller sur la position cible en déplaçant la souris et relâcher la touche de la souris. ou Appeler menu contextuel (touche droite de la souris) →Sélectionner Déplacer → Chercher la position cible à l'aide des touches de curseur vers le haut/vers le bas →Confirmer la position avec Entrée Ouvrir ou fermer un groupe de sections cliquer avec la touche gauche de la souris +/sur le symbole correspondant NOTE : Les menus contextuels n’apparaissent pas uniquement lorsqu’on clique sur les symboles. Vous pouvez procéder de la façon suivante pour insérer un groupe/une section : Lorsque le pointeur de la souris est positionné à droite de la ligne de liaison de deux symboles, il change, indiquant ainsi qu’il est possible d’appeler un menu contextuel à cet endroit en cliquant avec la touche droite de la souris. Ceci permet d’insérer un nouveau groupe/une nouvelle section sur la ligne sélectionnée. 33002205 12/2010 583 Navigateur de projet Utilisation du clavier Commande du parcoureur de projet à l’aide du clavier : Fonction Touche sélectionner le groupe/la section suivant(e)/précédent(e) (lors de la sélection une section déjà ouverte est placée devant toutes les autres fonctions ouvertes) Curseur vers le haut /Curseur vers le bas sélectionner un groupe/une section sur la page suivante/précédente Ecran vers le haut /Ecran vers le bas Sélectionner symbole de projet Pos1 sélectionner le dernier groupe/la dernière section Fin Défiler à l’aide du clavier CTRL + Curseur vers le haut /Curseur vers le bas ou CTRL + Ecran vers le haut /Ecran vers le bas Appel du menu contextuel MAJ + F10 ou List Exécution du 1er point de menu donnée, saisie / entrée Déplacer un groupe/une section Appeler menu contextuel (touche droite de la souris) →Sélectionner Déplacer → Chercher la position cible à l'aide des touches de curseur vers le haut/vers le bas →Confirmer la position avec Entrée ou CRTL + MAJ →Curseur vers le haut/vers le bas / Ecran vers le haut/vers le bas → Confirmer la position avec Entrée Ouvrir ou fermer un groupe de sections + ou wobei : + restaurez l’état d’avant le dernier - Ouvrir un groupe de sections et tous les sous- * groupes 584 Effacer un groupe/une section Eff Sélection du groupe supérieur Curseur vers la gauche ou Effacer en arrière Si l’élément actuellement sélectionné est un groupe, celui-ci sera fermé avant la sélection du groupe supérieur en utilisant Curseur vers la gauche. 33002205 12/2010 Navigateur de projet 33002205 12/2010 Fonction Touche Sélection de la première section/du premier groupe dans un groupe Curseur vers la droite Au cas où le groupe est fermé et contient des sections/groupes, il sera ouvert. Annuler le déplacement ECHAP 585 Navigateur de projet 586 33002205 12/2010 Types de données dérivés 33002205 12/2010 Types de données dérivés 17 Aperçu Ce chapitre décrit l’éditeur de type de données et la création des types de données dérivés. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 17.1 Remarques générales sur les types de données dérivés 17.2 Syntaxe de l’éditeur de types de données 596 17.3 Occupation de la mémoire par des types de données dérivés 608 17.4 Appel de types de données dérivés : 610 588 587 Types de données dérivés 17.1 Remarques générales sur les types de données dérivés Aperçu Ce chapitre contient des informations d’ordre général sur les types de données dérivés. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 588 Page Types de données dérivés 589 Types de données dérivés locaux / globaux 592 Définition avancée de type de données (supérieure à 64 Ko) 594 33002205 12/2010 Types de données dérivés Types de données dérivés Introduction Les types de données dérivés sont définis à l’aide de l’éditeur du type données. Pour la définition de nouveaux types de données, vous pouvez utiliser tous les Types de données élémentaires et les types de données dérivés qui existant déjà dans un projet. NOTE : Dans Concept/Concept DFB, vous ouvrez l’éditeur de type de données à l’aide de Fichier →Ouvrir →Format de fichier - Fichier de type de données (*.DTY). NOTE : Prière de considérer que les commandes Fichier →Enregistrer projet et Fichier →Enregistrer projet sous... ne sont pas disponibles dans cet éditeur. Pour mémoriser vos types de données dérivés, sélectionnez la commande Fichier →Quitter. Utilisation de types de données dérivés Les types de données dérivés permettent de transmettre différents paramètres de blocs fonction en un jeu de paramètres. Dans les DFB et les EFB, ce jeu de données est alors décomposé à nouveau dans les différents paramètres qui sont ensuite traités et sortis regroupés dans un jeu de paramètres ou de façon individuelle. 33002205 12/2010 589 Types de données dérivés Utilisation de types de données dérivés dans un DFB : NOTE : Pour la définition des types de données dérivés IN et OUT, voir Exemple d’un type de données dérivé, page 598. Définition de types de données dérivés La définition de types de données dérivés s’effectue sous forme textuelle. Vous pouvez utiliser toutes les fonctions standards disponibles sous Windows pour le traitement de texte lors de saisie du texte. De plus, l’éditeur de types de données contient des commandes supplémentaires pour le traitement de texte. Lorsque des mots-clé, des séparateurs et des commentaires sont entrés, un contrôle de l’orthographe est immédiatement effectué. Si un mot-clé, un séparateur ou un commentaire est reconnu, cela est indiqué par un changement de couleur. 590 33002205 12/2010 Types de données dérivés Conventions de nom Pour les types de données dérivés, les conventions de nom suivantes s’appliquent : z Variable multi-éléments Lorsqu’une variable est affectée à un type de données dérivé (zone ou structure), cette variable est appelée variable multi-éléments. z Variable structurée Lorsqu’une variable est affectée à un type de données dérivé composé de plusieurs éléments, cette variable est appelée variable structurée. La déclaration contient, dans ce cas, le mot clef STRUCT (voir page 599). Ceci est également valable lorsque ce type de données dérivé contient uniquement des déclarations ARRAY. par ex. TYPE EXP : STRUCT PAR1 : ARRAY [0..1] OF INT; PAR1 : REAL PAR3 : TEST; END_STRUCT; END_TYPE z Variable de zone Lorsqu’une variable est affectée à un type de données dérivé composé d’une seule Déclaration ARRAY (voir page 600), cette variable est appelée variable de zone. Le mot clef STRUCT n’est pas utilisé dans ce cas. par ex. TYPE TEST : ARRAY [0..1] OF UINT; END_TYPE 33002205 12/2010 591 Types de données dérivés Types de données dérivés locaux / globaux Description Concept fait la différence entre les types de données dérivés globaux et les types de données dérivés locaux. Les types de données dérivés peuvent être utilisés dans chaque projet (Concept) ou dans chaque DFB (DFB Concept). Les types de données dérivés doivent être stockés dans le sous-répertoire DFB du répertoire Concept. Les types de données dérivés ne sont reconnus que dans le contexte d'un projet ou d'un DFB local et ne peuvent être utilisés qu'avec celui-ci. Les types de données dérivés locaux doivent se trouver dans le sous-répertoire DFB du répertoire du projet. Dans le Généralités sur le fichier INI de Concept, page 1143 vous pouvez définir qu'un répertoire GLB contenant les types de données dérivés globaux est créé dans le répertoire du projet lors du processus de chargement CEI. Ainsi les types de données dérivés globaux disponibles dans Concept →DFB ne sont pas écrasés. Cela n'a de plus aucune influence sur les autres projets. NOTE : Veuillez respecter cette structure de fichier dès la création de types de données dérivés car la commande Fichier →Enregistrer projet sous n'est pas disponible. Veillez donc absolument à sélectionner le chemin correct avant d'appuyer sur OK. Structure des répertoires sans projet téléchargé : 592 33002205 12/2010 Types de données dérivés Structure des répertoires selon la configuration INI ([Upload] : PreserveGlobalDFBs=1) pour les projets téléchargés : Nombre de fichiers de type de données Concept ne prend en charge qu'un seul fichier de type de données local par projet et un seul fichier de type de données global. Afin d'assurer la cohérence entre le PC et l'automate, le projet contenant un des types de données dérivés doit, après l'édition de l'un de ces deux fichiers, être de nouveau chargé dans l'automate. S'il existe un type de données dérivé local ou global portant le même nom, le type de données dérivé local a la priorité. Taille de fichier maximale NOTE : La taille de fichier maximale (.DTY) pour les types de données dérivés locaux et globaux (c.-à-d. les définitions et tous les commentaires) est de 64 ko. Si cette taille de fichier maximale n'est pas suffisante, vous pouvez répartir les définitions de type de données entre le fichier de type de données global et local. Afin d'éviter des modifications multiples dans les fichiers de type de données local, utilisez le fichier de type de données global uniquement pour les définitions de type de données pour lesquelles vous attendez des modifications. Définissez tous les autres types de données dans le fichier de type de données local. 33002205 12/2010 593 Types de données dérivés Définition avancée de type de données (supérieure à 64 Ko) Introduction La taille maximale du fichier (*.dty) pour les types de données dérivés globaux et locaux (c’est-à-dire les définitions, y compris tous les commentaires) est de 64 kilooctets. Pour étendre cette restriction pour les types de données dérivés locaux, vous pouvez créer un fichier Include (*.inc), sans augmenter la taille de la base de données. Ce fichier contient une liste de tous les fichiers de types de données munis de l'extension *.ddt. Cependant, ce fichier ne doit pas comporter de fichier de type de données DTY. Les fichiers de type DDT et DTY ont une structure identique. A l'inverse des fichiers de type DTY, pour les fichiers de type DDT, une copie de sauvegarde n'est pas mémorisée dans la base de données. De ce fait, vous ne pouvez pas déterminer le type de données exact ayant été modifié récemment. Tous les types de données d'un fichier DDT sont considérés comme modifiés, dans la mesure où une modification a été apportée à un endroit quelconque du fichier DDT. De cette manière, toutes les valeurs initiales de variables, dont les types de données ont été définis dans ce fichier DDT, sont remises à 0. Et l'état du programme passe à DIFFERENTS: Le fichier Include ne doit figurer que dans le répertoire de DFB local et contient le nom du projet, tel que TESTPRJ.INC. Des caractères de contrôle permettent de surveiller l'apport de modifications à un fichier Include. Le fichier Include a priorité sur le fichier de type DTY. NOTE : Un seul fichier Include doit toujours être disponible dans le répertoire de DFB local . La définition des types de données dérivés globaux reste inchangée. 594 33002205 12/2010 Types de données dérivés Création d'un fichier INC Un fichier Include ne peut contenir que des types de fichiers disponibles (*.ddt). Cela signifie que pour créer un fichier Include, vous devez déjà avoir créé des fichiers de types de données dans le projet. Les fichiers de type DDT sont comparables aux fichiers de type DTY. Ils sont créés de manière analogue (voir page 597) et peuvent ainsi avoir un contenu identique. Le fichier Include est créé à l'aide de l'éditeur de fichiers Include. Pour ouvrir l'éditeur de fichiers Include, procédez comme suit : Etape Action 1 Cliquez sur Fichier →Ouvrir et sélectionnez dans la zone de liste Fichiers l'option Fichiers de types de données (*.dty...). Réaction : Dans la zone de texte Nom de fichier, le système affiche les type de fichiers *.dty,*.ddt,*.inc. 2 Dans la zone de texte Répertoire, sélectionnez impérativement le répertoire de DFB local de votre projet. 3 Dans la zone Nom de fichier, supprimez tous les types de données sauf *.inc. 4 Entrez le nom du projet en tant que nom de fichier, tel que TESTPRJ.INC. 5 Un clic sur OK fait apparaître une autre fenêtre. Lorsque le système demande, s'il doit créer ce fichier, confirmez en cliquant sur Oui. Réaction : le système ouvre l'éditeur de fichiers Include. Cet éditeur permet d'ouvrir automatiquement le fichier Include contenant tous les types de fichiers de données (*.ddt) du projet. Pour définir le fichier Include, vous pouvez ensuite ajouter les fichiers de types de données au contenu du fichier Include. Au niveau de la liste des fichiers de types de données, vous pouvez entrer des noms de fichiers, mais pas de chemins d'accès. Exemple de contenu d'un fichier Include : Concept génère automatiquement les caractères de contrôle à l'ouverture du projet. Restrictions Des modifications apportées dans un fichier de type de données DDT ou dans le fichier Include ne provoquent pas de contrôles ciblés de types de données. Concept exécute un contrôle automatique des types de données. Le contrôle se compose d'un grand nombre de vérifications générales minutieuses. A la moindre modification, l'état du programme passe à DIFFERENTS. 33002205 12/2010 595 Types de données dérivés 17.2 Syntaxe de l’éditeur de types de données Aperçu Ce chapitre décrit la syntaxe à respecter lors de la définition de types de données dérivés. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet Eléments des types de données dérivés 596 Page 597 Clés 599 Noms des types de données dérivés 604 Séparateurs 605 Commentaire 607 33002205 12/2010 Types de données dérivés Eléments des types de données dérivés Introduction Pour la définition de types de données dérivés, les éléments suivants peuvent être utilisés : z Mots clés (voir page 599) z Noms (voir page 604) z Séparateurs (voir page 605) z Commentaires (voir page 607) Renfoncements Les renfoncements et les retours à la ligne peuvent être utilisés à toute position où un caractère d’espacement est autorisés, pour une plus grande clarté. Ils n’ont pas d’impact sur la syntaxe. 33002205 12/2010 597 Types de données dérivés Exemple d’un type de données dérivé Définition de types de données dérivés : 598 33002205 12/2010 Types de données dérivés Clés Introduction Les clés suivantes peuvent être utilisées pour la définition des types de données dérivés : z TYPE ... END_TYPE (voir page 599) z STRUCT ... END_STRUCT (voir page 599) z ARRAY (voir page 600) z "Types de données" (voir page 603) Selon la norme CEI 1131-3, les clés doivent être saisies en majuscules. Si vous voulez également utiliser les lettres minuscules, vous pouvez activer cette fonction dans la boîte de dialogue Extensions CEI avec l'option Majuscules/minuscules permises dans les mots clés. Si une clé est reconnue, elle est identifiée en couleur. TYPE ... END_TYPE La clé TYPE représente le début des définitions de type de données. La clé TYPE n'est saisie qu'une fois au début des définitions de type de données et est alors valable pour toutes les définitions de type de données suivantes. La clé END_TYPE représente la fin des définitions de type de données. La clé END_TYPE n'est saisie qu'une fois à la fin des définitions du type de données. STRUCT ... END_STRUCT La clé STRUCT représente le début des éléments d'un type de données dérivé. Les structures sont des collections de différents types de données élémentaires et types de données dérivés. Les variables auxquelles un tel type de données dérivé est affecté sont appelées variables structurées. La clé END_STRUCT représente la fin des éléments d'un type de données dérivé. Syntaxe pour STRUCT STRUCT NOM1 : Type de données ; NOM2 : Type de données ; NOMn : Type de données ; END_STRUCT ; 33002205 12/2010 599 Types de données dérivés Exemple : STRUCT ... END_STRUCT TYPE Exemple1 : STRUCT Nom1 : BOOL ; (* Commentaire *) Nom2 : INT ; (* Commentaire *) Nom3 : ARRAY [0..5] OF BOOL ; (* Commentaire *) END_STRUCT; END_TYPE ARRAY Si plusieurs éléments à la suite du même type de données doivent être utilisés, vous pouvez les identifier avec la clé ARRAY comme champ. La zone est saisie après la clé ARRAY, c.-à-d. le nombre d'éléments et le nombre de sous-éléments des éléments. Enfin, le type de données commun à tous les éléments est saisi. Ainsi les types de données dérivés et élémentaires peuvent être utilisés. Si un type de données dérivé, qui comprend une déclaration ARRAY, est affecté à une variable dans l'éditeur de variables, cette variable est qualifiée de variable champ. Syntaxe pour ARRAY NOM : ARRAY [N° 1er élément .. N° dernier élément, N° 1er élément..N° dernier élément etc.] Type de données OF ; Profondeur d'imbrication La profondeur d'imbrication est pratiquement illimitée, mais doit cependant être limitée à quelques étapes pour des raisons de clarté, par ex. 2 ou 3 dimensions. La taille maximale d'un fichier de type de données ne doit pas dépasser les 64 Ko. Restrictions Les indices ARRAY ne peuvent pas être utilisés dans des blocs fonctions/fonctions génériques (par ex. SEL et MUX). Les commandes suivantes généreraient une erreur : k := Arr[a,b,MUX(i,in1=2)]; Arr30[0,1,MUX_INT( K := K, IN0 := 0, IN1 := 1, IN2 := 0)]; Dans tous les autres blocs fonctions/fonctions les indices ARRAY peuvent être utilisés. La commande suivante est possible : B[8] := 600 Arr3[REAL_TO_INT(TAN_REAL(ie.real1[2]),j,2]); 33002205 12/2010 Types de données dérivés Exemple : ARRAY uni-dimensionnels Dans l'exemple suivant un type de données dérivé est défini par le nom par. Ce type de données dérivé comprend 6 éléments (de par[0] à par[5]) de type de données BOOL. par : ARRAY [0..5] OF BOOL ; Il n'est pas absolument nécessaire que la zone commence par "0". Vous pouvez définir la zone de votre choix. Dans l'exemple suivant, le type de données dérivé comprend 14 éléments (de par[51] à par[64]) du type de données BOOL. par: ARRAY [51.0,64] OF BOOL ; Exemple : ARRAY uni-dimensionnel dans une variable structurée Les ARRAY peuvent également être utilisés comme des éléments de variables structurées (définition avec la clé STRUCT) : Par3 : STRUCT Nom1 : ARRAY [0..5] OF INT) ; Nom2 : BOOL ; Nom3 : REAL ; END_STRUCT ; Les variables du type de données Par3 comprennent 3 éléments : z Nom1 avec 6 sous-éléments (de Par3.Nom1[0] à Par3.Nom1[5] du type de données INT z Nom2 avec 1 élément du type de données BOOL z Nom3 avec 1 élément du type de données REAL ARRAY multi-dimensionnels Dans les ARRAY multi-dimensionnels, les entrées sont étendues entre [ ] du nombre de sous-éléments de chaque élément. C'est-à-dire que chaque élément saisi dans ARRAY comprend à son tour un nombre donné d'éléments du même type de données. Exemple : ARRAY bi-dimensionnel L'exemple suivant est celui d'un ARRAY bi-dimensionnel. Par4 : ARRAY [0..5, 1..3] OF BOOL ; Les variables du type de données Par4 comprennent 6 éléments du type de données BOOL avec chacun 3 sous-éléments du type de données BOOL : z De Par4 [0,1] à Par4 [0,3] z De Par4 [1,1] à Par4 [1,3] etc. jusqu'à z De Par4 [5,1] à Par4 [5,3] 33002205 12/2010 601 Types de données dérivés Exemple : ARRAY tri-dimensionnel L'exemple suivant est celui d'un ARRAY tri-dimensionnel. Par5 : ARRAY [0..5, 1..4, 11..14] OF REAL ; Les variables du type de données Par5 comprennent 6 éléments du type de données REAL avec chacun 4 sous-éléments du type de données REAL : chaque sous-élément comprend à son tour 4 sous-éléments du type de données REAL : z De Par5 [0,1,11] à Par5 [0,1,14] z De Par5 [0,2,11] à Par5 [0,2,14] etc. jusqu'à z De Par5 [0,4,11] à Par5 [0,4,14] z De Par5 [1,1,11] à Par5 [1,1,14] etc. jusqu'à z De Par5 [5,4,11] à Par5 [5,4,14] Exemple : ARRAY multi-dimensionnels dans une variable structurée Comme les ARRAY uni-dimensionnels, des ARRAY multi-dimensionnels peuvent également être utilisés comme des éléments de variables structurées (définition avec la clé STRUCT). Par6 : STRUCT Nom1 : ARRAY [0..5, 1..3] OF INT ; Nom2 : BOOL ; Nom3 : REAL ; END_STRUCT ; Les variables du type de données Par6 comprennent 3 éléments : Nom1 avec 18 sous-éléments : z Par6.Nom1[0,1] jusqu'à z Par6.Nom1[5,3] du type de données INT z z z Nom2 avec 1 élément du type de données BOOL Nom3 avec 1 élément du type de données REAL Exemple : Définition incrémentielle des ARRAY multi-dimensionnels Les ARRAY multi-dimensionnels peuvent également être définis de manière incrémentielle : Par71 : ARRAY [1..100] OF WORD ; Par72 : ARRAY [1..3] OF Par71 ; Par73 : ARRAY [1..33] OF Par6 ; 602 33002205 12/2010 Types de données dérivés "Types de données" Les noms des types de données élémentaires et les noms déjà définis des types de données dérivés sont reconnus comme des clés (les noms des types de données dérivés ne sont pas représentés en couleur, contrairement aux noms des types de données élémentaires). Les types de données doivent être séparés par le séparateur ";". Si un autre type de données dérivé doit être utilisé lors de la définition d'un type de données dérivé, celui-ci doit tout d'abord être défini avant de pouvoir être appelé. 33002205 12/2010 603 Types de données dérivés Noms des types de données dérivés Description Dans l’éditeur de types de données, le nom du type de données dérivé et les noms des éléments sont attribués. Les noms ne peuvent pas dépasser 24 caractères et doivent contenir le séparateur " :" . Les noms sont affichés en noir. NOTE : Les noms ne doivent pas commencer par des chiffres, même lorsque l’option Options →Environnement →Extensions CEI... →Chiffres en tête de qualificatif autorisés est activée. NOTE : Dans l’éditeur de types de données, il est possible d’utiliser des caractères spéciaux (voyelles infléchies, accents, etc.). Ces caractères sont également admis dans Concept. Ils ne peuvent toutefois PAS être utilisés par des EFB qui ont été établis avec Concept-EFB. Ce comportement est dû aux processus internes des produits Borland. Il est donc fortement recommandé de n’utiliser AUCUN caractère spécial dans les noms. 604 33002205 12/2010 Types de données dérivés Séparateurs Introduction Pour la définition de types de données dérivés, vous pouvez utiliser les séparateurs suivants : z : (deux points) (voir page 605) z ; (point-virgule) (voir page 605) z [ ] (crochets) (voir page 605) z .. (points) (voir page 606) Séparateur ":" (deux points) Marque la fin d’un nom (nom du type de données dérivé, nom de l’élément). Exemple : TYPE Exemple1 : STRUCT Nom1 : BOOL; (* Commentaire *) Nom2 : INT; (* Commentaire *) Nom3 : ARRAY [0..5] OF BOOL; (* Commentaire *) END_STRUCT; END_TYPE Séparateur ";" (point-virgule) Marque la fin d’une instruction. Exemple : TYPE Exemple1 : STRUCT Nom1 : BOOL; (* Commentaire *) Nom2 : INT; (* Commentaire *) Nom3 : ARRAY [0..5] OF BOOL; (* Commentaire *) END_STRUCT; END_TYPE Séparateur "[ ]" (crochets) Renferme l’indication de la plage du mot clef ARRAY. 33002205 12/2010 605 Types de données dérivés Exemple : TYPE Exemple1 : STRUCT Nom1 : BOOL; (* Commentaire *) Nom2 : INT; (* Commentaire *) Nom3 : ARRAY [0..5] OF BOOL; (* Commentaire *) END_STRUCT; END_TYPE Séparateur ".." (points) Sépare le début et la fin de la plage du mot clef ARRAY. Exemple : TYPE Exemple1 : STRUCT Nom1 : BOOL; (* Commentaire *) Nom2 : INT; (* Commentaire *) Nom3 : ARRAY [0..5] OF BOOL; (* Commentaire *) END_STRUCT; END_TYPE 606 33002205 12/2010 Types de données dérivés Commentaire Description Dans l’éditeur de types de données, les commentaires commencent par la chaîne de caractères (* et se terminent par la chaîne de caractères *). Vous pouvez entrer un commentaire quelconque entre ces deux chaînes de caractères. Des commentaires peuvent être entrés sur une position quelconque dans l’éditeur de types de données. Les commentaires sont représentés en couleur. Avec la commande Options →Environnement →Extensions CEI → Commentaires imbriqués autorisés vous pouvez autoriser l’entrée de commentaires imbriqués. La profondeur d’imbrication est alors illimitée. Exemple : Commentaires TYPE Example1 : STRUCT Name1 : BOOL; (* Commentaire *) Name2 : INT; (* Commentaire *) Name3 : ARRAY [0..5] OF BOOL; (* Commentaire *) END_STRUCT; END_TYPE 33002205 12/2010 607 Types de données dérivés 17.3 Occupation de la mémoire par des types de données dérivés Occupation de la mémoire par les types de données dérivés Eléments booléens Les éléments booléens sont exécutés sous la forme d'octets, les informations de bit se trouvent dans le premier bit. Classement des éléments booléens : Eléments WORD Il n'y a aucun espace vide lors du classement des types de données dérivés dans la mémoire. Exemple d'un type de données dérivé : TYPE SKOE : STRUCT PAR1 : BOOL ; PAR2 : WORD ; PAR3 : BOOL ; PAR4 : WORD ; END_STRUCT ; END_TYPE 608 33002205 12/2010 Types de données dérivés Classement du type de données dérivé dans la mémoire : Il est recommandé de s'assurer que les éléments WORD commencent par les adresses de registre (éventuellement insérer un bit factice). NOTE : Si la variable structurée est affectée à une adresse directe et qu'elle est éditée en externe (par ex. lue depuis l'automate par un système de visualisation), les éléments WORD doivent absolument commencer par une adresse de registre (c'est également valable pour les éléments ANY_NUM). Types de données dérivés localisés Si des types de données dérivés doivent être transmis au matériel (types de données dérivés localisés), ils ne peuvent être classés que dans le registre 3x ou 4x. Un classement dans le registre 0x ou 1x n'est pas possible. 33002205 12/2010 609 Types de données dérivés 17.4 Appel de types de données dérivés : Appel de types de données dérivés Introduction A l'issue de la définition d'un type de données dérivé dans l’éditeur de types de données, le nom du type de données dérivé apparaît automatiquement dans l’éditeur de variables (colonne Type de données). L’affectation d’une variable à un type de données dérivé s’effectue de la même façon que pour les types de données élémentaires. L’appel de variables multi-éléments peut s’effectuer sous forme d’entrée textuelle des différents éléments ou via la boîte de dialogue Consulter variables. Après avoir sélectionné une variable multi-éléments, il est alors possible de sélectionner l’élément souhaité dans la boîte de dialogue Sélection des éléments de type. Appel d’un élément de structure Pour appeler un élément de structure, indiquez d’abord le nom de la variable et ensuite, séparé par un point, le nom de l’élément (par ex. VARIABLE_NAME.ELEMENT_NAME). Si cet élément se compose à son tour d’un type de données dérivé, indiquez à nouveau séparé par un point, le nom de l’élément suivant (par ex. VARIABLE_NAME.ELEMENT_NAME.SUB_ELEMENT_NAME), etc. Exemple : Appel d’un élément de structure Appel d’un élément de structure : Etape 610 Action 1 Définissez un type de données dérivé. Par exemple : TYPE Example1: STRUCT Par1: BOOL; Par2: INT; END_STRUCT; END_TYPE 2 Déclarez une nouvelle variable (par ex. avec le nom TEST) dans l’éditeur de variables. 3 Affectez à cette variable, comme type de données, le type de données dérivé que vous avez établi (par ex. Example1). 33002205 12/2010 Types de données dérivés Etape Action 4 Fermez l’éditeur de variables avec OK. Résultat : Une nouvelle variable multi-éléments dénommée "TEST" de type de données "Example1" a été créée. 5 Si vous voulez appeler cette variable multi-éléments "intégralement", entrez simplement, comme d’habitude, le nom de la variable (TEST) dans votre programme. Si vous voulez appeler un élément isolé de cette variable multi-éléments (par ex. l’élément "Par1"), entrez dans votre programme le nom de la variable et (séparé par un point) le nom de l’élément (par ex. "TEST.Par1"). Appel d’un élément ARRAY Pour appeler un élément ARRAY, indiquez d’abord le nom de la variable et ensuite, entre crochets, le numéro de l’élément (par ex. VARIABLE_NAME[4]). Exemple : Appel d’un élément ARRAY Appel d’un élément ARRAY : Etape Action 1 Définissez un type de données dérivé. Par exemple : TYPE Example2: ARRAY [0..5] OF BOOL; END_TYPE 2 Déclarez une nouvelle variable (par ex. avec le nom MY_VAR) dans l’éditeur de variables. 3 Affectez à cette variable, comme type de données, le type de données dérivé que vous avez établi (par ex. Example2). 4 Fermez l’éditeur de variables avec OK. Résultat : Une nouvelle variable multi-éléments dénommée "MY_VAR" de type de données "Example2" a été créée. 5 Si vous voulez appeler cette variable multi-éléments " intégralement ", entrez simplement, comme d’habitude, le nom de la variable (MY_VAR) dans votre programme. Si vous voulez appeler un élément particulier de cette variable multi-éléments (par ex. le 4e élément de l’ARRAY), entrez dans votre programme le nom de la variable, puis entre crochets, le numéro de l’élément (par ex. MY_VAR[4]). Appel d’un élément ARRAY dans une structure Pour appeler un élément ARRAY faisant partie intégrante d’une structure, indiquer d’abord le nom de la variable, puis séparé par un point, le nom de l’élément suivi enfin du numéro de l’élément entre crochets (par ex. VARIABLE_NAME.ELEMENT_NAME[4]). 33002205 12/2010 611 Types de données dérivés Exemple : Appel d’un élément ARRAY dans une structure Appel d’un élément ARRAY dans une structure : Etape 612 Action 1 Définissez deux types de données dérivés (le deuxième type de données dérivé utilisant le premier comme élément). Par exemple : TYPE Example3: STRUCT Par1: BOOL; Par2: ARRAY [0..5] OF BOOL; Par3; BOOL; END_STRUCT; Example4: STRUCT Elem1: Example3; Elem2: INT; END_STRUCT; END_TYPE 2 Déclarez une nouvelle variable (par ex. avec le nom COMPLEX_VAR) dans l’éditeur de variables. 3 Affectez à cette variable, comme type de données, le type de données dérivé que vous avez établi (par ex. Example4). 4 Fermez l’éditeur de variables avec OK. Résultat : Une nouvelle variable multi-éléments dénommée "COMPLEX_VAR" de type de données "Example4" a été créée. 5 Si vous voulez appeler cette variable multi-éléments "intégralement", entrez simplement, comme d’habitude, le nom de la variable (COMPLEX_VAR) dans votre programme. Si vous voulez appeler un élément particulier de cette variable multi-éléments, tel que le 5e élément de l’ARRAY de l'élément "Par2" (type de données dérivé "Example3") en tant qu'élément de l'élément "Elem1", alors entrez dans votre programme le nom de la variable et ensuite, séparé par un point, le nom de l'élément (dans votre type de données dérivé "actuel", ici "Example4"), puis, séparé par un point, le nom de l'élément du type de données dérivé appelé par le type de données dérivé "actuel" (ici "Example3"), suivi enfin, entre crochets, du numéro de l'élément (par ex. COMPLEX_VAR.Elem1.Par2[5]). 33002205 12/2010 Types de données dérivés Contrôle de plage dans le cadre d'accès index Les accès index aux structures ARRAY en ST font l'objet d'un contrôle de dépassement de valeur supérieure de plage. Si l'index est une constante, le contrôle est déjà exécuté lors de la compilation PC. Si l'index est une variable, le contrôle est réalisé au niveau de l'API, à chaque exécution. Pour optimiser l'exécution du programme, l'index n'est contrôlé, pour les tableaux (array) à structure multidimensionnelle ou pour les tableaux (array) inclus dans d'autres structures, que sur les adresses de début et de fin de l'ensemble de la plage de mémoires réservée pour les variables. Cela signifie que le système écrase, le cas échéant, un élément invalide bien qu'il soit toujours inclus dans la structure. Ce n'est que lorsque l'index quitte la plage de mémoires allouée à cette structure que le dialogue Affichage des événements présente le message d'erreur. "L'index ARRAY dépasse la plage (..)" L'accès aux données est alors réacheminé vers l'adresse de début de la structure. ATTENTION Le système risque d'écraser des données ! La plage de mémoires entière allouée pour les variables sert toujours de limite de plage, et non le tableau (array) index. Ainsi, dans le cas des tableaux (array) à structure multidimensionnelle ou des tableaux (array) inclus dans une structure, une erreur n'est affichée qu'une fois que l'index pointe sur une adresse mémoire en dehors de la plage de mémoires allouée à la structure complète ou à l'ensemble du tableau. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. Exemple 1 d'une structure à une dimension Définition d'un type de données dérivé dans l'éditeur de type de données : Définition de variable : 33002205 12/2010 613 Types de données dérivés Séquence en langage texte : Si l'index (indx) est trop grand (>7) ou trop petit (<4) entraînant ainsi un accès des données hors de la plage (Otto), un accès au premier élément (Otto[4]) a lieu automatiquement dans le système d'exécution (API) et un message d'erreur apparaît. Exemple 2 d'un tableau (array) inclus dans une structure Définition d'un type de données dérivé dans l'éditeur de type de données : Définition de variable : Séquence en langage texte : Dans ce cas, les limites de plage sont déterminées par la mémoire totale occupée par les variables Otto. Le contrôle de plage n'est exécuté que lorsque indx < 2 ou indx > 9. En cas de dépassement de la valeur supérieure de la plage, le système accède à l'adresse d'Otto.F1 ! Les accès via indx = 2-3 ou indx = 8-9 ne sont donc pas considérés incorrects ; le système écrase les éléments F1 (indx = 2-3) ou F3 (indx = 8-9) ! 614 33002205 12/2010 Types de données dérivés Exemple 3 d'un tableau (array) multidimensionnel Définition d'un type de données dérivé dans l'éditeur de type de données : Définition de variable : Séquence en langage texte : Dans ce cas, tout dépassement des limites de plage du premier index indx_x génère directement un message d'erreur. Pour le deuxième index indx_y, le contrôle de plage n'est exécuté que lorsque l'adresse formée des deux indexs se trouve en dehors de la plage de mémoires allouée au tableau (array) complet (4*4 mots). Exemples : Pour indx_x = 1, peut devenir indx_y = 16 avant l'exécution du contrôle de plage. Pour indx_x = 4, le contrôle de plage est exécuté dès que indx_y = 5. 33002205 12/2010 615 Types de données dérivés 616 33002205 12/2010 Editeur des données de référence 33002205 12/2010 Editeur des données de référence 18 Aperçu Ce chapitre décrit l’éditeur des données de référence (RDE) et son utilisation lorsque l’animation est activée. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Remarques générales sur l'éditeur de données de référence 33002205 12/2010 Page 618 Conversion de Tableaux Editeur de données 620 Modification d'états de signal d'une variable localisée 622 Définition cyclique de variables 624 Verrouillage inconditionnel d’une section 627 Animation 628 Remplacement de variables 631 Chargement des données de référence 632 617 Editeur des données de référence Remarques générales sur l'éditeur de données de référence Introduction Dans l'éditeur de données de référence (ED), le mode Animation permet d'afficher des variables, de bloquer (forcer) des références 0x et 1x et de définir de manière cyclique des variables élémentaires et des éléments de structures. L'accès direct aux variables et aux adresses directes utilisées dans le programme CEI permet le suivi et la modification en ligne du comportement des variables. En mode d'animation, différentes couleurs sont utilisées pour afficher les états (bloquée, fixée de manière cyclique) des variables. Jusqu'à 250 entrées sont possibles dans l'éditeur de données de référence. Dès que ce nombre est atteint, un avertissement apparaît au cours de l'enregistrement. Création d'un tableau Editeur de données Pour créer un tableau Editeur de données, vous reprenez les variables déclarées dans l'éditeur de variables. Pour cela, on distingue les possibilités suivantes : Si... Alors ... Vous double-cliquez sur le numéro correspondant de la première colonne, La fenêtre Consulter variables apparaît pour permettre de sélectionner une variable déclarée ou des éléments de structures. Vous entrez le nom d'une variable déclarée dans la colonne Nom de variable, Les valeurs déclarées sont reprises dans le tableau Editeur de données. Vous entrez l'adresse directe dans la colonne La valeur, le format et aussi le cas échéant, Adresse le nom défini du signal correspondant sont repris dans le tableau Editeur de données. A l'aide de la commande de menu Insérer adresses... , vous insérez des blocs de référence entiers dans la colonne Adresse Les valeurs et les formats des signaux correspondants sont repris dans le tableau Editeur de données. Visualisation des états de signal A l'ouverture d'un tableau Editeur de données, lorsque l'animation est activée (En_ligne →Animer) les valeurs actuelles au niveau de l'API écrasent toujours les états de signal enregistrés. La commande de menu Etat API... permet de visualiser en mode En ligne les états de signal au niveau de l'API. Au démarrage de l'API, en mode Animation, vous pouvez visualiser les états de signal en fonction du déroulement du programme. 618 33002205 12/2010 Editeur des données de référence Impression de tableaux Editeur de données Pour imprimer un tableau Editeur de données ouvert, cliquez dans le menu principal Editeur de données sur la commande Imprimer. Le tableau Editeur de données sort sur papier, tel qu'il est à l'écran. NOTE : Il est recommandé de modifier auparavant les propriétés de l'imprimante dans Windows (système d'exploitation) et de mettre l'orientation du papier sur paysage. Cela permet au tableau Editeur de données de loger sur une seule feuille. Utilisation du tableau Editeur de données L'utilisation d'un tableau Editeur de données dans plusieurs projets est déconseillée. Elle pourrait causer l'apparition de doublons de noms de variables ainsi que l'apparition de noms de variables qui n'existaient pas à l'origine dans le tableau Editeur de données. Les variables du tableau Editeur de données sont toujours affichées avec les adresses de référence actuelles. Conversion de tableaux Editeur de données La procédure correspondante est expliquée dans la description Conversion de tableaux ED (voir page 620). 33002205 12/2010 619 Editeur des données de référence Conversion de Tableaux Editeur de données Introduction Les Tableaux Editeur de données d'une version précédente sont automatiquement convertis dans le nouveau format de tableau de la nouvelle version de Concept. Les Tableaux Editeur de données convertis sont mémorisés avec l'extension .RDF, pour les distinguer d'autres Tableaux Editeur de données. ATTENTION Des Tableaux Editeur de données incomplets sont créés ! Avant la conversion, on devra veiller à ce que les variables contenues dans le tableau ED soient déclarées dans le projet ouvert de la nouvelle version de Concept. Les nouvelles variables sont listés dans un message d'erreur, et ne peuvent pas être affichées dans le tableau ED *.RDF créé par la suite.. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. Conversion automatique La conversion automatique s'effectue lors de l'ouverture d'un tableau ED d'une version précédente : Etape 620 Action 1 Démarrez la nouvelle version de Concept et ouvrez le projet. 2 Dans le menu principal En ligne, cliquez sur la commande Editeur de données de référence…. Résultat : Le menu principal Editeur de données apparaît sur la barre de menus. 3 Dans le menu principal Editeur de données, cliquez sur la commande de menu Ouvrir tableau.... 4 Sélectionnez le répertoire, dans lequel le tableau ED *.RDE est enregistré (par ex. D:\CONCEPT_OLD). Résultat : Tous les Tableaux Editeur de données existants (*.RDE ou *.RDF) sont affichés. Note : Les fichiers présentant l'extension *.RDF sont créés lors de la conversion de Tableaux Editeur de données (*.RDE). 5 Sélectionnez le tableau ED *-RDE devant être converti. 33002205 12/2010 Editeur des données de référence Etape 33002205 12/2010 Action 6 Cliquez sur le bouton de commande OK. Résultat : Le message RDE AutoConvert apparaît. Vous y êtes informé que le tableau *.RDE a été établi dans une version précédente de Concept et est à présent mémorisé dans un nouveau format, afin de pouvoir être utilisé avec la version actuelle de Concept. Le tableau converti est mémorisé dans un fichier avec *.RDF. 7 Cliquez sur le bouton de commande OK. Résultat : Le tableau ED converti *.RDF est affiché. Attention : Toutes les variables du tableau ED doivent avoir été préalablement définies dans le projet. Pour les nouvelles variables, un message d'erreur apparaît à ce moment RDE Template Errors, dans lequel toutes les variables manquantes sont listées. Après la fermeture de la fenêtre, le tableau ED converti s'ouvre, mais ne contient que les variables déclarées. 8 Avec la commande Enregistrer tableau Vous pouvez mémoriser le tableau ED converti dans le répertoire de Concept de la nouvelle version (C:\CONCEPT_NEW). Résultat : Le tableau RDE converti est mémorisé avec l'extension *.RDF dans le répertoire de Concept. 621 Editeur des données de référence Modification d'états de signal d'une variable localisée Introduction Les variables localisées peuvent être modifiées en activant, dans la colonne Bloquer la case de contrôle du signal correspondant par une coche, pour éditer la valeur. Lors du blocage, la variable est séparée du matériel, n'est réutilisée dans la logique qu'après que le blocage a été annulé. Ici, les états de signal modifiés sont pris en compte par tous les éditeurs (FBD, SFC, LD, IL, ST, LL984). Modification accidentelle des valeurs Validez à l'aide de la touche Entrée les valeurs saisies dans un tableau ED. Les valeurs valides sont toutefois également appliquées lorsque vous passez dans une autre zone de saisie à l'aide des touches de déplacement ou de la souris, ou lorsque vous quittez le tableau ED. Vous pouvez annuler la saisie à l'aide de la touche Echap. AVERTISSEMENT MODIFICATION ACCIDENTELLE DES VALEURS Il est recommandé de ne pas quitter le tableau ED (en cliquant dans une autre fenêtre par exemple) lorsqu'une valeur valide a déjà été saisie dans une zone de saisie. La valeur serait alors appliquée, ce qui pourrait entraîner une modification accidentelle des valeurs. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Forçage d'entrées et de sorties Lors du forçage des entrées, les états de signal sont repris jusqu'à ce que vous modifiiez à nouveau la valeur dans le tableau RDE. Lors du forçage des sorties, la nouvelle valeur apparaît au début de chaque cycle de programme. Lors de la modification suivante par la logique de programme, cette valeur n'est pas mémorisée, jusqu'à ce que le blocage de la sortie soit annulé. ATTENTION Tous les états de signal modifiés sont chargés directement dans l'API. Cependant, pas dans le cas de variables localisées forcées. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. 622 33002205 12/2010 Editeur des données de référence Représentation de variables bloquées Les variables, qui sont bloquées par l'activation de la coche, seront indiquées sur un fond en couleur sur l'affichage de l'éditeur. Lors de la désactivation de la coche, le fond en couleur de la variable correspondante n'est plus visible. Charger données de référence Les valeurs cycliques et les variables bloquées peuvent être chargées dans l'API à l'aide de la commande Charger données de référence. Ces réglages sont maintenus jusqu'à ce que l'utilisateur procède à une modification dans le tableau ED ou que l'API perde les données chargées (par ex. en chargeant un autre projet). NOTE : Lorsqu'un tableau ED est ouvert, la sauvegarde des données modifiées est exécutée automatiquement à l'aide de la commande Charger données de référence. L'exécution de la commande Enregistrer tableau n'est donc plus nécessaire. 33002205 12/2010 623 Editeur des données de référence Définition cyclique de variables Introduction Les variables et les éléments de structures peuvent être modifiés, en inscrivant dans la colonne Saisir valeur une valeur de définition correspondant au type de données de la variable. Cette valeur est écrite une seule fois, si vous activez ensuite, dans la colonne Fixer cycle, la case à cocher du signal correspondant (présence d'une coche). Le nouvel état de signal est chargé directement dans l'API et repris dans l'administration des variables cycliques. L'état de signal de la variable atteint à la fin du cycle après le traitement logique est indiqué dans la colonne Valeur. En mode Animation, la définition cyclique des variables est affichée dans les sections CEI. Modification accidentelle des valeurs Validez à l'aide de la touche Entrée les valeurs saisies dans un tableau ED. Les valeurs valides sont toutefois également appliquées lorsque vous passez dans une autre zone de saisie à l'aide des touches de déplacement ou de la souris, ou lorsque vous quittez le tableau ED. Vous pouvez annuler la saisie à l'aide de la touche Echap. AVERTISSEMENT MODIFICATION ACCIDENTELLE DES VALEURS Il est recommandé de ne pas quitter le tableau ED (en cliquant dans une autre fenêtre par exemple) lorsqu'une valeur valide a déjà été saisie dans une zone de saisie. La valeur serait alors appliquée, ce qui pourrait entraîner une modification accidentelle des valeurs. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Définition cyclique NOTE : La définition cyclique des variables n'est exécutée qu'en ligne et en mode ÉGAUX, pas en mode Animation. En fonction de la logique, la valeur affichée peut être différente de la valeur cyclique. Lorsque la case à cocher pour la définition cyclique (Fixer cycle) est activée (présence d'une coche), la valeur définie dans la colonne Saisir valeur peut encore être modifiée. Lorsque la case à cocher dans la colonne Fixer cycle est désactivée (sans coche), l'état de signal dans la colonne Valeur est chargé dans l'API et utilisé dans la logique. 624 33002205 12/2010 Editeur des données de référence Il est possible de définir jusqu'à 300 variables cycliques. La longueur de l'entrée pour la définition cyclique est limitée à 150 caractères dans la colonne Nom de variable, étant donné que ce nom est transmis à la commande. Lorsqu'on utilise une variable plusieurs fois dans l'éditeur de données de référence, la valeur inscrite en dernier est toujours prise en compte lors de la définition cyclique. NOTE : Tous les états de signal modifiés sont chargés directement dans l'API. ATTENTION Les noms de variable modifiés ne sont pas pris en compte par la fonction Remplacer. Lorsqu'une variable est définie de façon cyclique, il ne faut pas modifier son nom dans l'éditeur de variables. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. Définition cyclique et blocage d'états de signal dans les modes de service : 33002205 12/2010 Mode Option Signification HORS LIGNE Invalider En mode hors ligne, les variables déclarées dans l'éditeur de variables peuvent être écrites dans le tableau ED. Les états de signal définis en ligne sont affichés en mode hors ligne, mais ne peuvent pas être modifiés, ou alors ils ne montrent aucun effet. EN LIGNE Invalider Les états de signal modifiés des variables localisées sont repris directement par la logique du programme. HORS LIGNE Définition cyclique La définition cyclique de variables ne peut pas être exécutée en mode hors ligne. EN LIGNE Définition cyclique L'état de signal indiqué dans la colonne Saisir valeur est utilisé pour le traitement logique, lorsque la case à cocher est activée (coche visible), et fournit à la fin du cycle une valeur qui est affichée dans la colonne Valeur. 625 Editeur des données de référence Lire/effacer la liste de définition cyclique Les valeurs cycliques définies en mode Animation peuvent être insérées dans le tableau ED via la commande Lire CSL, si l'animation est désactivée. Les valeurs cycliques sont reconnues dans le tableau ED par la présence d'une coche dans la colonne Fixer cycle et sont reconnues automatiquement ligne par ligne, de telle sorte qu'on parle de liste de définition cyclique. La commande En ligne →Lire CSL permet d'insérer cette liste de définition cyclique reconnue comme annexe dans le tableau ED, à partir de la ligne sélectionnée. La lecture ou l'insertion de la liste de définition cyclique peut être exécutée autant de fois que souhaité. Le presse-papiers contient toujours la liste de définition cyclique la plus actuelle, celle-ci ne pouvant être éliminée qu'avec la commande Supprimer CSL. Il n'est ensuite plus possible de procéder à une lecture ou à une insertion, jusqu'à ce que des valeurs cycliques soient à nouveau définies lors de la prochaine animation. NOTE : Lors de la lecture, le système affiche toujours toutes les valeurs cycliques. Charger données de référence Les valeurs cycliques et les variables bloquées peuvent être chargées dans l'API à l'aide de la commande Charger données de référence. Ces réglages sont maintenus jusqu'à ce que l'utilisateur procède à une modification dans le tableau ED ou que l'API perde les données chargées (par ex. en chargeant un autre projet). NOTE : Lorsqu'un tableau ED est ouvert, la sauvegarde des données modifiées est exécutée automatiquement à l'aide de la commande Charger données de référence. L'exécution de la commande Enregistrer tableau n'est donc plus nécessaire. 626 33002205 12/2010 Editeur des données de référence Verrouillage inconditionnel d’une section Introduction Concernant la section à verrouiller, il faut que la logique fournisse en "sortie" des données de type BOOL et que le verrouillage se produise en présence de l’état logique "1". ATTENTION Risque d’états de traitement non souhaités Le verrouillage d’une section ne signifie pas pour autant la désactivation, au sein de la section, de sorties programmées. Une sortie positionnée dans le cadre d’un cycle précédent conserve son état, même après le verrouillage de la section. L’état de ces sorties n’est plus modifiable, uniquement après le verrouillage de la section. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. NOTE : Il est déconseillé de verrouiller une section, comprenant une logique pouvant verrouiller/déverrouiller d’autres sections. En effet, les états des différentes sorties de sections verrouillées ne peuvent plus être modifiés. Processus de verrouillage inconditionnel d’une section Pour le verrouillage inconditionnel d’une section, dans le tableau RDE, procéder comme suit : Etape 33002205 12/2010 Action 1 Cliquez deux fois sur une zone de texte, dans la première colonne du tableau (1 ... 100) pour ouvrir la boîte de dialogue Consulter variables. 2 Sélectionnez dans le champ Type de donnée le bouton d’option Structuré et dans la zone de liste SECT_CTRL. Réaction : Tous les noms de section sont affichés. 3 Sélectionnez le nom de la section à verrouiller et, à l’aide de la commande Composants... ouvrez la boîte de dialogue Sélection des éléments de type. 4 Sélectionnez la ligne disable : BOOL et confirmez par OK. Réaction : La variable structurée (Sectionname.disable), affectée à la section à verrouiller, s’inscrit dans le tableau RDE. 5 Etablir la connexion entre API et le terminal (En ligne →Connecter...), puis chargez le programme utilisateur dans API (En ligne →Chargement...). Réaction : API est en mode CONNECTÉ et ANIMATION. 6 Dans la colonne Valeur entrez l’état logique "1". Réaction : La section est verrouillée et sera ignorée lors de l’édition. 627 Editeur des données de référence Animation Introduction L’animation ne peut se réaliser qu’en mode CONNECTÉ. L’activation deAnimation permet de visualiser, dans Editeur Données de référence, les états de signaux de variables et, par conséquent, de contrôler le comportement des signaux de sortie pendant l’exécutin du programme. Pendant l’animation, vous pouvez également procéder à la modification en ligne des états de signaux. Les nouvelles valeurs sont automatiquement chargées dans API et prises en compte au cycle suivant. NOTE : Dans le cas de la modification d’une valeur, ne pas oublier d’annuler le verrouillage de la variable à l’issue de cette opération. Pour les variables verrouillées, il n’est pas possible de réaliser correctement l’animation. Etat Animation La colonne Etat Animation renseigne sur l’état, pendant l’animation, des variables non-localisées saisies. Ce tableau donne un aperçu des états d’animation possibles : Affichage 628 Mode Origine EN LIGNE, non utilisé ANIME Note : En mode HORS LIGNE, cet affichage devient "Programme différent" Une variable, déclarée dans l’éditeur de variables, non utilisée dans le programme utilisateur, a été insérée dans le tableau RDE. Bits Indicateur E/S verrouillés EN LIGNE Positionnement cyclique d’une variable nonlocalisée au cours du mode ANIMATION. Programme différent EN LIGNE Une variable, modifiée dans l’éditeur de variables, non utilisée dans le programme utilisateur, a été insérée dans le tableau RDE. Le programme est en mode MODIFIE. Programme différent Note : En mode CONNECTÉ, cet affichage devient "Non utilisé". HORS LIGNE Une variable, déclarée dans l’éditeur de variables, non utilisée dans le programme utilisateur, a été insérée dans le tableau RDE. 33002205 12/2010 Editeur des données de référence Affichage de signaux forcés et positionnés de manière cyclique, en mode ANIMATION Les variables forcées ou positionnées de manière cyclique dans l’éditeur de données de référence sont visualisées, dans les différents éditeurs, sur un fond de couleur différente. Les variables forcées sont représentées comme suit : Editeur Représentation Editeurs CEI (FBD, LD, SFC, IL, ST) Lors du forçage, le nom de variable est représenté sur fond ocre (jaune sale) Editeur LL984 Lors du forçage de contacts, le nom de variable est souligné. Lors du forçage de bobines, un contact ouvert ("verrouillé") est représenté avant la bobine. Champs de contrôle et Dialogued’affichage Lors du forçage, le nom de variable est représenté sur fond ocre (jaune sale) Les variables à positionnement cyclique sont représentées comme suit : Editeur Représentation Editeurs CEI (FBD, LD, SFC, IL, ST) Dans le cas du positionnement cyclique, le nom de variable est affiché sur fond violet. Champs de contrôle et Dialogued’affichage Dans le cas du positionnement cyclique, le nom de variable est affiché sur fond magenta. NOTE : Dans LD (Ladder Diagram), les bobines et contacts sont également représentés en couleur. Il peut arriver, à la suite du forçage et du positionnement cyclique, que les couleurs du nom de variable diffèrent de celles de l’affichage des bobines et contacts 33002205 12/2010 629 Editeur des données de référence Représentation, en mode ANIMATION, d’éléments forcés et positionnés de manière cyclique, appartenant à des variables structurées Dans le cas d’un élément de variable structurée objet d’un forçage ou d’un positionnement cyclique, l’affichage peut se faire de différentes manières : 630 Représentation Origine Le nom de la variable structurée (Moteur, par ex.) est affiché sur fond de couleur. Affichage, dans l’éditeur, d’une variable multiéléments (Moteur, par ex.) comprenant un ou plusieurs éléments, objet d’un forçage ou d’un positionnement cyclique. Le nom complet de l’élément de la variable structurée (Moteur droit Marche, par ex.) s’affiche sur fond de couleur. Affichage, dans l’éditeur, d’un élément de variable multi-éléments (Moteur droit Marche, p. ex), objet d’un forçage ou d’un positionnement cyclique. Le nom de la variable structurée (Moteur droit.Marche, par ex.) est affiché sur fond de couleur; ceci n’étant pas le cas pour le nom de l’élément. Affichage, dans l’éditeur, d’un élément de variable multi-éléments (Moteur droit.Marche, par ex.), non forcé ou non positionné de manière cyclique; tandis qu’un autre élément de cette même variable fait l’objet d’un forçage ou d’un positionnement cyclique. 33002205 12/2010 Editeur des données de référence Remplacement de variables Introduction Lorsque le tableau RDE est ouvert, il est possible de modifier l’éditeur de variable en même temps. Si vous modifiez alors des noms de variables dans l’éditeur de variable, à l’aide de la fonction Rechercher/Remplacer, ces modifications sont automatiquement appliquées dans le tableau RDE ouvert. Lors de cette opération, l’animation RDE est d’abord quittée, et le tableau RDE doit alors être chargé à nouveau. Procédure et réaction Pour que les noms de variable remplacés soient automatiquement appliqués dans le tableau RDE étant ouvert en même temps, il faut exécuter les opérations suivantes : Etape 33002205 12/2010 Action 1 Ouvrez une section et établissez la connexion CONNECTE (en ligne). Note : L’état entre l’API et le terminal doit obligatoirement être EGALITE. Si ce n’est pas le cas, chargez le programme dans l’API. 2 Démarrez l’animation (En ligne →Animer valeurs binaires). Réaction : Les états de signal de la section sont représentés en couleur. 3 Ouvrez le tableau RDE existant (RDE (Editeur de données) →Ouvrir tableau...). Réaction : L’animation RDE démarre. 4 Ouvrez l’éditeur de variable (Projet →Déclaration des variables...). 5 Ouvrez le dialogue Rechercher/Remplacer en utilisant le bouton de commande Rechercher/Remplacer. 6 Remplacez un nom existant de variable par un nouveau nom (bouton de commande Remplacer). Réaction : Le nom de variable a été remplacé dans l’éditeur de variable. 7 Valider vous permet de quitter l’éditeur de variable. Réaction : La section est automatiquement mise à jour, et l’animation RDE est quittée. 8 Fermez le tableau RDE et enregistrez les modifications (bouton de commande Oui). 9 Ouvrez à nouveau le tableau RDE enregistré (RDE (Editeur de données) → Ouvrir tableau...). Réaction : L’animation RDE est restaurée, avec le nom de variable modifié. 631 Editeur des données de référence Chargement des données de référence Introduction Les variables, modifiées dans l’éditeur de données de référence, sont transférées, à l’aide de la commande En ligne →Charger données de référence dans API, au cours du même cycle. NOTE : Arrêter l’animation pour exécuter le chargement. 632 33002205 12/2010 Editeur de messages ASCII 33002205 12/2010 Editeur de messages ASCII 19 Introduction Ce chapitre décrit l’éditeur de messages ASCII. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 19.1 Boîte de dialogue éditeur ASCII 634 19.2 Interface utilisateur de l’éditeur de messages ASCII 643 19.3 Comment continuer après un avertissement 650 19.4 Editeur de messages ASCII en modes local/combinaison/direct 651 633 Editeur de messages ASCII 19.1 Boîte de dialogue éditeur ASCII Introduction Ce sous-chapitre décrit la boîte de dialogue de l'éditeur ASCII. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 634 Page Généralités relatives à la boîte de dialogue éditeur ASCII 635 Texte 636 Variables 637 Code de contrôle 638 Espaces 639 Retour chariot 640 Vidage (tampon) 641 Répétition 642 33002205 12/2010 Editeur de messages ASCII Généralités relatives à la boîte de dialogue éditeur ASCII Introduction Utilisez l’éditeur de messages ASCII pour créer, modifier et simuler des messages ASCII. Le texte /contrôle des messages ASCII créé dans l’éditeur peut être transféré dans l’automate sélectionné. Inversement, les messages ASCII internes au régulateur peuvent être téléchargés dans l’éditeur. Un ensemble de messages ASCII est composé uniquement d’une liste de messages qui respectent certaines règles. Le nombre de messages autorisés et la longueur maximale de l’ensemble des messages ASCII font partie de la configuration de l’automate. Chaque message est composé d’une liste de champs de messages ASCII séparés par des virgules. Les champs suivants sont gérés : z Texte, page 636 z Variables, page 637 z Code de contrôle, page 638 z Espaces, page 639 z Retour chariot, page 640 z Vidage (tampon), page 641 z Répétition, page 642 Conditions préalables Cette fonction est uniquement disponible lorsque vous utilisez : Concept pour Quantum z Les modules J892 ou P892 z Le langage de programmation LL984 z 33002205 12/2010 635 Editeur de messages ASCII Texte Introduction Les messages texte définis dans les champs texte adoptent le format ’Hello World’ où Hello World devient le texte à envoyer. Les guillemets simples représentent les délimiteurs. La boîte de dialogue de développement de l’éditeur de messages ASCII fournit une zone de développement et une zone du simulateur où le message composé est interprété et affiché pour que vous puissiez réaliser les modifications nécessaires avant de quitter la boîte de dialogue de l’éditeur. Longueur du message Un message ASCII peut avoir une longueur de 134 mots. Trois mots sont utilisés pour l’en-tête plus le message réel de 131 mots maximum (2 caractères par mot). Les mots du message sont utilisés de la façon suivante : 636 Type de champ Longueur de champ (en mots) Texte ASCII 1 + longueur du texte / 2 arrondis Retour 1 Vidage 0,1 1 Vidage 2, 3 2 Contrôle 1 Variable 1 Répétition 2 Espace 1 33002205 12/2010 Editeur de messages ASCII Variables Introduction Une variable prend le format NTF. La signification est la suivante : z N représente le nombre décimal (1...99) des champs de données du type de données définies par T. z T est le type de données de la variable. z F est la largeur du champ décimal de la variable. Types de données Les types de données gérées sont les suivants : Type Facteur de répétition A = caractère ASCII 1 B = nombre binaire 1 à 16 H = hexadécimale 1à4 I = entiers 1à8 L = entier avec 0s précédant 1 à 8 O = octal 1à6 Exemple Par exemple : 2H2 signifie : 2 registres (N) z en hexadécimal (T) z contenant 2 nombres hexadécimaux (F) z N peut être inséré dans le nombre de registres de données nécessaires mais ce n’est pas obligatoire. La relation est la suivante : 33002205 12/2010 Type Relation A Nombre de registres = N/2 (valeur d’entier supérieure suivante) B Nombre de registres = N H pour 1 ≤F ≤4... Nombre de registres = N pour 5 ≤F ≤8... Nombre de registres = 2 x N I et L Relation identique à H O Nombre de registres = N 637 Editeur de messages ASCII Code de contrôle Signification du code de contrôle Un code de contrôle adopte le format "Nul", sachant que nul est un élément à trois caractères OOO et que les double guillemets représentent les délimiteurs. Par exemple : "017" 638 33002205 12/2010 Editeur de messages ASCII Espaces Signification des espaces Un champ d’espace adopte le format ddx, sachant que dd est un nombre décimal (1..99) utilisé pour déterminer le nombre d’espaces à ajouter au message. Représentation de la boîte de dialogue Plusieurs espaces entre le texte : 33002205 12/2010 639 Editeur de messages ASCII Retour chariot Signification du retour chariot Un champ retour chariot ajoute un chariot retour aux informations de sortie et il adopte le format, /. Représentation de la boîte de dialogue Retour chariot : 640 33002205 12/2010 Editeur de messages ASCII Vidage (tampon) Signification du vidage L’effacement du tampon des messages d’entrée est expressément spécifié pour le P892 uniquement. Ce champ possède le format suivant <*>/. Le signe * peut correspondre à l’un des éléments suivants : 33002205 12/2010 * Signification 0 Supprimer tous les caractères du tampon. Par exemple : <0> permet de tout effacer. 1;bbb Suppression du nombre des caractères spécifiés par bbb, où bbb est un chiffre (1...255). Par exemple, <1;100> permet de vider les 100 premiers caractères d’un tampon. 2;hhhh Scrutation du message pour les 2 caractères spécifiés par les nombres hexadécimaux hhhh. Si une correspondance existe, cela supprime tous les caractères jusqu’à la correspondance non incluse. Par exemple : <2;5445> entraîne la modification du tampon ‘12TEST’ en "TEST". 3;rrr;hhhh Scrutation du message pour les 2 caractères spécifiés par les nombres hexadécimaux hhhh. Si une correspondance existe, cela supprime tous les caractères jusqu’à la correspondance incluse. La recherche doit être réalisée aussi souvent que spécifié par rrr, où rrr représente un nombre décimal 1...255. Exemple : <3;2;5445> entraîne la modification du tampon ‘12TEST3456TEST789TEST’ en ST789TEST. 641 Editeur de messages ASCII Répétition Signification d’une répétition Utilisez ce champ du message pour spécifier qu’un numéro de champs de message sera utilisé plusieurs fois. Ce champ a le format dd(*), avec dd étant un facteur de répétition décimal (1....99), ( ) représentent les délimiteurs et * est une série de champs de messages. Représentation de la boîte de dialogue Texte répété : 642 33002205 12/2010 Editeur de messages ASCII 19.2 Interface utilisateur de l’éditeur de messages ASCII Introduction Ce sous-chapitre décrit l’interface utilisateur de l’éditeur de messages ASCII. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Comment utiliser l’éditeur de message ASCII 644 Numéro de message 646 Texte message 648 Texte de simulation 649 643 Editeur de messages ASCII Comment utiliser l’éditeur de message ASCII Appel de l’éditeur de message ASCII L’éditeur de message ASCII est appelé à partir de l’élément de menu Messages ASCII... dans le menu Projet. Cet éditeur vous permet d’ajouter/de modifier/d’effacer des messages dans un espace de travail temporaire, puis d’enregistrer ou d’annuler les modifications. Ajouter des nouveaux messages Pour ajouter un nouveau message, tapez le numéro du nouveau message dans la zone de texte Message et tapez un message syntaxiquement correct dans la zone de texte message. Lorsque vous saisissez un message dans la zone de texte message, sa simulation correspondante s’affiche dans la zone de texte Simulation. Lorsque le message est incorrect au niveau de la syntaxe, il est affiché en rouge. Modifier les messages existants Pour modifier un message existant, sélectionnez un message dans la liste Numéro des messages et modifiez le texte. Supprimer les messages Pour supprimer un message, sélectionnez un message dans la liste des numéros de message et cliquez sur Effacer. Lorsque vous cliquez sur le bouton Effacer tous tous les messages de l’espace de travail temporaire sont effacés. Le bouton est activé si au moins un message ASCII est présent dans la boîte des messages. Si vous sélectionnez cette option, une boîte de dialogue de confirmation s’affiche. Afficher Lorsque vous cliquez sur le bouton Affichage vous obtenez un affichage de la boîte de dialogue Message ASCII. Le format du message d’affichage correspond au numéro du message suivi du texte du message. Vous pouvez faire une sélection parmi les choix disponibles. Pour télécharger l’éditeur à partir de la liste d’affichage, cliquez sur le message et sur le bouton OK. 644 33002205 12/2010 Editeur de messages ASCII Enregistrer les modifications Utilisez le bouton OK pour enregistrer les procédés réalisés avec l’éditeur ASCII et pour fermer la boîte de dialogue. A ce niveau, chaque message qui a été crée ou modifié est contrôlé afin de vérifier sa syntaxe. Le contrôle commence avec le message courant et continue jusqu’à ce que tous les messages aient été contrôlés. Si une erreur de syntaxe est détectée, une définition de l’erreur s’affiche d’abord et, dès que la boîte de dialogue de l’erreur disparaît, le message apparaît avec le curseur positionné sur le caractère qui présente une faute. Chaque tentative pour ajouter des caractères ASCII entraînant un dépassement de la taille de l’ensemble de la zone de message définie dans la configuration générera une erreur. Longueur, mots utilisés, mots disponibles Ces champs affichent la longueur du message courant (en mots), le nombre de mots utilisés et le nombre de mots restants. 33002205 12/2010 645 Editeur de messages ASCII Numéro de message Introduction La liste modifiable Numéro de message est une boîte de dialogue qui comporte une liste de sélection des messages où le message sélectionné apparaît coché. Utilisez cette boîte de dialogue pour sélectionner les numéros des messages existants et/ou ajouter des nouveaux numéros de messages. Tant qu’il n’y as pas de messages, la liste et la zone de texte sont vides. Si des messages sont présents, l’éditeur s’affiche initialement avec la zone de texte comportant le premier numéro de message et avec une liste de numéros de messages pour les messages existants. Le numéro du message qui se rapporte au message affiché est indiqué au-dessus de la zone de liste. Action Pour sélectionner un message existant, cliquez sur le bouton de la liste et cochez un numéro dans la liste ou tapez le numéro dans le champ texte. Un nouveau numéro de message peut être inséré en tapant le numéro dans le champ texte. Conséquences Si le numéro du message attribué à un message existant est modifié (soit par le champ texte ou la liste), la zone de texte Message affichera le texte du message pour le numéro du message et la boîte de dialogue de Simulation affiche la simulation du message. Si un nouveau numéro de message est saisi, les zones de texte Message et Simulation disparaissent. 646 33002205 12/2010 Editeur de messages ASCII Traitements des erreurs Les erreurs suivantes peuvent survenir : Si… Alors … un caractère non autorisé est entré une boîte de dialogue du champ message affichera : " Le numéro du message contient des caractères non dans le champ du numéro de conformes " message. Après avoir reconnu l’erreur, le numéro du message est réinitialisé et le procédé se poursuit dans la zone de texte Message. la zone de texte Message n’est pas une boîte de dialogue du champ message affichera : remplie. "Un numéro de message doit être présent avant de saisir le texte". Après avoir reconnu l’erreur, le numéro du message est réinitialisé et le procédé se poursuit dans la zone de texte Message. le numéro est supérieur au numéro maximum défini dans Configurer →Déclaration des messages ASCII.... 33002205 12/2010 une boîte de dialogue du champ message affichera : " Le numéro du message dépasse le maximum défini dans la configuration". Après avoir reconnu l’erreur, le numéro du message est réinitialisé et le procédé se poursuit dans la zone de texte Message. 647 Editeur de messages ASCII Texte message Introduction La zone de texte Message est un éditeur de texte en format libre permettant d’entrer des messages ASCII. Cet éditeur permet d’avoir une ligne arbitrairement longue de texte en format libre. Bien que le texte doive respecter la syntaxe des messages ASCII, il ne doit pas nécessairement être correct au niveau de la syntaxe avant de cliquer sur le bouton OK, même si une note d’affichage de validité apparaîtra pendant que vous entrez vos messages. Actions Le message sélectionné doit être prêt pour être modifié, sinon un nouveau message peut être entré. Les opérations d’édition Windows standard (Couper, Coller, Copier, ...) sont autorisées. Conséquences Si le message est syntaxiquement correct, son texte s’affiche en couleur normale, c’est-à-dire en rouge. Le texte revient à la ligne, évitant ainsi toute situation où un défilement horizontal est requis. 648 33002205 12/2010 Editeur de messages ASCII Texte de simulation Introduction La zone de texte Simulation est un champ à plusieurs lignes en lecture seule. La sortie simulée du message courant s’affiche dans cette fenêtre. Lorsque les messages sont ajoutés ou modifiés, la sortie simulée s’affiche dans la fenêtre de simulation. Considérations particulières La simulation des codes de contrôle est représentée comme le caractère ASCII correspondant au régulateur, à l’exception des codes de contrôle qui ne sont pas autorisés pour le contrôle de texte Windows et sont écrits sous la forme d’un ’l’. NOTE : Toute simulation supérieure à 32 k caractères est tronquée à partir de cette limite. 33002205 12/2010 649 Editeur de messages ASCII 19.3 Comment continuer après un avertissement Comment continuer après un avertissement Introduction Quelques conditions vous permettent de continuer à travailler avec l’éditeur ASCII, bien que cela soit des fonctionnalités éventuellement réduites. NOTE : Pour qu’une configuration soit conforme, les messages peuvent être effacés. Dépassement du nombre total de messages Les numéros de message qui sont au-dessus de la limite maximale définie dans Configurer →Déclaration des messages ASCII... sont uniquement disponibles pour l’affichage ou la suppression. Ces messages apparaissent en grisé. L’avertissement associé est le suivant : "Avertissement : certains numéros de messages dépassent le numéro du message le plus élevé xx, défini dans Configurer. Tous les messages supérieurs à xx peuvent uniquement être affichés ou supprimés." Dépassement de la taille de la zone du message Si la taille du message dans la base de données est supérieure à la taille définie dans Configurer →Déclaration des messages ASCII..., un avertissement s’affiche. Vous pouvez continuer à effectuer des affichages, des modifications ou des suppressions mais les modifications ne peuvent pas être enregistrées à moins que la taille ne redescende en dessous des paramètres de configuration. L’avertissement est le suivant : "Avertissement : la taille de la zone des messages ASCII, xx, dépasse la taille maximale, xx, définie dans Configurer." Conseils NOTE : Pour qu’une configuration soit conforme, les messages peuvent être effacés. NOTE : Consultez le manuel utilisateur de l’automate pour obtenir des informations sur les caractères ASCII. 650 33002205 12/2010 Editeur de messages ASCII 19.4 Editeur de messages ASCII en modes local/combinaison/direct Editeur de messages ASCII en modes local/combinaison/direct Mode local Lorsque vous utilisez Concept pour une programmation en mode local, l’éditeur de messages ASCII est affiché avec l’ensemble des messages sauvegardés dans la base de données. En cliquant sur le bouton OK, ces messages sont sauvegardés dans la base de données. Mode direct Lorsque vous utilisez Concept pour une programmation en mode direct, l’éditeur de messages ASCII est affiché avec l’ensemble des messages sauvegardés dans le régulateur. En cliquant sur le bouton OK, les modifications effectuées sur les messages ASCII sont chargées dans le régulateur. Mode combinaison Lorsque vous entrez dans le mode combinaison, Concept contrôle si les informations du régulateur correspondent à celles de la base de données. Si une correspondance existe, le régulateur est considéré comme étant EGAL à la base de données. Une non correspondance est indiquée par NON EGAL. Si l’état est EGAL, l’éditeur de messages ASCII est affiché avec l’ensemble des messages ASCII de la base de données. Si un message de l’éditeur affiché est modifié, ces modifications seront sauvegardées dans la base de données et dans le régulateur après avoir cliqué sur le bouton OK. 33002205 12/2010 651 Editeur de messages ASCII 652 33002205 12/2010 Fonctions en ligne 33002205 12/2010 Fonctions en ligne 20 Aperçu Ce chapitre décrit les différentes fonctions en ligne. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 20.1 Remarques générales sur les fonctions en ligne 654 20.2 Connecter API 655 20.3 Installer et commander API 671 20.4 Extraire informations de processus (Etat et mémoire) 685 20.5 Chargement d’un projet 692 20.6 Animation de sections 703 20.7 Diagnostic en ligne 707 20.8 Journalisation de l'accès en écriture à l'API 709 653 Fonctions en ligne 20.1 Remarques générales sur les fonctions en ligne Remarques générales Introduction Après avoir établi la liaison entre le terminal et API, via Modbus, Modbus Plus ou TCP/IP, vous pouvez charger votre projet dans API. Dans les différents éditeurs, vous disposez de fonctions en ligne spéciales permettant l’affichage et la modification des valeurs, actuellement stockées dans la mémoire d’état de API. Par ailleurs, vous avez le contrôle de API. ATTENTION Un Timeout de communication ou une panne générale de protection mémoire pourrait se produire, si vous modifiez l’horloge Système de votre terminal en mode Connecté. Si vous ne pouvez pas quitter votre programme en cours, il est vivement conseillé de fermer toutes les sections programme animées ou de désactiver l’animation, de façon à minimiser le risque d’entrer dans une opération critique en terme de temps. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. 654 33002205 12/2010 Fonctions en ligne 20.2 Connecter API Aperçu Dans cette section, vous trouverez des informations pour la liaison des API. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Généralités 656 Préréglages pour fonctionnement EN LIGNE 659 Liaison réseau Modbus 660 Réseau Modbus Plus 661 Bridge Modbus Plus 666 Liaison réseau TCP/IP 668 Relier le simulateur CEI (32 bit) 669 Etat de l’API 670 655 Fonctions en ligne Généralités Introduction Une connexion peut être établie entre un PC et l'API. En mode moniteur (non supporté par les automates M1E), vous pouvez modifier les sections CEI, mais pas les charger dans l'API. Lorsque vous quittez Concept, un avertissement s’affiche. NOTE : Seul un PC à la fois est autorisé à être connecté à l'API. Ouverture de session (login) limitée à l'API Lors de l'ouverture d'une session API, les restrictions suivantes sont valables pour les UC 140 434 12 A et 534 14 A/B Quantum : z Si un PC en mode programmation est déjà connecté à l'API, il est impossible de connecter d'autres PC à l'API. z Si un PC en mode moniteur est déjà connecté à l'API, il est possible de connecter d'autres PC à l'API, à condition qu'ils soient également en mode moniteur. Une possibilité de connexion à l'API dans un autre mode n'est pas prévue pour les autres PC. Contrôle de cohérence Si un projet est ouvert et qu’une connexion entre un PC et l’API est établie, un contrôle de cohérence est automatiquement réalisé sur PC et API entre le programme, les EFB et les DFB. Le résultat de ce contrôle (égal, modifié ou différents) apparaît dans la barre d’état et est inscrit dans un fichier. Ce fichier se trouve dans le répertoire de projets de Concept et s'appelle NOMDUPROJET.RMK. Il sert exclusivement à l'usage interne et son contenu change automatiquement. Le graphique ci-dessous donne la signification des diverses entrées : 656 33002205 12/2010 Fonctions en ligne Signification des états Signification des états : z égal Les programmes sur le PC et l’automate sont compatibles. z différents Les programmes sur le PC et l’automate ne sont pas compatibles. La commande En ligne →Chargement... permet d'établir la cohérence. z modifié Le programme sur le PC a été modifié. La commande En ligne →Chargement des modifications permet d'appliquer directement les modifications sur l’automate. Remarque : Même pour les modifications qui n'influencent pas le code (par ex. création/modification de commentaires en IL/ST, déplacement d'objets – sans répercussion sur la logique – en FDB/LD/SFC), l'état modifié apparaît temporairement. Lors de l'analyse suivante de la section (Projet →Analyser projet, Projet →Analyse de la section ou En ligne →Chargement des modifications), le programme revient automatiquement à l'état égal (si aucune autre modification influençant le code n'a été réalisée). Si des modifications influençant le code ont été également effectuées, le système n'affiche que ces sections dans la boîte de dialogue Chargement des modifications. 33002205 12/2010 657 Fonctions en ligne Rapports entre les états Le graphique montre le rapport entre les différents états du programme : Unk Inconnu Dis Non connecté !Eq Différents Mod Modifié E!S Egal mais non mémorisé EqS Egal et mémorisé 658 33002205 12/2010 Fonctions en ligne Préréglages pour fonctionnement EN LIGNE Introduction Dans la boîte de dialogue Connecter à l'API vous pouvez spécifier des réglages pour la liaison API et le mode CONNECTÉ qui en résulte. Autorisation d’accès Vous pouvez spécifier quelles fonctions sont exécutées dans le fonctionnement EN LIGNE, c.à.d. quelles commandes sont disponibles dans le menu principal En ligne. Types de protocoles Pour une liaison entre le terminal et l’API, il est important de savoir dans quel réseau se trouvent les participants en communication, de sorte que vous sélectionniez le type de protocole correct. Déterminez à l’aide de la table quel type de protocole convient pour votre liaison de réseau. Liaison des participants au réseau Type de protocole Interface série Modbus SA85-/PCI85-Adapter Modbus Plus Bloc NOE (au bus Ethernet SINEC H1) TCP/IP Carte d’interfaces TCP/IP (simulation 32-Bit) Simulateur CEI (32-Bit) NOTE : Vous ne pouvez jamais relier le terminal qu’à un API. C.à.d. que, avant d’établir une liaison avec un autre API, une liaison déjà existante doit, avec la commande Déconnecter... être fermée. 33002205 12/2010 659 Fonctions en ligne Liaison réseau Modbus Introduction Pour une liaison réseau Modbus, vous devez mettre en concordance les réglages de l’interface Modbus avec les réglages de l’API. L’interface est traitée dans la boîte de dialogue Configuration port Modbus (Configurer →Configuration port Modbus.... Configuration du protocole pour Modbus Avec la sélection du type de protocole Modbus, indiquez dans le domaine Configuration du protocole : Modbus d’autres données. Fixez l’adresse des abonnés (Noeud n° ) à la API, et entrez celle-ci dans la zone de texte correspondante. Pour la communication entre l’API et l’appareil de programmation, vous pouvez déterminer le mode de transfert. Selon l’utilisation, les modes suivants sont disponibles : Utilisation Mode Communication avec différents appareils hôtes. Le mode ASCII travaille avec 7 bits de données. ASCII Communication avec un ordinateur personnel compatible IBM. Le mode RTU travaille avec 8 bits de données. RTU Après avoir défini l’interface série pour la liaison réseau Modbus, ouvrez avec le bouton de commande Configuration port... la boîte de dialogue Configuration du COMx. Entrez ici les réglages pour l’interface, comme dans la boîte de dialogue Configuration port Modbus. Avec le bouton de commande OK établissez la liaison EN LIGNE. 660 33002205 12/2010 Fonctions en ligne Réseau Modbus Plus Introduction Pour une liaison réseau Modbus Plus, indiquez dans la zone Configuration du protocole : Modbus Plus, si le système utilise le simulateur CEI à 16 bits (Port 0) ou l’interface Modbus Plus (Port 1). Tous les abonnés du réseau local sont affichés dans la zone de liste. De plus, le système affiche l'itinéraire de routage de l'ordre de rotation des jetons du réseau, qui peut comprendre jusqu’à 5 adresses d'abonnés. Jusqu’à 64 abonnés peuvent être reliés à un réseau ; cela signifie qu’une adresse de l'itinéraire de routage doit être comprise entre 1 et 64. Plusieurs réseaux peuvent être reliés par un pont. NOTE : Un double clic sur un pont listé permet de visualiser la liste des abonnés d’un autre réseau. Pour dérouter l'exécution du programme vers le pilote de périphérique Modbus Plus, Concept déclenche une interruption logicielle MS-DOS. Le numéro d'interruption prédéfini à cet effet est 5C (hex). NOTE : Si aucun pilote virtuel Modbus Plus n'a été installé, l'environnement MSDOS sous Windows a des difficultés à réagir à l'interruption logicielle. Si une violation de partage (exception) se produit dans la situation décrite ci-dessus, modifiez le numéro d'interruption et faites le passer à 5D (hex) dans le fichier MODICON.INI : [PORTS] mbp0=5d Lors du traitement de 5D par NTVDM.EXE, une violation de partage ne devrait plus survenir. Simulateur CEI (16 bits) Le simulateur simule une API couplée via Modbus Plus. L’adresse du PC apparaît dans l'itinéraire de routage affiché dans la zone de liste. Le simulateur est actif, lorsque dans la zone Configuration du protocole : Modbus Plus : vous sélectionnez l’option Port 0. NOTE : Lorsque le simulateur est actif, aucun autre abonné ne peut être affiché. Le simulateur est disponible pour les langages CEI (FBD, SFC, LD, IL et ST). API en tant qu'abonné Modbus Plus Avec une API en tant qu'abonné Modbus Plus, l’adresse de l’API dans l'itinéraire de routage apparaît dans la zone de liste. Cette adresse correspond à l’adresse d'abonné configurée avec un interrupteur rotatif au dos de l’UC. 33002205 12/2010 661 Fonctions en ligne SA85/PCI85 en tant qu'abonné Modbus Plus Le module SA85/PCI85 est un adaptateur Modbus Plus pour PC-AT d'IBM ou compatible. L’adresse de port s’affiche dans la zone de liste. Cette adresse indique le réseau dans lequel le SA85/PCI85 est installé.. Représentation d’un itinéraire de routage avec SA85 : 662 33002205 12/2010 Fonctions en ligne Bridge Plus en tant qu'abonné Modbus Plus Un Bridge Plus (BP85) relie les abonnés de deux réseaux Modbus Plus. Il apparaît dans la zone de liste et un double clic sur ce pont (Bridge) permet d'atteindre le réseau Modbus Plus voisin. Représentation d’un itinéraire de routage avec un Bridge Plus BP85 : Exemple : L’exemple illustre un itinéraire de routage via 3 réseaux Modbus Plus. L'objectif est d’envoyer un message de l'abonné 5 du réseau A à l'abonné 12 du réseau C. L'itinéraire de routage, 22.20.12.00.00 dans notre exemple, est composé comme suit : 33002205 12/2010 Itinéraire Signification 22 La première adresse est l’adresse Bridge Plus du réseau A du participant 5 sortant. Cela signifie que le message de l'abonné 5 sortant est communiqué au réseau B voisin par ce pont (Bridge). 20 La deuxième adresse est l’adresse Bridge Plus du réseau voisin B. A cet endroit, le message est communiqué du réseau B au troisième réseau C. 12 La troisième adresse est celle de l'abonné 12, qui est également le destinataire. 00.00 Les adresses quatre et cinq sont sur 0, car il n’y a plus adresses de réexpédition. 663 Fonctions en ligne Bridge en tant qu'abonné Modbus Plus Le Bridge Modbus Plus permet d'établir une liaison entre l’Ethernet et le réseau Modbus Plus ou entre deux réseaux Modbus Plus. Le Bridge Modbus Plus doit être considéré comme ordinateur hôte et configuré dans la zone Configuration du protocole : TCP/IP. Indiquez l’adresse IP ou le nom d’hôte du Bridge, et passez ensuite dans la zone de texte Type de protocole : à la configuration du réseau Modbus Plus. Le Bridge Modbus Plus est listé parmi les abonnés du réseau Modbus Plus uniquement sous le nom d’hôte précédemment entré dans la zone Configuration de protocole : TCP/IP. Un double clic sur le nom d’hôte correspondant fait apparaître la boîte de dialogue Bridge Modbus Plus permettant de configurer l'itinéraire de routage 5 octets. La suite de la procédure dans la boîte de dialogue est décrite au chapitre "Bridge Modbus Plus, page 666". Exemple : Dans la boîte de dialogue Bridge Modbus Plus créez l'itinéraire de routage 25.8.17.33.0 définissant la liaison suivante (de A vers D) : A 664 Le message envoyé par l’ordinateur hôte contient l'itinéraire de routage Modbus Plus 5 octets. Le premier octet contenant l’adresse réseau de l’ordinateur hôte renvoie au Bridge Modbus Plus connecté. Le Bridge Modbus Plus 1 reçoit ensuite le message sur l'itinéraire interne 8, comme défini dans le 2e octet. 33002205 12/2010 Fonctions en ligne B C D Le n° 17 d’index TCP géré dans le Bridge Modbus Plus (3e Byte) communique le message à l'abonné ayant l’adresse IP 205.167.8.10. Dans ce cas, l'abonné ayant cette adresse IP est un autre Bridge Modbus Plus. Le Bridge Modbus Plus 2 reçoit le message. Le n° 33 d’index MBP indiqué dans le 4e octet et géré par le Bridge communique l’information à l'abonné Modbus Plus configuré. Dans ce cas, il s'agit de l'abonné 12.0.0.0.0. Le message est arrivé à destination, à savoir l'abonné Modbus Plus 12. Multiplexeur en tant qu'abonné Modbus Plus Le multiplexeur BM85 relie jusqu’à quatre périphériques Modbus ou réseaux Modbus à un réseau Modbus Plus. Voir aussi "Guide de l’utilisateur BM85 Modbus Plus Bridge/Multiplexer". Représentation d’un itinéraire de routage avec un multiplexeur BM85: 33002205 12/2010 665 Fonctions en ligne Bridge Modbus Plus Introduction Dans cette boîte de dialogue, entrez le chemin de routage 5 octets, qui définit la liaison de l’ordinateur hôte avec le participant Ethernet. Effectuer les réglages Dans le tableau suivant, on décrit comment vous définissez le chemin de routage : 666 Domaine de réglage Octet de chemin de routage Signification Chemin Bridge 2. Octet Du Bridge peuvent sortir au maximum 8 nuds de liaison vers d’autres réseaux, parmi lesquels il faut en sélectionner un. Octet de routage IP 3. Octet Entrez un n° d’index, qui est assigné à une adresse IP. Cette adresse IPdevrait correspondre à une adresse de participant Ethernet, vers laquelle l’information est alors envoyée. Si cette adresse IP renvoie à un autre Modbus Plus Bridge dans Ethernet, une autre adresse de participant (Octet de routage MB+) doit être attribuée pour la retransmission dans le réseau Modbus Plus. Octet de routage MB+ 4. Octet Dans le cas où il existe une liaison entre deux réseaux Modbus Plus via deux Modbus Plus Bridges, le n° d’index du participant Modbus Plus doit être entré ici. Ce n° d’index est également assigné à une adresse de participant. S’il n’y a pas de liaison via un autre Bridge, on entre la valeur "0". Adresse complète 5. Octet Il s’affiche le chemin de routage 5 octets complet, selon le réglage. Le 1er octet est alors automatiquement réglé sur l’adresse de participant de l’ordinateur hôte. 33002205 12/2010 Fonctions en ligne N° d’index Modbus Plus. Les assignations du n° d’index Modbus Plus sont préréglées et peuvent être sélectionnées entre 0 et 255. Il faut veiller à ce que le n° d’index 255 soit réservé à des opérations spécifiques. Par la sélection de ce n° d’index, on autorise, par une commande interne, l’extraction de données ou le chargement entre un participant TCP/IP et le Modbus Plus Bridge. Les n° d’index 250 à 253 sont réservés et ne peuvent pas être utilisés. Dans le tableau qui suit est représenté l’index dans le chemin de routage Modbus Plus : Index Chemin de routage Modbus Plus 1 ... 64 1.0.0.0.0 ... 64.0.0.0.0 65 ... 128 2.1.0.0.0 ... 2.64.0.0.0 129 ... 192 3.1.0.0.0 ... 3.64.0.0.0 193 ... 249 3.2.1.0.0 ... 3.2.57.0.0 N° d’index TCP/IP Les assignations des n° d’index TCP se font automatiquement, après que l’on ait spécifié l’adresse IP du Modbus Plus Bridge dans la boîte de dialogue Connecter →Configuration du protocole : TCP/IP. Chaque index est attribué à une adresse IP, dans laquelle les 3 premiers octets correspondent aux 3 premiers octets de l’adresse IP du Modbus Plus Bridge. Le 4ème octet est compté de 1 á 255 maximum. Exemple : Avec une adresse IP de Modbus Plus Bridge de 205.167.4.65, les adresses TCP/IP sont préréglées automatiquement comme l’indique le tableau suivant : Index Adresse IP 1 205.167.4.1 2 205.167.4.2 ... ... 255 205.167.4.255 NOTE : Une description détaillée de Ethernet Bridge se trouve dans le manuel de l’utilisateur "174 CEV 200 30 TSX Momentum Modbus Plus pour le Guide de l’utilisateur de Ethernet Bridge". 33002205 12/2010 667 Fonctions en ligne Liaison réseau TCP/IP Introduction Pour une liaison Ethernet, sélectionnez dans la boîte de dialogue Connecter à l'API le type de protocole TCP/IP. Paramétrage du protocole pour TCP/IP Pour le couplage à d’autres abonnés Ethernet, indiquez dans le domaine Configuration du protocole : TCP/IP l’adresse IP ou le nom d’hôte de l’abonné Ethernet. Pour le couplage à Ethernet via des abonnés Modbus Plus, indiquez dans le domaine Configuration du protocole : TCP/IP l’adresse IP ou le nom d’hôte du Modbus Plus Bridge (voir aussi "Bridge comme abonné Modbus Plus (voir page 664)"). Coupler Quantum à l’Ethernet Avec la configuration du module NOE vous pouvez établir un couplage de Quantum au bus Ethernet. Vous avez ainsi la possibilité de communiquer par l’appareil de programmation avec d’autres composants d’automatisation dans le système de bus Ethernet. 668 33002205 12/2010 Fonctions en ligne Relier le simulateur CEI (32 bit) Introduction Le simulateur simule un API connecté par TCP/IP, les états de signal des modules E/S étant également simulés. Il est possible de connecter simultanément jusqu’à 5 terminaux sur l’API simulé. Pour activer le simulateur, sélectionnez dans la boîte de dialogue Connecter à l’API le type de protocole Simulateur CEI (32 bit). Paramétrage du protocole pour simulateur CEI (32 bit) Le simulateur est actif, lorsque dans la zone Configuration du protocole: Simulateur CEI (32 bit) l’adresse de votre carte d’interface TCP/IP (par ex. 138.200.156.183) apparaît. L’adresse TCP/IP est indiquée sur la barre de titre du programme de simulation de Concept PLCSIM32. NOTE : Le simulateur n’ est disponible en ce moment que pour les langages CEI (FBD, SFC, LD, IL et ST). 33002205 12/2010 669 Fonctions en ligne Etat de l’API Introduction Avec une liaison de réseau, l’état de l’API est affiché dans la boite de dialogue Connecter à l’API dans la liste des participants au réseau Modbus Plus. Etats de l’API Le tableau suivant présente une liste de tous les états pouvant se produire : 670 Etat Signification Marche Caractérise un API avec un programme en cours d’exécution. Arrêté Caractérise un API avec un programme arrêté. Inconnu Caractérise un API inconnu. Pas configuré Caractérise un API sans configuration de matériel, c’est-à-dire qu’aucune fonction en-ligne n’est possible. 33002205 12/2010 Fonctions en ligne 20.3 Installer et commander API Aperçu Dans ce chapitre, vous trouverez des informations pour l’instaIlation et la commande des API. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Remarques générales 672 Temps alloué aux boucles de cycles constants 673 Cycles uniques 674 Effacer des zones de mémoire sur l’API 676 Traitement LL984 à vitesse optimisée 677 Enregistrer en flash 678 Réactiver l’enregistrement Flash 681 Paramétrer mot de passe API 682 671 Fonctions en ligne Remarques générales Introduction Les fonctionnalités de l’API et de l’UC peuvent être actionnées en le mode connecté. Pour établir le mode connecté, l’API doit être connecté à l’appareil de programmation. Vous pouvez influencer directement l'API à l'aide des commandes suivantes : Définir le temps de cycle z Fonction Cycles uniques z Supprimer le contenu API z Régler l’heure z Exécuter un traitement optimisé z Enregistrer dans flash z Définir mot de passe pour API z Les commandes pour installer et actionner l’API se trouvent dans En ligne → Commande en ligne. 672 33002205 12/2010 Fonctions en ligne Temps alloué aux boucles de cycles constants Introduction Vous pouvez fixer un temps de cycle constant pour l’exécution du programme utilisateur, dans la boite de dialogue En ligne →Commande en ligne →Marche cycle constant... →Configuration du cycle constant. Si, toutefois, le temps de cycle réel dépasse le temps de cycle constant que vous avez défini, le système ignore les paramètres que vous avez définis et utilise le temps de cycle normal (temps de cycle à vide). Si vous sélectionnez un temps de cycle constant supérieur au temps de cycle réel, la commande attend à chaque boucle de cycle que le temps réel de cycle arrive à expiration. NOTE : Les entrées/sorties connectées à l'aide d'experts de communication ne doivent pas être utilisées pour la mise à jour de requêtes d'E/S constantes, car les temps de réponses d'E/S risquent de fluctuer trop fortement. NOTE : Cette fonction ne peut pas être exécutée en cas de liaison avec le simulateur. Condition de sélection Cette boîte de dialogue n’est disponible que lorsque la liaison entre l’API et le PC a été établie (mode EN LIGNE). Configuration du cycle constant Pour définir le cycle constant, un registre (4x) doit préalablement être défini. En outre, vous devez entrer le temps de cycle (10 - 200 ms) alloué au registre. NOTE : Le temps de cycle augmente si plusieurs fenêtres sont ouvertes sous Concept, par exemple, lorsque plusieurs sections sont affichées en mode Animation. Nous vous recommandons donc de réduire le temps de cycle, en cas d'utilisation de plusieurs fenêtres. Arrêt du cycle constant A l'issue du démarrage du cycle constant à l'aide du bouton Marche cycle constant...., le libellé du bouton de commande passe à Arrêt cycle constant. Un clic sur ce bouton de commande vous permet de mettre fin à l'exécution de cette fonction. 33002205 12/2010 673 Fonctions en ligne Cycles uniques Introduction Vous pouvez fixer les boucles de cycles uniques pour l’exécution du programme d’application dans la boîte de dialogue En ligne →Commande en ligne →Cycle unique marche.... →Configuration du cycle unique. Après l’exécution du nombre de boucles de cycles définies, le traitement logique s’arrête. Cette fonction est utile pour les diagnostics. Elle permet le contrôle de la logique traitée, des données modifiées et des calculs exécutés. AVERTISSEMENT Ça pourrait entraîner l’exécution d’opérations dangereuses, voir destructives, par les outils ou processus concernés. Les cycles uniques ne doivent pas être utilisées pour le dépistage des erreurs sur les commande machines-outils, de processus ou de systèmes de gestion des matières, lorsque ces dispositifs et systèmes sont en marche. Dès que le nombre de boucles de cycles défini a été traité, toutes les sortie les sorties sont conservées dans leur état final. Puisque aucune action logique n’est plus exécutée, la commande ignore toutes les informations d’entrée. La fonction des cycles uniques ne devra donc être utilisée que pour le dépistage des erreurs lors de la mise en service. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Condition de sélection Cette boîte de dialogue n’est disponible que lorsque la liaison entre l’API et l’appareil de programmation est rétablie (mode CONNECTÉ). L’exécution des cycles uniques s’effectue uniquement en mode MARCHE de l’API. Réglages pour cycles uniques Pour le réglage des cycles uniques, le temps de cycle (10 - 200 ms) et le nombre de cycles à exécuter doivent être définis. Au maximum 15 cycles uniques sont possibles. Exécution des cycles uniques Après la fixation du temps de cycle et du nombre de cycles, vous démarrez l’exécution des cycles uniques avec le bouton de commande Déclencher. NOTE : Le bouton de commande Déclencher est disponible uniquement en mode MARCHE de l’API. 674 33002205 12/2010 Fonctions en ligne Terminer la fonction des cycles uniques Après le démarrage de la fonction des cycles uniques par le bouton de commande Cycle unique marche le libellé du bouton de commande change en Cycle unique arrêt. Avec un clic sur ce bouton de commande, vous mettez fin à la fonction, et les boutons de commande Configuration... et Déclencher n’apparaissent plus dans la boite de dialogue. 33002205 12/2010 675 Fonctions en ligne Effacer des zones de mémoire sur l’API Introduction Vous pouvez effacer des zones de mémoires bien déterminées sur l’API en activant dans le dialogue En ligne →Commande en ligne →Effacer mémoire automate... →Effacer contenu automate le bouton d’option correspondant. La commande Chargement... vous pouvez recharger sur l’API les zones de mémoires effacées. Condition de sélection Cette boîte de dialogue n’est disponible que lorsque la liaison entre l’API et le terminal est établie (mode CONNECTÉ), et l’API se trouve en mode STOP. Effacer configuration Si vous effacez la configuration de matériel d’un API, aucune autre fonction en-ligne ne peut être exécutée. Sur la barre d’état, les modes PAS CONFIGURE et INEGAL apparaissent. Effacer programme Si vous effacez le programme d’application sur l’API, celui-ci ne peut plus être démarré. L’état INEGAL apparaît sur la barre d’état. Effacer mémoire à signaux Si vous effacez la mémoire à signaux, lesValeurs initiales des variables localisées seront placées à 0 sur l’API. 676 33002205 12/2010 Fonctions en ligne Traitement LL984 à vitesse optimisée Introduction Vous pouvez atteindre un traitement LL984 en vitesse optimisée en activant la boîte de dialogue En ligne →Commande en ligne à l’aide du bouton de commande Marche mode optimisée démarrer. Après l’activation du bouton de commande, sa dénomination change en Annuler mode optimisée. Cela signifie que par un clic sur ce bouton de commande vous désactivez à nouveau l’optimisation continue de la vitesse. NOTE : Cette fonction n’ a d’incidence que sur les programmes LL984. Condition de sélection Cette boîte de dialogue n’est disponible que lorsque la liaison entre l’API et le terminal est établie (mode CONNECTÉ), et l’API se trouve en mode STOP. 33002205 12/2010 677 Fonctions en ligne Enregistrer en flash Introduction Pour la protection des données, vous pouvez mémoriser des parties de la RAM dans la mémoire flash EPROM de l'API. Après une panne de courant, le contenu de la mémoire flash-EPROM est rechargé dans la RAM d'UC, pour le redémarrage. AVERTISSEMENT Etat de procédé modifié après redémarrage ! Il est important de choisir le bon moment pour l’enregistrement flash, car il se peut que la mémoire flash contienne des valeurs chargées après une coupure de courant et ne correspondant pas à l’état de procédé pour le redémarrage. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Condition de sélection Cette fonction est disponible pour l’utilisation de tous les modules TSX Compact, Momentum et des modules Quantum 140 CPU 434 12 et 140 CPU 534 14. Cette fonction n'est pas disponible pour le fonctionnement à redondance d'UC CEI Quantum. Dans le cas de l’utilisation du simulateur, la fonction de mémoire flash n’est pas disponible. 678 33002205 12/2010 Fonctions en ligne Marche à suivre Pour enregistrer en flash, suivez les étapes suivantes : Etape Action 1 Sélectionnez dans la zone Type de flash, selon le matériel, la case d'option Interne ou Annuler. Note : Les applications nécessitant plus de 480 k octets doivent impérativement être enregistrées dans la carte ordinateur flash. 2 Sélectionnez la zone Etat API, le mode de fonctionnement (MARCHE ou ARRETE) dans lequel l'API doit se trouver après le redémarrage. 3 Activez la case à cocher Edition possible après sauvegarde, si vous souhaitez éditer le programme flash lu après la lecture de tension. Attention : Comme ces modifications effectuées ultérieurement n’ont pas été chargées dans la mémoire flash EPROM, ces données sont perdues si une coupure de courant survient. 4 Activez la case à cocher Enregistrer registres 4x, si vous souhaitez enregistrer tous les registres 4x dans la mémoire flash EPROM. Note : Cette sélection n'est pas disponible pour la gamme Momentum, ceci signifie que toutes les applications sont toujours chargées dans la mémoire flash EPROM. 5 Si vous avez activé la case à cocher Enregistrer registres 4x, vous devez indiquer le nombre de registres, dans la zone de texte Nombre des registres 4x à enregistrer. La zone de registre correspondante, chargée dans la mémoire flash EPROM, est alors définie à partir de l'adresse 400001. 6 Activez le bouton de commande Enregistrer en flash, pour charger le programme utilisateur, la configuration et les valeurs initiales de la programmation CEI de la RAM dans la mémoire flash EPROM. Editer programme Flash Dès que la case à cocher Edition possible après sauvegarde est activée, les informations – qui permettent l'édition du programme après la lecture du contenu flash (par ex. lecture de tension) – sont chargées dans la mémoire flash EPROM lors de l'enregistrement en flash. Comme ces modifications effectuées ultérieurement n’ont pas été chargées dans la mémoire flash EPROM, ces données sont perdues si une coupure de courant survient. Pour l'éviter, il est recommandé d'enregistrer les modifications, à l'aide du bouton de commande Enregistrer en flash, dans la mémoire flash EPROM. 33002205 12/2010 679 Fonctions en ligne Modification du programme flash non autorisée Dès que la case à cocher Edition possible après sauvegarde est désactivée, le programme peut être modifié après la lecture du contenu flash (par ex. lecture de tension), mais n'est pas chargé dans la mémoire flash EPROM. La modification du programme conduit, lors de la lecture de la mémoire flash EPROM, aux réactions suivantes : Procédure : Modifications mémorisées avec Chargement des modifications... Modifications mémorisées avec Enregistrer projet... A l'issue de la liaison, obtention de l'état suivant : a) oui non EGAUX b) oui oui DIFFERENTS Si, dans le cas ci-dessus, a) l'état EGAUX est établi, le contenu de l'appareil de programmation est différent du contenu de la mémoire flash EPROM. Après une coupure de courant, la mémoire flash EPROM est lue, ce qui entraîne la perte de toutes les modifications. Si, dans le cas ci-dessus, b) l'état DIFFERENTS est établi, le contenu de la mémoire flash EPROM est différent du contenu de l'appareil de programmation. Après une coupure de courant, la mémoire flash EPROM est lue, ce qui entraîne la perte de toutes les modifications. NOTE : Pour charger à nouveau une modification de programme dans la mémoire flash EPROM, le bouton de commande Enregistrer en flash doit impérativement être à nouveau disponible. Pour cela, il convient d’exécuter les opérations des étapes décrites dans le chapitre Réactiver l’enregistrement Flash, page 681. UC M1 Ethernet L’application protégée par mot de passe est automatiquement chargée à chaque cycle d’activation/de désactivation. Vous ne pouvez pas annuler cette opération, si vous avez oublié le mot de passe. L’API doit alors être modifié. 680 33002205 12/2010 Fonctions en ligne Réactiver l’enregistrement Flash Introduction Si vous n’avez pas activé la case à cocher Edition possible après sauvegarde pour l’enregistrement Flash, le programme enregistré dans Flash-EPROM ne peut plus être modifié. Après une coupure de courant, Flash-EPROM est lu au moment du redémarrage de l’automate, cependant les boutons de commande Enregistrer en flash et Effacer flash ne sont pas disponibles. Réactiver enregistrement Flash Pour permettre l’enregistrement Flash, la procédure suivante est nécessaire : Etape 33002205 12/2010 Action 1 Mettez l’automate hors circuit. 2 UC Compact : Placez le commutateur "Memory Protect" (Protection mémoire) sur la position ON. UC Quantum : Placez le commutateur sur la position "stop". 3 Remettez l’automate en circuit. 4 UC Compact : Placez le commutateur "Memory Protect" (Protection mémoire) sur la position OFF. UC Quantum : Placez le commutateur sur la position "Lancer". 5 Etablissez la connexion entre l’appareil de programmation et l’automate (Enligne →Connecter...). 6 Ouvrez la boîte de dialogue Enregistrer en flash (En-ligne →Commande en ligne →Programme Flash...). Résultat : Les boutons de commande Enregistrer en flash et Effacer flash sont à nouveau disponibles. 681 Fonctions en ligne Paramétrer mot de passe API Introduction Un mot de passe vous permet d'empêcher toute écriture non autorisée sur l'API. Toutefois, avant de pouvoir définir un mot de passe, vous devez avoir préalablement chargé la configuration dans l'API. Définissez ensuite le mot de passe qui sera alors chargé dans l'API. Le mot de passe est à présent enregistré, de sorte que la protection par mot de passe intervient lors de la liaison entre le PC et l'API, invitant à entrer le mot de passe. NOTE : Lors de la définition d'un mot de passe Quantum, il est possible de configurer un temps précis dans le dialogue Paramètres de sécurité Quantum pour la fonction de fin de session automatique. Cette fonction se trouve dans la présélection Jamais. Une fois le temps défini, cette fonction ferme automatiquement la session utilisateur, dès que cette connexion n'a pas été utilisée pendant la durée définie pour un accès en lecture/écriture à l'API de la part du PC. Caractères autorisés dans le mot de passe API et le nom de l'utilisateur Outre la longueur devant être comprise entre 6 et 16 caractères, les caractères suivants sont autorisés : z a ... z z A ... Z z 0 ... 9 z _ NOTE : Les caractères d'espacement, les voyelles infléchies et les caractères spéciaux ne sont pas autorisés ! Conditions de sélection Cette fonction est disponible lors de l'utilisation de toutes les UC de TSX Compact, d'une UC Quantum 434 12 A/534 14 A/B ou d'une UC Ethernet Momentum. Note Concept accepte les mots de passe suivants : Mot de passe API z Mot de passe Concept (voir page 795) (dans Concept-Security) z 682 33002205 12/2010 Fonctions en ligne Paramétrer mot de passe API Pour définir un nouveau mot de passe API, procédez de la manière suivante : Etape Action 1 Chargez la configuration dans l'API via En ligne →Chargement.... 2 A l'aide de En ligne →Commande en ligne →Paramétrer mot de passe API..., ouvrez le dialogue Changer le mot de passe API. 3 Entrez le nouveau mot de passe dans la zone de texte Saisir le nouveau mot de passe. 4 Entrez à nouveau le nouveau mot de passe dans la zone de texte Confirmer mot de passe. 5 Dans la zone de texte Nom de l'utilisateur, entrez le nom de l'utilisateur, tel que "Dupont". 6 Cliquez sur le bouton de commande OK. Résultat : Le système ferme le dialogue et charge automatiquement le mot de passe dans l'API. Modifier l'ancien mot de passe API Pour modifier un ancien mot de passe API, procédez de la manière suivante : Etape 33002205 12/2010 Action 1 A l'aide de En ligne →Commande en ligne →Paramétrer mot de passe API..., ouvrez le dialogue Changer le mot de passe API. 2 Entrez l'ancien mot de passe dans la zone de texte Saisir l'ancien mot de passe. 3 Entrez le nouveau mot de passe dans la zone de texte Saisir le nouveau mot de passe. 4 Entrez à nouveau le nouveau mot de passe dans la zone de texte Confirmer mot de passe. 5 Dans la zone de texte Nom de l'utilisateur, entrez le nom de l'utilisateur. 6 Cliquez sur le bouton de commande OK. Résultat : Le dialogue se ferme. 7 Chargez la configuration dans l'API via En ligne →Chargement.... Résultat : Le mot de passe a été chargé dans l'API et est demandé lors de la prochaine liaison entre l'API et le PC. 683 Fonctions en ligne Procédure à suivre si vous avez oublié votre mot de passe API Si vous avez oublié le mot de passe API, les étapes suivantes dépendent de la plate-forme API utilisée. Quantum et Compact : Etape Action 1 Coupez l'alimentation en courant sur l'API. 2 Sur votre module de matériel, placez le commutateur de protection de mémoire sur la position MEM_PROT. 3 Enlevez la pile de lithium de l'API. 4 Attendez 5 minutes, puis remettez l'alimentation en courant sur l'API. Résultat : Ceci entraîne l'effacement de la RAM de sauvegarde de la pile, sans que le programme API soit chargé de la mémoire flash EPROM. Ceci permet de rétablir l'état initial de l'API (sans configuration et sans mot de passe). 5 Continuez avec le tableau d'étapes Paramétrer mot de passe API, page 683. Momentum sans Flash : Etape Action 1 Coupez l'alimentation en courant sur l'API. 2 Retirez la pile de l'adaptateur d'interface. 3 Attendez 5 minutes, puis remettez l'alimentation en courant sur l'API. 4 Continuez avec le tableau d'étapes Paramétrer mot de passe API, page 683. Momentum à Flash : Etape 684 Action 1 Coupez l'alimentation en courant sur l'API. 2 Renvoyez le module à son constructeur (Schneider Electric GmbH). 33002205 12/2010 Fonctions en ligne 20.4 Extraire informations de processus (Etat et mémoire) Aperçu Dans ce chapitre, vous trouverez des informations pour l’extraction d’informations de processus. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Remarques générales 686 Etat de l’API 687 Statistiques mémoire 689 685 Fonctions en ligne Remarques générales Introduction Lors de la mise en marche d’une installation d’automation, vous pouvez contrôler certaines opérations et l’affectation de sa mémoire. NOTE : Lors de l’extraction de la configuration qui a été générée à l’aide d’un autre outil de configuration (par ex. SyCon , CMD), des erreurs peuvent se produire. L’extraction est basée sur un archivage qui n’ est pas toujours compatible avec les autres logiciels. Employez donc le convertisseur Modsoft afin de transférer des applications Modsoft vers le Concept. Lire les bits d’état Des bits d’état donnent des informations sur la communication des logitiels avec d’autres assemblages de circuits ainsi que sur les erreurs qui apparaissent lors du déroulement du programme. Des registres d’états sont déjà indiqués lors de la configuration par l’utilisateur. Dans ces registres, les bits d’état qui changent d’état sont réservés, aussitôt qu’un signal incorrect est placé dans l’opération ou qu’une valeur de temps imparti n’est pas respectée. À l’aide d’un affichage d’état déterminé (0 oder 1), l’utilisateur peut reconnaître si le déroulement de l’opération est entaché d’erreur. Lire l’inscription du registre Dans les statistiques de mémoire, l’utilisateur peut contrôler l’affectation de la mémoire pour le projet en cours. Un résumé affiche la mémoire totale, l’emplacement de mémoire libre et la mémoire utilisée pour le programme de l’utilisateur, ainsi que les données de l’utilisateur et les bibliothèques EFB. 686 33002205 12/2010 Fonctions en ligne Etat de l’API Introduction Tous les états de l’API sont affichés dans la boîte de dialogue à plusieurs pages. Ces 67 pages contiennent différentes informations d’état Condition de sélection Cette fonction n’est disponible que lorsqu’une liaison entre l’API et le terminal a été établie. Lorsque le simulateur est actif, les états de l’API ne peuvent pas être interrogés. Etats de programmation Les informations d’état suivantes sur la programmation peuvent être obtenues : z Nombre de segments z Adresse du pointeur de fin de logique z Etat optimisé marche/chargement Etats du matériel Les informations d’état suivantes sur le matériel peuvent être obtenues : Etat de l’unité centrale z z S911 Etat de redondance d’UC z Etat de la machine z Etat du processeur E/S z Quantum état E/S z Etat DIO Codes d’erreurs Les informations d’état suivantes sur les erreurs peuvent être obtenues : Code arrêt de la machine z z Quantum code erreurs de démarrage S908 Etats de transfert et de communication Les informations d’état suivantes sur les exécutions de transferts et de communications peuvent être obtenues : z Etat transfert de données 33002205 12/2010 z Etat transfert de messages z Etat de la communication 687 Fonctions en ligne Etats du câble A + B Les informations d’état suivantes sur le câble A + B peuvent être obtenues : Compteur d’erreurs du câble A + B z 688 z Etat global A + B z Compteur d’erreurs de communication du câble A + B 33002205 12/2010 Fonctions en ligne Statistiques mémoire Introduction La boîte de dialogue Statistiques mémoire donne une synoptique des caractéristiques de la mémoire CEI pour le projet ouvert. Le temps de cycle actuel s'affiche quand un API réel (et non le simulateur) est utilisé. Les caractéristiques de mémoire LL984 ne sont pas mentionnées dans cette boîte de dialogue. La mémoire CEI HSBY n'est également pas mentionnée, comme elle fait partie de la mémoire d'état (nombre de registres d'entrée). Mémoire CEI totale La valeur affichée pour la mémoire total correspond à la valeur mentionnée dans la boîte de dialogue Sélection automate. Modification de la taille du tas CEI La mémoire CEI totale se compose de la mémoire programme CEI, des données globales et de la mémoire EFB. De l'espace supplémentaire doit être réservé dans le tas CEI pour les extensions de programme et la gestion des modifications du programme. La recommandation généralement applicable consiste à configurer la valeur de façon à ce que 20-30% de la valeur indiquée dans la zone de texte Utilisées restent libres. NOTE : Il n'est possible d'effectuer des modifications qu'hors ligne, et celles-ci ne seront adoptées qu'une fois que le programme aura été chargé sur l'API. Mémoire du programme CEI La mémoire utilisateur contient le code du programme, le code EFB, les données du programme (données de section et d'instance DFB), les données de téléchargement, les données de diagnostic, ainsi que des données de gestion. 33002205 12/2010 Informations mémoire Signification Configuré Après détermination du volume de la mémoire CEI totale, des données globales et du volume de la mémoire EFB, le volume de la mémoire programme CEI s'affiche (mémoire programme CEI = mémoire totale CEI – données globales – mémoire EFB). Libre Affiche le volume de mémoire de programme CEI disponible. 689 Fonctions en ligne Les valeurs affichées correspondent au volume de mémoire occupé par : z le code programme z Code EFB z les données de programme (données d'instance DFB et de section) z Données de téléchargement z Données de diagnostic z les données de gestion Défragmentation La valeur affichée correspond à l'état actuel de la défragmentation activée dans la boîte de dialogue Sélection automate. Il s'agit ici d'un processus continu qui aboutira à la valeur 0 au bout d'un certain temps, ce qui veut dire que tous les hiatus auront été éliminés de la mémoire de l'API. Comme ce processus continu influe sur le temps de cycle, il est possible de le désactiver dans la boîte de dialogue Sélection automate. Données globales Les statistiques mémoire comprennent les informations suivantes : Informations mémoire Signification Configuré La valeur affichée correspond à l'espace mémoire configuré pour les variables non localisées dans la boîte de dialogue Sélection automate. Libre Affiche l'espace mémoire disponible pour les variables non localisées. Modification de la taille mémoire pour les données globales Vous pouvez modifier la taille de l'espace mémoire pour les données globales en prenant en compte qu'une augmentation des données globales réduit la mémoire du programme CEI. Chaque objet, par ex. instance FFB, variable, étape, etc., utilise quelques octets de la mémoire du programme CEI. Etant donné que la suppression de variables non localisées ne libère pas automatiquement de l'espace mémoire, nous vous recommandons de prévoir suffisamment d'espace mémoire. La recommandation généralement applicable consiste à configurer la valeur de façon à ce que 20-30% de la valeur indiquée dans la zone de texte Utilisées restent libres. NOTE : Il n'est possible d'effectuer des modifications qu'hors ligne, et celles-ci ne seront adoptées qu'une fois que le programme aura été chargé sur l'API. 690 33002205 12/2010 Fonctions en ligne Mémoire EFB La mémoire EFB est utilisée par le programme utilisateur contenant le code EFB. Son déplacement dans le cadre d'une défragmentation de la mémoire n'est pas admissible : Informations mémoire Signification Configuré Le volume de mémoire EFB configurée pour la Défragmentation de la mémoire de l'UC s'affiche dans la boîte de dialogue Sélection automate. Libre Affiche le volume de mémoire EFB disponible. Temps de cycle La valeur affichée correspond au temps de cycle actuel. Une initialisation de la station d’E/S est effectuée au premier appel, de sorte qu’un temps de cycle de 0 ms/cycle est indiqué. Le temps de cycle est calculé en tant que valeur moyenne après l’initialisation. NOTE : Si vous utilisez le simulateur, le temps de cycle n'est pas indiqué. La mention na signifie « not available », c.-à-d. : « non disponible ». 33002205 12/2010 691 Fonctions en ligne 20.5 Chargement d’un projet Aperçu Dans ce chapitre, vous trouverez des informations pour le chargement d’un projet. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 692 Page Remarques générales 693 Chargement 694 Chargement des modifications 696 Lecture de l'API 699 Procédure de chargement 701 33002205 12/2010 Fonctions en ligne Remarques générales Introduction Pou l’exécution de commandes en ligne, il doit y avoir un transfert vers l’API après l’établissement ou le changement de Sections. Ou bien on peut transférer un projet complet de l’API vers le terminal. Dès que le programme de l’utilisateur est consistant sur le terminal et sur l’API, l’état ÉGAL est affiché dans la barre d’état. L’indication d’état CHANGÉ caractérise un programme dans lequel au moins une section a été changée ou dans lequel des changements dans un éditeur de variables ont été effectués. Avec la commande Chargement des modifications... la consistance entre terminal et API est restaurée. L’indication d’état INÉGAL caractérise un programme dans lequel changements "critiques" ont été effectués. Des changements critiques sont par ex. le changement d’EFB, de DFB ou de types de données dérivés. La commande Chargement... établit la consistance entre le terminal et l’API. Charger, Charger les modifications et Extraction ne pas pas possible en mode animation. Avec la commande Lire... on peut lire les domaines de projets de l’API suivants : z Configuration z Sections CEI z 984 Ladder Logic-Sections z Messages ASCII z Mémoire d’état z Valeurs initiales z Mémoire étendue Processus lors du chargement Le chargement vers l’API peut s’effectuer en deux temps : 1. Le code exécutable (code de la machine) est toujours chargé vers l’API. 2. Le programme complet de l’utilisateur est compressé pour être chargé dans l’API. NOTE : Le programme de l’utilisateur, se composant de types de données dérivées de l’EFB et du DFB définis par l’utilisateur, et du programme (variables, Sections, etc.), ne sera chargé vers l’API que si vous avez d’abord activé dans le dialogue Options de génération de code (Projet →Options de génération de code...) la case à cocher Inclure les données de chargement CEI. En outre, vous pouvez choisir si les commentaires contenus dans le programme de l’utilisateur doivent être chargés vers l’API, et si elles sont disponibles en tant qu’information de lecture. Par l’extraction, le programme de l’utisateur peut être transféré dans son entièreté de l’API en un projet vide vers le terminal. 33002205 12/2010 693 Fonctions en ligne Chargement Introduction La commande Chargement... vous permet de transférer dans l'automate la configuration, le programme utilisateur tout entier (sections CEI ou LL984), des messages ASCII (uniquement dans Concept pour Quantum) et la mémoire d'état avec les valeurs initiales d’un projet. Ceci permet d'assurer la cohérence entre le programme utilisateur sur le PC et l'automate afin que les fonctions en ligne soient exécutables. Charger des parties individuelles dans l'API Vous pouvez sélectionner des parties individuelles qui doivent être chargées dans l'API. Le tableau suivant contient les options disponibles et leur signification respective : 694 Option à charger Signification Configuration Cette option permet de transférer la configuration matérielle à l'automate. Remarque : La configuration matérielle ne peut être transférée dans l'automate que lorsqu’une autorisation correspondante a été accordée dans la boîte de dialogue Niveau d’accès. Pour une liaison Modbus Plus, cette option n’est pas disponible. Sections CEI Cette option permet de transférer à l’API le code de toutes les sections, qui ont été établies avec un langage de programmation CEI (FBD, SFC, LD, IL, ST). Schéma à contacts 984 Cette option permet de transférer à l’API le code de toutes les sections, qui ont été établies avec un langage de programmation LL984. Messages ASCII Cette option permet de transférer à l’API des messages ASCII pour Ladder Logic. Remarque : Cette fonction n’est à disposition que pour l’utilisation de Concept pour Quantum. Mémoire d'état + valeurs initiales Cette option permet de copier toutes les valeurs initiales des variables 4x localisées de l'éditeur de variables dans le miroir (image) de la mémoire d'état. Il charge ensuite dans l'automate les valeurs initiales ainsi que tous les bits d'E/S 0x et 1x bloqués du miroir (image) de la mémoire d'état. Remarque : Lorsque l'automate est en marche, toutes les variables 0x non invalidées du micrologiciel sont réinitialisées dans l'automate. C'est pourquoi les valeurs des variables 0x et 1x ne sont chargées que lorsque les variables sont invalidées. Mémoire d'état uniquement Cette option permet de charger dans l'automate les valeurs initiales des variables 4x localisées et tous les bits d'E/S 0x et 1x bloqués du miroir (image) de la mémoire d'état. 33002205 12/2010 Fonctions en ligne Option à charger Signification Valeurs initiales seules Cette option permet de ne copier que les valeurs initiales des variables 4x localisées de l'éditeur de variables dans la mémoire d'état de l'automate. Mémoire étendue Cette option permet d'attribuer un espace mémoire étendu (Références 6x ) à l'automate. Remarque : Cette fonction n’est à disposition que pour l’utilisation de Concept pour Quantum. Chargement des données de chargement CEI Afin d'obtenir un projet complet lors du téléchargement depuis l'API, vous devez activer avant le chargement, dans la boîte de dialogue Options de génération de code, la case à cocher Inclure les données de chargement CEI. Si cette case à cocher n’est pas activée, seul le code exécutable (code machine) sera chargé sur l’API. Si le chargement est impossible ... L’impossibilité de chargement peut avoir plusieurs causes : Un économiseur d’écran actif peut entraîner des erreurs lors du chargement. Il est donc recommandé de désactiver l’économiseur d’écran. z Si le chargement du programme n’est pas possible en raison de l’insuffisance de la mémoire des données de programme, vous pouvez optimiser la taille de la mémoire Structure schématique de la mémoire de l’API et optmisation de la mémoire., page 163. z NOTE : Si un avertissement apparaît lors du chargement du programme en raison de versions de DFB incohérentes, exécutez la commande Projet →Synchroniser versions des DFB imbriqués. 33002205 12/2010 695 Fonctions en ligne Chargement des modifications Introduction Chargement des modifications n’est utilisé que lorsque des sections ont été modifiées, ajoutées ou supprimées en mode en ligne ou hors ligne, et le programme se trouve, de ce fait, à l’état MODIFIE. Ces modifications sont affichées et peuvent être reprises par l’API. Les modifications sont chargées dans l’API, et la cohérence entre le programme d’application sur le PC et l’API est rétablie. Dans le cas de modifications n’ayant aucune influence sur la logique du programme (par ex. renommer une étape, une section ou une variable, déplacement graphique d'un module, etc.), l’état du programme entre l’API et le PC reste EGAUX et il est impossible de charger les modifications dans l’API à l’aide de la fonction Chargement des modifications. Toutefois, les modifications ne seront pas perdues. Vous pourrez les actualiser lors de la prochaine modification induisant un passage à l’état MODIFIE, à l’aide de la fonction Chargement des modifications. Vous pouvez également charger dans l’API l’intégralité du projet avec les modifications, à l’aide des fonctions En ligne →Charger. NOTE : Cependant, si vous souhaitez actualiser immédiatement vos modifications, simulez une modification de code (p. ex. effacer et rétablir) de sorte que le programme passe à l’état MODIFIE. Exécutez ensuite la fonction Chargement des modifications. En cas d'impossibilité de chargement des modifications à cause d’un manque de mémoire dans l’API, vous pouvez poursuivre de deux manières différentes : z Chargement séquentiel des sections modifiées z Optimiser le projet NOTE : Quand, lors du chargement du programme, vous recevez un avertissement signalant une incohérence de versions DFB, vous pouvez exécuter la commandeProjet →Synchroniser versions des DFB imbriqués . ID pour certaines sections Les sections suivantes sont dotées d'un ID supplémentaire, car elles diffèrent des sections cycliques. z E pour "section d'événement de temporisation" (section d'événement d'E/S et de temporisation = section d'interruption) z T pour "section de transition" 696 33002205 12/2010 Fonctions en ligne Chargement séquentiel des sections modifiées/nouvelles Vous pouvez charger les sections modifiées/nouvelles l’une après l’autre dans l’API : Lors du chargement séquentiel des sections, il faut tenir compte des points suivants : z Si la valeur des constantes a été modifiée, le chargement séquentiel des sections modifiées est impossible. z Toutes les sections CEI supprimées sont effacées automatiquement lors du premier chargement séquentiel sur l’API. z Toutes les valeurs initiales des nouvelles variables et toutes les valeurs initiales modifiées de libellés sont automatiquement chargées sur l’API lors du premier chargement séquentiel. z Si les nouvelles sections comprennent déjà des variables utilisées, la valeur de ces variables est conservée. z Si vous voulez fermer le projet actuel avant d’avoir chargé toutes les modifications dans l’API, vous devez archiver ce projet. Sinon, la poursuite du chargement des modifications restantes n'est plus possible à l'issue de la réouverture du projet ou l'API dispose de sections plus récentes (modifications chargées) que le PC. ATTENTION Risque d’états de traitement non souhaités et dangereux Le chargement séquentiel des sections avec un API en cours peut causer des états de traitement non souhaités et dangereux. Nous recommandons donc d’arrêter l’API lors d’un chargement séquentiel. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. Valeurs initiales modifiées Les valeurs initiales modifiées ne sont plus chargées dans l'API. La valeur initiale transmise à l'API lors du premier chargement (Chargement.../Chargement des modifications...) ne peut pas être écrasée par la commande de menu Chargement des modifications.... Cependant, une modification de la valeur initiale peut être effectuée dans l'éditeur de données de référence. 33002205 12/2010 697 Fonctions en ligne Procédure en cas de chargement séquentiel Pour charger les modifications séquentiellement, procédez comme suit : Etape Action 1 Arrêtez l’API à l’aide de En ligne →Commande en ligne →Arrêter automate . 2 Dans la zone de liste, vous pouvez sélectionner la ou les sections à charger. 3 Confirmez par OK. 4 Rappelez la boîte de dialogue et répétez la procédure jusqu’à ce que toutes les sections modifiées/nouvelles soient chargées dans l’API et le mode EGAUX ait été obtenu. 5 Démarrez l’API à l’aide de En ligne →Commande en ligne →Démarrer automate. Charger les informations de lecture CEI Si dans la boîte de dialogue Options de génération de code la case à cocher Inclure données de chargement CEI est activée, la commande de menu Chargement des modifications...permet également de charger les données de chargement CEI dans l’API. Optimiser le projet La commande Optimiser projet... permet d'éliminer d'éventuels trous dans la gestion mémoire des données de programme de l’API, rendant ainsi le chargement possible. Pour ce faire, l’API doit être arrêté et le programme entier doit être rechargé. Par ailleurs, il peut être nécessaire d’ajuster la taille de la mémoire des données de programme, voir Statistiques d’archivage (voir page 689). D’autre part, vous pouvez optimiser l’utilisation de la mémoire des données de programme à l'aide de la commande En ligne →Statistiques mémoire. ATTENTION Les modifications ne sont appliquées que lorsque le programme est chargé dans l'API. Après l’optimisation du projet ou la modification de la taille de la mémoire des données de programme, arrêtez l’API et chargez le programme dans l’API. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. 698 33002205 12/2010 Fonctions en ligne Lecture de l'API Introduction La commande Lire... vous permet de transférer la configuration, le programme utilisateur tout entier (sections CEI et/ou LL984), des messages ASCII et la mémoire d'état avec les valeurs initiales d’un projet depuis l'automate vers le PC. NOTE : Les données de téléchargement (configuration de l'automate), générées par des programmes logiciels autres que Concept, peuvent être erronées. La lecture se base sur une copie de la mémoire qui n'est pas toujours compatible avec les autres programmes logiciels. Utilisez le convertisseur Modsoft pour transférer votre application Modsoft vers Concept. Lire des parties individuelles à partir de l'automate Vous pouvez sélectionner des parties individuelles qui doivent être chargées depuis l'automate sur le PC. Le tableau suivant contient les options disponibles et leur signification respective : 33002205 12/2010 Option à charger Signification Configuration Avec cette option, la configuration matérielle est transférée sur le PC. Remarque : La configuration matérielle ne peut être transférée depuis l'automate que lorsqu’une autorisation correspondante a été accordée dans la boîte de dialogue Niveau d’accès. Pour une liaison Modbus Plus, cette option n’est pas disponible. Sections CEI Avec cette option, les informations servant à la représentation des sections qui ont été créées avec un langage de programmation CEI (FBD, SFC, LD, IL, ST) sont transmises au PC. Toutefois, aucune valeur de signal actuelle n'est alors chargée par les variables et registres. Schéma à contacts 984 Avec cette option, les informations servant à la représentation des sections qui ont été créées avec un langage de programmation LL984 sont transmises au PC. Messages ASCII Avec cette option, les messages ASCII pour le schéma à contacts sont transmis au PC. Remarque : Cette fonction n’est à disposition que pour l’utilisation de Concept pour Quantum. 699 Fonctions en ligne 700 Option à charger Signification Lire la mémoire d'état et mettre à jour les valeurs initiales Avec cette option, le système lit en premier lieu toutes les valeurs 0x, 1x et 4x localisées de l'automate et les enregistre dans le miroir (image) de la mémoire d'état. Il remplace ensuite les valeurs initiales des variables 4x par les valeurs figurant dans le miroir (image) de la mémoire d'état. La boîte de dialogue Lire les valeurs initiales s'ouvre avec le processus de lecture. Le bouton de commande Oui vous permet de confirmer le remplacement de la valeur initiale affichée par la nouvelle valeur. Remarque : Les valeurs de la mémoire d'état lues peuvent être écrasées dans l'éditeur de données par des opérations en ligne. Il est toutefois possible de modifier ce comportement dans le fichier CONCEPT.INI (voir page 1155). Ne mettre à jour que les valeurs initiales Cette option permet de remplacer les valeurs initiales des variables 4x localisées de l'éditeur de variables par des valeurs de la mémoire d'état de l'automate. Lire uniquement la mémoire d'état Cette option permet de lire toutes les valeurs 0x, 1x et 4x localisées de l'automate et de les enregistrer dans le miroir (image) de la mémoire d'état. Les valeurs initiales disponibles dans l'éditeur de variables ne sont pas écrasées. Mémoire étendue Avec cette option, vous transférez l'espace mémoire étendu disponible (Références 6x) de l'automate dans la configuration. Remarque : Cette fonction n’est à disposition que pour l’utilisation de Concept pour Quantum. 33002205 12/2010 Fonctions en ligne Procédure de chargement Introduction Si, lors du chargement dans l'automate, les données de chargement CEI ont été prises en compte (Projet →Options de génération de code →Inclure les données de chargement CEI), un nouveau projet contenant les données de chargement CEI est créé dans Concept lors du chargement. Ainsi, la totalité du programme utilisateur et des bibliothèques EFB utilisateur est toujours chargée, c.à-d. qu'aucune section, EFB, etc. ne peut être sélectionné seul pour la transmission. NOTE : Lors du chargement (En ligne →Chargement) des données de chargement CEI, de l'espace mémoire supplémentaire est nécessaire de manière à n'utiliser cette fonction que si vous désirez lire de nouveau le projet chargé dans l'automate. Condition Avant de pouvoir exécuter la lecture de l'API, vous devez créer un projet vide. Vous disposez alors de plusieurs possibilités : 33002205 12/2010 Sélectio n Action 1 A l’aide de la commande Fichier →Nouveau projet, créez un nouveau projet. Exécutez ensuite la commande En ligne →Lire.... Réaction : Le dialogue Charger vers le projet s’ouvre. Vous y définissez où le projet doit être téléchargé (par ex. D:\NEW\TESTPRJ.PRJ). Note : Vous pouvez sélectionner un autre répertoire, voire en créer un nouveau, pour ne pas interférer avec des projets existants. Le nom de projet prédéfini correspond au nom du projet chargé dans l'automate. Il est conseillé de ne pas le modifier. 2 A l’aide de la commande Fichier →Ouvrir, créez un projet vide (par ex. D:\NEW\TESTPRJ.PRJ). Exécutez ensuite la commande En ligne →Lire.... Réaction : Le dialogue Lire API s’ouvre. 3 Aucun projet n'est ouvert et vous avez établi une connexion avec l'automate via la commande En ligne →Connecter.... Exécutez ensuite la commande En ligne →Lire.... Réaction : Le dialogue Charger vers le projet s’ouvre. Vous y définissez où le projet doit être téléchargé (par ex. D:\NEW\TESTPRJ.PRJ). Note : Vous pouvez sélectionner un autre répertoire, voire en créer un nouveau, pour ne pas interférer avec des projets existants. Le nom de projet prédéfini correspond au nom du projet chargé dans l'automate. Il est conseillé de ne pas le modifier. 701 Fonctions en ligne Comment faut-il procéder ? Pour télécharger les données CEI chargées, suivez les étapes ci-dessous : Etape 1 Action Ouvrez un nouveau projet. Note : Si, lors du téléchargement, un deuxième projet est encore ouvert, il faut le fermer. Il vous est alors demandé si le projet doit être enregistré avant la fermeture afin de ne pas perdre toutes les modifications effectuées. 2 Etablissez une liaison entre le PC et l'automate (En ligne →Connecter...). 3 Démarrez ensuite le processus de téléchargement (En ligne →Lire API...). Réaction : Une fenêtre apparaît à l'écran. Vous pouvez y indiquer le chemin du projet à lire. Double qualificatif Lors de la procédure de chargement, il peut y avoir des conflits avec des noms existants. Les doubles qualificatifs seront évités comme suit, par partie de programme : Partie de programme Procédé Bibliothèque EFB utilisateur Un écran permettant d'annuler le chargement apparaît. Si cette possibilité n'est pas sélectionnée, un écran apparaît demandant si la bibliothèque EFB utilisateur doit être remplacée et si, auparavant, une copie de sauvegarde de l'ancienne bibliothèque EFB doit être créée. Un écran permettant d'annuler le chargement apparaît. Si cette Fichier DTY (types de données possibilité n'est pas sélectionnée, le fichier DTY existant et portant le même nom sera automatiquement écrasé. Aucune copie de sauvegarde dérivés) de l'ancien fichier n'est effectuée. Bibliothèque DFB 702 Un écran permettant d'annuler le chargement apparaît. Si cette possibilité n'est pas sélectionnée, le fichier DFB existant et portant le même nom sera automatiquement écrasé. Aucune copie de sauvegarde de l'ancien fichier n'est effectuée. 33002205 12/2010 Fonctions en ligne 20.6 Animation de sections Aperçu Ce chapitre présente le principe de l’animation de sections. Pour description plus détaillée, prière de se référer aux chapitres concernés des différents langages de programmation. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Animation de Section CEI 704 Modes de programmation en LL984 706 703 Fonctions en ligne Animation de Section CEI Introduction Les sections CEI peuvent être animées, c.-à-d. que les états actuels du programme en cours sur API / dans le simulateur sont visualisés dans la section. L’animation peut être activée, API arrêté ou en marche. Lorsque API est en marche, les données d‘affichage sont automatiquement actualisées. Lorsque API est arrêté, affichage de l’état statique du programme sur API. Chargement et Chargement des modifications ne sont pas possibles en mode Animation. L’exécution de ces commandes entraîne l’arrêt automatique de l’animation. Conditions préalables requises pour l’animation Conditions préalables requises pour l’animation : Cohérence exigée entre la section à animer, se trouvant sur le terminal, et la section chargée dans API. Sinon, établir la cohérence à l’aide de En ligne → Chargement... (si mode DIFFERENT) ou En ligne →Chargement des modifications... (si mode MODIFIE). Note : Même en présence du mode de programme MODIFIE, il est possible d’animer les sections qui n’ont pas été modifiées. Le mode indiqué dans le pied de page concerne le programme et non la section actuellement représentée à l’écran. z Pour activer l’animation, le terminal et API doivent être connecté. Sinon, établir la connexion à l’aide de En ligne →Connecter.... z Affichage de l’animation active Lorsque le mode Animation est actif, cet état est signalé par : une marque de sélection devant la commande, au niveau du champ ANIME dans la barre d’état, z le bouton Animation est activé dans la barre d’outils et z l’arrière-plande la fenêtre est gris. z 704 33002205 12/2010 Fonctions en ligne Animation de plusieurs sections Dans le cas de l’animation de plusieurs sections, une section animée est actualisée à chaque cycle. Cela signifie que "l’âge" des valeurs des différentes animations augmente avec le nombre d’animations actives. En outre, l’animation pénalise le cycle API. Par conséquent, il est conseillé de fermer les animations dont on n’a plus besoin. Ceci s’applique également à l’animation de nombreuses variables ou d’un nombre important de types de données dérivés. NOTE : Dans le cas d’un couplage via Modbus Plus, il est conseillé de limiter à 10 le nombre de sections animées simultanément. NOTE : Dans le cas d’un couplage via Modbus Plus, il est conseillé de limiter à 5 le nombre de sections animées simultanément. Animation d’une section verrouillée L’animation d’une section verrouillée entraîne l’affichage, dans la barre d’état, de VERROUILLE. Animation d’une section de transition Dans le cas où la section animée est utilisée comme section de transition pour la gestion de séquence (SFC) et si la transition (et par voie de conséquence la section de transition) est ignorée lors de l’édition, l’état affiché dans la section de transition animée est alors VERROUILLE. Conversion d’une section animée en symbole Dans le cas de la conversion d’une section animée en symbole, l’animation s’arrête sur les dernières valeurs et se relance automatiquement à l’appel de la section. 33002205 12/2010 705 Fonctions en ligne Modes de programmation en LL984 Programmation directe On distingue deux situations qui déterminent comment le mode direct d'édition en LL984 s'applique. Dans le premier cas, aucun projet n'est ouvert, et vous êtes en connexion avec un API contenant un programme valable. Lorsque vous sélectionnez la commande Mode direct éditeur LL984 le premier programme contenu dans le premier segment s'affiche. Vous pouvez visualiser l'état du mode direct sur la partie droite de la barre d'état, et la fenêtre de réseau est libellée LL984 Direct. Dans le second cas, un projet est ouvert et vous êtes en connexion avec l'API (mais pas à l'état EGAUX ). Lorsque vous sélectionnez Mode direct éditeur LL984, le dialogue présente une liste de segments et le nombre de réseaux qu'ils contiennent respectivement. Cliquez sur le segment souhaité et ensuite sur OK, la fenêtre d'édition des réseaux s'affiche alors, avec une fenêtre libellée LL984 Direct. Si vous avez une fenêtre d'édition originale, elle restera afficher. Mode de combinaison La programmation combinée est effectuée lorsque la commande de programmation est en ligne. Les modification de programme valides sont immédiatement écrites de façon simultanée aussi bien dans le régulateur que dans la base de données du programme. 706 33002205 12/2010 Fonctions en ligne 20.7 Diagnostic en ligne Affichage de diagnostic Introduction L'affichage de diagnostic dans Concept (En ligne →Diagnostics en ligne...) permet de visualiser le contenu du tampon d'erreur de diagnostic de l'API. Condition de sélection L'affichage de diagnostic n'est disponible que lorsque l'API se trouve en mode en Ligne, et l'état EGAUX est établi entre l'API et l'appareil de programmation. L'affichage de diagnostic fonctionne uniquement avec les langages de programmation SFC, FBD et LD, et les blocs de diagnostic du groupe EXTENDED. Conditions d'affichage de diagnostic Pour l'activation du diagnostic, un temps de surveillance doit préalablement être défini pour l'étape (diagnostic de transition) ou le module de diagnostic (diagnostic de réaction). De plus, dans le dialogue Options de génération de code (Projet → Options de génération de code...) la case à cocher Inclure les données de diagnostic doit être activée. Ceci permet de réserver sur l'API un espace de mémoire (max. 64 enregistrements de diagnostic) pour e tampon d'erreur de diagnostic. Comportement du tampon d'erreur Au maximum 64 événements (erreurs) et au plus 20 signaux par événement peuvent être lus. En cas de débordement du tampon d'erreur de diagnostic, tous les autres signaux (à partir du signal 21) se perdent. C'est seulement après qu'un événement (erreur) passé a été validé dans le tampon d'erreur, que l'événement (erreur) suivant enregistré à la fin. Un débordement du tampon d'erreurs de diagnostic est indiqué sur la barre d'état du dialogue. NOTE : A l'intérieur d'une section SFC, au maximum 16 événements (erreurs) peuvent être gérés. Tous les autres événements (à partir de 17) se perdent C'est seulement après qu'un événement (erreur) passé a été validé dans le tampon d'erreur, que l'événement (erreur) suivant est enregistré à la fin. 33002205 12/2010 707 Fonctions en ligne Diagnostic de transition Les informations à ce sujet sont données dans la section Diagnostic de transition, page 333. Diagnostic de réaction Les informations à ce sujet sont données dans la section Bibliothèque de modules de diagnostic. Affichage de diagnostic Après l'analyse, les événements (erreurs) et les signaux analysés sont écrits dans le tampon et représentés sur l'affichage de diagnostic de Concept. Pour le diagnostic de rédaction, vous recevez les informations spécifiques suivantes : z Désignation de la transition, en raison de laquelle le transfert de l'étape active à l'étape suivante ne s'effectue pas. z Désignation du type TRANS pour la transition dans une section SFC z Désignation de l'étape active qui n'est pas transférée. z Si la transition concernée est une section de transition, les signaux analysés sont en outre présentés sur une liste. Pour le diagnostic de rédaction, vous recevez les informations spécifiques suivantes : z Désignation du bloc de diagnostic qui ne déclenche aucune réaction en raison de signaux erronés. z Désignation du type ACT, PRE, GRP, LOCK, REA pour le module de diagnostic z Numéro de station du module de diagnostic z Les signaux analysés sont présentés sur une liste. 708 33002205 12/2010 Fonctions en ligne 20.8 Journalisation de l'accès en écriture à l'API Journalisation et journalisation chiffrée Introduction La journalisation de l'accès en écriture à l'API permet d'enregistrer, entre autres, les informations suivantes : z Nom de la section z Nom d'instance EFB/DFB, nom de type FB z Nom de broche z [Nom de variable] [Libellé] [Adresse] z Ancienne valeur z Nouvelle valeur z Nom d'utilisateur (si le mot de passe (Login) Concept a été activé dans ConceptSecurity) z Date et heure (voir aussi Format d'adresse dans le fichier journal [Logging], page 1153) Lors de l'ouverture de session, le système peut consigner les événements suivants : z Modifications des droits d'utilisateur z Utilisateurs effacés z Ouvertures de session ayant échoué Outre la journalisation en format lisible dans le fichier *.LOG, vous pouvez obtenir aussi une journalisation chiffrée dans le fichier *.ENC. Le nom de fichier correspond à la date actuelle, p. ex. 20020723.LOG ou 20020723.ENC. Le chiffrement du fichier journal vise à protéger son contenu contre toute modification intentionnelle. L'outil Affichage permet uniquement à l'utilisateur de lire le fichier journal. Un enregistrement du fichier dans un format lisible n'est pas possible. Une édition passant inaperçue est exclue, car le fichier ASCII n'affiche que des caractères illisibles. NOTE : Les fichiers journaux ne sont pas archivés par Concept et le système ne crée pas de fichier de sauvegarde. Fichier journal *.LOG Dans Concept, vous activez la journalisation dans la boîte de dialogue Options → Environnement →Commun... →Environnement commun à l'aide de l'option Fichier. Dans la zone de texte Répertoire de protocole :, vous pouvez définir un nouveau chemin pour le fichier journal (p. ex. 20020723.LOG). 33002205 12/2010 709 Fonctions en ligne Boîte de dialogue Environnement commun : Dans Concept, vous pouvez visualiser le journal actuel à l'aide de la commande de menu Fichier →Afficher journal. Fichier journal chiffré *.ENC De plus, lors de la journalisation, les chaînes de caractères qui se répètent sont toujours chiffrées séparément. Dans Concept, le chiffrement peut être activé de deux manières différentes : à l'aide de la commande de menu Options →Environnement →Commun → Environnement commun et en cochant la case Chiffrement du journal. Remarque : La case à cocher n'est disponible que si aucun projet n'est ouvert. z indirectement à l'aide de la commande de menu Projet →Caractéristiques... et en cochant la case Application sécurisée. Remarque : Cette case à cocher n'est disponible qu'en mode Hors ligne. z 710 33002205 12/2010 Fonctions en ligne Boîte de dialogue Propriétés du projet: Si vous activez le chiffrement, après qu'un fichier journal non chiffré (*.LOG) ait été créé, le système crée un second fichier chiffré (*.ENC). L'emplacement d'enregistrement du fichier *.ENC est défini dans la boîte de dialogue Environnement commun (Répertoire de protocole :). NOTE : Pour activer la journalisation chiffrée, vous devez disposer de droits de superviseur. Outil Affichage L'outil Affichage permet de lire des fichiers chiffrés. L'édition de ces fichiers et leur enregistrement dans un format lisible n'est pas possible. Ils peuvent seulement être imprimés. Pour cela, vous devez disposer de droits de superviseur. La commande de menu Fichier →Afficher journal permet d'exécuter automatiquement l'outil Affichage lorsque le chiffrement a été activé pour le fichier journal actuel. Le fichier journal est tout d'abord muni d'une signature électronique, puis le système exécute le contrôle ci-dessous : z Le fichier journal est généré par Concept. z Le fichier journal n'est pas falsifié. 33002205 12/2010 711 Fonctions en ligne 712 33002205 12/2010 Import/Export 33002205 12/2010 Import/Export 21 Aperçu Ce chapitre décrit les différentes possibilités d’import et d’export de sections, variables et configurations API. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 21.1 Remarques générales sur l’import/export 21.2 Export de sections 716 21.3 Export de variables et de types de données dérivés 719 21.4 Import de section 720 21.5 Import de variables 741 21.6 Import/Export de configuration API 751 714 713 Import/Export 21.1 Remarques générales sur l’import/export Remarques générales sur l’importation/exportation Fonctions d'exportation Les fonctions d'exportation suivantes sont disponibles : Programme Chemin d'accès Fichier d'exportation Concept DFB Concept Fichier →Exporter z Importation de sections d’un projet source vers un projet cible z Importation de sections d’un DFB source vers un DFB cible z Importation de sections d’un DFB source vers un projet cible z Importation de sections d’un projet source vers un DFB cible z Sections FBD, SFC et LD vers fichiers IL ou ST z Déclarations de variables dans un fichier ASCII (uniquement Concept) z Configuration API (uniquement Concept) Concept Edition →Enregistrer comme fichier texte... z Contenus de sections IL ou ST vers un fichier ASCII z Définitions de types de données dérivés, provenant de l’éditeur de type de données 714 Concept Fichier →Projet à Archiver... Fichiers de projet (compression) significatifs Convertisseur Concept Fichier →Exporter → Configuration Configuration API 33002205 12/2010 Import/Export Fonctions d'importation Les fonctions d'importation suivantes sont disponibles : Programme Chemin d'accès Fichiers d'importation Concept DFB Concept Fichier →Importer z Sections exportées à partir d’un projet source ou DFB source z Fichiers IL/ST exportés ou externes vers des sections IL/ST z Fichiers IL/ST exportés ou externes vers des sections FBD/SFC (avec conversion) z Déclarations de variables d’un fichier ASCII (uniquement Concept) z Configuration API exportée avec Concept (uniquement Concept) Concept Edition →Insérer fichier texte... z Contenus de fichiers ASCII et sections IL ou ST z Définitions de types de données dérivés dans l’éditeur de type de données 33002205 12/2010 Concept Fichier →Projet à Archiver... Fichiers de projet (décompression) significatifs Convertisseur Concept Fichier →Importer Configuration API 715 Import/Export 21.2 Export de sections Export de sections Introduction Avec Concept vous pouvez exporter de manière ciblée des projets ou DFB à partir d’un projet source /DFB source puis, au besoin, les réimporter aussitôt dans le projet cible actuel. Condition Le projet à partir duquel l’export est réalisé doit être entièrement cohérent (Contrôle via Projet →Analyser programme). NOTE : Lors de l’export d’une section IL et ST s’assurer que les paramétrages pour commentaires imbriqués (Options →Environnement →Extensions CEI → Commentaires imbriqués autorisés) sont identiques dans le projet source et cible. Etendue de l’export L’export concerne : la section sélectionnée avec ses variables DFB, EFB et types de données. z Dans le cas de SFC les sections de transition afférentes sont également exportées. z La configuration automate n’est pas exportée. z Export comprenant plus d’une section Si l’export concerne plus d’une section une "Pseudo-SFC" est alors générée pour fixer l’ordre d’exécution. Pour ce faire, le code suivant est généré : INITIAL_STEP SECTION_SCHEDULER : Section1 (N); Section2 (N); : SectionN (N); END_STEP 716 33002205 12/2010 Import/Export Export de sections FBD, SFC et LD La commande Fichier →Exporter →Programme : Texte CEI permet de procéder à l'export des sections FBD, SFC et LD, vers IL et ST. Les deux langages Texte des fichiers export suivent les règles grammaticales applicables aux langages Texte CEI telles qu’elles sont décrites dans CEI 1131-3 et dans les tableaux de performances 52 ... 56 de CEI 1131-3. Le code exporté est représenté dans une trame PROGRAM ... END_PROGRAM ou FUNCTION_BLOCK ... END_FUNKTION_BLOCK et englobe toutes les variables du projet ou DFB dans un VAR ... Trame END_VAR au début du fichier. Dans le cas où le nombre de sections exportées est supérieur à 1, la séparation de code est réalisée par le biais d’une trame SFC factice, celle-ci ne faisant pas partie du programme original. Elle dispose simplement d’une INITIAL_STEP pour toutes les sections qui lui seront corrélées en tant qu’actions (désignées par le qualificatif N). L’exécution de ces actions (sections) intervient chaque fois que l’étape est active, ce qui est toujours le cas. Les actions suivent comme sections n’ayant pas de déclarations de variables. L’étape factice INITIAL_STEP s’intitule SECTION_SCHEDULER. Elle représente l’ordre d’exécution des sections tel qu’il est défini dans la boîte de dialogue Ordre d’exécution des sections. La trame SFC factice est ignorée lors d’un réimport dans Concept. Le critère d’omission est le nom spécial attribué SECTION_SCHEDULER. Le fichier ASCII peut être réimporté dans une section FBD ou SFC à l’aide de l’import de texte CEI. L’export et l’import permettent, par ex., de convertir une section LD en section FBD. Il n’est pas possible d’importer une section LD. En cas d’utilisation dans les sections FBD-/LD des entrées/sorties optionnelles EN et ENO celles-ci sont ignorées lors de l’export vers IL/ST. Logique de la section FBD avant Export : Logique de la section FBD après Import : Conversion des éléments LD "contact NF" et "contact NO" en AND et ANDNOT. 33002205 12/2010 717 Import/Export En outre, possibilité d’import du fichier ASCII à l’aide de la fonction Insérer un fichier texte dans une section IL ou ST. Dans ce cas, cependant, il est nécessaire de corriger les fichiers manuellement afin de supprimer les compléments ci-dessus rajoutés au fichier. Limitations de l'export de SFC Lors de l'export de SFC il faut tenir compte des limitations suivantes : z Seules des variables sont autorisées comme actions. Exportation impossible des adresses directes. z Seules des libellés sont autorisés comme variables temporelles pour qualificatifs. Dans les libellés les variables sont transformées avec la valeur 0. z Les noms de section de transition sont modifiés en noms crées par défaut. z Les temps de contrôle et de retard d'étape sont perdus lors de l'export. Export de sections IL et ST A l’aide de la commande Edition →Enregistrer comme fichier texte... vous pouvez exporter des contenus de sections IL ou ST dans un fichier ASCII. Cette fonction Export est purement et simplement une fonction d’export de texte jouant le même rôle que le presse-papiers (Couper/Copier/coller). Les données ne subissent aucune conversion. C’est la raison pour laquelle les déclarations de variables requises, par ex., ne sont pas exportées avec le contenu de section. En cas de conversion des fichiers ASCII via la commande Fichier →Importer → Programme : Texte CEI en section de type FBD ou SFC, toutes les information requises pour le projet (telles que trame programme, nom de la section (voir également Import (Importer Fichier) de programmes IL et ST dans des sections IL ou ST, page 737 et Procédure de "Copie" d’une section IL d’un projet existant dans un nouveau projet., page 738)) sont à saisir manuellement dans le fichier ASCII. 718 33002205 12/2010 Import/Export 21.3 Export de variables et de types de données dérivés Export de variables et de types de données dérivés Export de variables en format "Texte avec séparateurs" A l’aide de Fichier →Exporter →Variables : Texte délimité, vous pouvez exporter les déclarations de variables d’un projet dans un fichier ASCII en format "Texte avec séparateurs" (Text delimited) (voir également Import de variables en format de "Texte avec séparateur", page 742 et Import de variables structureées, page 745). L’import en format Texte avec séparateurs permet alors d’importer le fichier ASCII dans un projet Concept (voir également Import de variables en format de "Texte avec séparateur", page 742). Export de variables pour Factory Link A l’aide de Fichier →Exporter →Variables : Factory Link, vous pouvez exporter les déclarations de variables d’un projet dans un fichier ASCII en format "Factory Link". Dans le cas où votre version Factory Link ne serait pas acceptée par Concept, veuillez nous contacter par Hotline. Le fichier ASCII peut, à l’aide de Import Factory Link (voir page 749) être réimporté dans un projet Concept. Export de variables pour Modlink A l’aide de Fichier →Exporter →Variables : Modlink, vous pouvez créer un fichier de configuration ModLink, directement utilisable en ModLink. Le fichier de configuration ModLink contient toutes les variables localisées, sélectionnées comme variables à exporter dans l’éditeur de variables. En l’absence de variables localisées sélectionnées comme variables à exporter, un message d’erreur s’affiche et aucun fichier de configuration n’ est créé. Pour de plus amples informations sur Modlink, consulter le Modicon ModLink, User Guide. Export de types de données dérivés Dans l’éditeur de type de données, via Edition →Enregistrer comme fichier texte... il est possible d’exporter des définitions de types de données dérivés dans un fichier ASCII. 33002205 12/2010 719 Import/Export 21.4 Import de section Aperçu Ce paragraphe décrit l’import de sections. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 720 Page Importation de section 721 Procédure d’import de sections 726 Importation de programmes IL et ST dans les sections FBD, SFC, IL ou ST (avec conversion) 732 Import (Importer Fichier) de programmes IL et ST dans des sections IL ou ST 737 Procédure de "Copie" d’une section IL d’un projet existant dans un nouveau projet. 738 Procédure de conversion de sections FBD d’un projet existant en sections IL d’un nouveau projet 739 33002205 12/2010 Import/Export Importation de section Introduction Concept offre la possibilité d'exporter des sections individuelles provenant d'un projet ou DFB source spécifique et, si vous le désirez, vous pouvez ensuite les importer directement dans le DFB ou projet cible actuel : z Exportation de sections du projet source, suivie de l'importation de sections dans le projet cible Dans ce cas les informations de section, y compris les sections de transition des SFC, tous les DFB globaux et locaux utilisés ainsi que toutes les déclarations de variable utilisées sont pris en compte. Les types de données définis dans les fichiers de type de données ne sont pas pris en compte (voir note). z Exportation de sections du DFB source, suivie de l'importation de sections dans le DFB cible Ainsi, les informations de section, tous les DFB locaux et globaux utilisés ainsi que toutes les déclarations de variables utilisées, les entrées et les sorties sont pris en compte. Les types de données définis dans les fichiers de type de données ne sont pas pris en compte (voir note). z Exportation de sections du projet source, suivie de l'importation de sections dans le DFB cible Ainsi les informations de section, tous les DFB locaux et globaux utilisés ainsi que toutes les déclarations de variables non localisées utilisées sont pris en compte. Vous devez supprimer avant l'exportation les déclarations d'adresses directes et de variables localisées car elles ne sont pas permises dans un DFB. Les types de données définis dans les fichiers de type de données ne sont pas pris en compte (voir note). z Exportation de sections du DFB source, suivie de l'importation de sections dans le projet cible Ainsi, les informations de section, tous les DFB locaux et globaux utilisés ainsi que toutes les déclarations de variables utilisées sont pris en compte. Vous devez supprimer avant l'exportation les déclarations des entrées/sorties de ce DFB car celles-ci ne sont pas admises dans un projet Concept. Les types de données définis dans les fichiers de type de données ne sont pas pris en compte (voir note). Notes Respectez les notes suivantes : Les sections importées sont insérées à la fin de la section existante. z La configuration de l'automate n'est pas automatiquement importée mais doit être importée de manière explicite (voir également Import/Export de Configuration API avec Concept, page 752). z 33002205 12/2010 721 Import/Export z z Si vous importez des projets avec des structures de données locales différentes (fichiers DTY différents dans le répertoire DFB local), vous devez les rassembler dans un seul fichier DTY avant d'effectuer l'importation. Vous devez alors déplacer ce fichier commun dans les répertoires DFB locaux du projet source et cible et ensuite identifier ces fichiers en ouvrant chaque projet. Lors de l'importation de sections IL et ST, veillez à ce que le paramètre pour Commentaires imbriqués (Options →Environnement →Extensions CEI → Commentaires imbriqués autorisés) soit identique dans le projet cible et source. Vérification des sections à importer Une vérification est menée avant la véritable importation : Environnement de projet identique (DFB, EFB, définition des types de données dérivés) z Sections déjà existantes z Sections SFC déjà existantes (non autorisé dans DFB Concept) z Noms d'étape déjà existants z Déclaration des entrées/sorties (non autorisé dans les projets Concept) z Déclaration des entrées/sorties (non autorisé dans les projets Concept) z Si une erreur est identifiée, l'importation est interrompue. Toute erreur qui se produit par la suite est "irréparable" et entraîne la fermeture du projet (c.-à-d. que toutes les modifications effectuées depuis le dernier enregistrement sont perdues). Les erreurs possibles sont les suivantes : z Conflits de noms entre des variables de type de données différent z Conflit entre les noms d'instance z Autre erreur Les conflits de nom entre les variables ayant une valeur initiale ou une adresse directe différentes (variable localisées) génèrent un avertissement. La valeur du projet cible est conservée. Ajustement automatique des noms proposés de manière standard L'ajustement automatique des noms proposés de manière standard se fait avec : z Les noms générés de manière standard, comme par ex. les noms d'étape SFC (S_x_y) et les noms des sections de transition (TransSection_x_y) z Les noms d'instance générés de manière standard (FBI_x_y) z Position des nouvelles entrées/sorties DFB (uniquement lors d'une importation dans Concept-DFB) 722 33002205 12/2010 Import/Export Modifications spécifiques Lors de l'importation vous disposez des possibilités de modification spécifique suivantes afin d'adapter individuellement les sections à importer au projet / DFB cible : z Remplacement des noms (noms de variables, noms de section, noms d'instance, noms en langage texte, commentaires, ...) z Décalage d'adresse pour les variables localisées et les adresses directes en langage graphique (par ex. %3 : 10 -> %3 : 20) et en langage texte (%QW10 -> %QW20) Les points suivants sont extraits de la fonction de remplacement : Noms DFB z Index d'ARRAY (par ex. a[1]) z Eléments des variables multi-éléments (par ex. a.dummy) z Pour les EFB, la fonction de remplacement n'est utilisée que pour les noms qui ne sont pas générés automatiquement (par ex. les noms d'instance) z Syntaxe pour le remplacement de noms et décalage d'adresse La syntaxe suivante s'applique au remplacement de noms : Seuls des noms complets sont recherchés. Si uniquement des parties de nom doivent être remplacées, il faut utiliser des caractères Joker. z Le caractère Joker "?" est autorisé. Il sert à remplacer un caractère uniquement. Si plusieurs caractères doivent être ignorés, il faut utiliser le nombre correspondant de "?". Le caractère "?" ne peut être utilisé qu'au début du nom. z Le caractère Joker "*" est autorisé. Il sert à remplacer, au choix, plusieurs caractères. Le caractère "*" ne peut être utilisé que dans la chaîne de caractères à rechercher. z Les caractères Joker ne peuvent être utilisés que dans la chaîne de caractères utilisée pour la recherche. z Aucune différence n'est faite entre majuscules et minuscules. z Le nom de remplacement doit être conforme aux conventions de dénomination CEI. Si ce n'est pas le cas, un message d'erreur s'affichera à l'écran. z Selon la norme CEI 1131-3 le premier caractère d'un nom d'instance doit être une lettre. Cependant, si vous voulez utiliser des chiffres comme premiers caractères, vous pouvez activer cette fonction avec la commande de menu Options → Environnement →Extension CEI... →Chiffres en tête de qualificatif autorisés. z La valeur à utiliser pour le décalage d'adresse est ajoutée sur les zones d'adresse correspondantes pour les variables localisées et les adresses directes. z La saisie de la valeur de décalage se fait, de manière standard, sous un format décimal. Si la saisie de fait sous un format hexadécimal, cela peut être identifié par l'insertion du préfixe "16#" avant la véritable valeur de décalage (par ex. 16#100). z 33002205 12/2010 723 Import/Export NOTE : Le remplacement des noms affecte toutes les variables, tous les noms d'instance et tous les commentaires. Utiliser des caractères Joker comporte un risque : le remplacement accidentel de noms comprenant la même chaîne de caractères que celle à rechercher. Cela entraîne normalement un abandon. Exemples de rechercher et remplacer : 724 Remplacer : Par : noms existants Résultat Nom1 Nom2 Nom1 Nom1A NomA NomB Nom2 Nom1A NomA NomB ???123 456 abc123 cde123 abcd123 abc1234 abc456 cde456 abcd123 abc1234 Nom1* Nom2 Nom1A XNom1B NomAB Nom2A XNom1B NomAB *123 456 abc123 cde123 abcde123 abd123a abc456 cde456 abcde456 abd123a *123* 456 abc123abc cde123defghi abcde123def abc456abc cde456defghi abcde456def ???123* 456 abc123abc cde123defghi abcde123def abc456abc cde456defghi abcde123def 33002205 12/2010 Import/Export Syntaxe pour la création d'une liste de remplacement avec un éditeur externe Lors de la création d'une liste de remplacement avec un éditeur externe, la syntaxe suivante doit être respectée : z La chaîne Remplacer-Par (ancien nom-nouveau nom) doit être séparée par une virgule (par ex. Nom1,Nom2). z La liste de remplacement est organisée en fonction des lignes. Les instructions de remplacement individuelles doivent être séparées par un saut de ligne. z Les instructions pour le décalage d'adresse ont la structure suivante : z pour ajouter un décalage d'adresse : <reg0>,www <reg1>,xxx <reg3>,yyy <reg4>,zzz z pour retirer un décalage d'adresse : <reg0>,-www <reg1>,-xxx <reg3>,-yyy <reg4>,-zzz z La valeur peut également être saisie en mode hexadécimal, par ex. : <reg1>,16#xxx 33002205 12/2010 725 Import/Export Procédure d’import de sections Introduction D’une manière générale, il convient d’abord d’exporter les sections, à partir du projet / DFB source, dans un fichier export (*.sec), puis de les importer à partir du projet /DFB cible L’export et l’import de Projet vers Projet, voire de DFB vers DFB, peuvent être réalisés dans le cadre d’une session commune ou de sessions distinctes. L’export et l’import de Projet vers DFB, voire de DFB vers Projet, sont à réaliser au cours de sessions distinctes. Export de section et Import de section Pour l’export de section d’un projet source, suivi de l’import de section dans un projet cible, procéder comme suit : Etape 1 726 Action Ouvrir le projet cible dans Concept. 2 Dans Fichier →Exporter →Programme : section(s). 3 Dans la fenêtre Ouvrir fichier sélectionner le projet source, par ex. C :\QUELL_DIR\QUELL.PRJ 4 Dans le projet source, sélectionner les sections à exporter. 5 Dans Enregistrer section exportée sous, indiquer le nom du fichier Export (*.SEC), par ex. C :\ZIEL_DIR\ZIEL.SEC Réaction : Les sections sont exportées et enregistrées dans le fichier *.SEC, par ex. dans CIBLE.SEC. Affichage de la question Voulez-vous importer maintenant la section dans le projet? 6 Si vous validez cette question par OK l’import sera réalisé aussitôt . Si vous répondez par Annuler, lancez l’import ultérieurement, voir Procédure Poursuite après Annulation Import (voir page 731). 7 A la question demandant de procéder d’abord à l’enregistrement du projet, répondez par OK. Note : A la question Enregistrer d’abord le projet ? il est conseillé de répondre par OK étant donné que toute erreur survenant lors de l’import entraînera la fermeture de votre projet actuel et, par conséquent, la perte de toutes les modifications postérieures au dernier enregistrement. 8 Si vous le désirez ou si nécessaire, vous pouvez, dans le tableau Remplacer procéder au remplacement de noms d’instance de variables, sections etc., et définir des décalages d’adressse pour les variables localisées et adresses directes (voir également Modifications spécifiques, page 723). 33002205 12/2010 Import/Export Etape Action 9 Validez par OK pour continuer (la sélection de Annuler entraîne l’annulation de toute l’opération d’import). Réaction : Import, dans le projet cible, des sections, DFBs utilisés, types de données dérivés utilisés et de la déclaration des variables utilisées, commentaires compris. Annulation de l’import et fermeture du projet actuel, si z les sections à importer contiennent des DFB n’existant pas dans le projet cible. z les sections à importer contiennent des DFB de versions diférentes de celles des DFB déjà existants. (Vous pouvez accepter ou refuser la version DFB importée.) z toute autre erreur se produit lors de l’import. 10 En cas d’annulation de l’import, éliminer la cause de l’annulation et appliquer la procédure Poursuivre après annulation de l’import (voir page 731). les erreurs s’affichent dans la boîte de messages et sont à valider. Export DFB et Import DFB Pour l’export de section d’un DFB source, suivi de l’import de section dans un DFB cible, procéder comme suit : Etape 33002205 12/2010 Action 1 Ouvrir le DFB cible dans DFB Concept. 2 Dans Fichier →Exporter →Programme : section(s). 3 Aller à Ouvrir fichier et sélectionner le DFB source, par ex. C :\QUELL_DIR\QUELL.DFB 4 Dans le DFB source, sélectionner les sections à exporter. 5 Dans Enregistrer section exportée sous indiquer le nom du fichier Export (*.SEC), par ex. C :\ZIEL_DIR\DFB\ZIEL.SEC Réaction : Les sections sont exportées et enregistrées dans le fichier *.SEC, par ex. dans CIBLE.SEC. Affichage de la question Voulez-vous importer maintenant la section dans le projet? 6 si vous validez cette question par OK l’import sera réalisé aussitôt . Si vous répondez par Annuler, lancez l’import ultérieurement, voir Procédure Poursuite après Annulation Import (voir page 731). 7 A la question demandant de procéder d’abord à l’enregistrement du projet, répondez par OK. Note : A la question Enregistrer d’abord le projet ? il est conseillé de répondre par OK étant donné que toute erreur survenant lors de l’import entraînera la fermeture de votre projet actuel et, par conséquent, la perte de toutes les modifications postérieures au dernier enregistrement. 727 Import/Export Etape Action 8 Si vous le désirez ou si nécessaire, vous pouvez, dans le tableau Remplacer procéder au remplacement de noms d’instance de variables, sections etc., et définir des décalages d’adressse pour les variables localisées et adresses directes (voir également Modifications spécifiques, page 723). 9 Validez par OK pour continuer (la sélection de Annuler entraîne l’annulation de toute l’opération d’import). Réaction : Import, dans le DFB cible, des sections, DFBs utilisés, types de données dérivés utilisés et de la déclaration des variables, entrées et sorties utilisées. Annulation de l’import et fermeture du DFB actuel, si z les sections à importer contiennent des DFB n’existant pas dans le DFB cible. z les sections à importer contiennent des DFB de versions diférentes de celles des DFB déjà existants. (Vous pouvez accepter ou refuser la version DFB importée). z toute autre erreur se produit lors de l’import. Les erreurs s’affichent dans la boîte de messages et sont à valider. 10 En cas d’annulation de l’import, éliminer la cause de l’annulation et appliquer la procédure Poursuivre après annulation de l’import (voir page 731). Export Section et Import DFB Pour l’export de section d’un projet source, suivi de l’import de section dans un DFB cible, procéder comme suit : Etape 728 Action 1 Dans Concept, supprimer toute déclaration d’adresses directes et variables localisées des sections à exporter. (Celles-ci ne sont pas tolérées dans un DFB.) 2 Dans Concept, ouvrir le projet source. 3 Dans Fichier →Exporter →Programme : section(s). 4 Dans la fenêtre Ouvrir fichier sélectionner le projet source, par ex. C :\QUELL_DIR\QUELL.PRJ 5 Dans le projet source, sélectionner les sections à exporter. 6 Dans Enregistrer section exportée sous indiquer le nom du fichier Export (*.SEC) , par ex. C :\ZIEL_DIR\ZIEL.SEC Réaction : Les sections sont exportées et enregistrées dans le fichier *.SEC, par ex. dans CIBLE.SEC. Affichage de la question Voulez-vous importer maintenant la section dans le projet? 7 En cas de réponse à la question, demandant si les sections sont à importer, par Annuler. 8 vous fermez Concept. 9 Ouvrez DFB Concept et le DFB cible. 33002205 12/2010 Import/Export Etape Action 10 Sélectionnez Fichier →Importer →Programme : section(s). 11 Sélectionnez le fichier Export (par ex. ZIEL.SEC). 12 A la question demandant de procéder d’abord à l’enregistrement du projet, répondez par OK. Note : A la question Enregistrer d’abord le projet ? il est conseillé de répondre par OK étant donné que toute erreur survenant lors de l’import entraînera la fermeture de votre projet actuel et, par conséquent, la perte de toutes les modifications postérieures au dernier enregistrement. 13 Si vous le désirez ou si nécessaire, vous pouvez, dans le tableau Remplacer procéder au remplacement de noms d’instance de variables, sections etc., et définir des décalages d’adressse pour les variables localisées et adresses directes (voir également Modifications spécifiques, page 723). 14 Validez par OK pour continuer (la sélection de Annuler entraîne l’annulation de toute l’opération d’import). Réaction : Import, dans le DFB cible, des sections, DFBs utilisés, types de données dérivés utilisés et de la déclaration des variables, entrées et sorties utilisées. Annulation de l’import et fermeture du DFB actuel, si z les sections à importer contiennent des DFB n’existant pas dans le DFB cible. z les sections à importer contiennent des DFB de versions diférentes de celles des DFB déjà existants. (Vous pouvez accepter ou refuser la version DFB importée). z toute autre erreur se produit lors de l’import. Les erreurs s’affichent dans la boîte de messages et sont à valider. 15 En cas d’annulation de l’import, éliminer la cause de l’annulation et appliquer la procédure Poursuivre après annulation de l’import (voir page 731). Export DFB et Import Section Pour l’export de section d’un DFB source, suivi de l’import de section dans un projet cible, procéder comme suit : Etape 33002205 12/2010 Action 1 Dans le DFB Concept, supprimer avant l’export la déclaration d’entrées/sorties dans le DFB à exporter, celles-ci n’étant pas admises dans un projet Concept.) 2 Dans le DFB Concept, ouvrir le DFB source. 3 Dans Fichier →Exporter →Programme : section(s). 4 Sélectionnez à l’aide de Ouvrir fichier le DFB source, par ex. C :\QUELL_DIR\DFB\QUELL.DFB 5 Dans le DFB source, sélectionner les sections à exporter. 729 Import/Export Etape Action 6 Dans Enregistrer section exportée sous indiquer le nom du fichier Export (*.SEC) , par ex. C :\ZIEL_DIR\ZIEL.SEC Réaction : Les sections sont exportées et enregistrées dans le fichier *.SEC, par ex. dans CIBLE.SEC. Affichage de la question Voulez-vous importer maintenant la section dans le projet? 7 En cas de réponse à la question, demandant si les sections sont à importer, par Annuler. 8 vous fermez le DFB Concept. 9 Ouvrez Concept et le projet cible. 10 Sélectionnez Fichier →Importer →Programme : section(s). 11 Sélectionnez le fichier Export (par ex. ZIEL.SEC). 12 A la question demandant de procéder d’abord à l’enregistrement du projet, répondez par OK. Note : A la question Enregistrer d’abord le projet ? il est conseillé de répondre par OK étant donné que toute erreur survenant lors de l’import entraînera la fermeture de votre projet actuel et, par conséquent, la perte de toutes les modifications postérieures au dernier enregistrement. 13 Si vous le désirez ou si nécessaire, vous pouvez, dans le tableau Remplacer procéder au remplacement de noms d’instance de variables, sections etc., et définir des décalages d’adressse pour les variables localisées et adresses directes (voir également Modifications spécifiques, page 723). 14 Validez par OK pour continuer (la sélection de Annuler entraîne l’annulation de toute l’opération d’import). Réaction : Import, dans le projet cible, des sections, DFBs utilisés, types de données dérivés utilisés et de la déclaration des variables utilisées, commentaires compris. Annulation de l’import et fermeture du projet actuel, si z les sections à importer contiennent des DFB n’existant pas dans le projet cible. z les sections à importer contiennent des DFB de versions diférentes de celles des DFB déjà existants. (Vous pouvez accepter ou refuser la version DFB importée.) z toute autre erreur se produit lors de l’import. 15 En cas d’annulation de l’import, éliminer la cause de l’annulation et appliquer la procédure Poursuivre après annulation de l’import (voir page 731). Les erreurs s’affichent dans la boîte de messages et sont à valider. 730 33002205 12/2010 Import/Export Poursuite après Annulation de l’import Pour poursuivre après une annulation d’import, procéder comme suit : Etape Action 1 Réouverture du projet cible/DFB cible. 2 Sélectionnez Fichier →Importer →Programme : section(s). 3 Sélectionnez le fichier Export (par ex. ZIEL.SEC). 4 A la question Sauvegarde Projet : répondre Oui. Note : A la question Sauvegarder Projet : il est conseillé de répondre Oui, étant donné que toute erreur d’import entraînera la fermeture de votre projet actuel et, par conséquent, la perte de toutes les modifications postérieures au dernier enregistrement. 5 Si vous le désirez ou si nécessaire, vous pouvez, dans le tableau Remplacer procéder au remplacement de noms d’instance de variables, sections etc., et définir des décalages d’adressse pour les variables localisées et adresses directes (voir également Modifications spécifiques, page 723). 6 Validez par OK pour continuer (la sélection de Annuler entraîne l’annulation de toute l’opération d’import). Réaction : Import, dans le projet cible, des sections, DFBs utilisés, types de données dérivés utilisés et de la déclaration des variables utilisées, commentaires compris. Annulation de l’import et fermeture du projet actuel, si z les sections à importer contiennent des DFB n’existant pas dans le projet cible/DFB cible. z les sections à importer contiennent des DFB de versions diférentes de celles des DFB déjà existants. (Vous pouvez accepter ou refuser la version DFB importée.) z toute autre erreur se produit lors de l’import. Les erreurs s’affichent dans la boîte de messages et sont à valider. 33002205 12/2010 731 Import/Export Importation de programmes IL et ST dans les sections FBD, SFC, IL ou ST (avec conversion) Introduction Avec Fichier →Importer →Programme : Texte CEI vous pouvez importer des fichiers ASCII avec des programmes IL ou ST dans les sections FBD, SFC, IL ou ST. ST et IL peuvent apparaître avec des éléments SFC (lors de l'importation dans la section SFC). Les deux langages texte doivent suivre la grammaire du langage texte CEI, comme celle indiquée dans CEI 1131-3 et dans les tableaux de performances 52 ... 56 de la norme CEI 1131-3. Unités d'importation L'unité d'importation minimale est une unité organisationnelle du programme (POE) selon la norme CEI (PROGRAM ... END_PROGRAM ; FUNCTION_BLOCK ... END_FUNCTION_BLOCK). Dans Concept les fichiers ASCII peuvent contenir plusieurs POE. Une POE génère une ou plusieurs sections portant le nom de la POE qui est accompagné d'un nombre courant. Une nouvelle section est commencée lorsque, graphiquement, il n'y a pas suffisamment de place disponible pour déplacer la logique. Les POE END_PROGRAM; FUNCTION_BLOCK ... END_FUNCTION_BLOCK sont importées comme DFB. Dans Concept-DFB les fichiers ASCII ne doivent contenir qu'une seule POE. Cette POE (FUNCTION_BLOCK ... END_FUNCTION_BLOCK) génère une section. Insérer les POE : 732 Type de POE Importation dans un projet ouvert Importation dans un DFB ouvert PROGRAM ... END_PROGRAM comme section dans le projet en cours. impossible FUNCTION_BLOCK ...END_FUNCTION_BLOCK comme DFB du projet. Plusieurs POE peuvent être importées simultanément. comme section dans le DFB en cours. Seule 1 POE peut être importée. FUNCTION ... END_FUNCTION est converti en DFB. Le nom de fonction devient la sortie du DFB est converti en DFB. Le nom de fonction devient la sortie du DFB. 33002205 12/2010 Import/Export Comportement en cas d'erreur Les sections ne sont déplacées que si la syntaxe du texte ST/IL est parfaite. Les POE, qui ne peuvent pas être représentées dans FBD/SFC, sont ignorées et un message d'erreur est affiché. NOTE : Si le fichier à importer comprend plus de 200 déclarations (déclaration de variables et FFB), cela entraîne une erreur programme. Dans ce cas, il vous faut séparer les déclarations en plusieurs blocs VAR..END_VAR. Variables Les variables déclarées dans le POE apparaissent après l'importation dans l'éditeur de variables (Exception : variables du type SFCSTEP_STATE et SECT_CTRL). EFB avec bloc de paramètres étendu Les EFB avec bloc de paramètres étendu (PRE_DIA, GRP_DIA, LOOKUP_TABLE, ..) ne sont pris en charge que jusqu'au nombre prédéfini d'Entr./Sorties. "Fonction de parenthèse" avec nombre étendu d'entrées En cas d'importation d'appels de "Fonction de parenthèse" avec nombre étendu d'entrées, comme par ex. MUX_INT(...), toutes les instances de cette fonction fonctionnent dans la limite du nombre maximal d'entrées. Conversion de IL/ST en FBD Lors de la conversion dans FBD les limitations suivantes s'appliquent : z Lors de la conversion dans FBD les limitations suivantes s'appliquent : z Les instances de module ne doivent être appelées qu'une seule fois z uniquement les affectations et les appels de module mais aucun : z RET (Tableau 52, Propriété 20) z ELSIF (Tableau 56, Propriété 4) z ELSIF (Tableau 56, Propriété 4) z CASE (Tableau 56, Propriété 5) z FOR (Tableau 56, Propriété 6) z REPEAT (Tableau 56, Propriété 8) z EXIT (Tableau 56, Propriété 9) z 33002205 12/2010 IF non imbriqué (CEI 1131-3 Tableau 56, Propriété 4) 733 Import/Export Conversion de IL/ST en SFC Lors de l'importation SFC à partir d'un fichier texte, les limitations suivantes doivent être respectées : z Seules les variables sont admises comme actions. Les adresses directes ne peuvent pas être importées. z Seuls les libellés sont admis comme variables temporelles pour le qualificatif. z Les noms de la section de transition sont remplacés par les noms standard. z Les temps de contrôle et les temps de retard sont perdus lors de l'importation. Lors de la conversion dans SFC, les limitations supplémentaires CEI 1131-3 suivantes s'appliquent (Tableau = Tableau CEI 1131-3) : z Les conditions de transition sont déplacées dans des sections FBD particulières (TC_secname) (Tableau 41, Propriété 7a, 7c, 7d). L'importation du texte des conditions de transition n'est pas possible. z Les actions sont déplacées dans les sections FBD et ne sont pas liées aux étapes. z pas de qualificatifs SD et SL (Tableau 45, Propriété 8, 10), ils sont importés comme MOVE. z Les composants de structure et les variables à adresse directe sont autorisés comme action SFC. Cela doit être considéré comme une extension de la norme CEI 1131-3. L'exportation ST et IL ne les supporte pas. z L'utilisation des variables d'étape 'step.X' ; 'step.T' ne peut être ni importée ni exportée et doit être recréée. Conversion de IL/ST en ST ou IL La conversion de ST ou IL non créés dans Concept est soumise aux limitations suivantes : z la déclaration des FB, DFB et des adresses directes s'effectue au début de la section (VAR...END_VAR) z le formatage source (insertions, commentaires, etc.) n'est transféré que pour la "partie logique" des sections, c.-à-d. par ex. aucun commentaire pour les déclarations (VAR...END_VAR) z Les instructions chargeable de compteur doivent être typisées, par ex. CTU doit être modifié en CTU_INT z aucune clé z TYPE_...END_TYP z VAR_INPUT...END_VAR z VAR_OUTPUT...END_VAR z VAR_IN_OUT...END_VAR z VAR_EXTERNAL...END_VAR z FUNCTION...END_FUNCTION z FUNCTION_BLOCK...END_FUNCTIONBLOCK z PROGRAM...END_PROGRAM z STEP...END_STEP 734 33002205 12/2010 Import/Export z z z z 33002205 12/2010 TRANSITION...END_TRANSITION ACTION...END_ACTION aucune instruction RETURN (éditeur ST) aucune instruction RET (éditeur IL) 735 Import/Export Conversion en déclaration de variables Les limitations suivantes s'appliquent à l'importation de déclarations de variables : Aucun commentaire n'est importé. z VAR_CONSTANT est importé comme une variable localisée. (VAR_CONSTANT i : INT := 10; END_VAR devient une variable localisée "i" avec la valeur initiale "10") z Les définitions VAR_INPUT et VAR_OUTPUT sont importées dans les programmes comme des variables localisées (VAR). z Les définitions VAR_INPUT et VAR_OUTPUT sont importées dans DFB comme des variables Entrées/Sorties (VAR_INPUT, VAR_OUTPUT). z 736 33002205 12/2010 Import/Export Import (Importer Fichier) de programmes IL et ST dans des sections IL ou ST Introduction A l’aide de Edition →Insérer fichier texte... vous pouvez importer des fichiers ASCII, avec des programmes IL ou ST, dans des sections IL ou ST. Cette fonction Import est purement et simplement une fonction d’import de texte jouant le même rôle que le presse-papier (Couper/Copier/coller). Les données ne subissent aucune conversion. C’est pourquoi, les déclarations de variables requises par ex., (pour autant qu’elles sont inclues dans le fichier ASCII) ne sont pas intégrées automatiquement dans l’éditeur de variables. Les déclarations de variables requises sont à importer, à l’aide de Fichier →Importer à partir d’un "Fichier de variables" ou à recréer de toute pièce . Si la section contient des déclarations de variables, celles-ci sont à supprimer, étant donné qu’elles génèrent des erreurs lors de la création de code de la section. Supprimer, en outre, du programme, toutes les informations afférentes à POE (par ex. une section graphique issue de l’export à l’aide de Fichier →Exporter →Programme : Texte CEI). Restrictions L’import de programmes IL et ST entraîne les restrictions suivantes : z absence de mots-clés z TYPE_...END_TYP z VAR_INPUT...END_VAR z VAR_OUTPUT...END_VAR z VAR_IN_OUT...END_VAR z VAR_EXTERNAL...END_VAR z FUNCTION...END_FUNCTION z FUNCTION_BLOCK...END_FUNCTIONBLOCK z PROGRAM...END_PROGRAM z STEP...END_STEP z TRANSITION...END_TRANSITION z ACTION...END_ACTION z VAR...END_VAR z pour la déclaration de modules de fonction et de DFB, uniquement z uniquement au début de la section pour tous les modules de fonction et DFB de la section z et non pour les déclarations de variables z par ailleurs, pour l’affectation de types d’adresses directes : VAR %Q10 :INT; END_VAR z absence d’instruction RETURN (ST-Editor) absence d’instruction RET (IL-Editor) z 33002205 12/2010 737 Import/Export Procédure de "Copie" d’une section IL d’un projet existant dans un nouveau projet. Procédure Pour "Copier" une section IL d’un projet existant dans une section IL d’un nouveau projet, procéder comme suit : Etape 738 Action 1 Ouvrir la section IL à exporter. 2 Sélectionner Edition →Enregistrer comme fichier texte.... 3 Choisir un répertoire pour le fichier Export et lui donner un nom. Confirmez avec OK. Réaction : Copie du contenu de votre section IL dans un fichiere ASCII. 4 Sélectionnez Fichier →Exporter →Variables : Texte délimité. 5 Sélectionnez les réglages de filtre Variables export et Constantes d'exportation. Définir la virgule comme caractère de séparation. Confirmez avec OK. 6 Choisir un répertoire pour le fichier Export et lui donner un nom. Confirmez avec OK. Réaction : Export des déclarations de variables de votre projet dans un fichier ASCII. 7 A l’aide de Fichier →Nouveau Projet créez un nouveau projet. 8 A l’aide de Projet →Configuration automate ouvrez le configurateur. 9 A l’aide de Configurer →Type de l'automate sélectionnez une API. Confirmez avec OK. 10 A l’aide de Fichier →Nouvelle section créez une section IL. 11 A l’aide de Edition →Insérer fichier texte... importez votre fichier IL. 12 A l’aide de Fichier →Importer →Variables : Texte délimité (Attention : définir à nouveau la virgule comme caractère de séparation), importez votre fichier de variables dans l’éditeur de variables de votre projet. 13 Contrôlez l’opération d’import à l’aide de Projet →Analyse section. Réaction : L’import est maintenant terminé et vous pouvez poursuivre l’édition de votre projet comme vous le faites habituellement (Création de sections supplémentaires, Quitter la configuration etc.) 33002205 12/2010 Import/Export Procédure de conversion de sections FBD d’un projet existant en sections IL d’un nouveau projet Procédure La conversion de sections FBD d’un projet existant en sections IL d’un nouveau projet comprend 3 étapes majeures : Etape Action 1 Export de la section FBD (voir page 739). 2 Import de la section FBD dans une section IL (voir page 740). 3 Correction de syntaxe (voir page 740). Export de la section FBD Pour exporter la section FBD, procéder comme suit : Etape 33002205 12/2010 Action 1 Ouvrir le projet existant. 2 Exportez la section FBD concernée, à l’aide de Fichier →Exporter... → Programme : Texte CEI. 3 Choisir un répertoire pour le fichier Export et lui donner un nom. Confirmez avec OK. Réaction : Export de la section FBD dans un fichier ASCII. 4 Sélectionnez Fichier →Exporter →Variables : Texte délimité. 5 Sélectionnez les réglages de filtre Variables export et Constantes d'exportation. Définir la virgule comme caractère de séparation. Confirmez avec OK. 6 Choisir un répertoire pour le fichier Export et lui donner un nom. Confirmez avec OK. Réaction : Export des déclarations de variables de votre projet dans un fichier ASCII. 739 Import/Export Import de la section FBD dans une section IL Pour importer la section FBD dans une section IL, procéder comme suit : Etape Action 1 A l’aide de Fichier →Nouveau Projet créez un nouveau projet. 2 A l’aide de Projet →Configuration automate ouvrez le configurateur. 3 A l’aide de Configurer →Type de l'automate... sélectionnez une API. Confirmez avec OK. 4 A l’aide de Fichier →Nouvelle section créez une section IL. 5 A l’aide de Edition →Insérer fichier texte... importez votre fichier IL. 6 A l’aide de Fichier →Importer →Variables : Texte délimité (Attention : définir à nouveau la virgule comme caractère de séparation), importez votre fichier de variables dans l’éditeur de variables de votre projet. Réaction : Import de la section FBD (en format IL) et des déclarations de variables, exécuté. Configuration de la syntaxe Pour configurer la syntaxe, procéder comme suit : Etape 740 Action 1 Supprimer la ligne PROGRAM. (Elle contient le nom de l’ancien projet.) 2 Supprimer toutes les lignes entre VAR et END_VAR, qui ne contiennent aucune déclaration de modules de fonction ou de DFB(tel que Déclarations de variables). 3 Supprimer toutes les lignes deINITIAL_STEP à END_STEP. (Elles contiennent la séquence chronologique de traitement des sections dans l’ancien projet.) 4 Convertir les lignes d’ACTIONen lignes de commentaire, par ex. (* ACTION xxx *). (Elles contiennent les noms des sections FBD.) 5 Supprimer les lignes END_ACTION. 6 Supprimer la ligneEND_PROGRAM. 7 Contrôler l’opération d’import à l’aide de Projet →Analyse section et éliminer les erreurs éventuelles. Réaction : L’import est maintenant terminé et vous pouvez poursuivre l’édition de votre projet comme vous le faites habituellement (Création de sections supplémentaires, Quitter la configuration etc.) 33002205 12/2010 Import/Export 21.5 Import de variables Aperçu Ce paragraphe décrit l’import de variables. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Import de variables en format de "Texte avec séparateur" 742 Import de variables structureées 745 Import de variables en format "Factory Link" 749 Affectation multiple des adresses suite à l'importation de variables 750 741 Import/Export Import de variables en format de "Texte avec séparateur" Introduction La commande Fichier →Importer →Variables : Texte délimité permet d’importer, dans l’éditeur de variables, les déclarations de variables, à partir d’un fichier ASCII en format de "Texte avec séparateur" (Text delimited). Import de valeurs initiales Ce format d’import ne permet pas l’import de valeurs initiales de variables dans des types de données dérivés. Pour importer des valeurs initiales de variables dans des types de données dérivés, prière de choisir le format d’export/import Import de texte CEI. Description générale du format Un fichier ASCII en format "Texte avec séparateur" doit remplir les conditions suivantes : z Le jeu de caractères utilisé correspond à ANSI (Windows). z Les paramètres d’une variable figurent sur une ligne. z Les différents paramètres sont séparés entre eux par un caractère que vous avez défini. z Son autorisés dans tous les champs, les caractères d’espace en tête et à la suite (Exception : utilisation du caractère d’espace comme séparateur), la fonction Import les supprime (sauf le champ Commentaires). z Le séparateur choisi ne doit figurer dans aucun paramètre. z Concept ne fait aucune distinction entre l’écriture en majuscules et en minuscules, conformément à la convention de dénomination CEI. Prière d’en tenir compte pour les noms de variables. z Pour éviter toute collision entre les adresses déjà existantes et celles à importer, activer, dans Dialogue Options →Environnement →Analyse... →Réglages par défaut de l'analyse l’option Traiter chevauchement d'adresses comme erreur. Ordre des paramètres à l’intérieur d’une ligne Ordre des paramètres à l’intérieur d’une ligne : Drapeau de variable z Nom de la variable (Nom symbolique) z Types de données z Adresse Hardware z Valeur initiale z Commentaire z 742 33002205 12/2010 Import/Export Signification du drapeau de variable Le drapeau de variable peut avoir les valeurs suivantes : z 0 ou N= Le nom symbolique désigne une variable non exportable z 1 ou E = Le nom symbolique désigne une variable exportable z 2 ou C = Le nom symbolique désigne une constante z 3 ou I = Le nom symbolique désigne une entrée (voir page 506) (DFB Concept, uniquement) z 4 ou O = Le nom symbolique désigne une sortie (voir page 506) (DFB Concept, uniquement) z 5 ou O = Le nom symbolique désigne une variable VARINOUT (voir page 508) (DFB Concept, uniquement) z S = Variable structurée, voir Import de variables structureées, page 745. Seules les variables avec la valeur de drapeau 0/N ou 1/E sont importées en tant que variables affectées . Toutes les autres sont importées en tant que variables nonaffectées . Si le drapeau de variable est positionné sur 2/C, l’adresse Hardware est ignorée. Les valeurs 3/I ou 4/O sont uniquement autorisées dans DFB Concept. Dans ce cas, les valeurs du champ d’adresse sont utilisées en tant que position des entrées et sorties correspondantes. La valeur 1/E du Drapeau de variable est importée dans DFB Concept en tant que valeur 0/N de drapeau de variable. Structure du champ Adresse Hardware Structure du champ Adresse Hardware (Exemple : %4:100): z Caractère pour Adresse directe "%" (non obligatoire) z Type d’adresse z 0 = Sortie, Indicateur z 1 = Entrée z 3 = Mot d’entrée z 4 = Mot de sortie, mot Indicateur z z Séparateur " :" ou ".". En l’absence de séparateur, l’adresse doit comporter 6 caractères. Adresse Exemples de description d’adresse Mot Indicateur 123 : %400123 ou z %4 123 ou z %4 :123 ou z 400123 ou z 4 123 ou z 4:123 z 33002205 12/2010 743 Import/Export Ecriture CEI pour les adresses La convention d'écriture CEI peut également être appliquée aux adresses (par ex. %QX100 correspond à 000100): Type d’adresse Désignation Concept Désignation CEI Sortie, capteur 0x %QX,%Q Entrée 1x %IX,%I Mot d’entrée 2x %IW Mot de sortie, mot Indicateur 3x %QW Champs vides Indiquer les champs vides par deux séparateurs successifs. Les champs suivants peuvent rester vides : Adresse Hardware z Valeur initiale z Commentaire z Champs manquants Les champs suivants peuvent être manquants : z Commentaire z Commentaire et valeur initiale z Commentaire et valeur initiale et Adresse Hardware 744 33002205 12/2010 Import/Export Import de variables structureées Introduction La structure fondamentale du fichier correspond à celle des variables en format "Texte avec séparateurs" (voir page 742). Eléments supplémentaires concernant la description de syntaxe Observer, en outre, les points suivants : z La description d’une variable requiert plusieurs lignes. z Chacune de ces lignes doit correspondre au format des variables en format "Texte avec séparateurs". z Une variable structurée, assortie de valeurs initiales, est décrite par une ligne d’introduction structurée comme suit : a. Flag de variable b. Nom de variable (Nom symbolique) c. Nom du type de données dérivé d. Adresse Hardware e. Champ vide f. Commentaire z Cette ligne d’introduction est suivie au minimum d’une description de composant. Cette description de composant consiste à décrire le composant élémentaire (Type de données élémentaire) sous la forme d’une ligne structurée comme suit (il n’est pas nécessaire de décrire un composant dont la valeur initiale est égale à la valeur par défaut). L’ordre de saisie des différents composants est sans importance. a. Caractère "S" (S pour structuré) b. Chemin du composant (il n’est pas nécessaire d’inclure le nom des variables ) c. Champ réservé au type de données CEI (ce champ peut rester vide) d. Champ vide e. Valeur initiale f. Champ vide Traitement des erreurs de description des composants Traitement des erreurs de description des composants : z Si le composant d’une variable est décrit plusieurs fois, la description prise en compte est la dernière . z Si le composant spécifié ne fait pas partie de la variable actuellement décrite, la description de composant est alors ignorée et un message d’avertissement s’affiche. z Si le champ réservé au chemin du composant n’est pas renseigné, la description de composant est alors ignorée et un message d’avertissement s’affiche. 33002205 12/2010 745 Import/Export z z z Si le champ réservé au type de données CEI est renseigné, le type de données spécifié est alors contrôlé. Si le type de données spécifié et le type de données des composants ne sont pas identiques, la description de composant est alors ignorée et un message d’avertissement s’affiche. Les entrées, saisies dans le champ d’adresse, sont ignorées. Les entrées, saisies dans le champ Commentaire, sont ignorées. Exemple : Variable structurée en format "Texte avec séparateurs" Définition du type de données structuré ESI_IN : ESI_In : (* ESI - input data *) STRUCT in : ESI_InOut; (* ESI input data *) esi : ESI_Status; dummy : BYTE; (* supplement to modulo 16 *) slot : Exp_Status; END_STRUCT; ESI_InOut : (* ESI input / output data structure *) STRUCT tstat : BYTE; (* transfer status, handshake *) blocks : BYTE; (* number of used blocks *) res : BYTE; (* reserved *) block : ESI_BlockArr14; (* data block *) END_STRUCT; ESI_BlockArr14 : ARRAY[1..14] OF ESI_Block; ESI_Block : (* datas of ESI *) STRUCT func : BYTE; (* function *) mux : WORD; (* distribution *) attr : BYTE; (* attribute *) cause : BYTE; (* reason *) station : WORD; (* station number *) objet : WORD; (* objet number *) data : ByteArr9; (* data bytes *) END_STRUCT; ByteArr9 : 746 ARRAY [1..9] OF BYTE; (* 9 bytes *) 33002205 12/2010 Import/Export ESI_Status : (* Status of ESI STRUCT wdog : BYTE; (* stat1 : BYTE; (* stat2 : BYTE; (* stat3 : BYTE; (* slot : WORD; (* user : WORD; (* esitime : DPM_Time; (* END_STRUCT; DPM_Time : STRUCT sync : ms : min : hour : (* time stamp *) day : mon : year : END_STRUCT; BYTE; BYTE; BYTE; BOOL; WORD; BYTE; BYTE; *) expert watchdog-counter *) error status 1 *) error status 2 *) error status 3 *) slot number *) virtual slot number *) time stamp *) (* sync clock *) (* milli-seconds *) (* minutes *) (* hours; (hour AND 16#80) *) (* = day light saving time *) (* days of week *) (* month *) (* year *) STRUCT Exp_Status : ErrFlag1 : ErrFlag2 : (* error status of transfer *) BOOL; (* TRUE : epxert not pluged *) BOOL; (* TRUE : Bit 7 of DPM *) (* Identcode is set; *) (* logical DMP-access-error *) UserStatus : WORD; (* status of expert *) ErrNo : WORD; (* errornumber *) END_STRUCT; Présentation des variables "demo" du type de données ESI_IN en format "Texte avec séparateurs" : 1;demo;ESI_In;400002;;structured data type S;in.tstat;BYTE;;16#0F; S;in.blocks;BYTE;;16#0F; S;in.res;BYTE;;16#0F; S;in.block[1].func;BYTE;;16#0F; S;in.block[1].mux;WORD;;16#000F; S;in.block[1].attr;BYTE;;16#0F; S;in.block[1].cause;BYTE;;16#0F; S;in.block[1].station;WORD;;16#000F; 33002205 12/2010 747 Import/Export S;in.block[1].objet;WORD;;16#000F; S;in.block[1].data[1];BYTE;;16#0F; S;in.block[1].data[5];BYTE;;16#0F; S;in.block[3].func;BYTE;;16#0F; S;in.block[3].mux;WORD;;16#000F; S;in.block[3].attr;BYTE;;16#0F; S;in.block[3].cause;BYTE;;16#0F S;in.block[3].station;WORD;;16#000F S;in.block[3].objet;WORD;;16#000F S;in.block[3].data[1];BYTE;;16#0F S;in.block[3].data[2];BYTE;;16#0F S;esi.wdog;BYTE;;16#0F S;esi.stat1;BYTE;;16#0F S;esi.stat2;BYTE;;16#0F S;esi.stat3;BYTE;;16#0F S;esi.slot;WORD;;16#000F S;esi.user;WORD;;16#000F S;esi.esitime.sync;BOOL;;TRUE S;esi.esitime.ms;WORD;;16#000F S;esi.esitime.min;BYTE;;16#0F S;esi.esitime.hour;BYTE;;16#0F S;esi.esitime.day;BYTE;;16#0F S;esi.esitime.mon;BYTE;;16#0F; S;esi.esitime.year;BYTE;;16#0F; S;dummy;BYTE;;16#0F; S;slot.ErrFlag1;BOOL;;FALSE; S;slot.ErrFlag2;BOOL;;FALSE; S;slot.UserStatus;WORD;;16#000F; S;slot.ErrNo;WORD;;16#000F; 748 33002205 12/2010 Import/Export Import de variables en format "Factory Link" Description La commande Fichier →Importer →Variables : Factory Link permet d’importer des déclarations de variables en format "Factory Link". Exécuter, pour ce faire, un export en Factory Link et, lors de l’import, indiquer dans Concept la version Factory Link. Dans le cas où votre version Factory Link ne serait pas acceptée par Concept, veuillez nous contacter par Hotline. NOTE : Pour les noms de variables, Factory Link distingue l’écriture en majuscules de celle en minuscules. Concept ne fait aucune distinction, conformément à la convention de dénomination CEI. En tenir compte lors de l’import. 33002205 12/2010 749 Import/Export Affectation multiple des adresses suite à l'importation de variables Description Une même adresse peut être affectée plusieurs fois suite à une importation de variables en raison de noms de variables différents. C'est notamment le cas lorsqu'une variable déjà utilisée dans la liste à importer dans Concept est renommée. Pour ne pas avoir à modifier manuellement le nom dans Concept, vous pouvez ouvrir la boîte de dialogue Affectation multiple des adresses et lancer le renommage ou le remplacement automatique des noms de variables dans l'ensemble du projet (notamment dans l'éditeur de variables, dans les sections). NOTE : Pour les projets importants comportant de nombreuses affectations multiples, la mise à jour des noms de variables peut prendre du temps. 750 33002205 12/2010 Import/Export 21.6 Import/Export de configuration API Vue d’ensemble Cette section décrit l'export et l'import de la configuration API avec Concept ou le convertisseur Concept. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Import/Export de Configuration API avec Concept 752 Import/Export de Configuration API 753 751 Import/Export Import/Export de Configuration API avec Concept Introduction La fonction Import/Export permet d’exécuter l’export de configuration API à partir d’un projet actuel (ouvert) et de la réimporter par la suite. Export de configuration et import de configuration Pour exécuter l’export, suivi de l’import immédiat de configurations API, procéder comme suit : Etape 752 Action 1 Pour exporter la configuration API à partir du projet actuel, démarrez Concept, ouvrez le projet souhaité et sélectionnez Fichier →Exporter →Configuration. 2 Sélectionnez dans le champ Classeur le répertoire cible pour la configuration API à exporter. 3 Entrez dans le champ Nom de fichier un nom pour le fichier cible (NOM.CCF) et appuyez sur OK. Réaction : Stockage de la configuration API sous forme de fichier ASCII dans le répertoire sélectionné. 4 Pour importer la configuration API dans un projet, ouvrez le projet souhaité. 5 Dans le convertisseur Concept, sélectionnez Fichier →Importer → Configuration. 6 Dans la zone de liste Type de fichier, sélectionnez l’entrée Config. Concept. (*.CCF). 7 Dans le champ Dossier, sélectionnez le répertoire souhaité. 8 Dans la zone de liste Nom de fichier, sélectionnez la configuration API à importer (NAME.CFF) et validez par OK. 9 Attention : La configuration API actuelle du projet ouvert sera écrasée. Valider la question par OK. Réaction : Import de la configuration API. 33002205 12/2010 Import/Export Import/Export de Configuration API Introduction La fonction Import/Export permet d’exécuter l’export de configuration API à partir d’un projet A, suivi aussitôt de l’import dans un projet B. Export de configuration et import de configuration Pour exécuter l’export, suivi de l’import immédiat de configurations API, procéder comme suit : Etape 33002205 12/2010 Action 1 Pour exporter la configuration API, à partir d’un projet A, démarrer le convertisseur Concept et sélectionner Fichier →Exporter →Configuration. 2 Dans le champ Dossier sélectionner la nomenclature du projet A. 3 Sélectionner la configuration API à exporter (PROJEKTNAME.C1) et valider par OK. Réaction: Stockage de la configuration API, sous forme de fichier ASCII (PROJEKTNAME.CON), dans la nomenclature. 4 Pour importer la configuration API dans le projet B, copier le fichier exporté dans la nomenclature du projet B. 5 Dans le convertisseur Concept, sélectionner Fichier →Importer. 6 Dans la zone de liste Type de fichier, sélectionner l’entrée Configuration (*.CON). 7 Dans le champ Dossier, sélectionner la nomenclature du projet B. 8 Dans la zone de liste Nom de fichier, sélectionner la configuration API à importer (PROJEKTNAME.CON) et valider par OK. 9 Attention : La configuration API actuelle du projet sélectionné sera écrasée. Valider la question par OK. Réaction: Import de la configuration API. 753 Import/Export 754 33002205 12/2010 Documentation et archivage 33002205 12/2010 Documentation et archivage 22 Aperçu Ce chapitre décrit la documentation, l’archivage et l’effacement de projets, DFB et macros. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 22.1 Documentation de projets, de DFB et de macros 756 22.2 Gestion de projets, de DFB et de macros 767 755 Documentation et archivage 22.1 Documentation de projets, de DFB et de macros Aperçu Ce chapitre décritla documentation de projets, de DFB et de macros. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 756 Page Contenu de la documentation 757 Mise en page de la documentation 758 Définir les sauts de page pour les sections 761 Utilisation des mots-clés 765 33002205 12/2010 Documentation et archivage Contenu de la documentation Introduction Le volume de la documentation peut aller d’une page graphique à une documentation de projet complète. L’ordre de la sortie sur imprimante des différents chapitres est celui de la boîte de dialogue Fichier →Imprimer →Contenu du document et ne peut pas être modifié. Documentation de projet Les chapitres suivants peuvent être imprimés pour une documentation de projet en activant la commande Fichier →Imprimer : z Description de projet z Types données dérivés z Utilisation de la mémoire de signaux z Valeur mémoire de signal z Utilisation des DFB z Utilisation des EFB z Configuration d’automate z Composants d’E/S z Séquence d’exécution des sections z Structure du projet z Messages z Messages ASCII uniquement sous Concept pour Quantum z Liste des variables z Utilisation des variables z Contenu des sections z Sommaire de la documentation imprimée Documentation DFB/macro Les chapitres suivants peuvent être imprimés pour une documentation DFB/macro en activant la commande Fichier →Imprimer : z Description DFB/macro z Types données dérivés z Utilisation des DFB z Utilisation des EFB z Séquence d’exécution des sections z Messages z Liste des variables z Utilisation des variables z Contenu des sections z Sommaire de la documentation imprimée 33002205 12/2010 757 Documentation et archivage Mise en page de la documentation Format d'impression L'impression peut avoir lieu en mode portrait ou paysage. Vous pouvez définir la configuration nécessaire dans la boîte de dialogue Fichier →Configuration imprimante →Sélectionner imprimante. Numérotation des pages La numérotation des pages a lieu de manière linéaire. Le premier numéro de page peut être défini librement. Taille de la page La marge de gauche a une largeur de 12 caractères. La place réservée aux textes et graphiques est d'environ 132 caractères de large, la hauteur dépend de l'en-tête et du pied de page du fichier. Si les en-têtes et pieds de page ne sont pas activés ou si le mot clé "%PAGENO" n'y est pas présent, le numéro de page est automatiquement imprimé dans le coin inférieur droit de la page. Sauts de page Si une section de graphique ne tient pas dans une page, la section sera divisée lors de l'impression, comme une carte routière. Dans ce cas, les références des pages sont imprimées aux quatre coins de la zone graphique afin d'indiquer sur quelle page le graphique se poursuit. Avec la commande Affichage →Saut de page vous pouvez afficher à l'échelle dans la fenêtre de l'éditeur le saut de page correspondant à l'imprimante configurée sous Fichier → Configuration imprimante. Voir également la description Définir les sauts de page pour les sections, page 761. Taille de caractère et polices Pour les sections de texte, la taille de caractère utilisée lors de l'impression n'est pas modifiable. Les mots clés sont mis en évidence lors de l'impression par l'utilisation de caractères gras et italiques. 758 33002205 12/2010 Documentation et archivage Mise en page par défaut Mise en page par défaut : En-tête Vous avez la possibilité d'utiliser un en-tête dans votre documentation. L'en-tête prend la forme d'un fichier ASCII et peut être créé avec l'éditeur ASCII de votre choix. La taille maximale du fichier est de 15 lignes ou environ 2 ko. Un exemple de fichier portant le nom "HEADER.TXT" est disponible dans le répertoire Concept. Vous pouvez le modifier selon vos besoins. L'utilisation de mots clés (voir page 765) est possible. Pied de page Vous avez la possibilité d'utiliser un pied de page dans votre documentation. Le pied de page prend la forme d'un fichier ASCII et peut être créé avec l'éditeur ASCII de votre choix. La taille maximale du fichier est de 15 lignes ou environ 2 ko. Un exemple de fichier portant le nom "FOOTER.TXT" est disponible dans le répertoire Concept. Vous pouvez le modifier selon vos besoins. L'utilisation de mots clés (voir page 765) est possible. 33002205 12/2010 759 Documentation et archivage Page de garde Vous avez la possibilité d'utiliser une page de garde dans votre documentation. La page de garde prend la forme d'un fichier ASCII et peut être créée avec l'éditeur ASCII de votre choix. La taille du fichier n'est pas limitée. Un exemple de fichier portant le nom "FRONTPG.TXT" est disponible dans le répertoire Concept. Vous pouvez le modifier selon vos besoins. L'utilisation de mots clés (voir page 765) est possible. L'impression de la page de garde comprend également l'en-tête et le pied de page si ceux-ci sont activés. 760 33002205 12/2010 Documentation et archivage Définir les sauts de page pour les sections Introduction Pour l'impression des graphiques dans les sections FBD, LD et SFC, vous pouvez définir les valeurs pour le saut de page et l'affichage sur papier des graphiques. Plus les valeurs sélectionnées sont élevées, plus le graphique affiché sera petit. Mais cela permet de disposer de plus de place sur la page. Configurations Vous pouvez définir les valeurs pour les sauts de page en format portrait et paysage. Lorsque vous changez le format de papier, la configuration pour l'autre format est sauvegardée. Le bouton de commande Définir par défaut vous permet de charger les valeurs par défaut à partir du fichier CONCEPT.INI. Lors de la définition des valeurs pour la hauteur et la largeur de papier, il faut prendre en compte le fait que les différents éditeurs indiquent des unités de quadrillage différentes. Les valeurs mini et maxi sont : 33002205 12/2010 Section 1 unité de quadrillage correspond à la valeur Taille Hauteur de page FBD 10 30 - 300 30 - 230 LD 8 30 - 400 10 - 230 SFC 1 4 - 32 4 - 60 761 Documentation et archivage Exemple pour la section FBD Configuration de la boîte de dialogue 762 33002205 12/2010 Documentation et archivage Représentation dans la fenêtre de l'éditeur FBD 1 2 3a 3b 33002205 12/2010 Section FBD Affichage du quadrillage (Affichage -> Quadrillage) Saut de page, largeur : 75 (Affichage -> Saut de page) Saut de page, hauteur : 100 (Affichage -> Saut de page) 763 Documentation et archivage Expression 764 33002205 12/2010 Documentation et archivage Utilisation des mots-clés Introduction Vous pouvez insérer des mots clés contenant une information de projet ou d’objet spécifique dans les fichiers de haute de page, de bas de page et de page de titre. Mots clés utilisables Tableau des mots clés utilisables : %PROJNAME Nom de projet %SECTNAME Nom de la section %VERSION Version du programme / des DFB %CREDATE Date de création %MODDATE Date de la dernière modification du projet / des DFB %DATE_D Date actuelle (format européen ; TT.MM.JJ) %DATE_US Date actuelle (format US ; MM.TT.JJ) %PAGENO Numéro des pages actuelles %RECT(colonne, largeur, hauteur) Dessine un carré à partir de la partie supérieure gauche sur la ligne actuelle %HLINE(colonne, longueur) Dessine une ligne horizontale sur la ligne actuelle %VLINE(colonne, longueur) Dessine une ligne verticale commençant sur la ligne actuelle NOTE : Le nombre des lignes des fichiers de haut de page, de bas de page et de pages de titre doit être identique au nombre de lignes nécessaires pour l’impression de rectangles et de lignes verticales. 33002205 12/2010 765 Documentation et archivage Exemple : Tête avec mot clé Contenu du fichier ASCII : %RECT (1,132,4) S A CONCEPT ¶ %VLINE (24,4) %VLINE (110,4) Commentaire sur le projet Nom %DATE_D NOTE : Le caractère ¶ n’est pas tapé, il est uniquement destiné à marquer que le fichier se termine sur une ligne vide. Impression : S A CONCEPT 766 Commentaire de projet Nom 01.04.99 33002205 12/2010 Documentation et archivage 22.2 Gestion de projets, de DFB et de macros Aperçu Ce chapitre décrit l’archivage et l’effacement de projets, de DFB et de macros. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Archivage de projets, DFB utilisés, EFB et fichiers de types de données 768 Effacer projets, DFB et macros 771 767 Documentation et archivage Archivage de projets, DFB utilisés, EFB et fichiers de types de données Introduction Lors de l'archivage de projets, de DFB utilisés, d'EFB et de fichiers de types de données, l'intégralité des données du projet sont regroupées et compressées. A cette occasion, le système crée le fichier *.PRZ et le mémorise dans le même répertoire que le projet. A la suite de cela, une décompression du fichier est possible à tout moment. NOTE : Lors de l'archivage de DFB, le système ne tient pas compte de leurs fichiers d'aide (*.DOC, *.PDF, *.TXT) qui se trouvent dans le répertoire Concept ou à l'emplacement défini (voir CONCEPT.INI (voir page 1147)). Si vous souhaitez malgré tout archiver ces fichiers d'aide, vous devez les copier dans le répertoire des DFB locaux/globaux. Archivage de projets Pour archiver des projets, effectuez les opérations suivantes : Etape 768 Action 1 Démarrez Concept. Remarque : Lors de l'archivage, aucun projet ne doit être ouvert. Dans le cas contraire, la commande de menu Archiver... n'est pas disponible. 2 Pour archiver, cliquez sur Fichier →Archiver.... Réaction : Le système affiche une fenêtre présentant les projets Concept. 3 Dans cette fenêtre, sélectionnez le projet à archiver et cliquez sur OK. Réaction 1 : Le système vérifie l'absence d'un fichier compressé *.PRZ portant le même nom. S'il détecte un tel fichier, il demande s'il doit écraser le fichier existant. Réaction 2 : Les données de projet sont inscrites dans le fichier compressé *.PRZ et figurent dans le répertoire du projet. 33002205 12/2010 Documentation et archivage Décompression de projets archivés Pour décompresser des projets archivés, effectuez les opérations suivantes : Etape Action 1 Sélectionnez Fichier →Ouvrir. Réaction : Le système affiche une fenêtre présentant tous les projets Concept. 2 Dans la zone de liste Type de données, cliquez sur l'option Projets archivés (*.prz). Réaction : Les projets Concept archivés apparaissent à l'écran. 3 Cliquez sur le projet à ouvrir, puis sur OK. Réaction 1 : Le système vérifie l'absence d'un fichier *.PRJ portant le même nom. S'il détecte un tel fichier, il demande s'il doit écraser le fichier existant. Réaction 2 : Il vérifie si des DFB, des bibliothèques EFB et des fichiers de types de données portant le même nom existent déjà. S'il détecte un tel fichier, il demande s'il doit écraser le fichier existant. Réaction 3 : La boîte de dialogue Contenu archive apparaît. 4 Sélectionnez Décompacter. Réaction 1 : Les données de projet sont décompressées et mémorisées en tant que projet Concept normal. Le projet se trouve dans le même répertoire que l'archive. Réaction 2 : Le projet s'ouvre automatiquement dans Concept. 5 En ligne →Connecter vous permet d'établir une connexion entre le PC et l'API. Réaction : L'état du PC et de l'API est celui affiché auparavant dans le cadre de l'archivage. Archivage / décompression de DFB globaux Lors de l'archivage / la décompression des DFB globaux utilisés, le processus se déroule dans l'ordre suivant : Etape Action 1 Un répertoire GLB existant est recherché dans le répertoire du projet. 2 La configuration correspondante est vérifiée dans le fichier CONCEPT.INI. Par exemple : [Path] : GlobalDFBPath=x:\DFB [Upload] : PreserveGlobalDFBs=0 Dans cet exemple, les DFB globaux sont recherchés dans le répertoire DFB du chemin d'accès défini. 3 La recherche s'effectue dans le répertoire DFB sous x:\CONCEPT\DFB. Les DFB globaux utilisés ne proviennent que d'un répertoire ou ne sont stockés que dans un seul répertoire. Cela signifie que si l'étape 1 n'est pas effectuée, l'étape 2 suit et, en dernière ressort, l'étape 3 est lancée. 33002205 12/2010 769 Documentation et archivage Données de diagnostic Lors du téléchargement du projet, des données de diagnostic sont créées et stockées dans un répertoire adéquat. L'état "égal" est alors atteint entre le PC et l'automate. Lors de l'archivage du projet, ces données de diagnostic sont compressées avec les autres données du projet et sont stockées dans un fichier. Afin de pouvoir utiliser les données de diagnostic après la décompression, il faut veiller à ce que l'état entre le PC et l'automate lors de l'archivage soit "égal". Il n'est alors plus nécessaire d'effectuer un téléchargement et le diagnostic peut être immédiatement utilisé. Si l'état entre le PC et l'API lors de l'archivage n'est pas "égal" (mais p. ex. "différents"), cet état est affiché lors de la décompression et après l'établissement de la connexion (En ligne →Connecter...). Il est alors nécessaire d'effectuer un téléchargement afin de pouvoir faire fonctionner le dispositif. Toutefois, le téléchargement crée de nouvelles données de diagnostic, mais efface les anciennes données. 770 33002205 12/2010 Documentation et archivage Effacer projets, DFB et macros Effacer projets, DFB et macros Pour effacer les projets, DFB et macros, procéder comme suit : Etape 33002205 12/2010 Action 1 Effacer le répertoire projet/DFB/macro (avec le sous-répertoire "dfb"). Si vous voulez effacer seulement certains DFB/macros sur ce répertoire, ouvrez le sous-répertoire et effacez tous les fichiers portant le nom de DFB/macro (Nom.*). 2 Si vous utilisez dans votre projet/DFB des DFB globales, des macros globales et si vous voulez les effacer, vous devez les effacer séparément. Ouvrez le sous-répertoire "dfb" du répertoire Concept et effacez tous les fichiers portant le nom de DFB/macros (Nom.*). 771 Documentation et archivage 772 33002205 12/2010 Simulation d’un API 33002205 12/2010 Simulation d’un API 23 Aperçu Ce chapitre décrit la simulation d’un API. Il est possible de tester le mode de fonctionnement d’un programme sans le matériel nécessaire en utilisant un simulateur. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page 23.1 Simuler un API (Simulateur 16 bits) 774 23.2 Simuler un API (Simulateur 32 bits) 776 773 Simulation d’un API 23.1 Simuler un API (Simulateur 16 bits) Simuler un automate Introduction Ce sous-chapitre décrit le simulateur 16 bits Concept-SIM. Domaine d'installation Avec le Concept-SIM vous pouvez simuler n'importe quel automate (Quantum, Compact, Momentum, Atrium) et ainsi tester "en ligne" votre programme utilisateur sans matériel. Le simulateur est disponible pour les langages CEI (FBD, SFC, LD, IL et ST). Le simulateur 16 bits Concept-SIM sert à tester les programmes qui comprennent des EFB 16 bits générés avec Concept-EFB. NOTE : Si votre programme ne comprend pas d'EFB 16 bits créé avec ConceptEFB, vous devriez utiliser le simulateur 32 bits (PLCSIM) plus confortable pour simuler un automate. Nombre maximum de variables Pour utiliser le simulateur 16 bits Concept-SIM, il ne faut pas dépasser un certain nombre de références de la mémoire d'état (Projet →Configuration automate → Configurer →Partition mémoire...). Le tableau suivant indique le nombre maximal de références de la mémoire d'état : Type de référence Nombre maxi. 0x 60000 1x 5008 3x 4000 4x 24000 Concept / Concept-SIM Concept-SIM et Concept ne peuvent pas être ouverts en même temps, c.-à-d. que lors du démarrage de Concept-SIM, Concept ne doit pas être ouvert. Il est donc recommandé de décider avant le démarrage de Concept si vous voulez effectuer le test avec le simulateur ou avec l'automate. Dans un cas comme dans l'autre, assurez-vous que le simulateur soit activé ou non, selon votre choix. 774 33002205 12/2010 Simulation d’un API Activer Concept-SIM Voici la procédure à suivre pour activer Concept-SIM: Etape Action 1 Fermez Concept si celui-ci est ouvert. 2 Ouvrez Concept-SIM en cliquant deux fois sur l'icône Concept-SIM. 3 Cliquez sur le menu principal Fichier et activez la commande Simulation ON. Réaction : Le simulateur est activé. 4 Pour quitter Concept-SIM utilisez le menu principal Fichier et la commande Quitter. 5 Démarrez Concept. 6 Pour l'ouvrir, utilisez En ligne →Connecter... comme la boîte de dialogue Connecter à l'API. 7 Type de protocole : sélectionnez obligatoirement Modbus Plus, même si votre automate réel doit être relié à un autre bus. Réaction : Le simulateur vous affichera alors la liste des abonnées sur le réseau Modbus Plus comme automate. 8 En cliquant deux fois sur l'entrée de la liste ou en cliquant sur OK, vous établissez une liaison avec l'automate simulé. Réaction : Vous pouvez désormais tester le comportement de votre programme utilisateur CEI. Note NOTE : Veillez à ce que le simulateur reste actif même après le redémarrage du PC. Afin d'établir une liaison à un automate, le simulateur doit être explicitement fermé. Désactiver Concept-SIM Voici la procédure à suivre pour désactiver Concept-SIM: Etape 33002205 12/2010 Action 1 Fermez Concept si celui-ci est ouvert. 2 Ouvrez Concept-SIM en cliquant deux fois sur l'icône Concept-SIM. 3 Cliquez sur le menu principal Fichier et activez la commande Simulation OFF. Réaction : Le simulateur est desactivé. 4 Pour quitter Concept-SIM utilisez le menu principal Fichier et la commande Quitter. 775 Simulation d’un API 23.2 Simuler un API (Simulateur 32 bits) Aperçu Ce chapitre décrit comment simuler un API avec le simulateur 32 bits ConceptPLCSIM32. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet Concept-PLCSIM32 776 Page 777 Simulation d’un API 779 Simulation d'une carte d'interface TCP/IP sous Windows 98 781 Simulation d’une carte d’interface TCP/IP sous Windows NT 782 33002205 12/2010 Simulation d’un API Concept-PLCSIM32 Introduction Concept-PLCSIM32 vous permet de simuler un API (Quantum, Compact, Momentum, Atrium) quelconque et ses états de signaux. Domaine d'application A l'heure actuelle, le simulateur n'est disponible que pour les langages CEI (FBD, SFC, LD, IL et ST). NOTE : Ne sont pas supportés : z z z z z z Langage LL984 Instructions chargeables, telles que ULEX Registre 6x (mémoire étendue) RIO DIO Expandeur de fond de panier Remarque pour Windows 98 et Windows NT Comme Concept est relié au simulateur par une liaison TCP/IP, vous avez besoin (lors de l'utilisation de Windows 98 ou Windows NT) d'une interface TCP/IP. Si votre PC ne dispose pas d'une telle interface, vous pouvez la simuler. Pour cela, exécutez les étapes Simulation d'une interface TCP/IP sous Windows 98 (voir page 781) ou Simulation d'une interface TCP/IP sous Windows NT (voir page 782). Dans le cadre de l'utilisation de Windows 2000, la simulation d'une interface TCP/IP n'est pas nécessaire, car tous les pilotes dont vous avez besoin pour ConceptPLCSIM32 sont installés automatiquement. 33002205 12/2010 777 Simulation d’un API Etablissement du dialogue Dans la barre de titre sont affichés le nom de l'application (PLC Sim32) et l'adresse de votre carte d'interface PC. Le premier champ de texte de la fenêtre du simulateur indique l'état de l'API simulé. Ce champ peut seulement être lu; l'état affiché est déterminé, comme pour un API réel, par Concept. Les états suivants peuvent être affichés : DIM (Dim Awareness) Le simulateur se trouve dans un état non défini. z STOPPED Le simulateur (l'API simulé) est arrêté. z RUNNING Le simulateur (l'API simulé) fonctionne. z Dans la première zone de liste, vous pouvez choisir le type d'API à simuler. Les registres suivants sont disponibles : z State RAM Donne un aperçu de la mémoire de signaux. z I/O Modules Indique la configuration actuellement chargée ou la mémoire de signaux d'un module sélectionné. z Connexions Indique les connexions actuelles entre le simulateur et l'appareil ou les appareils de programmation. 778 33002205 12/2010 Simulation d’un API Simulation d’un API Aperçu La simulation d’un API avec simulateur PLCSIM32 se compose de 4 étapes principales : Etape Action 1 Création de programme et configuration API. 2 Activation du simulateur. 3 Structure de la connexion entre Concept et simulateur. 4 Chargement du programme. Création d’un programme et configuration de l’API Les étapes suivantes décrivent la création de programme et de configuration de l’API : Etape Action 1 Créer votre programme et votre configuration API dans Concept. 2 Sauvegarder votre projet avec Fichier →Enregistrer. Activation du simulateur Les étapes suivantes décrivent l’activation du simulateur : Etape 33002205 12/2010 Action 1 Démarrer le simulateur PLCSIM32 dans le groupe de programmes de Concept. 2 Sélectionner dans le simulateur le type de l’API allant avec votre projet. 779 Simulation d’un API Etablissement de la connexion Les étapes suivantes décrivent l’établissement de la connexion entre Concept et simulateur : Etape Action 1 Ouvrez dans Concept avec En ligne →Connecter... le dialogue Connecter à l'API. 2 Sélectionner dans la zone de liste Type de protocole l’entrée Simulateur CEI (32 Octets). 3 Activez dans le domaine Niveau d’accès les boutons d’option Modifier la configuration. 4 Confirmez à l'aide de OK. Réaction: Il est établi une connexion entre le terminal et le simulateur. Il apparaît alors une indication comme quoi la configuration de le terminal et le simulateur est différente. Chargement du programme Les étapes suivantes décrivent le chargement du programme : Etape 780 Action 1 Ouvrir avec En ligne →Chargement... le dialogue Chargement dans l’automate. 2 Confirmez par Chargement. Réaction: Votre programme et votre configuration sont chargés dans le simulateur. On vous demande si vous désirez démarrer l’API. 3 Confirmez par Oui. Réaction: Vous pouvez à présent tester le comportement de votre programme utilisateur CEI. 33002205 12/2010 Simulation d’un API Simulation d'une carte d'interface TCP/IP sous Windows 98 Introduction Comme la liaison entre Concept et le simulateur PLCSIM32 se fait via une liaison TCP/IP, votre PC doit être équipé d'une carte d'interface TCP/IP. Si votre PC ne dispose pas d'une telle carte, vous pouvez la simuler. ATTENTION Risque de problèmes pour le PC Ne suivez PAS cette procédure si votre PC est déjà équipé d'une connexion TCP/IP. L'installation logicielle de la connexion TCP/IP serait détruite par cette procédure. N'effectuez cette procédure qu'une seule fois. Sinon votre PC risque de rencontrer certains problèmes. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. Simulation d'une carte d'interface TCP/IP Veuillez suivre les étapes ci-dessous afin de simuler une carte d'interface TCP/IP sous Windows 98 : Etape 33002205 12/2010 Action 1 Sous Windows 98, cliquez sur Démarrer →Paramètres →Panneau de configuration. 2 Accédez aux paramètres logiciels avec Ajout/Suppression de programmes. 3 Sélectionnez sous l'onglet Installation de Windows l'entrée Liaison et cliquez ensuite sur le bouton de commande Détails.... 4 Activez alors l'entrée Réseau à distance et confirmez en cliquant sur OK. (Il est possible que vous ayez besoin du CD système Windows.) Réaction : L'ordinateur redémarre. Après le redémarrage, le réseau à distance et le protocole TCP/IP sont disponibles sur le système. (Concept peut alors établir une liaison avec le simulateur.) 781 Simulation d’un API Simulation d’une carte d’interface TCP/IP sous Windows NT Introduction Etant donné que le couplage entre Concept et le simulateur PLCSIM32 est réalisé par un couplage TCP/IP, vous avez besoin dans votre ordinateur d’une carte d’interface TCIP/IP. Si votre PC ne comporte pas une telle carte, vous pouvez simuler celle-ci. ATTENTION Risque de problèmes d’ordinateur N’effectuez PAS à cette procédure si votre ordinateur dispose déjà d’un raccordement TCP/IP. L’installation de logiciel du raccordement TCP/IP a été détruite par cette procédure. Effectuez cette procédure une seule fois, sinon des problèmes pourraient apparaître dans voter ordinateur. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. Simulation d’une carte d’interface TCP/IP La simulation d’une carte TCP/IP sous Windows NT se compose des étapes suivantes : Etape 782 Action 1 Déterminer les paramètres de base. 2 Installer un nouveau modem. 3 Déterminer le groupe de travail. 33002205 12/2010 Simulation d’un API Déterminer les paramètres de base Procédez aux étapes suivantes pour déterminer les paramètres suivants : Etape 1 Action Appeler dans Windows NT Démarrer →Configuration →Panneau de configuration →Réseau et confirmez la question avec Oui. Réaction :La boîte de dialogue Assistant pour l’installation de réseau s’ouvre. 2 Désactivez l’option Raccorder directement au réseau. 3 Activez l’option Accès à distance au réseau. Réaction : La boîte de dialogue pour l’installation d’une carte de réseau s’ouvre. 4 Confirmez suite (sans installer de carte de réseau). Réaction : La boîte de dialogue pour la sélection du protocole de réseau s’ouvre. 5 Activez l’option Protocole TCP/IP. 6 Désactivez toutes les autres options et confirmez Suite. Réaction : La boîte de dialogue pour la sélection des services s’ouvre. 7 Confirmez Suite (sans modifier le dialogue). 8 Confirmez la question avec Suite. Réaction : Le dialogue Setup de Windows NT s’ouvre. Installation d’un nouveau modem Procédez aux étapes suivantes pour installer un nouveau modem : Etape 33002205 12/2010 Action 1 Mettez votre CD de Windows NT et entrez le chemin avec les fichiers d’installation (par ex. D : \i386). Confirmez Continuer. Réaction : La boîte de dialogue TCP/IP-Setup s’ouvre. 2 Confirmez Non. Réaction : La boîte de dialogue Setup RAS s’ouvre. 3 Confirmez Oui. Réaction : La boîte de dialogue Installer nouveau modem s’ouvre. 4 Activez l’option Sélectionner le modem (pas de reconnaissance automatique) et confirmez Suite. Réaction : La boîte de dialogue pour la sélection du modem s’ouvre. 5 Sélectionner un modem standard (par ex. Standard 28800 bps Modem) et confirmez Suite. Réaction : La boîte de dialogue pour la sélection des raccordements s’ouvre. 6 Activez l’option Raccordements sélectionnés et l’interface COM. Confirmez Suite. Réaction : La boîte de dialogue Informations standards s’ouvre. 7 Sélectionnez le pays dans lequel vous vous trouvez. 783 Simulation d’un API Etape Action 8 Entrez le code pour le secteur (votre indicatif) et confirmez Suite. Réaction : La boîte de dialogue Installer nouveau modem s’ouvre. 9 Confirmez Quitter. Réaction : La boîte de dialogue Ajouter appareil RAS s’ouvre. 10 Cliquez sur OK. Réaction : La boîte de dialogue Setup RAS s’ouvre. 11 Confirmez Suite. Réaction : La boîte de dialogue Assistant pour l’installation de réseau s’ouvre. 12 Confirmez deux fois Suite. Réaction : La boîte de dialogue pour la définition des groupes de travail s’ouvre. Déterminer le groupe de travail Procédez aux étapes suivantes pour déterminer le groupe de travail : Etape 784 Action 1 Activation de l’option Groupe de travail et entrez le nom GROUPE DE TRAVAIL. Confirmez Suite. 2 Confirmez Quitter. Réaction : La boîte de dialogue Modifications des paramètres de réseau s’ouvre. 3 Confirmez Oui pour effectuer un redémarrage. Réaction : Votre ordinateur simule à présent un réseau TCP/IP et vous pouvez utiliser le simulateur à 32 Octets PLCSIM. 33002205 12/2010 Concept-Security 33002205 12/2010 Concept-Security 24 Aperçu Ce chapitre décrit Concept-Security. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Description générale de Sécurité Concept 786 Autorisations d’accès 788 Modifications des mots de passe 795 Activation des autorisations d’accès 797 Protéger Projets/DFB 798 785 Concept-Security Description générale de Sécurité Concept Introduction Sécurité Concept vous permet de configurer les niveaux d'accès (voir page 788) (définitions de l'utilisateur). Le niveau d'accès signifie une limitation des fonctions de Concept et de ses utilitaires en fonction de l'utilisateur. NOTE : L'éditeur LL984 ne peut pas être protégé avec Sécurité Concept. Sécurité Concept vous permet également de protéger (voir page 798) des projets/DFB contre toute édition. Domaine de validité Le niveau d'accès défini pour un utilisateur s'applique à tous les projets de l'installation Concept. Si un utilisateur doit éditer des projets dans différentes installations Concept, il doit être défini comme utilisateur dans chaque installation Concept. Nombre maxi. d'utilisateurs Un maximum de 128 utilisateurs peuvent être définis. Activer Sécurité Concept Après l'installation de Concept, Sécurité Concept est désactivée et doit tout d'abord être activée par l'administrateur système (Supervisor). L'administrateur système L'administrateur système est responsable de la définition des niveaux d'accès et de l'activation/la désactivation de Sécurité Concept (nom de l'utilisateur : Supervisor). Lors de l'installation de Concept, un fichier de mot de passe pour l'utilisateur "Supervisor" (administrateur système) est automatiquement créé avec un mot de passe vierge. Cet utilisateur a le niveau d'accès "Supervisor". Modification en ligne des niveaux d'accès Sécurité Concept et Concept/Concept-DFB peuvent être lancés simultanément, c'est-à-dire que les niveaux d'accès peuvent être modifiés lors de l'exécution de Concept/Concept-DFB et ils sont alors immédiatement appliqués. 786 33002205 12/2010 Concept-Security Création d'un journal Si, dans Concept, vous activez l'option Fichier dans la zone Enregistrement de la boîte de dialogue Options →Environnement →Commun... →Environnement commun et que vous entrez un chemin de fichier, la fonction de journal est activée. Un fichier est alors créé dans le répertoire que vous avez sélectionné sous le nom ANNEEMOISJOUR.LOG (par ex. 19980926.LOG), lequel consignera tous les changements critiques pour le système (significatifs pour l'exécution). Les données suivantes seront, entre autres, consignées dans ce fichier ASCII : z Nom de la section z Nom d'instance EFB/DFB, nom de type FB z Nom de broche z [Nom des variables] [Libellé] [Adresse] z Ancienne valeur z Nouvelle valeur z Nom de l'utilisateur (si la protection par mot de passe est activée dans Sécurité Concept) z Date et heure (voir également Options →Environnement →Commun...) Lors de l'ouverture de session, le système peut consigner les événements suivants : Modifications des droits d'utilisateur z Utilisateurs effacés z Ouvertures de session ayant échoué z Dans Concept, vous pouvez afficher le journal actuel en utilisant la commande de menu Fichier →Afficher journal. Chiffrer un journal La journalisation de l'accès en écriture sur l'automate peut être chiffrée dans un fichier ANNEEMOISJOUR.ENC (par exemple 20021025.ENC). Pour cela, activez dans la boîte de dialogue Propriétés du projet (menu principal Projet) la case à cocher Application sécurisée. Dans Concept, vous pouvez afficher le journal actuel en utilisant la commande de menu Fichier →Afficher journal. Si le journal actuel est chiffré, le contenu du fichier ENC est automatiquement ouvert dans un outil de visualisation dans lequel il est possible de le consulter et de l'imprimer. Il faut pour cela détenir un droit d'accès Supervisor. 33002205 12/2010 787 Concept-Security Autorisations d’accès Introduction Les autorisations d'accès sont établies hiérarchiquement ; si l'utilisateur a le droit d'accéder à un niveau donné, il a également l'autorisation d'accès nécessaire pour tous les niveaux inférieurs. Niveaux des autorisations d'accès Les niveaux suivants sont définis (du moins élevé au plus élevé) : 788 Niveau Autorisation d’accès Fonctionnalité associée 1 Lecture seule L'utilisateur peut consulter les projets en ligne et hors ligne mais ne peut pas les modifier. Il peut établir la liaison entre l'appareil de programmation et l'API et peut consulter les variables en ligne. 2 Réinitialiser SFC La même fonctionnalité que ci-dessus plus : La commande de l'animation peut être utilisée comme commande (par ex. verrouiller des étapes, verrouiller des transitions, forcer des étapes, etc.). 3 Modifier données La même fonctionnalité que ci-dessus plus : L'utilisateur peut modifier les libellés en ligne. 4 Forcer données La même fonctionnalité que ci-dessus plus : Forçage de variables. 5 Charger La même fonctionnalité que ci-dessus plus : L'utilisateur peut charger le programme dans l'API. Remarque : Pour charger la configuration, il faut au moins l'autorisation d'accès Modifier la configuration. 6 Modifier le programme La même fonctionnalité que ci-dessus plus : L'utilisateur peut procéder à toutes les modifications dans le programme, mais pas dans les DFB ou EFB. 7 Modifier la configuration La même fonctionnalité que ci-dessus plus : L'utilisateur peut modifier la configuration de l'API. 8 Outils La même fonctionnalité que ci-dessus plus : L'utilisateur peut utiliser Concept-DFB, Concept-EFB et ConceptConverter. 9 Supervisor La même fonctionnalité que ci-dessus plus : L'utilisateur peut utiliser Concept-Security en mode Supervisor (configuration d'utilisateurs, activation/désactivation de Concept-Security). 33002205 12/2010 Concept-Security Autorisations d'accès pour le menu principal Fichier Le tableau suivant indique l'attribution des commandes de menu du menu principal Fichier dans Concept pour les autorisations d'accès minimales requises : Commande de menu du menu principal Fichier Autorisation d'accès minimale requise Nouveau projet Modifier le programme Ouvrir.... / Fermer lecture seule Modifier le programme Ouvrir.... / Fermer (Remplacer/Effacer des EFB/DFB ; messages d'erreur : FFB n'esiste pas ; le paramètre formel FFB a été modifié, DFB a été modifié en interne) Enregistrer projet Modifier données Enregistrer projet sous.... Modifier données Optimiser projet... Modifier le programme Nouvelle section... Modifier le programme Ouvrir section... lecture seule Supprimer section... Modifier le programme Caractéristiques section... (lecture) lecture seule Caractéristiques section... (écriture) Modifier le programme Mémoire section lecture seule Importer... Modifier le programme Exporter... lecture seule Imprimer... lecture seule Configuration de l'imprimante... lecture seule Quitter lecture seule Autorisations d'accès pour le menu principal Edition Le tableau suivant indique l'attribution des commandes de menu du menu principal Edition dans Concept pour les autorisations d'accès minimales requises : 33002205 12/2010 Commande de menu du menu principal Edition Autorisation d'accès minimale requise Annuler : Supprimer Modifier le programme Couper Modifier le programme Copier lecture seule Coller Modifier le programme Supprimer Modifier le programme 789 Concept-Security Commande de menu du menu principal Edition Autorisation d'accès minimale requise Sélectionner tout lecture seule Désélectionner tout lecture seule Atteindre ligne... (langage de texte) lecture seule Aller à contrepartie (langage de texte) lecture seule Etendre énoncé (langage de texte) Modifier le programme Consulter variables... (langage de texte) Modifier le programme Rechercher... (langage de texte) lecture seule RechSuiv (langage de texte) lecture seule Remplacer... (langage de texte) Modifier le programme Insérer fichier texte... (langage de texte) Modifier le programme Enregistrer comme fichier texte... (langage de texte) lecture seule Ouvrir colonne (éditeur LL984) lecture seule Ouvrir ligne (éditeur LL984) lecture seule Fermer colonne (éditeur LL984) lecture seule Fermer ligne (éditeur LL984) lecture seule Zoom DX... (éditeur LL984) lecture seule Référence Zoom (éditeur LL984) lecture seule Références Offset... (éditeur LL984) lecture seule Remplacer références (éditeur LL984) lecture seule Autorisations d'accès pour le menu principal Affichage Le tableau suivant indique l'attribution des commandes de menu du menu principal Affichage dans Concept pour les autorisations d'accès minimales requises (uniquement pour FDB, LD et SFC) : 790 Commande de menu du menu principal Affichage Autorisation d'accès minimale requise Vue d'ensemble Lecture seule Normal Lecture seule Etendu Lecture seule Zoom avant Lecture seule Zoom arrière Lecture seule Quadrillage Lecture seule Saut de page Lecture seule 33002205 12/2010 Concept-Security Autorisations d'accès pour le menu principal Objets Le tableau suivant indique l'attribution des commandes de menu du menu principal Objets dans Concept pour les autorisations d'accès minimales requises : 33002205 12/2010 Commande de menu du menu principal Objets Autorisation d'accès minimale requise Caractéristiques... (lecture) (uniquement pour FBD, LD et SFC) Lecture seule Caractéristiques... (écriture) (uniquement pour FBD, LD et SFC) Modifier le programme Mode sélection lecture seule Texte Modifier le programme Remplacer variables... Modifier le programme Liaison Modifier le programme Liaison verticale (éditeur LD) Modifier le programme FFB : Dernier type (éditeur FBD, LD) Modifier le programme Inverser entrée/sortie (éditeur FBD, LD) Modifier le programme Insérer macro... (éditeur FBD) Modifier le programme Sélection FFB... (éditeur FBD, LD) Modifier le programme Remplacer les FFB... (éditeur FBD, LD) Modifier le programme Afficher ordre d'exécution FFB (éditeur FBD) lecture seule Modifier ordre d'exécution FFB (éditeur FBD) Modifier le programme Insérer contacts, bobines (éditeur LD) Modifier le programme Sélectionner structure colonne (éditeur SFC) Modifier le programme Sélectionner structure ligne (éditeur SFC) Modifier le programme Insérer étapes transitions (éditeur SFC) Modifier le programme Insérer FFB , Charger, Enregistrer etc. (éditeur IL) Modifier le programme Insérer FFB , Affectation, Opérateurs, Déclaration etc. (éditeur ST) Modifier le programme Bobines, Insérer contacts (éditeur LL984) Modifier le programme 791 Concept-Security Autorisations d'accès pour le menu principal Projets Le tableau suivant indique l'attribution des commandes de menu du menu principal Projets dans Concept pour les autorisations d'accès minimales requises : Commande de menu du menu principal Projets Autorisation d'accès minimale requise Caractéristiques... (écriture) Modifier le programme Evaluation mémoire lecture seule Configuration automate Modifier la configuration Navigateur de projet (écriture) Modifier le programme Ordre d'exécution... (écriture) Modifier le programme Déclaration de variables... (écriture) Modifier le programme Messages ASCII... lecture seule Rechercher... lecture seule Tracer lecture seule Suivant lecture seule Résultats des recherches... lecture seule Références utilisées... lecture seule Analyser section lecture seule Analyser programme lecture seule Synchroniser versions des DFB imbriqués lecture seule Options de génération de code... Supervisor Autorisations d'accès pour le menu principal En ligne Le tableau suivant indique l'attribution des commandes de menu du menu principal En ligne dans Concept pour les autorisations d'accès minimales requises : Commande de menu du menu principal En Autorisation d'accès minimale requise ligne Connecter...(affichage seul) 792 Lecture seule Connecter...(modifier données) Réinitialiser SFC Connecter...(modifier le programme) Charger Connecter...(modifier la configuration) Charger Déconnecter... lecture seule Commande en ligne... (toutes les commandes) Charger Déclencher cycle unique Charger Etat de l'API... lecture seule 33002205 12/2010 Concept-Security Commande de menu du menu principal En Autorisation d'accès minimale requise ligne Affichage des événements... lecture seule Diagnostics en ligne (lecture) lecture seule Diagnostics en ligne (acquittement d'entrées) Modifier données Enregistrer modifications Modifier le programme Information sur l'objet... lecture seule Statistiques mémoire... lecture seule Chargement... (programme CEI, schéma à contacts 984, messages ASCII, mémoire d'état, mémoire étendue) Charger Chargement...(configuration) Modifier la configuration Chargement des modifications... Modifier le programme Lire... (mémoire d'état, mémoire étendue) Modifier données Lire... (programme CEI, schéma à contacts 984, messages ASCII, mémoire d'état) Modifier le programme Lire...(configuration) Modifier la configuration Editeur de données de référence (lecture seule) Lecture seule Editeur de données de référence (écriture) Modifier données Editeur de données de référence (forçage) Forcer données Bits internes forçés... Modifier données Animation Lecture seule Changer le libellé pendant l'animation Modifier données Commande de la gestion l'animation... (editeur SFC) Commande de l'animation SFC Commande de la gestion l'animation... (forçage d'étapes SFC) Commande de l'animation SFC Commande de la gestion l'animation... (mise à zéro de la séquence SFC) Commande de l'animation SFC Sauvegarder animation (éditeur IL, ST) lecture seule Restaurer animation (éditeur IL, ST) lecture seule Mode direct éditeur LL984... (éditeur LL984) lecture seule 33002205 12/2010 Flux des signaux (éditeur LL984) lecture seule Flux des signaux avec état des contacts (éditeur LL984) lecture seule 793 Concept-Security Commande de menu du menu principal En Autorisation d'accès minimale requise ligne Tracer (éditeur LL984) lecture seule ReTracer (éditeur LL984) lecture seule Autorisations d'accès pour le menu principal Options Le tableau suivant indique l'attribution des commandes de menu du menu principal Options dans Concept pour les autorisations d'accès minimales requises : Commande de menu du menu principal Options Autorisation d'accès minimale requise Confirmations... Modifier le programme Environnement →Commun... Modifier le programme Environnement →Editeurs graphiques... Modifier le programme Environnement →Analyse... Modifier le programme Environnement →Extensions CEI... Modifier le programme Enregistrer configuration Modifier le programme Enregistrer configuration en sortant Modifier le programme Autorisations d'accès pour le menu principal Fenêtre Le tableau suivant indique l'attribution des commandes de menu du menu principal Fenêtre dans Concept pour les autorisations d'accès minimales requises : 794 Commande de menu du menu principal Fenêtre Autorisation d'accès minimale requise Cascade lecture seule En colonne lecture seule Mosaïque lecture seule Réorganiser les icônes lecture seule Fermer tout lecture seule Messages lecture seule Nom des sections ouvertes lecture seule 33002205 12/2010 Concept-Security Modifications des mots de passe Introduction Ce chapitre décrit les étapes nécessaires à la modification du mot de passe de l’administrateur système et à l’inscription de nouveaux utilisateurs. Modification du mot de passe de l’administrateur système Les étapes suivantes ne sont nécessaires que si Concept-Security est démarré pour la première fois après l'installation de Concept. Elles décrivent comment modifier le mot de passe de l’administrateur système. Etape 33002205 12/2010 Action 1 Démarrez la gestion des accès en double-cliquant sur l’icône Concept-Security. 2 Donnez comme nom d’utilisateur supervisor et confirmez par OK. L’entrée d’un mot de passe n’est dans ce cas pas nécessaire. 3 Appuyez sur le bouton de commande Changer le mot de passe. 4 Entrez un mot de passe dans la zone de texte Mot de passe. Note : Pour le mot de passe, le système fait la différence entre les majuscules et les minuscules. 5 Pour confirmer, entrez le même mot de passe dans la zone de texte Confirmer mot de passe. Résultat : Si les deux entrées sont identiques, le bouton de commande OK sera disponible. 6 Confirmez la modification avec le bouton de commande OK. 7 Quittez la gestion des accès avec le bouton de commande Quitter. 795 Concept-Security Entrée d’un utilisateur et de son niveau d’accès Pour entrer des utilisateurs, attribuer un niveau d’accès et activer Concept-Security, procédez de la manière suivante : Etape 796 Action 1 Démarrez la gestion des accès en double-cliquant sur l’icône Concept-Security. 2 Entrez un nom d’utilisateur avec niveau d’accès superviseur, entrez le mot de passe et validez avec OK. 3 Sélectionnez le registre Utilisateur. 4 Appuyez sur le bouton de commande Ajouter. 5 Entrez le nom d’utilisateur (2 à 16 caractères) et confirmez par OK. 6 Sélectionnez le niveau d'accès souhaité dans la zone de liste Niveau d’accès: et confirmez avec le bouton de commande OK. 7 Quittez la gestion des accès avec le bouton de commande Quitter. 8 Pour modifier le mot de passe du nouvel utilisateur, exécutez la procédure Modifier le mot de passe de l’administrateur de système. Entrez alors comme nom d’utilisateur l’utilisateur nouvellement défini. 33002205 12/2010 Concept-Security Activation des autorisations d’accès Activation des autorisations d’accès Pour activer les niveaux d’accès, effectuez les opérations suivantes : Etape 33002205 12/2010 Action 1 Démarrez la gestion des accès en double cliquant sur l’icône Concept-Security. 2 Tapez un nom d’utilisateur avec niveau d’accès superviseur (Supervisor), tapez le mot de passe et valider avec OK. 3 Sélectionnez le registre Options. 4 Activez la case à cocher Saisie du mot de passe. 5 Quittez la gestion des accès avec le bouton de commande Quitter. Réaction: Désormais, seuls les utilisateurs autorisés peuvent démarrer Concept, Concept-DFB, Concept-EFB etc. avec les niveaux d’accès qui leur sont octroyées. 797 Concept-Security Protéger Projets/DFB Introduction Concept-Security vous permet de protéger des projets/DFB contre des modifications. Des projets protégés ne peuvent qu’être chargés dans l’API, ils ne peuvent pas être modifiés. Des DFB protégés ne peuvent qu’être utilisés et non modifiés. Protection de projets/DFB Pour protéger des projets/DFB, exécutez les opérations suivantes : Etape 798 Action 1 Démarrez la gestion des accès par un double clic sur l’icône Concept-Security. 2 Tapez un nom d’utilisateur avec niveau d’accès Supervisor, tapez le mot de passe et validez avec OK. 3 Sélectionnez le registre Protection. 4 Appuyez sur le bouton de commande Sélectionner et sélectionnez le projet / le DFB à protéger. Confirmez à l'aide de OK. Réaction : Le projet / DFB sélectionné est affiché dans la zone de liste. 5 Sélectionnez le projet / le DFB dans la zone de liste et cliquez sur Protection. Réaction : La boîte de dialogue Saisier mot de passe s’ouvre. 6 Dans la boîte de dialogue Mot de passe entrez un mot de passe et entrez-le à nouveau dans Confirmer mot de passe. Validez par OK. Réaction : Le projet/DFB est alors protégé. Ceci est indiqué par un (c) dans la zone de liste. 7 Pour faciliter la recherche de projets/DFB protégés, il est recommandé d'enregistrer la liste établie dans la zone de liste Programme/DFB à l'aide de Enregistrer liste... . 33002205 12/2010 Concept-Security Suppression de la protection de projets/DFB Pour supprimer la protection de projets/DFB, effectuez les opérations suivantes : Etape 33002205 12/2010 Action 1 Démarrez la gestion des accès par un double clic sur l’icône Concept-Security. 2 Tapez un nom d’utilisateur avec niveau d’accès Supervisor, tapez le mot de passe et validez avec OK. 3 Sélectionnez le registre Protection. 4 Appuyez sur le bouton de commande Sélectionner et sélectionnez le projet / le DFB dont la protection est à supprimer. Confirmez par OK. Réaction : Le projet / DFB sélectionné est affiché dans la zone de liste. ou Charger liste... vous permet de charger une liste enregistrée auparavant. Réaction : Tous les projets/DFB de la liste chargée apparaissent dans la zone de liste. 5 Sélectionnez le projet / le DFB dans la zone de liste (charactérisé par (c) ) et confirmez Suppresion de protectionéger. Réaction : La boîte de dialogue Saisier mot de passe s’ouvre. 6 Dans la boîte de dialogue Mot de passe entrez le mot de passe et cliquez sur OK. Réaction : Le projet/DFB n’est alors plus protégé. Ceci est indiqué par l’absence de (c) dans la zone de liste. 799 Concept-Security 800 33002205 12/2010 33002205 12/2010 Annexes Aperçu Ici, vous trouverez des informations n’étant pas obligatoirement nécessaires à la compréhension de la documentation. Contenu de cette annexe Cette annexe contient les chapitres suivants : Chapitre 33002205 12/2010 Titre du chapitre Page A Tableaux des performances dépendant de l'API 803 B Interface Windows 825 C Barre d’outils et touches rapides 845 D Conformité CEI 877 E Exemples de configuration 907 F Convertir Projets/DFB/Macros 1017 G Concept ModConnect 1021 H Conversion des programmes Modsoft 1029 I Références Modsoft et 984 1035 J Préréglages en cas de l'utilisation de Modbus Plus pour la première mise en service 1039 K Préréglages en cas de l'utilisation de Modbus pour la première mise en service 1055 L Première mise en service en cas d'utilisation de Modbus avec l'EXECLoader 1061 M Première mise en service dans le cas de l'utilisation de Modbus avec le DOS-Loader 1083 N Première mise en service en cas d'utilisation de Modbus Plus avec l'EXECLoader 1099 O Première mise en service dans le cas de l'utilisation de Modbus Plus avec le DOS-Loader 1119 P Fichiers EXEC 1137 801 Chapitre 802 Titre du chapitre Page Q Fichiers INI 1141 R Traitement d'interruption 1161 S Connexion automatique à l'API 1189 33002205 12/2010 Performances 33002205 12/2010 Tableaux des performances dépendant de l'API A Vue d’ensemble Référez-vous aux tableaux suivants pour les possibilités offertes par les différentes plates-formes matériels (Quantum, Compact, Momentum et Atrium. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Capacités de Quantum 804 Possibilités offertes par Compact 809 Capacités de Momentum 814 Possibilités offertes par Atrium 819 803 Performances Capacités de Quantum Gestion de CEI et LL984 Disponibilité de la prise en charge CEI et LL984 : Type d’UC Capacités 113 02 113 03 213 04 424 0x 434 12 534 14 seulement LL984 x - - - - - seulement CEI (Stripped Exec) x x x - - - CEI et LL984 - x x x x x 113 03 213 04 424 0x 434 12 534 14 x x x x x x = disponible - = non disponible Capacités spécifiques Disponibilité des capacités spécifiques : Type d’UC Capacités 113 02 Redondance d’UC LL984 x Redondance d’UC CEI 804 - - - - x x Interruption de traitement x (Interrupt) avec HLI (seulement LL984) x x x x x Mémoire de fractionnement (SplittMemory) (seulement avec logiciel séparé) - - - - - - Gestion de l’instruction chargeable XMIT (seulement LL984) x x x x x x Gestion de l’EFB XMIT (seulement CEI) - - - - - - Gestion de l’EFB XXMIT (seulement CEI) x x x x x x Chargement du programme utilisateur x x x x x x Gestion du code de fonction 42 de Modbus (uniquement CEI) x x x x x x 33002205 12/2010 Performances Type d’UC Capacités 113 02 113 03 213 04 424 0x 434 12 534 14 Protection par mot de passe lors de l'établissement d'une liaison avec l'API - - - - - - Gestion de carte PC (PCMCIA) - - - - - - Mémoire flash (FlashMemory) pour programme et configuration - - - - x x Extension de la configuration du RTU - - - - - - Extension de la configuration de Profibus DP x x x x x x Partage cyclique d’informations pour l’extension de la configuration x x x x x x Options de génération de x code : Des données de diagnostic comprennent x x x x x Options de génération de code : Code le plus rapide - x x x x Extension de configuration MMS Ethernet x x x x x x Messages ASCII x x x x x x Diffusion des E/S x x x x x x RIO (E/S distantes) x x x x x x DIO (E/S affectées) x x x x x x SYMAX E/S x x x x x x E/S 800 x x x x x x LonWorks x x x x x x A120 E/S - - - - - - x = disponible - = non disponible 33002205 12/2010 805 Performances Bus Disponibilité des bus : Type d’UC Capacités 113 02 113 03 213 04 424 0x 434 12 534 14 Modbus x x x x x x Modbus Plus x x x x x x Ethernet (TCP/IP) x x x x x x Ethernet (SY/MAX) x x x x x x INTERBUS x x x x x x INTERBUS : Instruction chargeable PCP (seulement LL984) x x x x x x INTERBUS : EFB PCP (seulement CEI) x x x x - - INTERBUS G4 (Generic Bus) - x x - x x LonWorks (Echelon) via NOL via NOL via NOL via NOL via NOL via NOL 911 xx et 911 xx et 911 xx et 911 xx et 911 xx et 911 xx et LL984 LL984 LL984 LL984 LL984 LL984 MVB (MultiVehicleBus) - - - - - - x = disponible - = non disponible Bibliothèques des blocs Disponibilité des bibliothèques de blocs : Type d’UC Capacités 113 02 AKFEFB (seulement CEI) x 806 113 03 213 04 424 0x 434 12 534 14 x x x x x ANA_IO (seulement CEI) x x x x x x COMM (seulement CEI) x x x x x x CONT_CTL (seulement CEI) x x x x x x DIAGNO (seulement CEI) x x x x x x EXPERTS (seulement CEI) x x x x x x EXTENDED (seulement CEI) x x x x x x 33002205 12/2010 Performances Type d’UC Capacités 113 02 113 03 213 04 424 0x 434 12 534 14 FUZZY (seulement CEI) x x x x x x HANDTABLEAU (seulement CEI) x x x x x x IEC (seulement CEI) x x x x x x LIB984 (seulement CEI) x x x x x x SYSTEM (seulement CEI) x x x x x x LL984 (seulement LL984) x x x x x x x = disponible - = non disponible Programmes d’aide Disponibilité des programmes utilitaires : Type d’UC Capacités 113 02 113 03 213 04 424 0x 434 12 534 14 Concept-DFB x x x x x x Concept-EFB x x x x x x Concept-SIM x x x x x x Concept-PLCSIM32 x x x x x x Concept-Security x x x x x x Concept-EXECLoader x x x x x x Convertisseur Concept x x x x x x Convertisseur Modsoft x x x x x x Outil ModConnect x x x x x x x = disponible - = non disponible 33002205 12/2010 807 Performances Système d'exécution Système d'exécution Type d’UC Capacités 113 02 113 03 213 04 424 0x 434 12 534 14 UC 16 bits x x x x - - UC 32 bits - - - - x x x = disponible - = non disponible Mémoire disponible pour le programme utilisateur Mémoire disponible pour le programme utilisateur : Type d’UC Capacités 113 02 113 03 213 04 424 0x 434 12 534 14 seulement système d’exécution CEI 125k 375k 612k - - - Système d’exécution CEI et LL984 160k 330k 460k 800k 2500k seulement Système d'exécution LL984 - - - - - - x = disponible - = non disponible Diverses possibilités offertes Diverses possibilités disponibles : Type d’UC Capacités 113 02 113 03 213 04 424 0x 534 14 534 14 Adaptateur pile nécessaire pour la sauvegarde de programmes CEI - - - - - - Processeur en virgule flottante - - x x x x Emulation en virgule flottante (CEI) x x - - - - x = disponible - = non disponible 808 33002205 12/2010 Performances Possibilités offertes par Compact Gestion de CEI et LL984 Disponibilité de la prise en charge CEI et LL984 : Type d’UC Capacités 258 (512k) 265 (512k) 275 (512k) 285 (1M) seulement LL984 - - - - seulement CEI (Stripped Exec) - - - - CEI et LL984 x x x 265 (512k) 275 (512k) 285 (1M) x x = disponible - = non disponible Capacités spécifiques Disponibilité des capacités spécifiques : Type d’UC Capacités Redondance d’UC LL984 - - - - Redondance d’UC CEI - - - - Interruption de traitement (Interrupt) avec HLI (seulement LL984) - - - - Mémoire de fractionnement (Splitt-Memory) (seulement avec logiciel séparé) x x x x Gestion de l’instruction chargeable XMIT (seulement LL984) x x x x Gestion de l’EFB XMIT (seulement CEI) - - - - Gestion de l’EFB XXMIT (seulement CEI) x x x x Chargement du programme utilisateur x x x x Gestion du code de fonction 42 x de Modbus (uniquement CEI) x x x x x x x Protection par mot de passe lors de l'établissement d'une liaison avec l'API 33002205 12/2010 258 (512k) 809 Performances Type d’UC Capacités 265 (512k) 275 (512k) 285 (1M) Gestion de carte PC (PCMCIA) - 258 (512k) - x x Mémoire flash (Flash-Memory) x pour programme et configuration x x x Extension de la configuration du RTU x x x x Extension de la configuration de Profibus DP - - - - Partage cyclique d’informations pour l’extension de la configuration - - - Options de génération de code x : Des données de diagnostic comprennent x x x Options de génération de code x : Code le plus rapide x x x Extension de configuration MMS Ethernet - - - - Messages ASCII - - - - Diffusion des E/S - x x x RIO (E/S distantes) - - - - DIO (E/S affectées) - - - - SYMAX E/S - - - - E/S 800 - - - - LonWorks - - - - A120 E/S x x x x x = disponible - = non disponible 810 33002205 12/2010 Performances Bus Disponibilité des bus : Type d’UC Capacités 258 (512k) 265 (512k) 275 (512k) 285 (1M) Modbus x x x x Modbus Plus via Module Bridge x x x Ethernet (TCP/IP) via via ModuleBridge ModuleBridge via via ModuleBridge ModuleBridge Ethernet (SY/MAX) - - - - INTERBUS via BKF xxx via BKF xxx via BKF xxx via BKF xxx INTERBUS : Instruction chargeable PCP (seulement LL984) - - - - INTERBUS : EFB PCP (seulement CEI) - - - - LonWorks (Echelon) - - - - MVB (MultiVehicleBus) x x x x x = disponible - = non disponible 33002205 12/2010 811 Performances Bibliothèques des blocs Disponibilité des bibliothèques de blocs : Type d’UC Capacités 258 (512k) 265 (512k) 275 (512k) 285 (1M) AKFEFB (seulement CEI) x x x x ANA_IO (seulement CEI) x x x x COMM (seulement CEI) - x x x CONT_CTL (seulement CEI) x x x x DIAGNO (seulement CEI) x x x x EXPERTS (seulement CEI) x x x x EXTENDED (seulement CEI) x x x x FUZZY (seulement CEI) x x x x HANDTABLEAU (seulement CEI) x x x x IEC (seulement CEI) x x x x LIB984 (seulement CEI) x x x x SYSTEM (seulement CEI) x x x x LL984 (seulement LL984) x x x x x = disponible - = non disponible Programmes d’aide Disponibilité des programmes utilitaires : Type d’UC Capacités 258 (512k) 265 (512k) 275 (512k) 285 (1M) Concept-DFB x x x x Concept-EFB x x x x Concept-SIM x x x x Concept-PLCSIM32 x x x x Concept-Security x x x x Concept-EXECLoader x x x x Convertisseur Concept x x x x Convertisseur Modsoft x x x x Concept-ModConnect - - - - x = disponible - = non disponible 812 33002205 12/2010 Performances Système d'exécution Système d'exécution Type d’UC Capacités 258 (512k) 265 (512k) 275 (512k) 285 (1M) UC 16 bits - - - - UC 32 bits x x x x x = disponible - = non disponible Diverses possibilités offertes Diverses possibilités disponibles : Type d’UC Capacités 258 (512k) 265 (512k) 275 (512k) 285 (1M) Adaptateur pile nécessaire pour la sauvegarde de programmes CEI - - - - Traitement en virgule flottante - - - - Emulation en virgule flottante x x x x x = disponible - = non disponible 33002205 12/2010 813 Performances Capacités de Momentum Gestion de CEI et LL984 Disponibilité de la gestion de CEI et LL984 : Type d'UC Capacités 700 00 700 10 780 00 760 00 760 10 780 10 960 20 980 20 960 30 980 30 970 30 LL984 seulement x x x x x x CEI seulement - x x - x x CEI et LL984 - - - - - - x = disponible - = non disponible Capacités spécifiques Disponibilité des capacités spécifiques : Type d'UC Capacités 700 00 700 10 780 00 760 00 760 10 780 10 960 20 980 20 960 30 980 30 970 30 Redondance d'UC LL984 - - - - - - Redondance d'UC CEI - - - - - - Traitement d'interruption (Interrupt) avec HLI (LL984 seulement) - - - - - - Mémoire de fractionnement (Splitt-Memory) (LL984 seulement avec logiciel séparé) - - - - - - Gestion du bloc XMIT (LL984 seulement) x x x x x x Gestion de l'EFB XMIT (CEI seulement) - - - - - - Gestion de l'EFB XXMIT (CEI seulement) x x x x x x Lecture du programme utilisateur x x x x x x Gestion du code de fonction 42 de Modbus (CEI uniquement) - x x - x x Protection par mot de passe lors de l'établissement d'une liaison avec l'API - - - x x x Gestion de carte PCMCIA - - - - - - Mémoire flash pour programme et configuration (LL984) x x x x x x 814 33002205 12/2010 Performances Type d'UC Capacités 700 00 700 10 780 00 760 00 760 10 780 10 960 20 980 20 960 30 980 30 970 30 Mémoire flash pour programme et configuration (CEI) - - x - x x Extension de la configuration du RTU (Remote Terminal Unit) - - - - - - Extension de la configuration de DP Profibus - - - - - - Echange de données cyclique pour l'extension de la configuration - - - - - - Options de génération de code : Inclure les données de diagnostic - - - - - - Options de génération de code : Code le plus rapide - - - - - - Extension de la configuration MMS Ethernet - - - - - - Messages ASCII - - - - - - Diffusion des E/S x x x x x - RIO (E/S distantes) - - - - - - DIO (E/S affectées) - - - - - - TIO (E/S de terminal) x x x x x - E/S SY/MAX - - - - - - E/S 800 - - - - - - LonWorks - - - - - - E/S A120 - - - - - - x = disponible - = non disponible 33002205 12/2010 815 Performances Bus Disponibilité des bus : Type d'UC Capacités 700 00 700 10 780 00 760 00 760 10 780 10 960 20 980 20 960 30 980 30 970 30 Modbus (avec carte cyclique) x x x x x - Modbus Plus (avec carte cyclique) x x x x x - Ethernet (TCP/IP) - - - x (LL984 x seuleme nt) x Ethernet (SY/MAX) - - - - - - INTERBUS x x x x x - INTERBUS : Instruction chargeable PCP (LL984 seulement) - - - - - - INTERBUS : EFB PCP (CEI seulement) - - - - - - LonWorks (Echelon) - - - - - - MVB (MultiVehicleBus) - - - - - - x = disponible - = non disponible Bibliothèques de blocs Disponibilité des bibliothèques de blocs : Type d'UC Capacités 700 00 700 10 780 00 AKFEFB (CEI seulement) - ANA_IO (CEI seulement) - 760 00 760 10 780 10 960 20 980 20 960 30 980 30 970 30 x x - x x x x - x x COMM (CEI seulement) - - - - x x CONT_CTL (CEI seulement) - x x - x x DIAGNO (CEI seulement) - x x - x x EXPERTS (CEI seulement) - - - - x x EXTENDED (CEI seulement) - x x - x x FUZZY (CEI seulement) - x x - x x HANDTABLEAU (IEC seulement) - - - - x x CEI (CEI seulement) - x x - x x 816 33002205 12/2010 Performances Type d'UC Capacités 700 00 700 10 780 00 760 00 760 10 780 10 960 20 980 20 960 30 980 30 970 30 LIB984 (CEI seulement) - x x - x x SYSTEM (CEI seulement) - x x - x x LL984 (LL984 seulement) x x x x x x x = disponible - = non disponible Programmes utilitaires Disponibilité des programmes utilitaires : Type d'UC Capacités 700 00 700 10 780 00 760 00 760 10 780 10 960 20 980 20 960 30 980 30 970 30 DFB Concept - x x - x x EFB Concept - x x - x x Concept-SIM - x x - x x Concept-PLCSIM32 - x x - x x Sécurité Concept - x x - x x Concept-EXECLoader x x x x x x Convertisseur Concept x x x x x x Convertisseur Modsoft x x x x x x Concept-ModConnect x x x x x x x = disponible - = non disponible 33002205 12/2010 817 Performances Système d'exécution Système d'exécution Type d'UC Capacités 700 00 700 10 780 00 760 00 760 10 780 10 960 20 980 20 960 30 980 30 970 30 UC 16 bits x x x x x x UC 32 bits - - - - - - x = disponible - = non disponible Diverses capacités Disponibilité des diverses capacités : Type d'UC Capacités 700 00 700 10 780 00 760 00 760 10 780 10 960 20 980 20 960 30 980 30 970 30 Adaptateur pile nécessaire pour la sauvegarde de programmes CEI - x - - - - Processeur en virgule flottante - - - - - - Emulation en virgule flottante (CEI) - x x - x x x = disponible - = non disponible 818 33002205 12/2010 Performances Possibilités offertes par Atrium Gestion de CEI et LL984 Disponibilité de la prise en charge CEI et LL984 : Type d’UC Capacités 121 01 (2M) 241 01 (4M) 241 11 (4M) seulement LL984 - seulement CEI (Stripped Exec) x CEI et LL984 - x = disponible - = non disponible Capacités spécifiques Disponibilité des capacités spécifiques : Type d’UC Capacités 121 01 (2M) 241 01 (4M) 241 11 (4M) Redondance d’UC LL984 - Redondance d’UC CEI - Interruption de traitement (Interrupt) avec HLI (seulement LL984) - Mémoire de fractionnement (Splitt-Memory) (seulement avec logiciel séparé) - Gestion de l’instruction chargeable XMIT (seulement LL984) - Gestion de l’EFB XMIT (seulement CEI) - Gestion de l’EFB XXMIT (seulement CEI) - Chargement du programme utilisateur x Gestion du code de fonction 42 x de Modbus (uniquement CEI) 33002205 12/2010 819 Performances Type d’UC Capacités 121 01 (2M) 241 01 (4M) 241 11 (4M) Protection par mot de passe lors de l'établissement d'une liaison avec l'API - Gestion de carte PC (PCMCIA) Mémoire flash (Flash-Memory) pour programme et configuration Extension de la configuration du RTU - Extension de la configuration de Profibus DP - Partage cyclique d’informations pour l’extension de la configuration Options de génération de code : Des données de diagnostic comprennent Options de génération de code : Code le plus rapide Extension de configuration MMS Ethernet - Messages ASCII - Diffusion des E/S x RIO (E/S distantes) - DIO (E/S affectées) - SYMAX E/S - E/S 800 - LonWorks - A120 E/S - x = disponible - = non disponible 820 33002205 12/2010 Performances Bus Disponibilité des bus : Type d’UC Capacités 121 01 (2M) 241 01 (2M) 241 11 (4M) Modbus - Modbus Plus x Ethernet (TCP/IP) - Ethernet (SY/MAX) - INTERBUS x x x INTERBUS : Instruction chargeable PCP (seulement LL984) - INTERBUS : EFB PCP (seulement CEI) - Profibus - LonWorks (Echelon) - MVB (MultiVehicleBus) - x = disponible - = non disponible Bibliothèques des blocs Disponibilité des bibliothèques de blocs : Type d’UC Capacités 33002205 12/2010 121 01 (2M) 241 01 (2M) 241 11 (4M) AKFEFB (seulement CEI) x ANA_IO (seulement CEI) x COMM (seulement CEI) x CONT_CTL (seulement CEI) x DIAGNO (seulement CEI) x EXPERTS (seulement CEI) x EXTENDED (seulement CEI) x 821 Performances Type d’UC Capacités 121 01 (2M) 241 01 (2M) 241 11 (4M) FUZZY (seulement CEI) x HANDTABLEAU (seulement CEI) x IEC (seulement CEI) x LIB984 (seulement CEI) x SYSTEM (seulement CEI) x LL984 (seulement LL984) - x = disponible - = non disponible Programmes d’aide Disponibilité des programmes utilitaires : Type d’UC Capacités 121 01 (2M) 241 01 (2M) 241 11 (4M) Concept-DFB x Concept-EFB x Concept-SIM x Concept-PLCSIM32 x Concept-Security x Concept-EXECLoader x Convertisseur Concept x Convertisseur Modsoft x Concept-ModConnect - x = disponible - = non disponible 822 33002205 12/2010 Performances Système d'exécution Système d'exécution Type d’UC Capacités 121 01 (2M) 241 01 (2M) 241 11 (4M) UC 16 bits - UC 32 bits x x = disponible - = non disponible Diverses possibilités offertes Diverses possibilités disponibles : Type d’UC Capacités 121 01 (2M) 241 01 (2M) 241 11 (4M) Adaptateur pile nécessaire pour la sauvegarde de programmes CEI - Processeur en virgule flottante x x Emulation en virgule flottante x - x = disponible - = non disponible 33002205 12/2010 823 Performances 824 33002205 12/2010 Interface Windows 33002205 12/2010 Interface Windows B Aperçu Ce chapitre décrit les caractéristiques les plus importantes de l’interface Windows de Concept. Consultez les manuels Microsoft Windows pour plus de détails. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page B.1 Fenêtre 826 B.2 Commandes 832 B.3 Boîtes de dialogue 834 B.4 Création d’un symbole de projet 837 B.5 Aide en ligne 839 825 Interface Windows B.1 Fenêtre Aperçu Ce chapitre décrit les types de fenêtres et les éléments de fenêtre sous Windows. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 826 Page Types de fenêtres 827 Eléments de fenêtre 829 33002205 12/2010 Interface Windows Types de fenêtres Introduction Il existe deux types de fenêtres sous Windows : z Fenêtre d’application z Fenêtre de document Types de fenêtres : Fenêtre d’application Au démarrage de Concept, une fenêtre d’application est ouverte sur le bureau. Vous pouvez déplacer cette fenêtre n’importe où sur le bureau. Vous pouvez aussi la réduire à la dimension d’un boutonsur la barre des tâches. Dans cette fenêtre d’application, vous pouvez ouvrir ou créer un projet. Le nom du projet est affiché sur la barre de titre d’application. 33002205 12/2010 827 Interface Windows Fenêtre de document Différentes fenêtres de document peuvent être ouvertes après avoir ouvert ou créé un projet. Les fenêtres de document sont par exemple des sections dans lesquelles vous créez votre programme d’application ou la fenêtre de document pour la configuration de l’automate. Plusieurs fenêtres de document peuvent être ouvertes simultanément mais une seule fenêtre de document peut être activée. La fenêtre de document active est identifiable à la couleur de la barre de titre. Les instructions des menus déroulants et la barre de symboles de la fenêtre d’application varient en fonction de la fenêtre de document active. 828 33002205 12/2010 Interface Windows Eléments de fenêtre Introduction Ce chapitre décrit les éléments de fenêtre spécifiés pour le Concept. Eléments de fenêtre : Barre de titre Le bandeau de projet affiche le nom de l’application active (par exemple Concept) et le nom du projet. Si un automate est accouplé, l’adresse usager de l’automate est affichée entre crochets (<>). Si l’automate appartient à un autre réseau, le chemin d’acheminement est affiché lui aussi. Dans le cas où la fenêtre de document (par exemple une section) est agrandie plein écran, c’est-à-dire si elle occupe toute la fenêtre d’application, le nom de la fenêtre de document (par exemple le nom de la section) est lui aussi affiché sur le bandeau. Les fenêtres de document qui ne sont pas agrandies plein écran ont leur propre bandeau dans lequel est indiqué le nom de la fenêtre de document. 33002205 12/2010 829 Interface Windows Barre des menus La barre de menu de la fenêtre d’application regroupe les différents menus principaux. Le contenu de la barre de menu dépend de la fenêtre de document active. Barre des outils La barre de symboles est composée de boutons-icônes qui correspondent à une commande sur les menus déroulants. La taille et le contenu de la barre de symboles est fonction de la fenêtre active. Il y a 3 types de représentation des boutons-icônes : estompé (gris) Cette instruction n’est pas disponible actuellement. Avant de pouvoir activer ce bouton, vous devez exécuter une ou plusieurs autres instructions. z non appuyé L’instruction est disponible. z appuyé L’instruction est active. z Barre d’état L’aspect de la barre d’état varie selon qu’un projet a été ouvert, une section a été ouverte et en fonction du langage de programmation utilisé pour la section. La première ligne de la barre d’état affiche diverses informations en fonction de l’objet sélectionné : z Après que vous avez ouvert une boîte de dialogue, une instruction de menu ou un bouton, un message court d’aide est effiché sur la boîte de dialogue, la commande ou le bouton. Pour afficher l’aide, sélectionnez une instruction de menu ou un bouton avec la touche gauche de la souris et maintenez la appuyée. Une description brève de la commande ou du bouton est affichée sur la barre d’état. Pour pouvoir exécuter la commande / activer le bouton, relâcher la touche de la souris. Si vous ne voulez pas exécuter la commande / activer le bouton, tirez le pointeur de la souris hors de la zone active (la description sur la barre d’état disparaît) et relâcher la touche de la souris. z Un commentaire sur l’objet sélectionné est affiché après que vous avez sélectionné un FFB, un paramètre sur une entrée/sortie, un pas ou une transition. Dans le cas des paramètres et des transitions, l’affichage comporte en plus l’adresse directement affectée (uniquement pour les variables implantées en mémoire). 830 33002205 12/2010 Interface Windows La deuxième partie de la barre d’état (état de la section active) indique si la section fonctionne en mode animation ou si la section est bloquée : z ANIME La section est animée. z BLOQUEE La section est bloquée et n’est pas traitée. La troisième partie de la barre d’état donne l’état de l’automate : z NON CONN. Le terminal n’est pas accouplé à un automate. z STOPPE Le programme a été stoppé sur l’automate. z MARCHE : MODIFIER CONFIG Le programme marche sur l’automate et a été connecté à l’autorisation d’accès Modifier configuration. La quatrième partie de la barre d’état donne l’état du programme entre l’automate et le terminal. Affichage uniquement lorsqu’un projet est ouvert et que le terminal est directement connecté à l’automate : z EGALITE Les programmes sur le terminal et l’automate sont compatibles. z INCOMPATIBLES Les programmes sur le terminal et l’automate ne sont pas compatibles. La vérification de compatibilité est chargée avec la commande En ligne → Chargement... . z MODIFIE Le programme sur le terminal a été modifié. Le transfert direct sur l’automate des modifications est exécuté avec la commande En ligne →Chargement des modifications. Barre d’état : 33002205 12/2010 831 Interface Windows B.2 Commandes Commandes Introduction La barre de menu affiche le titre des différents menus. La liste des commandes est donnée sur menus déroulants. En outre, chaque fenêtre et chaque boîte de dialogue de Concept a un menu système, comme vous y êtes habitué sous Windows. Ouvrir ce menu dans la petite zone supérieure gauche de la fenêtre. Pour ouvrir un menu déroulant, cliquez avec le pointeur de la souris sur le titre du menu (bouton gauche de la souris). Pour accéder directement à une commande, tirez le pointeur de la souris vers le bas sur le menu et relâchez la touche de la souris. Pour quitter un menu, cliquez sur le titre du menu ou sur une position quelconque à l’extérieur du menu. Menu déroulant typique : Lettre soulignée Pour sélectionner un menu principal (titre de menu) et ensuite une commande, appuyez sur la touche Alt et sur la touche de la lettre soulignée et en tapant ensuite la lettre soulignée. Si, par exemple, vous voulez sélectionner la commande Rechercher... dans le menu Projet , appuyez sur Alt+P pour ouvrir le menu et ensuite sur Alt+S pour exécuter le menu. 832 33002205 12/2010 Interface Windows Commande estompée (grise) Cette instruction n’est pas disponible actuellement. Avant de pouvoir exécuter cette instruction, vous devez exécuter une ou plusieurs autres instructions. Points de suspension (...) après la commande Lorsque vous voulez exécuter cette commande, une boîte de dialogue est affichée comportant les options qui doivent être sélectionnées avant l’exécution de l’instruction. Crochets (√) devant la commande La commande est active. Après sélection de la commande, le crochet est estompé et la commande est inactive. Le crochet est utilisé principalement pour marquer les modes actifs (par exemple affichage normal, mode sélection, etc.). Entrée sur le clavier L’entrée sur le clavier (par exemple F8 ou la combinaison de touches (par exemple Alt+F9, Strg+R)) après la commande est un raccourci pour exécuter cette commande. Avec cette touche ou cette combinaison de touches, vous sélectionnez la commande sans devoir ouvrir le menu au préalable. 33002205 12/2010 833 Interface Windows B.3 Boîtes de dialogue Boîtes de dialogue Introduction Concept affiche des boîtes de dialogue lorsque vous devez donner des informations supplémentaires pour réaliser une tâche donnée. Par ailleurs, elles servent aussi à afficher les informations dont vous pouvez avoir besoin. La plupart des boîtes de dialogue contiennent des options proposées pour exécution, des zones de texte dans lesquelles vous pouvez entrer des textes et des boutons pouvant être activés. Les options estompées (grises) ne sont pas disponibles momentanément. Avant de pouvoir activer l’option souhaitée, vous devez exécuter une ou plusieurs autres instructions ou activer/désactiver certaines options. Eléments spécifiques d’une fenêtre Concept : 834 33002205 12/2010 Interface Windows Boutons de commande Les boutons servent pour exécuter immédiatement une action, par exemple exécuter ou Verrouiller une instruction. Les boutons de commande sont par exemple OK, Interrompre et Aide. Les boutons de commande suivies de points de suspension (...) ouvrent une nouvelle boîte de dialogue. Les boutons de commande marqués du signe "supérieur à" (>>) élargissent la boîte de dialogue active. Le réglage standard est marqué par un cadre foncé. Ce bouton de commande est sélectionné en appuyant sur la touche Saisie. Pour quitter une boîte de dialogue sans exécuter d’instruction, sélectionnez le bouton de commande Interrompre. Zones de texte Les zones de textes servent pour la saisie d’informations (textes). Lorsque vous vous positionnez dans une zone de texte vide, le curseur d’insertion apparaît à l’extrême gauche dans la zone. Le texte que vous entrez commence par cette marque d’insertion. Dans le cas où la zone correspondante contient déjà un texte, celui-ci est marqué et est écrasé automatiquement par le nouveau texte que vous introduisez. Vous pouvez aussi effacer le texte en appuyant sur la touche Eff ou Effacer en arrière. Zones de liste Les zones de liste présentent les possibilités de sélection sous forme de liste. Pour afficher les possibilités dépassant la capacité de la zone de liste, utilisez la barre de défilement ou les touches directionnelles. En général, il n’est possible de sélectionner qu’une seule rubrique sur une liste. Dans certains cas, par exemple pour ouvrir les sections, il est possible de sélectionner plusieurs rubriques. Zones de liste une ligne Les zones de liste de une ligne sont d’abord affichées sous forme de rectangle dans lequel la sélection actuelle (valeur standard) est marquée. Après sélection de la flèche à droite dans le rectangle, une liste est affichée avec toutes les possibilités de sélection disponibles . Pour afficher les possibilités dépassant la capacité de la zone de liste, utilisez la barre de défilement ou les touches directionnelles. 33002205 12/2010 835 Interface Windows Bouton d’option Les boutons d’option affichent les zones qui s’excluent mutuellement. Il n’est possible de sélectionner qu’une option à la fois. L’option sélectionnée est marquée d’un point noir. Lorsque le nom d’option contient une lettre soulignée, la zone d’option peut être activée de n’importe quel point de la zone en appuyant sur les touches Alt et la lettre soulignée. Cases à cocher La case à cocher se trouvant à côté d’une option signifie que vous pouvez activer/désactiver l’option. Il est possible d’activer un nombre quelconque de cases à cocher. Les options activées sont marquées d’un X ou d’un crochet (√). Lorsque le nom d’option contient une lettre soulignée, la zone d’option peut être activée de n’importe quel point de la zone en appuyant sur les touches Alt et la lettre soulignée. 836 33002205 12/2010 Interface Windows B.4 Création d’un symbole de projet Création d’un symbole de projet dans un groupe de programmes Introduction La création d’un symbole de projet vous permet déjà au démarrage de Concept, de charger un projet déterminé et/ou de vous connecter à un API. De cette manière, vous pouvez créer un ou plusieurs groupes de programmes contenant tous les projets d’une installation, par exemple. NOTE : Un symbole ne peut être créé que pour les projets existants. Dans le cas contraire, un message d’erreur apparaît au démarrage. Création d’un symbole de projet Pour créer un symbole de projet, effectuez les opérations suivantes : Etape 33002205 12/2010 Action 1 Ouvrez sous Démarrage →Paramètres →Barre des tâches..., la boîte de dialogue Propriétés de la barre des tâches. 2 Sur l'onglet Programmes du menu Démarrer/Avancé (Win2000), cliquez sur Ajouter.... 3 Dans la boîte de dialogue Créer un lien, cliquez sur Parcourir.... 4 Naviguez dans la boîte de dialogue Parcourir jusqu'au répertoire d’installation de Concept et sélectionnez le fichier CONCEPT.EXE par un double clic. Réaction : le système ferme la boîte de dialogue Parcourir et le fichier CONCEPT.EXE, répertoire inclus, apparaît dans la zone de texte Ligne de commande. Exemple C :\CONCEPT\CONCEPT.EXE. 5 Complétez maintenant la ligne de commande en ajoutant le nom du projet, tel que C :\CONCEPT\CONCEPT.EXE PLANT1.PRJ, puis validez en cliquant sur Suivant >. Note : pour établir une connexion à un API quelconque, vous ajoutez des paramètres (voir page 1190) supplémentaires à la ligne de commande. 6 Dans la boîte de dialogue Groupes de programmes, sélectionnez comme symbole, un icône de groupe de programmes disponible ou créez-en un à l’aide de Nouveau dossier... . Confirmez les entrées en cliquant sur Suivant >. 7 Entrez le nom du programme dans le dialogue Sélectionner le nom du programme et confirmez les entrées en cliquant sur Terminer. 837 Interface Windows Etape Action 8 Fermez la boîte de dialogue Propriétés de la barre des tâches en cliqant sur OK. Réaction :le système ferme la boîte de dialogue des propriétés et l'icône symbolisant le projet est disponible dans le dossier sélectionné du menu Démarrer. 9 Dans le menu Démarrer →Explorateur Windows, ouvrez le dossier muni de l'icône du projet. Positionnez le pointeur de la souris sur le symbole du projet et cliquez sur le bouton droit de la souris. Réaction : Un menu contextuel apparaît. 10 Cliquez sur la commande Propriétés. Réaction : La boîte de dialogue Propriété du "Nom de l'icône du projet" apparaît. 11 Passez à l'onglet Connexion et complétez la ligne de commande Répertoire de travail/Destination (Win2000) en ajoutant le nom du répertoire de projets, tel que C:\CONCEPT\PROJECTS. Confirmez les entrées en cliquant sur Appliquer. 12 Fermez la boîte de dialogue en cliquant sur OK. 13 Ouvrez le projet en cliquant sur son symbole. Création d’un symbole de DFB De cette manière, vous pouvez également créer des symboles de DFB. Sélectionnez le fichier CCEPTDFB.EXE à l’étape 4 et complétez le nom et le chemin d'accès au projet par le nom et le chemin d'accès au DFB à l’étape 5. 838 33002205 12/2010 Interface Windows B.5 Aide en ligne Aperçu Ce chapitre décrit l’utilisation de l’aide en ligne. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 33002205 12/2010 Page Introduction 840 Structure de l’aide en ligne 842 839 Interface Windows Introduction Remarques générales L’aide en ligne vous permet d’obtenir simplement et rapidement des informations à propos de la tâche que vous exécutez, à propos d’une commande inconnue que vous désirez employer, à propos des fonctions et des blocs de fonctions et à propos des modules de construction. L’aide en ligne est accessible à partir de tout le concept. NOTE : Si votre carte graphique dispose de fonctions d’accélération des périphérique, l’option Employer l’accélération de polygones ne doit pas être activée. Mais lorsque celle-ci est tout de même employée, cela peut entraîner un affichage incomplet des graphiques de l’aide en ligne. La description détaillée permettant d’annuler la fonction d’accélération est contenue dans le manuel d’utilisation de votre carte graphique. Démarrage de l’aide en ligne Il existe différentes possibilités d’accès à l’aide en ligne : appel du sommaire) Il existe deux possibilités d’accès au sommaire de l’aide en ligne : z Sélectionnez la commande du menu Aide →Sommaire pour appeler le sommaire de l’aide en ligne. z Ouvrez le symbole d’aide dans le groupe de programmes Concept. z 840 z Aide pour l’une des commandes du menu que vous désirez exécuter Il existe deux possibilités d’appeler l’aide pour une commande du menu : z à l’aide de la souris) Sélectionner la commande du menu avec la touche gauche de la souris, maintenez la touche de la souris enfoncée, enfoncez ensuite la touche F1 et relâchez la touche de la souris afin d’obtenir des explications à propos de la commande du menu sélectionnée. z à l’aide du clavier) Sélectionnez la commande du menu et enfoncez ensuite la touche F1 afin d’obtenir des explications à propos de la commande du menu sélectionnée. z Aide pour un dialogue Il existe deux possibilités d’appeler l’aide pour un dialogue : z Appuyez sur le bouton de commande Aide d’un dialogue afin d’obtenir des explications à propos du dialogue. z Appuyez sur la touche F1 dans le dialogue afin d’obtenir des explications à propos du dialogue. 33002205 12/2010 Interface Windows z z 33002205 12/2010 Aide à propos du fonctionnement d’un EFB Appuyez sur le bouton de commande Aide pour le type dans le dialogue contenant les propriétés EFB d’un bouton de commande afin d’obtenir des explications à propos du fonctionnement du EFB. Aide à propos du fonctionnement d’un module Appuyez sur le bouton de commande Aide pour le module dans le dialogue Sélection modules E/S afin d’obtenir des explications à propos du fonctionnement du module. 841 Interface Windows Structure de l’aide en ligne Introduction Lorsque vous démarrez l'aide en ligne, le système d'aide de Windows s'ouvre, avec soit z la table des matières (si vous avez démarré avec Aide →Contenu ou le symbole), z la description d'un dialogue (si vous avez démarré avec le bouton Aide ), z la description d'un EFB (si vous avez démarré avec le bouton Aide pour type ) ou avec z la description d'un module (si vous avez démarré avec le bouton Aide sur le module ). Ce chapitre décrit les éléments affichés sur l’écran d’aide en ligne lorsque que vous lancez l’aide se rapportant à Concept. Fenêtre d’aide en ligne : 842 33002205 12/2010 Interface Windows Barre de titre La barre des titres contient le nom du fichier d’aide actif appelé Aide projet. Barre de menus Vous trouverez la description de la barre de menus standard dans le manuel Windows correspondant. Barre des outils Les boutons suivants sont disponibles dans Concept : z Contenu Ce bouton de commande vous permet d’accéder à la table des matières de l’aide en ligne. Pour l'explication détaillée de cette fonction, prière de consulter le manuel correspondant de Windows. Note : Si vous sautez (voir page 844) entre différents projets d'aide et appuyez sur le bouton de commande Contenu , le contenu du projet d'aide appelant (pas le projet actuel) s'affichera. Il s'agit d'une erreur de Microsoft. C'est la raison pour laquelle vous le navigateur est mis à votre disposition, pour la navigation à l'intérieur du projet d'aide actuel (voir également Navigateur, page 844). z Index Ce bouton de commande vous permet d’ouvrir un index (registre de mots-clé) pour rechercher les rubriques de l’aide. Pour l'explication détaillée de cette fonction, prière de consulter le manuel correspondant de Windows. Note : Si voulez effectuer une recherche en texte complet, appuyez sur le bouton Index, sélectionnez la carte de registre Rechercher, sélectionnez la fonctionnalité de recherche souhaitée et entrez le terme à chercher. z Retour Ce bouton de commande vous permet d’accéder au texte d’aide précédent que vous avez lu. z Imprimer Ce bouton permet d’imprimer la rubrique courante de l’aide. z << Ce bouton de commande vous permet de "parcourir" le texte d’aide précédent. Ce bouton de commande vous permet de lire dans l’aide en ligne comme dans un livre. Le bouton est grisé si vous avez atteint la première "page" de l’aide en ligne (Table des matières de l’aide). z >> Ce bouton de commande vous permet de "parcourir" le texte d’aide suivant. Ce bouton de commande vous permet de lire dans l’aide en ligne comme dans un livre. Le bouton est grisé si vous avez atteint la dernière "page" de l’aide en ligne. z Historique Ce bouton de commande vous permet d'ouvrir une fenêtre qui vous indique tous les rubriques d'aide déjà ouverts. 33002205 12/2010 843 Interface Windows Titre des rubriques d’aide (Topic) Le titre d’une rubrique d’aide correspond au titre d’un chapitre dans une documentation sur papier. Le titre d’une rubrique d’aide reste toujours visible, même si vous déplacer le texte dans la fenêtre dans le cas d’une longue documentation. Navigateur Le navigateur se trouve dans le titre de la rubrique. Il permet la navigation à l'intérieur d'un projet d'aide. Saut (Jump) Vous reconnaîtrez un saut (Jump) au passage souligné en vert. En cliquant sur celui-ci, vous obtenez le texte d’aide correspondant à ce mot-clé/sujet. Les sauts correspondent aux "Voir aussi" dans une documentation sur papier, même si dans ce cas précis il n’est plus nécessaire de les parcourir. Le texte d’aide d’accès est remplacé par le nouveau passage. Liste directe (Contextuelle) Vous reconnaîtrez une liste directe (Contextuelle) au passage en vert souligné en pointillé. En cliquant sur celle-ci, vous obtenez le passage d’aide correspondant à ce mot-clé. Les listes directes correspondent aux entrées de glossaire dans une documentation sur papier, même si dans ce cas précis il n’est plus nécessaire de les parcourir. Une fenêtre comportant une description encadrée s’ouvre pour afficher le passage. Cette fenêtre contextuelle peut contenir d’autres fenêtres contextuelles directes. Cette fenêtre est supprimée si vous cliquez de nouveau ou appuyez sur un bouton quelconque. Le texte d’aide d’accès reste affiché. 844 33002205 12/2010 Barre d’outils et touches rapides 33002205 12/2010 Barre d’outils et touches rapides C Description Pour chaque éditeur et pour la configuration API, vous avez à votre disposition une barre d’outils propre. Cela simplifie l’accès aux fonctions utilisées fréquemment. De plus, vous avez la possibilité d’appeler de nombreuses fonctions par l’intermédiaires de touches rapides au lieu de passer par les commande s. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page C.1 Barre d’outils 846 C.2 Touches courtes 858 845 Barre d’outils et touches rapides C.1 Barre d’outils Description Ce sous-chapitre décrit les symboles des barres de symboles. Les barres de symboles contiennent des symboles qui dépendent et des symboles qui ne dépendent pas de l‘éditeur. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet Barre d’outils générale 846 Page 847 Barre d’outils dans éditeur FBD 848 Barre d’outils dans l’éditeur SFC 849 Barre d’outils dans l’éditeur LD 851 Barre d’outils dans l‘éditeur IL et ST 853 Barre d’outils dans l‘éditeur LL984 854 Symboles dans le configurateur API 855 Barre d’outils dans éditeur ED 856 Barre d'outils du navigateur de projet 857 33002205 12/2010 Barre d’outils et touches rapides Barre d’outils générale Symboles Le tableau montre les symboles disponibles et les commande s qui leur sont associées : Symbole Commande exécutée Fichier →Ouvrir... Fichier →Nouvelle section... / Nouvelle section DFB... Fichier →Ouvrir section... Fichier →Enregistrer Projet →Déclaration de variables... Projet →Rechercher... En ligne →Connecter... En ligne →Chargement des modifications... Edition →Annuler : Supprimer Edition →Couper Edition →Copier Edition →Coller 33002205 12/2010 847 Barre d’outils et touches rapides Barre d’outils dans éditeur FBD Symboles Le tableau montre les symboles supplémentaires disponibles dans l’éditeur FBD ainsi que leurs commande s corrrespondantes (voir également Barre d’outils générale, page 847) : Symbole Commande exécutée Affichage →Zoom avant Affichage →Zoom arriére Objets →Mode de sélection Objets →Liaison Objets →FFB : Dernier type Objets →Inverser entrée/sortie Objets →Texte Objets →Sélection FFB... En ligne →Animer sélection En ligne →Animer valeurs binaires 848 33002205 12/2010 Barre d’outils et touches rapides Barre d’outils dans l’éditeur SFC Symboles Le tableau montre les symboles supplémentaires disponibles dans l’éditeur FBD ainsi que leurs commande s corrrespondantes (voir également Barre d’outils générale, page 847) : Symbole Commande exécutée Affichage →Zoom avant Affichage →Zoom arriére Objets →Mode de sélection Objets →Sélectionner structure de colonne Objets →Sélectionner structure ligne Objets →Etape Objets →Transition Objets →Divergence en ET Objets →Convergence en ET Objets →Divergence en OU Objets →Convergence en OU Objets →Saut Objets →Liaison Objets →Séquence Etape-Transition Objets →Séquence simultanée structurée 33002205 12/2010 849 Barre d’outils et touches rapides Symbole Commande exécutée Objets →Séquence en OU structurée Objets →Séquence Transition-Etape Objets →Texte En ligne →Animation En ligne →Commandes de la gestion de l’animation 850 33002205 12/2010 Barre d’outils et touches rapides Barre d’outils dans l’éditeur LD Symboles Le tableau montre les symboles supplémentaires disponibles dans l’éditeur LD ainsi que leurs commande s corrrespondantes (voir également Barre d’outils générale, page 847) : Symbole Commande exécutée Affichage →Zoom avant Affichage →Zoom arrière Objets →Mode de sélection Objets →Liaison Objets →Liaison directe Objets →Liaison verticale Objets →FFB : Dernier type Objets →Inverser entrée/sortie Objets →Texte Objets →Sélection FFB... Objets →Bobine Objets →Bobine - Inversée Objets →Contact Normalement Ouvert Objets →Contact Normalement Fermé 33002205 12/2010 851 Barre d’outils et touches rapides Symbole Commande exécutée En ligne →Animer sélection En ligne →Animer valeurs binaires 852 33002205 12/2010 Barre d’outils et touches rapides Barre d’outils dans l‘éditeur IL et ST Symboles Le tableau montre les symboles supplémentaires disponibles dans l’éditeur IL et ST ainsi que leurs commande s corrrespondantes (voir également Barre d’outils générale, page 847) : Symbole Commande exécutée Objets →Insérer FFB En ligne →Animer sélection En ligne →Animer valeurs binaires 33002205 12/2010 853 Barre d’outils et touches rapides Barre d’outils dans l‘éditeur LL984 Symboles Le tableau montre les symboles supplémentaires disponibles dans l’éditeur LL984 ainsi que leurs commande s corrrespondantes (voir également Barre d’outils générale, page 847) : Symbole Commande exécutée Objets →Mode de sélection Objets →Bobine Objets →Bobine - mémorisée Objets →Liaison horizontale Objets →Liaison verticale Objets →Contact Normalement Ouvert Objets →Contact Normalement Fermé Objets →Contact sur front montant Objets →Contact sur front descendant Objets →Instruction : Dernier type Objets →Sélectionner instruction... 854 33002205 12/2010 Barre d’outils et touches rapides Symboles dans le configurateur API Symboles Le tableau montre les symboles supplémentaires disponibles dans le configurateur d‘AP ainsi que leurs commandes corrrespondantes (voir également Barre d’outils générale, page 847) : Symbole Commande exécutée Configurer →Type de l’automate... Configurer → Parition mémoire… Configurer →Déclaration des messages ASCII... Configurer →Instructions chargeables… Configurer →Extensions de configuration... Configurer → Ordonnanceur de segments… Configurer →Affectation des E/S... Configurer → Protection d'accès aux données... Configurer →Diffusion des E/S... Configurer →Scrutateur d'E/S Ethernet... Configurer →Redondance d'UC... Configurer →Configuration port ASCII... Configurer →Configuration port Modbus... Configurer →Divers… 33002205 12/2010 855 Barre d’outils et touches rapides Barre d’outils dans éditeur ED Symboles Le tableau montre les symboles supplémentaires disponibles dans l’éditeur ED ainsi que leurs commandes corrrespondantes (voir également Barre d’outils générale, page 847) : Symbole Commande exécutée Editeur de données →Nouveau tableau... Editeur de données →Ouvrir tableau... Editeur de données →Enregistrer tableau En ligne →Animer En ligne →Charger données de référence En ligne →Lire CSL En ligne →Supprimer CSL 856 33002205 12/2010 Barre d’outils et touches rapides Barre d'outils du navigateur de projet Symboles Le tableau présente les symboles supplémentaires disponibles dans le navigateur de projet ainsi que les commandes correspondantes (voir également Barre d’outils générale, page 847) : Icône Commande exécutée Menu contextuel du projet →Animer états de validation Menu contextuel du projet →Afficher la vue détaillée 33002205 12/2010 857 Barre d’outils et touches rapides C.2 Touches courtes Description Ce sous-chapitre décrit les touches courtes disponibles. Il existe des touches courtes dépendantes et indépendantes de l‘éditeur. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 858 Page Touches courtes générales 859 Touches courtes dans l’éditeur IL, ST et de type de données 860 Touches courtes dans l’éditeur FBDet SFC 863 Touches courtes dans éditeur LD 867 Touches courtes dans l‘éditeur LL984 874 33002205 12/2010 Barre d’outils et touches rapides Touches courtes générales Touches courtes Le tableau montre les touches courtes disponibles et les commande s qui leur sont associées : 33002205 12/2010 Touche courte Commande exécutée F1 Appel de l’aide connectée sensible au contexte. Cette touche vous permet d’appeler une explication sur la commande sélectionnée ou le dialogue . Dans le cas de dialogue s, cette touche correspond au bouton de commande Aide. CTRL+F4 Menu système (de la fenêtre du document) →Fermer la fenêtre du document CTRL+F6 Menu système (de la fenêtre du document) →Suivant CTRL+S Fichier →Enregistrer projet / Enregistrer DFB Alt+F4 Fichier →Quitter la fenêtre d‘application (Application Concept) F8 Projet →Déclaration de variables... F3 Projet →Rechercher... MAJ+F3 Projet →Tracer F5 Projet →Résultats de recherche F6 Projet →Suivant Alt+F9 Projet →Analyser section CTRL+P En ligne →Commande en ligne... F9 En ligne →Déclencher cycle unique CTRL+R En ligne →Editeur de données de référence... MAJ+F5 Fenêtre →Cascade MAJ+F4 Fenêtre →Mosaique, verticale 859 Barre d’outils et touches rapides Touches courtes dans l’éditeur IL, ST et de type de données Appeler des commande s Le tableau montre les touches courtes disponibles dans l’éditeur IL, ST et de type de données ainsi que leurs commande s correspondantes (voir également Touches courtes générales, page 859) : 860 Touche Commande exécutée CTRL+Z Edition →Annuler : Supprimer CTRL+X Edition →Couper CTRL+C Edition →Copier CTRL+V Edition →Coller Eff Edition →Supprimer CTRL+G Edition →Atteindre ligne... CTRL+J Edition →Aller à contrepartie CTRL+E Edition →Etendre énoncé Alt+F8 Edition →Consulter variables... CTRL+F Edition →RechSuiv CTRL+H Edition →Remplacer... CTRL+Y En ligne →Animer valeurs binaires CTRL+I En ligne →Sélection dans champ d'inspection CTRL+W En ligne →Animer sélection 33002205 12/2010 Barre d’outils et touches rapides Déplacer le repère d’insertion dans le texte Déplacer le repère d’insertion dans le texte : Touche Déplacement Vers le bas Dans la prochaine ligne Vers le haut Dans la ligne précédente CTRL+G Dans une ligne définie Fin Vers la fin de la ligne POS1 Vers le début de la ligne Page basse Dans la prochaine fenêtre Page haute Dans la fenêtre précédente CTRL+Vers la droite Vers le prochain mot CTRL+Vers la gauche Vers le mot précédent Ctrl+Fin Vers la fin du document CTRL+POS1 Vers le début du document Supprimer du texte Supprimer du texte : 33002205 12/2010 Touche Fonction Touche de retour (Supprimer en arrière) Supprimer le caractère (ou le texte sélectionné) à gauche du repère d‘insertion. Eff Supprimer le caractère (ou le texte sélectionné) à droite du repère d‘insertion. CTRL+Touche de retour (Supprimer en arrière) Supprimer une ligne 861 Barre d’outils et touches rapides Sélectionner du texte Sélectionner du texte : Touche Extension de la sélection MAJ+Vers la droite Sur le prochain caractère MAJ+Vers la gauche Sur le caractère précédent CTRL+MAJ+Vers la droite Sur le prochain mot CTRL+MAJ+Vers la gauche Sur le mot précédent MAJ+Vers le bas Sur la prochaine ligne MAJ+Vers le haut Sur la ligne précédente MAJ+Fin Jusqu’à la fin de la ligne MAJ+POS1 Jusqu’au début de la ligne MAJ+Image vers le bas D’une fenêtre vers le bas MAJ+Image vers le haut D’une fenêtre vers le haut CTRL+MAJ+Image vers le bas Jusqu’à la fin de la fenêtre actuelle CTRL+MAJ+Image vers le haut Jusqu’au début de la fenêtre actuelle CTRL+MAJ+Fin Jusqu’à la fin du document CTRL+MAJ+POS1 Jusqu’au début du document Editer du texte Editer du texte : 862 Touche Fonction CTRL+X Supprimer du texte sélectionné et enregistrer dans le presse-papiers CTRL+C Copier du texte sélectionné et enregistrer dans le presse-papiers Entrer du nouveau texte Remplacer du texte sélectionné Eff Supprimer du texte sélectionné (pas d’enregistrement dans le presse-papiers) CTRL+V Remplacer du texte sélectionné par du texte provenant du presse-papiers. CTRL+F Rechercher du texte CTRL+R Remplacer du texte 33002205 12/2010 Barre d’outils et touches rapides Touches courtes dans l’éditeur FBDet SFC Introduction Concept soutient le travail avec le clavier dans les éditeurs graphiques. Bien que la souris soit l’instrument d’entrée plus adéquat, il est quand même possible spécialement dans les périphéries d‘installations - de ne commande r Concept que par le clavier. Les éditeurs se comportent de la même manière, qu’ils soient commandés par la souris ou par le clavier. Règles Les règles générales suivantes sont à observer : z La barre d’espacement correspond à la touche gauche de la souris, c’est-à-dire que la barre d’espacement est utilisée pour sélectionner et déplacer. z La touche d’entrée correspond au double clic avec la touche gauche de la souris; à titre d’exemple, la touche d’entrée est utilisée pour appeler le dialogue des propriétés des objets. z La touche MAJ est utilisée avec le clavier de la même manière qu’avec la souris; à titre d’exemple, la touche MAJ sert à étendre la sélection d’un objet ou à désélectionner quelques uns des objets déjà sélectionnés. Appeler des commande s Le tableau montre les touches courtes disponibles dans l’éditeur FBD et SFC ainsi que leurs commande s corrrespondantes (voir également Touches courtes générales, page 859) : 33002205 12/2010 Touche Commande exécutée CTRL+A Edition →Sélectionner tout CTRL+Z Edition →Annuler : Supprimer CTRL+X Edition →Couper CTRL+C Edition →Copier CTRL+V Edition →Coller Eff Edition →Supprimer CTRL+O Affichage →Vue d'ensemble CTRL+N Affichage →Normal CTRL+E Affichage →Etendu (uniquement pour SFC) CTRL++ Affichage →Zoom avant CTRL+- Affichage →Zoom arrière CTRL+Y Dans l‘éditeur FBD : En ligne →Animer valeurs binaires Dans l‘éditeur SFC : En ligne →Animation CTRL+W En ligne →Animer sélection (dans FBD) 863 Barre d’outils et touches rapides Déplacer le pointeur de la souris Déplacer le pointeur de la souris : Touche Fonction Touches de sens Les touches de sens déplacent le pointeur de la souris à l’intérieur de la fenêtre du document. Le pointeur de la souris est respectivement déplacé d’un pixel. Si le pointeur de la souris se trouve sur le bord de la fenêtre du document, le défilement de la fenêtre du document se fait dans le sens correspond en appuyant à nouveau sur les touches de sens. CTRL+Touches de sens Lorsque la touche CTRL est enfoncée, les touches de sens déplacent le pointeur de la souris à l’intérieur de la fenêtre du document. Le pointeur de la souris est respectivement déplacé d’une unité logique (en fonction de l’éditeur actif). Si le pointeur de la souris se trouve sur le bord de la fenêtre du document, la fenêtre du document est déroulée dans le sens correspondant en appuyant à nouveau sur les touches de sens Pos1 La touche Pos1 déplace le pointeur de la souris sur le bord gauche de la fenêtre du document. Fin La touche Fin déplace le pointeur de la souris sur le bord droit de la fenêtre du document. Faire défiler Faire défiler : 864 Touche Fonction Ctrl+Pos1 La touche étant enfoncée CTRL, la touche Pos1 fait défiler la fenêtre du document vers le coin supérieur gauche de la section. Ctrl+Fin La touche étant enfoncée CTRL, la touche Fin fait défiler la fenêtre du document vers le coin inférieur droit de la section. Image vers le haut La touche Image vers le haut fait défiler la fenêtre du document d’une page d’écran vers le haut, le pointeur de la souris reste au même endroit dans la fenêtre du document. Image vers le bas La touche Image vers le bas fait défiler la fenêtre du document d’une page d’écran vers le bas, le pointeur de la souris reste au même endroit dans la fenêtre du document. CTRL+Image vers le haut La touche étant enfoncée CTRL, la touche Image vers le haut fait défiler la fenêtre du document d’une page d’écran vers la gauche, le pointeur de la souris reste au même endroit dans la fenêtre du document. CTRL+Image vers le bas La touche étant enfoncée CTRL, la touche Image vers le bas fait défiler la fenêtre du document d’une page d’écran vers la droite, le pointeur de la souris reste au même endroit dans la fenêtre du document. 33002205 12/2010 Barre d’outils et touches rapides Editer Editer : Touche Fonction Barre d‘espacement En mode de sélection, l’objet est sélectionné sur la position du pointeur de la souris; tous les autres objets sont désélectionnés. En mode Placer, l’objet correspondant est placé sur la position du pointeur de la souris. Touche MAJ+Barre En mode de sélection et à enfoncement de la Touche MAJ, les objets d‘espacement jusque-là non sélectionnés sont sélectionnés sur la position du pointeur de la souris ou vice-versa. La sélection de tous les autres objets n’est pas influencée. En mode Placer, l’objet correspondant est placé sur la position du pointeur de la souris. En mode de sélection - si aucun objet sélectionné ne se trouve sur la Barre d’espacement+Tou position du pointeur de la souris -, le pointeur de la souris se déplace et un rectangle de sélection est tracé. Si un objet sélectionné se ches de sens trouve sur la position du pointeur de la souris, tous les objets sont décalés selon le mouvement du pointeur de la souris. Le nombre des entrées d’un FFB à nombre d’entrées variable peut être modifié en mode de sélection de l’éditeur FBD en plaçant le pointeur de la souris sur le rectangle au centre de l’arête inférieure de la bordure de sélection, en tenant la Barre d’espacement enfoncée et en enfonçant les touches Vers le haut ou Vers le bas. La largeur des dérivations ou rapprochements peut être modifiée en mode de sélection de l‘éditeur SFC en plaçant le pointeur de la souris sur le rectangle de la bordure de sélection, en maintenant la Barre d’espacement enfoncée et en appuyant sur les touches Vers la droite ou Vers la gauche. En mode de connexion, une connexion est créée comme en tirant avec la souris. Touche MAJ+Barre En mode de sélection, cette combinaison de touches génère une d’espacement+Tou bordure de sélection comme décrit ci-avant, la sélection de tous les autres objets restant maintenue. ches de sens Affecter des variables à un FFB Pour affecter des variables à un FFB, suivez les étapes suivantes : Etape 33002205 12/2010 Action 1 Déplacez avec les Touches de sens ou avec MAJ+Touches de sens le pointeur de la souris sur l’entrée/la sortie du FFB. 2 Appuyez sur Entrée. Réaction : Le dialogue Connexion de FFB de l’entrée/la sortie sélectionnée va être ouvert. 865 Barre d’outils et touches rapides Modifier les variables sur un FFB Pour modifier les variables sur un FFB, suivez les étapes suivantes : Etape Action 1 Déplacez avec les Touches de sens ou avec MAJ+Touches de sens le pointeur de la souris sur la variable du FFB à modifier. 2 Appuyez sur Entrée. Réaction : Le dialogue Connexion de FFB de l’entrée/la sortie sélectionnée va être ouvert. Modification du nombre des entrées/sorties Pour modifier le nombre des entrées/sorties lors d’un FFB pouvant être étendu, suivez les étapes suivantes : Etape 866 Action 1 Déplacez avec les Touches de sens ou avec MAJ+Touches de sens le pointeur de la souris au centre de la ligne inférieure de la bordure du composant du FFB. 2 Appuyez sur la Barre d’espacement+Touche de sens vers le bas pour générer d’autres entrées/sorties. Appuyez sur la Barre d’espacement+Touche de sens vers le haut pour contracter des entrées/sorties. Réaction : Le nombre des entrées/sorties va être modifié. 33002205 12/2010 Barre d’outils et touches rapides Touches courtes dans éditeur LD Introduction Concept soutient le travail avec le clavier dans les éditeurs graphiques. Bien que la souris soit l’instrument d’entrée plus adéquat, il est quand même possible spécialement dans les périphéries d‘installations - de ne commande r Concept que par le clavier. Les éditeurs se comportent de la même manière, qu’ils soient commandés par la souris ou par le clavier. Règles Les règles générales suivantes sont à observer : z La barre d’espacement correspond à la touche gauche de la souris, c’est-à-dire que la barre d’espacement est utilisée pour sélectionner et déplacer. z La touche d’entrée correspond au double clic avec la touche gauche de la souris; à titre d’exemple, la touche d’entrée est utilisée pour appeler le dialogue des propriétés des objets. z La touche MAJ est utilisée avec le clavier de la même manière qu’avec la souris; à titre d’exemple, la touche MAJ sert à étendre la sélection d’un objet ou à désélectionner quelques uns des objets déjà sélectionnés. z Une simple pression de touche influence uniquement l’élément au centre de la cellule actuelle. z Une pression de touche combinée avec CTRL influence le côté droit de la cellule actuelle. z Une pression de touche combinée avec MAJ influence le côté gauche de la cellule actuelle. 33002205 12/2010 867 Barre d’outils et touches rapides Appeler des commande s Le tableau montre les touches courtes disponibles dans l’éditeur LD ainsi que leurs commande s corrrespondantes (voir également Touches courtes générales, page 859) : 868 Touche Commande exécutée CTRL+A Edition →Sélectionner tout CTRL+Z Edition →Annuler : Supprimer CTRL+X Edition →Couper CTRL+C Edition →Copier CTRL+V Edition →Coller Eff Edition →Supprimer CTRL+O Affichage →Vue d'ensemble CTRL+N Affichage →Normal CTRL++ Affichage →Zoom avant CTRL+- Affichage →Zoom arrière Esc Objets →Mode de sélection MAJ+H Objets →Liaison H Objets →Liaison directe V Objets →Liaison verticale F Objets →FFB : Dernier type I Objets →Inverser entrée/sortie T Objets →Texte MAJ+F Objets →Sélection FFB... C Objets →Contact Normalement Ouvert L Objets →Contact Normalement Fermé P Objets →Contact sur front montant N Objets →Contact sur front descendant MAJ+C Objets →Bobine MAJ+L Objets →Bobine - Inversée MAJ+S Objets →Bobine - Mise à 1 MAJ+R Objets →Bobine - Mise à 0 MAJ+P Objets →Bobine - Front montant MAJ+N Objets →Bobine - Front descendant CTRL+Y En ligne →Animer valeurs binaires CTRL+W En ligne →Animer sélection 33002205 12/2010 Barre d’outils et touches rapides Placer des objets Pour placer des objets dans l’éditeur LD à l’aide du clavier, suivez les étapes suivantes : Etape Action 1 Déplacez la zone grise sur la zone dans laquelle un objet doit être placé (déplacer la zone grise (sélectionner une zone )). 2 Appuyez sur la touche associée à l’objet (voir ). Réaction : Les objets booléens voisins sont automatiquement connectés. 3 Les connexions entre des objets non voisins et des entrées/sorties non booléennes doivent être créées avec le pointeur de la souris (voir ). 4 Pour inverser des entrées/sorties, le pointeur de la souris doit également être utilisé (voir ). Déplacer la zone grise (sélectionner une zone ) Déplacer la zone grise (sélectionner une zone ) : 33002205 12/2010 Touche Fonction Vers le haut Déplace la zone grise d’une zone vers le haut Vers le bas Déplace la zone grise d’une zone vers le bas Vers la droite Déplace la zone grise d’une zone vers la droite Vers la gauche Déplace la zone grise d’une zone vers la gauche Pos1 Déplace la zone grise sur le bord gauche MAJ+Pos1 Déplace la zone grise sur le bord gauche Fin Déplace la zone grise sur le bord droit MAJ+Fin Déplace la zone grise sur le bord droit Ctrl+Pos1 Déplace la zone grise sur le coin supérieur gauche Ctrl+Fin Déplace la zone grise sur le coin supérieur droit 869 Barre d’outils et touches rapides Sélectionner des objets Sélectionner des objets : Touche Fonction Caractère d’espacement Sélectionne un objet au centre de la zone grise CTRL+Caractère d‘espacement Sélectionne un objet sur le côté droit de la zone grise Entrée En mode de sélection : Sélectionne l’objet au centre de la zone grise et ouvre son dialogue de sélection (si disponible) CTRL+Entrée En mode de sélection : Sélectionne l’objet du côté droit de la zone grise et ouvre son dialogue de sélection (si disponible) MAJ+Entrée En mode de sélection : Sélectionne l’objet du côté gauche de la zone grise et ouvre son dialogue de sélection (si disponible) Déplacement d’un objet sélectionné Déplacement d’un objet sélectionné : Touche Fonction MAJ+Vers le haut Déplace l’objet sélectionné d’une zone vers le haut MAJ+Vers le bas Déplace l’objet sélectionné d’une zone vers le bas MAJ+Vers la droite Déplace l’objet sélectionné d’une zone vers la droite MAJ+Vers la gauche Déplace l’objet sélectionné d’une zone vers la gauche Affecter des variables à un FFB Pour affecter des variables à un FFB, suivez les étapes suivantes : Etape 870 Action 1 Déplacez la zone grise sur la cellule qui contient l’entrée/la sortie. 2 Pour l’affectation de variables à des entrées, appuyez sur CTRL+Entrée. Pour l’affectation de variables à des sorties, appuyez sur MAJ+Entrée. Réaction : Le dialogue Connexion de FFB de l’entrée/la sortie sélectionnée va être ouvert. 33002205 12/2010 Barre d’outils et touches rapides Modifier les variables sur un FFB Pour modifier les variables sur un FFB, suivez les étapes suivantes : Etape Action 1 Déplacer la zone grise sur la cellule qui contient la variable à modifier. 2 Pour sélectionner les variables, appuyez sur MAJ+Entrée. Réaction : Le dialogue Connexion de FFB de l’entrée/la sortie sélectionnée va être ouvert. Supprimer des connexions verticales Pour supprimer des connexions verticales, suivez les étapes suivantes : Etape Action 1 Déplacer la zone grise sur une cellule traversée par la connexion verticale. 2 Appuyez sur CTRL+Supprimer. Réaction : La connexion verticale va être supprimée. Déplacer le pointeur de la souris Déplacer le pointeur de la souris : 33002205 12/2010 Touche Fonction CTRL+Vers le haut Déplace le pointeur de la souris d’une étape vers le haut CTRL+Vers le bas Déplace le pointeur de la souris d’une étape vers le bas CTRL+Vers la droite Déplace le pointeur de la souris d’une étape vers la droite CTRL+Vers la gauche Déplace le pointeur de la souris d’une étape vers la gauche 871 Barre d’outils et touches rapides Faire défiler Faire défiler : Touche Fonction Image vers le haut Déplace la coupe de l’image d’une page vers le haut MAJ+Image vers le haut Déplace la coupe de l’image d’une page vers le haut Image vers le bas Déplace la coupe de l’image d’une page vers le bas MAJ+Image vers le bas Déplace la coupe de l’image d’une page vers le bas CTRL+Image vers le haut Déplace la coupe de l’image d’une page vers la gauche CTRL+Image vers le bas Déplace la coupe de l’image d’une page vers la droite Créer des objets Créer des objets : 872 Touche Fonction C Crée un contact de travail dans la zone grise L Crée un contact de repos dans la zone grise P Crée un contact pour reconnaître des flancs positifs dans la zone grise N Crée un contact pour reconnaître des flancs négatifs dans la zone grise MAJ+C Crée une bobine dans la zone grise MAJ+L Crée une bobine logiquement inversée dans la zone grise MAJ+S Crée une bobine Positionne dans la zone grise MAJ+R Crée une bobine Repositionne dans la zone grise MAJ+P Crée une bobine pour reconnaître des flancs positifs dans la zone grise MAJ+N Crée une bobine pour reconnaître des flancs négatifs dans la zone grise MAJ+F Ouvre le dialogue de sélection FFB F Crée le FFB actuel dans la zone grise 33002205 12/2010 Barre d’outils et touches rapides Créer des connexions Créer des connexions : Touche Fonction H Active le mode de connexion V Crée une connexion verticale sur le coin inférieur droit de la zone grise (et déplace ensuite la zone grise d’une zone vers la droite) MAJ+V Crée une connexion verticale sur le coin inférieur gauche de la zone grise Activer les différents modes Activer les différents modes : 33002205 12/2010 Touche Fonction Caractère d’espacement Active le mode de sélection Esc Active le mode de sélection H Active le mode de connexion I Active le mode pour inverser les entrées/sorties T Active le mode de texte 873 Barre d’outils et touches rapides Touches courtes dans l‘éditeur LL984 Touches courtes Le tableau montre les touches courtes disponibles dans l’éditeur LL984 ainsi que leurs commande s corrrespondantes (voir également Touches courtes générales, page 859) : 874 Touche courte Commande exécutée CTRL+Z Edition →Annuler : Supprimer CTRL+X Edition →Couper CTRL+C Edition →Copier CTRL+V Edition →Coller Eff Edition →Supprimer CTRL+D Edition →Zoom DX... CTRL+H Edition →Références d‘offset... CTRL+O Affichage →Vue d'ensemble CTRL+N Affichage →Normal CTRL+E Affichage →Etendu CTRL++ Affichage →Zoom avant CTRL+- Affichage →Zoom arrière ( Objets →Bobine CTRL+L Objets →Bobine - mémorisée " Objets →Contact Normalement Ouvert / Objets →Contact Normalement Fermé P Objets →Contact sur front montant N Objets →Contact sur front descendant = Objets →Liaison horizontale I Objets →Liaison verticale CTRL+F Objets →Instruction par le nom... CTRL+G Réseaux →Aller à... CTRL+I Réseaux →Insérer CTRL+Q Réseaux →Insérer équation CTRL+A Réseaux →Attacher CTRL+U Réseaux →Attacher équation CTRL+K Réseaux →Supprimer Page basse Réseaux →Suivant 33002205 12/2010 Barre d’outils et touches rapides 33002205 12/2010 Touche courte Commande exécutée Page haute Réseaux →Précédent CTRL+M Réseaux →Commentaire CTRL+T En ligne →Trace CTRL+B En ligne →Retrace 875 Barre d’outils et touches rapides 876 33002205 12/2010 Conformité CEI 33002205 12/2010 Conformité CEI D Aperçu Le présent chapitre contient les tableaux requis par CEI 1131-3 pour satisfaire aux normes Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Souschapitre 33002205 12/2010 Sujet Page D.1 Ce qu’est la norme CEI 1131-3 878 D.2 Tableaux afférents à l’observation des exigences de la norme CEI 882 D.3 Extensions pour CEI 1131-3 904 D.4 Syntaxe des langages texte 906 877 Conformité CEI D.1 Ce qu’est la norme CEI 1131-3 Aperçu Cette section contient des informations générales afférentes à la norme CEI 11313 et à l’essai de conformité CEI réalisé. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 878 Page Remarques générales afférentes à la conformité CEI 879 Test de conformité CEI 881 33002205 12/2010 Conformité CEI Remarques générales afférentes à la conformité CEI Introduction Le standard CEI 1131-3 (voir chap. 1.4) détermine la syntaxe et la sémantique d’une série de langages de programmation unifiés destinés aux commandes par enregistrement programmé (PLC). Ces langages comprennent les langages de texte IL/AWL (liste d’instructions) et ST (texte stucturé) et les deux langages graphiques LD/KOP (plan de contact) et FBD/FBS (langage du module de fonction). Les éléments du langage de procédure (SFC/ALS) permettant de structurer l’organisation interne de programmes et de modules PLC sont également définis. Par ailleurs, les éléments de configuration permettant l’installation de programme PLC dans les systèmes PLC sont également définis. NOTE : Concept emploie les dénominations courtes pour les langages de programmation. Mais des moyens permettant la communication entre PLC et les autres composants de systèmes automatisés ont également été définis." Observation des exigences de la norme par Concept Cette version du système de programmation Concept prend en charge une sousquantité des éléments de langage qui sont définis dans la norme de manière à remplir les exigences de la norme. Observation des exigences de la norme signifie dans ce contexte : z La norme permet à la personne exécutant l’implémentation de l’un des systèmes de programmation CEI contenus dans les tableaux de sélection qui représentent une partie intégrée des spécifications de la norme d’activer ou de désactiver certaines propriétés du langage ou même des langages entiers ; un système désireux de remplir les exigences de la norme ne doit implémenter que les propriétés sélectionnées conformément à la norme. z La norme permet également à la personne exécutant l’implémentation d’insérer des éléments du langage définis dans un environnement de programmation interactif. Comme la norme indique expressément que la spécification de tels environnements se situe en dehors de son domaine d’application, la personne exécutant l’implémentation dispose de certains degrés de liberté permettant d’offrir des formes d’affichage et des mécanismes de commande optimisés pour certains éléments du langage au profit de l’utilisateur. z Concept utilise ces degrés de liberté lors de l’introduction du terme "Projet" pour le maniement résumé des éléments de langage CEI "Configuration", "Ressources"et "Programme" (Concept ne prend en charge qu’un seul programme à exploitation cyclique à l’intérieur d’une seule ressource de la configuration). Il les utilise également avec les mécanismes de commande mis à disposition pour la déclaration de variables et la mise en instance de modules. 33002205 12/2010 879 Conformité CEI Tableaux afférents à l’observation des exigences de la norme CEI Les propriétés prises en charge et les autres informations spécifiques à l’implémentation sont contenues dans la déclaration suivante et le tableau correspondant prescrit par la norme. 880 33002205 12/2010 Conformité CEI Test de conformité CEI Test de l’interface d’import/export Une interface permettant l’import de programmes standard CEI et de DFB provenant de fichiers ASCII (menu Fichier →Importer) et l’export de ces programmes dans des langages graphiques en format ASCII (menu Fichier → Exporter) est disponible dans Concept. La conformité de cette interface peut être testée à l’aide des fichiers disponibles auprès du IFAK Insitut für Automation und Kommunikation e.V. de Magedburg. Scripts de vrification de conformité CEI : (c) 1994, IFAK Institut für Automation und Kommunikation e.V. Magdeburg Steinfeldstrasse 3 39179 Barleben, Allemagne Notes Les points suivants doivent être pris en considération en ce qui concerne la conformité de l’interface d’import : z Dans Concept, les opérateurs IL sont autorisés comme qualificatifs. R, S, LD, S1 et R1 sont des noms de paramètres. C’est pour cette raison qu’aucune modification des fonctions/modules de fonction standard n’est exécutée. Concept ne nécessite aucune modification des tableaux CEI 54 avec S pour SET, R pour RESET, S1 pour SET1, R1 pour RESET1. z Tous les opérateurs IL qui ne sont pas en conflit avec certaines fonctions peuvent être employés comme noms de variables (N, S, R, S1, R1, CLK, CU, CD, PV, IN, PT), contrairement au tableau CEI 54. z Les compteurs EFB doivent être typés dans Concept, CTU doit, par exemple, être transformé en CTU_INT. z Les instances de modules de fonction ne peuvent être appelés qu’une seule fois, une restriction qui va de soi lorsque la propriété 3 du tableau CEI 53 est nécessitée. z Un dépassement des variables de durée (t#100s, par ex.) n’est pas reconnu. Le système calcule correctement la durée, une reconnaissance de la durée est donc inutile. z Les commentaires CEI IL ne sont autorisés que comme dernier élément de chaque ligne. Concept autorise les commentaires partout. 33002205 12/2010 881 Conformité CEI D.2 Tableaux afférents à l’observation des exigences de la norme CEI Aperçu Les propriétés du langage suivantes remplissent les exigences de la norme CEI 1131-3 pour le système. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 882 Page Eléments communs 883 Eléments de langage IL (AWL) 891 Eléments de langage ST 893 Eléments graphiques communs 895 Eléments de langage LD (KOP) 896 Paramètres dépendant de l’implémentation 898 Causes d’erreurs 902 33002205 12/2010 Conformité CEI Eléments communs Tableau pour la conformité à la norme CEI Tableau afférent à l’observation des exigences de la norme CEI pour les éléments communs : 33002205 12/2010 N° de tableau N° de propriété Description de la propriété 1 1 Symbole demandé, voir chapitre 2.1.1 de la norme 1131-3 1 2 Minuscules 1 3a Signe non-addition (#) 1 4a Symbole du dollar ($) 1 5a Trait vertical (|) 1 6a Crochets gauche et droit "[ ]" 2 1 Majuscules et chiffres 2 2 Caractères minuscules et majuscules, chiffres, sous-traits en retrait 2 3 Caractères minuscules et majuscules, chiffres, sous-traits en tête et en retrait 3 1 Commentaires 4 1 Libellé entier (nombre entier) 4 2 Libellés réels 4 3 Libellés réels avec exposants 4 4 Libellés base 2 4 5 Libellé base 8 4 6 Libellé base 16 4 7 Zéro booléen et un 4 8 FALSE et TRUE booléens 7 1a Durée sans sous-traits : préfixe court 7 1b Durée sans sous-traits : préfixe long 7 2a Durée avec sous-traits : préfixe court 7 2b Durée avec sous-traits : préfixe long 10 1 BOOL : Booléen 10 3 INT : Nombre entier (integer) 10 4 DINT : Double nombre entier (double integer) 10 7 UINT : Nombre entier sans signe (integer) 10 8 UDINT : Double nombre entier sans signe (double integer) 883 Conformité CEI N° de tableau 884 N° de propriété Description de la propriété 10 10 REAL : Nombre de virgule flottante 10 12 TIME : Durée 10 17 BYTE : Séquence de bits 8 10 18 WORD : Séquence de bits 16 12 4 Types de données pour champs 12 5 Types de données pour structures 15 1 I : Entrée(Nota 1, page 888) 15 2 Q : Sortie(Nota 2, page 888) 15 4 X : Taille de bit (Nota 1, page 888, Nota 2, page 888) 15 5 pas de préfixe : Taille de bit (Nota 1, page 888, Nota 2, page 888) 15 6 B: Taille d'octet (Nota 1, page 888, Nota 2, page 888) 15 7 W : Taille Word (Nota 1, page 888, Nota 2, page 888) 15 8 D: Taille de mot double (Nota 1, page 888, Nota 2, page 888) 17 2 Déclaration des variables en mémoire-tampon directement représentées (Nota 5, page 889, Nota 9, page 890) 17 3 Déclaration des emplacements de mémorisation avec les variables symboliques (Nota 5, page 889) 17 4 Attribution d’emplacements de mémorisation pour les champs (Nota 5, page 889, Nota 11, page 890) 17 5 Attribution automatique d’emplacements de mémorisation avec les variables symboliques (Nota 5, page 889) 17 7 Déclaration des champs en mémoire-tampon (Nota 5, page 889, Nota 11, page 890) 17 8 Déclaration pour variables stucturées (Nota 5, page 889) 18 2 Initialisation des variables en mémoire-tampon directement représentées (Nota 5, page 889, Nota 9, page 890, Nota 10, page 890) 18 3 Attribution d’emplacements de mémorisation et de valeurs initiales pour les variables symboliques (Nota 5, page 889) 18 4 Attribution d’emplacements de mémorisation et de valeurs initiales pour les champs (Nota 5, page 889, Nota 11, page 890) 18 5 Initialisation des variables symboliques (Nota 5, page 889) 18 7 Déclaration et initialisation des champs en mémoire-tampon (Nota 5, page 889, Nota 11, page 890) 18 8 Initialisation des variables structurées (Nota 5, page 889) 33002205 12/2010 Conformité CEI 33002205 12/2010 N° de tableau N° de propriété Description de la propriété 18 9 Initialisation de constantes 19 1 Sortie (valeur inversée) 19 2 Sortie (valeur inversée) 20 1 Utilisation de "EN" et "ENO" – INDISPENSABLE pour LD (LD/langage à contacts) (Nota 6, page 889) 20 2 Utilisation de "EN" et "ENO" – OPTIONNELLE pour FBD (FBS/langage de module de fonction) 20 3 FBD sans "EN" et "ENO" 21 2 Fonctions typées (Nota 3, page 888) 22 1 (*-TO-**) Fonctions de transformation de type (Nota 4, page 889) 22 2 Découper direction zéro : TRUNC (Nota 3, page 888)) 23 1 ABS : valeur absolue 23 2 SQRT : racine carrée 23 3 LN : Logarithme népérien 23 4 LOG : Logarithme base 10 23 5 EXP : Fonction de calcul exponentiel 23 6 SIN : Sinus, entrée en radians 23 7 COS : Cosinus, entrée en radians 23 8 TAN : Tangente, entrée en radians 23 9 ASIN : Sinus inverse, valeur principale 23 10 ACOS : Cosinus inverse, valeur principale 23 11 ATAN : Tangente inverse, valeur principale 24 12 ADD : Additionner 24 13 MUL : Multiplier 24 14 SUB : Soustraire 24 15 DIV : Diviser 24 16 MOD : Modulo 24 17 EXPT : Exponentielle 24 18 MOVE : Affectation 25 1 SHL : glisser vers la gauche 25 2 SHR : glisser vers la droite 25 3 ROR : tourner vers la droite 25 4 ROL : tourner vers la gauche 885 Conformité CEI 886 N° de tableau N° de propriété Description de la propriété 26 5 AND : Et logique 26 6 OR : Ou logique 26 7 XOR : Ou exclusif logique 26 8 NOT : Fonction NON 27 1 SEL : Sélection binaire 27 2a MAX : Maximum extensible 27 2b MIN : Minimum extensible 27 3 LIMIT : limitation 27 4 MUX : Multiplexeur extensible 28 5 GT : Séquence tombante 28 6 GE : Séquence monotone (vers le bas) 28 7 EQ : Uniformité 28 8 LE : Séquence monotone (vers le haut) 28 9 LT : Séquence montante 28 10 NE : Inégalité 30 1 ADD : ajouter TIME à TIME 30 4 SUB : soustraire TIME à TIME 30 10 MUL : multiplier TIME par ANY_NUM 30 11 DIV : diviser TIME par ANY_NUM 33 1 RETAIN qualificatif pour variables internes (Nota 5, page 889) 33 2 RETAIN qualificatif pour variables de sortie (Nota 5, page 889) 33 3 RETAIN qualificatif pour modules de fonction internes (Nota 5, page 889) 34 1 Module de fonction bistable (le placer en priorité) 34 2 Module de fonction bistable (le remettre en place en priorité) 35 1 Reconnaissance du flanc montant 35 2 Reconnaissance du flanc descendant 36 1 Comptage 36 2 Décomptage 36 3 Comptage/décomptage 37 1 TP : (générateur de rythme à) impulsions 37 2a TON : Retard de démarrage 33002205 12/2010 Conformité CEI 33002205 12/2010 N° de tableau N° de propriété Description de la propriété 37 3a TOF : Retard de mise hors service 39 1 RETAIN qualificatif pour variables internes (Nota 5, page 889) 39 2 RETAIN qualificatif pour variables de sortie (Nota 5, page 889) 39 3 RETAIN qualificatif pour modules de fonction internes (Nota 5, page 889) 39 14 Attribution d’emplacements de mémorisation pour les champs (Nota 5, page 889) 39 18 Attribution d’emplacements de mémorisation et de valeurs initiales pour les champs (Nota 5, page 889) 39 19 Utilisation des variables directement représentées (Nota 1, page 888, Nota 2, page 888) 40 1 Etape/étape initiale, forme graphique avec liaisons installées 40 2 Etape/étape initiale, forme du texte sans liaisons installées (remarque 8) 40 3a Capteur d’étape, forme générale 40 4 Temps d’étape écoulé, forme générale 41 1 Condition de transition en langage ST à l’intérieur du graphique (Nota 8, page 889) 41 5 Condition de transition en langage ST, référence textuelle (Nota 9, page 890) 41 6 Condition de transition en langage IL, référence textuelle (Nota 9, page 890) 41 7 Utilisation du nom de transition 41 7b Condition de transition en langage FBD 41 7c Condition de transition en langage IL 41 7d Condition de transition en langage ST 42 1 Chaque variable booléenne peut être une action 43 1 Bloc d’action 43 2 Blocs d’action reliés les uns aux autres 43 3 Enveloppe d’étape sous forme de texte (Nota 8, page 889) 44 1 Qualificatif 44 2 Nom d’action 45 1 non-mémorisé (pas de qualificatif) 45 2 N : non-mémorisé 887 Conformité CEI N° de tableau N° de propriété Description de la propriété 45 3 R : Remise en place prioritaire 45 4 S : SET (sauvegardé) 45 5 L : limité dans le temps 45 6 D: retardé 45 7 P : Impulsion 45 9 DP : retardé et sauvegardé 46 1 Chaîne simple 46 2a Divergence lors de la sélection de chaîne (priorité de gauche à droite) 46 3 Convergence d’une sélection de chaîne 46 4 Divergence et convergence des chaînes simultanées 46 5a Saut de chaîne (priorité de gauche à droite) 46 6a Boucle de chaîne (priorité de gauche à droite) Nota 1 Dans tous les langages graphiques le préfixe 3 Modicon TSX Quantum est employé à la place des préfixes IB et ID. Nota 2 Dans tous les langages graphiques le préfixe 4 Modicon TSX Quantum est employé à la place des préfixes QB et QD. Nota 3 En ce qui concerne les données sélectionnées, multiplexées ou attribuées, les fonctions suivantes sont surchargées ; l’indication du type se rapporte aux paramètres de sélection. Liste des fonctions surchargées : SEL z MUX z MOVE z Toutes les autres fonctions sont typées, REAL_TRUNC_INT, par exemple. 888 33002205 12/2010 Conformité CEI Nota 4 Liste des fonctions de transformation de type : z BOOL_TO_, BOOL_TO_DINT, BOOL_TO_INT, BOOL_TO_REAL, BOOL_TO_TIME, BOOL_TO_UDINT, BOOL_TO_UINT, BOOL_TO_WORD, z BYTE_TO_BOOL, BYTE_TO_DINT, BYTE_TO_INT, BYTE_TO_REAL, BYTE_TO_TIME, BYTE_TO_UDINT, BYTE_TO_UINT, BYTE_TO_WORD, z DINT_TO_BOOL, DINT_TO_BYTE, DINT_TO_INT, DINT_TO_REAL, DINT_TO_TIME, DINT_TO_UDINT, DINT_TO_UINT, DINT_TO_WORD, z INT_TO_BOOL, INT_TO_BYTE, INT_TO_DINT, INT_TO_REAL, INT_TO_TIME, INT_TO_UDINT, INT_TO_UINT, INT_TO_WORD, z REAL_TO_BOOL, REAL_TO_BYTE, REAL_TO_DINT, REAL_TO_INT, REAL_TO_TIME, REAL_TO_UDINT, REAL_TO_UINT, REAL_TO_WORD, z TIME_TO_BOOL, TIME_TO_BYTE, TIME_TO_DINT, TIME_TO_INT, TIME_TO_REAL, TIME_TO_UDINT, TIME_TO_UINT, TIME_TO_WORD, z UDINT_TO_BOOL, UDINT_TO_BYTE, UDINT_TO_DINT, UDINT_TO_INT, UDINT_TO_REAL, UDINT_TO_TIME, UDINT_TO_UINT, UDINT_TO_WORD, z UINT_TO_BOOL, UINT_TO_BYTE, UINT_TO_DINT, UINT_TO_INT, UINT_TO_REAL, UINT_TO_TIME, UINT_TO_UDINT, UINT_TO_WORD, z WORD_TO_BOOL, WORD_TO_BYTE, WORD_TO_DINT, WORD_TO_INT, WORD_TO_REAL, WORD_TO_TIME, WORD_TO_UDINT, WORD_TO_UINT Les effets de chaque conversion sont décrits dans la bibliothèque de blocs et les textes d’aide qui ont été mis à votre disposition pour la bibliothèque des fonctions standard CEI. Nota 5 Le qualificatif RETAIN est placé implicitement à l’avant ; aucun des éléments de langage représentés sur les secteurs de sauvegarde qui ne sont pas dans la mémoire-tampon n’est pris en charge. Nota 6 "EN" et "ENO" sont proposés de manière standard ; ils peuvent cependant à nouveau devenir invisibles et chaque autre entrée ou sortie du type de données BOOL peut être employée pour les liaisons. Nota 7 Les expressions se limitent à quelques variables booléennes simples. Nota 8 Uniquement disponible lors de l’import de forme de texte CEI en représentation SFC graphique. 33002205 12/2010 889 Conformité CEI Nota 9 Uniquement disponible avec déclaration textuelle dans les sections IL ou ST. Nota 10 Initialisation uniquement possible pour les sorties non-booleénnes. Nota 11 Déclaration de variables de champ uniquement possible en utilisant les noms de type de données de champ définis au préalable. 890 33002205 12/2010 Conformité CEI Eléments de langage IL (AWL) Tableau pour la conformité à la norme CEI Tableau pour la conformité à la norme CEI pour les éléments de langage IL (AWL) : 33002205 12/2010 N° de tableau N° de propriété Description de la propriété 52 1 Opérateur LD : met le résultat courant au niveau de l’opérande 52 2 Opérateur ST : enregistre le résultat actuel à l’adresse de l’opérande 52 3 Opérateur S : met les opérandes booléennes à 1 Opérateur R : met les opérandes booléennes à 0 52 4 Opérateur AND : 52 6 Opérateur OR : 52 7 Opérateur XOR : 52 8 Opérateur ADD : 52 9 Opérateur SUB : 52 10 Opérateur MUL : 52 11 Opérateur DIV : 52 12 Opérateur GT : comparaison > 52 13 Opérateur GE : comparaison >= 52 14 Opérateur EQ : comparaison = 52 15 Opérateur NE : comparaison <> 52 16 Opérateur LE : comparaison <= 52 17 Opérateur LT : comparaison < 52 18 Opérateur JMP : saut vers la référence (Nota 1, page 892) 52 19 Opérateur CAL : lancement d’un bloc fonction 52 21 Parenthèse fermante ")" : Traitement d’opération placées vers l’arrière 53 1 Opérateur CAL avec liste des paramètres d’entrée 53 2 Opérateur CAL avec liste des paramètres de chargement/d’enregistrement 891 Conformité CEI Nota 1 Les sauts sont autorisés à l’intérieur de sections, pas au delà des limites de section. Nota 2 Les mots-clé ne sont pas disponibles : TYPE...END_TYP z VAR_INPUT...END_VAR z VAR_OUTPUT...END_VAR z VAR_IN_OUT...END_VAR z VAR_EXTERNAL...END_VAR z FUNCTION...END_FUNCTION z FUNCTION_BLOCK...END_FUNCTION_BLOCK z PROGRAM...END_PROGRAM z STEP...END_STEP z TRANSITION...END_TRANSITION z ACTION...END_ACTION z SEGMENT_SCHEDULER z RET z & z 892 33002205 12/2010 Conformité CEI Eléments de langage ST Tableau pour la conformité à la norme CEI Tableau pour la conformité à la norme CEI pour les éléments de langage ST : N° de tableau 33002205 12/2010 N° de propriété Description de la propriété 55 1 Entre parenthèses ( expression ) 55 2 Appel de fonction : nom de fonction ( liste des arguments ) 55 3 Puissance : ** 55 4 Fonction NON - 55 5 Complément : NOT 55 6 Multiplication : * 55 7 Division : / 55 8 Modulo : MOD 55 9 Addition : + 55 10 Soustraction : - 55 11 Comparaison : <, >, <=, >= 55 12 Egalité : = 55 13 Inégalité : <> 55 14 ET booléen : & 55 15 ET booléen : AND 55 16 OU booléen exclusif : XOR 55 17 OU booléen : OR 56 1 Affectation 56 2 Appel de bloc fonction et utilisation de sorties FB 56 4 Instruction IF 56 5 Instruction CASE 56 6 Instruction FOR 56 7 Instruction WHILE 56 8 Instruction REPEAT 56 9 Instruction EXIT 56 10 Instruction vide 893 Conformité CEI Nota 1 Les mots-clé ne sont pas disponibles : TYPE...END_TYP z VAR_INPUT...END_VAR z VAR_OUTPUT...END_VAR z VAR_IN_OUT...END_VAR z VAR_EXTERNAL...END_VAR z FUNCTION...END_FUNCTION z FUNCTION_BLOCK...END_FUNCTION_BLOCK z PROGRAM...END_PROGRAM z STEP...END_STEP z TRANSITION...END_TRANSITION z ACTION...END_ACTION z SEGMENT_SCHEDULER z RETURN z 894 33002205 12/2010 Conformité CEI Eléments graphiques communs Tableau pour la conformité à la norme CEI Tableau pour la conformité à la norme CEI pour les éléments graphiques communs : N° de tableau 33002205 12/2010 N° de propriété Description de la propriété 57 2 Lignes horizontales : graphique ou semi-graphique 57 4 Lignes verticales : graphique ou semi-graphique 57 6 Connexion horizontale/verticale graphique ou semi-graphique 57 8 Croisement de lignes sans connexion : graphique ou semigraphique 57 10 Coins connectés et non connectés : graphique ou semigraphique 57 12 Blocs avec lignes de connexion : graphique ou semigraphique 895 Conformité CEI Eléments de langage LD (KOP) Tableau pour la conformité à la norme CEI Tableau pour la conformité à la norme CEI pour les éléments de langage LD (KOP) : 896 N° de tableau N° de propriété Description de la propriété 59 1 Barre d’alimentation de gauche (avec connexion horizontale liée) 60 1 Connexion horizontale 60 2 Connexion verticale (avec connexions horizontales liées) 61 1 Contact de fermeture 61 3 Contact de rupture 61 5 Contact pour la reconnaissance de passages positifs 61 7 Contact pour la reconnaissance de passages négatifs 62 1 Bobine (Nota 1, page 897) 62 2 Bobine négative(Nota 1, page 897) 62 3 Bobine de DEFINITION (Nota 1, page 897) 62 4 Bobine de REINITIALISATION (Nota 1, page 897) 62 8 Bobine pour la reconnaissance de passages positifs 62 9 Bobine pour la reconnaissance de passages négatifs 33002205 12/2010 Conformité CEI Nota 1 Lors de la procédure de reprise de l’API, on fait la différence entre la reprise à chaud et la reprise à froid : z Reprise à froid Après une reprise à froid (Charger le programme avec En ligne →Chargement) tous les variables (de tous les types) seront mis sur "0" ou sur leurs valeurs initiales. z Reprise à chaud Lors d’une reprise à chaud (arrêter et démarrer le programme) ou En l