▼
Scroll to page 2
of
422
Guide de programmation SPS 18VRS Manuel de l’utilisateur DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 2 8 9 1 9 1 A propos de ce manuel Guide de programmation SPS - 18VRS Titre Guide de programmation SPS 18VRS Nature de la documentation Manuel de l’utilisateur Document DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Remarque pour classement interne • Dossier 3 / Registre 3 Objectif de la documentation? La présente documentation donne un aperçu du système de programmation et de mise en route de la SPS en conformité avec la norme EN 61131-3. • Numéro d'identification: 120-0400-B338-01/FR • Chapitre 2 Afin de représenter l'étendue de ce manuel dans son contexte, le chapitre 2 donne tout d'abord un aperçu des modèles fondamentaux de la norme. • Chapitre 3 - 10 Description des différents éditeurs du système. • Chapitre 11 Survol intégral du système de programmation. Suivi des modifications Protection Désignation du document Editions antérieures Etat Remarque 109-1041-4123-01 06.98 Nouvelle édition Version 18 nouveautés: par rapport à la version 4.17 -document: 109-0768-4197-01 Variables système en SFC/AB Modes de fonctionn. SFC/AB Qualificatifs d'action P0/P1 Variables globales/ externes Extension éditeur IO INDRAMAT GmbH, 1998 Toute transmission et reproduction de la présente documentation ainsi que toute exploitation et communication à tiers de son contenu sont interdites, à moins qu’elles n’aient été expressément autorisées. Toute infraction à la présente disposition obligera son auteur à paiement de dommages et intérêts. Les droits découlant d’une délivrance de brevet ou d’enregistrement en tant que modèle déposé sont réservés. (DIN 34-1) Validité Sous réserve de modifications du contenu de la présente documentation et des possibilités de livraison des produits. Editeur Rexroth Indramat GmbH ### Bgm.-Dr.-Nebel-Str. D-97816 Lohr a. Main Téléphone 09352/40-0 • Tx 689421 • Fax 09352/40-4885 Dépt. Dépt. ECS (DR.V.Ha) Remarque La présente documentation est imprimée sur papier blanchi sans chlore DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Sommaire I Sommaire 1 Préface ......................................................................................................................... 1-1 2 Généralités .................................................................................................................. 2-1 1.1 Conventions générales ........................................................................................................................ 2-3 Jeu de caractères.......................................................................................................................... 2-3 Indentificateur (Nom)........................................................................................................ 2-3 Mots clés (Keyword) ......................................................................................................... 2-3 Emploi des caractères espace ......................................................................................... 2-3 Commentaires .................................................................................................................. 2-3 Représentation des données ........................................................................................................ 2-3 Représentation numérique, .............................................................................................. 2-3 Représentation temporelle, .............................................................................................. 2-4 Représentation de chaînes de caractères........................................................................ 2-4 1.2 Types de données................................................................................................................................ 2-5 Types élémentaires de données ................................................................................................... 2-5 Types de données dérivés ............................................................................................................ 2-7 Pointeur et Adresse de.................................................................................................................. 2-8 Initialisation.................................................................................................................................. 2-11 1.3 Variables ............................................................................................................................................ 2-11 Représentation de variables à un élément.................................................................................. 2-11 Accès périphérique direct en évitant la structure triphasée ........................................................ 2-13 Représentation de variables à plusieurs éléments ..................................................................... 2-14 Constantes d'adresse.................................................................................................................. 2-17 Déclaration et initialisation........................................................................................................... 2-18 1.4 Unités d'organisation de programme ................................................................................................. 2-19 Fonctions (FUNCTION)............................................................................................................... 2-19 Fonctions standard et micrologicielles ........................................................................... 2-19 Architecture d'une fonction définie par utilisateur........................................................... 2-19 Exemple Fonction utilisateur ........................................................................................ 2-20 Utilisation de fonctions à l'intérieur de fonctions............................................................. 2-21 Blocs fonctionnels (FUNCTION BLOCK) .................................................................................... 2-21 Blocs fonctionnels standard et micrologiciels................................................................. 2-22 Architecture d'un bloc fonctionnel utilisateur .................................................................. 2-22 Exemple Bloc fonctionnel utilisateur............................................................................. 2-23 Utilisation de fonctions et de blocs fonctionnels dans des blocs fonctionnels ............... 2-26 Programme (PROGRAM) ........................................................................................................... 2-27 Exemple: Programme écrit par utilisateur .................................................................... 2-28 Utilisation de fonctions et de blocs fonctionnels dans des programmes........................ 2-28 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P II Sommaire Guide de programmation SPS - 18VRS Variables globales dans programmes et variables externes dans FB ........................................ 2-29 Blocs fonctionnels standard et Fonctions standard dans la bibliothèque.................................... 2-30 Représentation de programmes, blocs fonctionnels, fonctions et types de données en format ASCII ........................................................................................................................................... 2-31 3 Détermination de la configuration matérielle, Tableaux IO..................................... 3-1 3.1 Principe de base de la configuration .................................................................................................... 3-2 Tableau IO du Maître à fibres optiques (LWL-Master), MT-CNC ................................................. 3-3 Architecture du maître à fibres optiques .......................................................................... 3-3 Edition du tableau IO du Maître à fibres optiques ............................................................ 3-3 Représentation ASCII- du Maître à fibres optiques.......................................................... 3-5 Tableau IO de l'esclave à fibres optiques (LWL-Slave), MT-CNC................................................ 3-7 Architecture de l'esclave à fibres optiques ....................................................................... 3-7 Edition du tableau IO de l'esclave à fibres optiques......................................................... 3-7 Représentation ASCII l'esclave à fibres optiques............................................................. 3-7 Tableau IO IBM1 (IBS-Master G3), MT-CNC ............................................................................... 3-7 Architecture de l'IBM1 ...................................................................................................... 3-7 Edition du tableau IO IBM1 (IBS-Master G3) ................................................................... 3-8 Représentation ASCII de l'IBM1..................................................................................... 3-10 Création de nouveaux postes dans la liste de sélection Interbus-S-.............................. 3-10 Tableau IO IBM2 (IBS-Master G4), ISP200-P/R......................................................................... 3-12 Architecture de l'IBM2 (IBS-Masters G4) ....................................................................... 3-12 Edition du tableau IO de l'IBM2 ...................................................................................... 3-12 Représentation ASCII de l'IBM2..................................................................................... 3-16 Création de nouveaux postes dans la liste de sélection Interbus-S-.............................. 3-17 Modification du comportement au démarrage................................................................ 3-18 Tableau IO DPM01 (Profibus DP Master), ISP200-P/R............................................................. 3-19 Architecture du Maître DP (DP-Master) ......................................................................... 3-19 Edition du tableau IO du Maître DP (DP-MASTER) ....................................................... 3-19 Représentation ASCII du Maître DP (DP-MASTER)...................................................... 3-20 Tableau IO DPS1 (Profibus DP Slave), ISP200-P/R ................................................................. 3-20 Architecture de l'esclave DP (DP-Slave) ........................................................................ 3-20 Edition du tableau IO de l'esclave DP (DP-Slave).......................................................... 3-21 Représentation ASCII de l'esclave DP (DP-Slave) ........................................................ 3-21 Tableau IO DNM01 (DeviceNet Master), ISP200-P/R ............................................................... 3-22 Architecture du DeviceNet-Master ................................................................................. 3-22 Edition du tableau IO du DeviceNet-MASTER ............................................................... 3-22 Représentation ASCII du DeviceNet-Master.................................................................. 3-23 Tableau IO des SIO-3 (Ports série), MT-CNC ............................................................................ 3-23 Représentation ASCII des SIO-3 ................................................................................... 3-23 Tableau IO CLC-P02 (Synax/ GPS), Synax ISP200/ VM ISP200............................................... 3-24 Architecture du CLC-P02 ............................................................................................... 3-24 Edition du tableau IO du CLC-P02 ................................................................................. 3-24 Représentation ASCII du CLC-P02................................................................................ 3-24 Tableau IO PEA3/4, IPS200-P/R ................................................................................................ 3-25 Architecture du PEA3/4 .................................................................................................. 3-25 Edition du tableau IO du PEA3/4.................................................................................... 3-25 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Sommaire III Représentation ASCII du PEA3/4................................................................................... 3-25 Tableau IO du bus RECO .......................................................................................................... 3-26 Architecture du Bus RECO............................................................................................. 3-26 Edition du tableau IO du Bus RECO .............................................................................. 3-26 Représentation ASCII du Bus RECO ............................................................................ 3-27 Tableau IO de la boucle SERCOS.............................................................................................. 3-28 Edition du tableau IO du Bus RECO .............................................................................. 3-28 Représentation ASCII du bus SERCOS......................................................................... 3-30 3.2 Options dans l'éditeur IO.................................................................................................................... 3-31 Option 'Paramètres généraux'..................................................................................................... 3-31 3.3 Aide à la mise en route dans l'éditeur IO ........................................................................................... 3-32 3.4 Aide dans l'éditeur IO ......................................................................................................................... 3-32 3.5 Touches dans l'éditeur IO .................................................................................................................. 3-34 Menu local dans Editeur IO (Pop_Up-Menü) .............................................................................. 3-34 Instructions bloc dans l'éditeur IO ............................................................................................... 3-35 Instructions Quick dans l'éditeur IO ............................................................................................ 3-36 4 Importation .................................................................................................................. 4-1 4.1 Architecture de la section importation.................................................................................................. 4-2 4.2 Edition d'une section d'importation....................................................................................................... 4-3 Importation de blocs fonctionnels.................................................................................................. 4-4 Importation de fonctions................................................................................................................ 4-5 Importation de types de données .................................................................................................. 4-6 Editeur d'interfaces........................................................................................................................ 4-6 Possibilités d'adaptation dans l'éditeur d'interfaces ......................................................... 4-9 Représentation ASCII de l'éditeur d'importation ......................................................................... 4-10 4.3 Aide à la mise en route dans l'éditeur d'importation .......................................................................... 4-10 4.4 Options dans l'éditeur d'importation................................................................................................... 4-10 4.5 Aide dans l'éditeur d'importation ........................................................................................................ 4-10 4.6 Touches dans l'éditeur d'importation ................................................................................................. 4-14 Touches générales...................................................................................................................... 4-14 Touches accessibles via le menu local dans l'éditeur d'importation ........................................... 4-14 Instructions bloc dans l'éditeur d'importation .............................................................................. 4-15 Instructions quick dans l'éditeur d'importation............................................................................. 4-15 5 Déclaration .................................................................................................................. 5-1 5.1 Architecture de la section déclaration .................................................................................................. 5-2 Section déclaration d'un programme ............................................................................................ 5-3 Section déclaration d'un bloc fonctionnel ...................................................................................... 5-7 Section déclaration d'une fonction .............................................................................................. 5-11 5.2 Edition d'une section déclaration ....................................................................................................... 5-13 Déclaration de variables.............................................................................................................. 5-13 Fenêtre de sélection lors de la déclaration de variables ............................................................. 5-14 Convention pour l'affectation des blocs fonctionnels .................................................................. 5-16 Fenêtre de sélection pour la convention de blocs fonctionnels................................................... 5-17 5.3 Convention de types de données dans l'éditeur de déclaration......................................................... 5-18 Entrée d'une structure avec variables élémentaires ................................................................... 5-19 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P IV Sommaire Guide de programmation SPS - 18VRS Entrée d'un tableau avec variables élémentaires........................................................................ 5-20 Entrée d'un tableau avec des structures en tant qu'élément ...................................................... 5-21 5.4 Aide à la mise en route dans l'éditeur de déclaration ........................................................................ 5-23 Affichage d'informations sur l'état ............................................................................................... 5-23 Listage de variables et d'éléments de variables avec noms et informations sur leur état .......... 5-26 5.5 Options dans l'éditeur de déclaration................................................................................................. 5-28 Option 'Paramètres généraux'..................................................................................................... 5-28 Option ‘Paramètres de l'écran’ .................................................................................................... 5-29 5.6 Aide dans l'éditeur de déclaration ...................................................................................................... 5-30 5.7 Touches dans l'éditeur de déclaration ............................................................................................... 5-34 Touches générales...................................................................................................................... 5-34 Touches accessibles via le menu local dans l'éditeur de déclaration ......................................... 5-35 Combinaisons de touches pour Instructions bloc dans l'éditeur de déclaration.......................... 5-36 Combinaisons de touches pour instructions Quick dans l'éditeur de déclaration ....................... 5-38 6 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART....................... 6-1 6.1 Eléments de base ................................................................................................................................ 6-2 Etapes (STEP) .............................................................................................................................. 6-2 Transitions (TRANSITION) ........................................................................................................... 6-2 Lignes fléchées ............................................................................................................................. 6-3 Séquences alternatives. ................................................................................................................ 6-3 Séquences parallèles .................................................................................................................... 6-4 Lois d'exécution............................................................................................................................. 6-4 6.2 Entrées de séquences dans l'éditeur SFC........................................................................................... 6-6 Entrée d'un SFC simple ................................................................................................................ 6-7 Insertion d'étapes (S), de transitions (T), de branchements (V) et de regroupements (Z) ......... 6-12 Effacement d'Etapes(S), Transitions (T) et branchements (V) ................................................... 6-17 Instructions bloc dans l'éditeur SFC............................................................................................ 6-21 Simples opérations en bloc ............................................................................................ 6-21 Marquage d'une structure SFC complète en tant que bloc......................................................... 6-28 Représentation ASCII de l'éditeur SFC....................................................................................... 6-28 6.3 Niveaux de détail de l'organigramme séquentiel ............................................................................... 6-30 Conditions pour la poursuite de commutation des transitions .................................................... 6-30 Liste de transitions ...................................................................................................................... 6-31 Utilisation multiple de transitions ................................................................................................. 6-32 Actions des étapes ...................................................................................................................... 6-32 6.4 Aide à la mise en route pour le niveau d'exécution............................................................................ 6-32 Affichage de l'état dans la séquence........................................................................................... 6-32 Tableaux des étapes et des transitions....................................................................................... 6-33 Recherche de l'étape active suivante.......................................................................................... 6-33 6.5 Options dans l'éditeur SFC ................................................................................................................ 6-34 Option 'Paramètres généraux'..................................................................................................... 6-34 Option ‘Paramètres de l'écran’ .................................................................................................... 6-35 6.6 Aide dans l'éditeur SFC ..................................................................................................................... 6-36 6.7 Touches dans l'éditeur SFC............................................................................................................... 6-38 Menu local dans l'éditeur SFC .................................................................................................... 6-39 Instructions bloc dans l'éditeur SFC............................................................................................ 6-39 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Sommaire V Instructions Quick dans l'éditeur SFC ......................................................................................... 6-39 Déclaration d'une chaîne d'étapes ............................................................................................. 6-41 6.8 Modes de fonctionnement SFC ......................................................................................................... 6-42 Problématique ............................................................................................................................. 6-42 Principes de solution ................................................................................................................... 6-42 Variables système SFC............................................................................................................... 6-43 Entrée et utilisation...................................................................................................................... 6-44 Modes de fonctionnement des SFC............................................................................................ 6-46 6.9 Particularités du traitement SFC ........................................................................................................ 6-48 Mode de travail du nouvel interpréteur de structures .................................................................. 6-48 Calcul de l'état des étapes SFC (mode automatique)................................................................. 6-48 Implémentation du mode automatique........................................................................... 6-48 Programmes SPS existants et nouvel interpréteur de structures ............................................... 6-49 Traitement des SFC en mode manuel ........................................................................................ 6-53 Remise à zéro du SFC................................................................................................................ 6-53 7 Blocs d’actions (ACTION BLOCK) et actions (ACTION) .......................................... 7-1 7.1 Blocs d'actions et leur fonctionnement ................................................................................................ 7-2 Architecture d'un bloc d'actions..................................................................................................... 7-2 Traitement d'actions assisté par Action_Control........................................................................... 7-4 Mode général d'exécution des actions .......................................................................................... 7-7 Définition du moment 'Etape est active' ........................................................................... 7-7 Définition du moment 'Etape est inactive'......................................................................... 7-7 Qualificatifs d'action et leurs effets sur les actions........................................................................ 7-9 N – Non mémorisant ........................................................................................................ 7-9 S - mémorisant ............................................................................................................... 7-10 L – non mémorisant, limité dans le temps...................................................................... 7-11 D – non mémorisant, retardé ......................................................................................... 7-12 P - Impulsion (complété par P0/P1) ............................................................................... 7-13 DS – retardé et mémorisant ........................................................................................... 7-14 SD – mémorisé et retardé .............................................................................................. 7-15 SL – mémorisé et limité dans le temps .......................................................................... 7-16 R – Remise à zéro.......................................................................................................... 7-17 Actions avec blocs fonctionnels contenant des structures SFC..................................... 7-17 7.2 Edition de blocs d'actions................................................................................................................... 7-18 Travail dans l'éditeur des blocs d'actions.................................................................................... 7-18 Effacement d'un bloc d'action ..................................................................................................... 7-20 Modifications de texte dans un bloc d'actions ............................................................................. 7-20 Liste d'actions <Alt>+<N> ........................................................................................................... 7-21 Utilisation multiple d'actions ........................................................................................................ 7-22 Utilisation multiple d'actions dans une étape .............................................................................. 7-22 Niveau de détail de l'éditeur de blocs d'actions........................................................................... 7-23 Représentation ASCII de l'éditeur de blocs d'actions ................................................................. 7-23 7.3 Aide à la mise en route au niveau blocs d'actions ............................................................................. 7-24 Forçage d'actions assisté par le système ................................................................................... 7-24 Affichage d'état dans l'éditeur des blocs d'actions ...................................................................... 7-24 Tableaux des actions, étapes et transitions ................................................................................ 7-26 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P VI Sommaire Guide de programmation SPS - 18VRS 7.4 Options dans l'éditeur de blocs d'actions ........................................................................................... 7-27 Option 'Paramètres généraux'..................................................................................................... 7-27 Option ‘Paramètres de l'écran’ .................................................................................................... 7-28 Option 'Paramètres du compilateur' ............................................................................................ 7-28 7.5 Aide dans l'éditeur de blocs d'actions ................................................................................................ 7-29 7.6 Touches dans l'éditeur de blocs d'actions ......................................................................................... 7-31 Menu local dans l'éditeur de blocs d'actions ............................................................................... 7-32 Instructions bloc dans l'éditeur de blocs d'actions ..................................................................... 7-32 Instructions Quick dans l'éditeur de blocs d'actions.................................................................... 7-33 7.7 Modifications de l'exécution des actions par rapport à la version 17 ................................................. 7-36 8 Liste d’instructions, IL, INSTRUCTION LIST............................................................. 8-1 8.1 Eléments de base ................................................................................................................................ 8-2 Architecture de la liste d'instructions ............................................................................................. 8-2 Opérateurs et modificateurs.......................................................................................................... 8-3 8.2 Edition de listes d'instructions .............................................................................................................. 8-5 Entrée d'une liste d'instructions simple ......................................................................................... 8-5 Fonctions et blocs fonctionnels dans la liste d'instructions ........................................................... 8-8 Fonctions dans la liste d'instructions ................................................................................ 8-8 Blocs fonctionnels dans la liste d'instructions ................................................................ 8-10 Représentation ASCII de l'éditeur de listes d'instructions ........................................................... 8-12 8.3 Aide à la mise en route dans la liste d'instructions ............................................................................ 8-13 8.4 Options dans l'éditeur de listes d'instructions .................................................................................... 8-14 Option 'Paramètres généraux'..................................................................................................... 8-14 Option ‘Paramètres de l'écran’ .................................................................................................... 8-15 8.5 Aide dans l'éditeur de listes d'instructions.......................................................................................... 8-16 8.6 Touches dans l'éditeur IL ................................................................................................................... 8-19 Menu local dans l'éditeur IL......................................................................................................... 8-20 Instructions bloc dans la liste d'instructions ................................................................................ 8-21 Instructions Quick dans la liste d'instructions.............................................................................. 8-22 9 Diagramme à contacts, LD, LADDER DIAGRAM ...................................................... 9-1 9.1 Architecture d'un diagramme à contacts.............................................................................................. 9-2 9.2 Edition de diagrammes à contacts....................................................................................................... 9-3 Entrée d'un diagramme à contacts simple .................................................................................... 9-4 Entrée d'un diagramme à contacts avec symboles supplémentaires ........................................... 9-7 Opérateurs de diagramme à contacts........................................................................................... 9-8 Fonctions et blocs fonctionnels dans un diagramme à contacts................................................. 9-10 Fonctions dans un diagramme à contacts ..................................................................... 9-10 Blocs fonctionnels dans un diagramme à contacts ........................................................ 9-14 Représentation ASCII de l'éditeur LD ......................................................................................... 9-17 9.3 Aide à la mise en route dans le diagramme à contacts ..................................................................... 9-18 9.4 Options dans l'éditeur LD................................................................................................................... 9-19 Option 'Paramètres généraux'..................................................................................................... 9-19 Option ‘Paramètres de l'écran’ .................................................................................................... 9-20 9.5 Aide dans l'éditeur LD ........................................................................................................................ 9-21 9.6 Eléments du diagramme à contacts .................................................................................................. 9-24 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Sommaire VII Eléments de base dans le diagramme à contacts ...................................................................... 9-24 Représentation des opérateurs dans le diagramme à contacts.................................................. 9-25 Représentation de fonctions dans le diagramme à contacts ...................................................... 9-27 Représentation de blocs fonctionnels dans le diagramme à contacts ........................................ 9-28 Etiquettes intermédiaires............................................................................................................. 9-29 Eléments de clôture couplés en parallèle ................................................................................... 9-29 9.7 Touches dans l'éditeur LD ................................................................................................................. 9-30 Menu local dans l'éditeur LD ....................................................................................................... 9-31 Instructions bloc dans le diagramme à contacts ......................................................................... 9-32 Instructions Quick dans le diagramme à contacts ...................................................................... 9-33 1 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM1-1 1.1 Architecture d'un réseau en langage FBD ........................................................................................... 1-1 1.2 Edition de réseaux en langage FBD .................................................................................................... 1-2 Entrée d'un réseau simple en langage FBD.................................................................................. 1-4 Entrée de réseaux en langage FBD avec symboles supplémentaires.......................................... 1-6 Opérateurs en langage FBD ......................................................................................................... 1-7 Fonctions et blocs fonctionnels en langage FBD .......................................................................... 1-9 Fonctions en langage FBD............................................................................................... 1-9 Blocs fonctionnels en langage FBD ............................................................................... 1-13 Représentation ASCII de l'éditeur FBD....................................................................................... 1-16 1.3 Aide à la mise en route dans le langage FBD.................................................................................... 1-17 1.4 Options dans l'éditeur FBD ................................................................................................................ 1-18 Option 'Paramètres généraux'..................................................................................................... 1-18 Option ‘Paramètres de l'écran’ .................................................................................................... 1-19 1.5 Aide dans l'éditeur FBD ..................................................................................................................... 1-20 1.6 Eléments du langage FBD ................................................................................................................. 1-23 Eléments de base du langage FBD ............................................................................................ 1-23 Représentation des opérateurs du langage FBD........................................................................ 1-24 Représentation de fonctions en langage FBD ............................................................................ 1-25 Représentation de blocs fonctionnels en langage FBD .............................................................. 1-25 Etiquettes intermédiaires en langage FBD.................................................................................. 1-26 Eléments de clôture couplés en parallèle ................................................................................... 1-26 1.7 Touches dans l'éditeur FBD............................................................................................................... 1-27 Menu local dans l'éditeur FBD .................................................................................................... 1-28 Instructions bloc en langage FBD ............................................................................................... 1-29 Instructions Quick dans l'éditeur FBD ......................................................................................... 1-30 11 Système global........................................................................................................ 11-1 11.1 Généralités....................................................................................................................................... 11-1 Généralités sur l'interface de programmation SPS ..................................................................... 11-1 Technique des fenêtres............................................................................................................... 11-3 Contrôle syntaxique intégré en cours d'entrées .......................................................................... 11-7 Consignes d'installation pour le système de programmation...................................................... 11-8 11.2 Menu Fichier <Alt>+<A> .................................................................................................................. 11-9 Charger <F3> .............................................................................................................................. 11-9 Nouveau ...................................................................................................................................... 11-9 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P VIII Sommaire Guide de programmation SPS - 18VRS Retour <Alt>+<F3>...................................................................................................................... 11-9 Sauvegarder <F2> .................................................................................................................... 11-10 Mémoriser sous......................................................................................................................... 11-10 Charger en format ASCII........................................................................................................... 11-10 Mémoriser en format ASCII ...................................................................................................... 11-10 Impression (de fichiers)............................................................................................................. 11-10 Protection .................................................................................................................................. 11-12 Actualiser................................................................................................................................... 11-13 Gestionnaire de fichiers ............................................................................................................ 11-13 EXIT <Alt>+<X> ........................................................................................................................ 11-14 11.3 Menu Edition .................................................................................................................................. 11-14 Implémentation, Sélection de langage ...................................................................................... 11-15 EXTRAS.................................................................................................................................... 11-16 Liaison de données de process.................................................................................... 11-16 Simulation IO ................................................................................................................ 11-17 Implémentation 2ms ..................................................................................................... 11-18 Editeur de déclaration <Alt>+<D> ............................................................................................. 11-18 Editeur d'importation <Alt>+<M>............................................................................................... 11-19 Actions <Alt>+<N> .................................................................................................................... 11-19 Transitions................................................................................................................................. 11-19 Option de menu 'Chercher' ....................................................................................................... 11-19 Chercher....................................................................................................................... 11-20 Chercher & Remplacer................................................................................................. 11-20 Répéter......................................................................................................................... 11-20 GOTO........................................................................................................................... 11-20 Dernière position... ....................................................................................................... 11-20 Liste des renvois / Aide aux renvois ............................................................................. 11-20 Renvoi précédent <Alt>+<F7> ..................................................................................... 11-22 Renvoi suivant <Alt>+<F8> .......................................................................................... 11-22 Mémoire tampon (Editeur de texte) ) <Alt>+<B> ...................................................................... 11-23 11.4 Menu compilation ........................................................................................................................... 11-25 Traduction du fichier de travail / Compiler <Alt>+<F9>............................................................. 11-26 Traduction, fichiers nécessaires / Make <F9> .......................................................................... 11-26 Traduction intégrale / Build........................................................................................................ 11-27 Modifications online................................................................................................................... 11-28 11.5 Mise en route / Démarrage ............................................................................................................ 11-29 Programme →Commande <Ctrl>+<F9>................................................................................... 11-30 Reset Commande ..................................................................................................................... 11-30 Affichage d'état <Shift>+<F9>................................................................................................... 11-30 Variables à plusieurs éléments <Shift>+<F3> .......................................................................... 11-30 Etapes, Transitions, Actions actives ......................................................................................... 11-32 Observation de variables........................................................................................................... 11-33 Evaluer/Modifier <Ctrl>+<F4> ................................................................................................... 11-34 11.6 Menu Diagnostic ............................................................................................................................ 11-35 Messages diagnostic................................................................................................................. 11-35 Alarme SPS............................................................................................................................... 11-36 Information SPS ........................................................................................................................ 11-36 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Sommaire IX Information projet ...................................................................................................................... 11-37 Analyse logique ......................................................................................................................... 11-38 Accès à l'éditeur de protocoles..................................................................................... 11-39 Représentation du protocole ........................................................................................ 11-39 Instructions de pied de page ........................................................................................ 11-40 11.7 Menu projet .................................................................................................................................... 11-45 Documentation .......................................................................................................................... 11-46 Ensemble de la documentation .................................................................................... 11-46 Textes de pied de page................................................................................................ 11-48 Structure , Structure de programme <Alt>+<F4>...................................................................... 11-49 Affectation IO <Alt>+<I>............................................................................................................ 11-50 Archivage .................................................................................................................................. 11-50 Archiver ........................................................................................................................ 11-51 Récupérer..................................................................................................................... 11-52 Gestionnaire des archives............................................................................................ 11-53 Données RETAIN......................................................................................................... 11-53 Archivage des commentaires.................................................................................................... 11-54 11.8 Options dans le système global ..................................................................................................... 11-55 Option 'Généralités' ................................................................................................................... 11-55 Option 'Ecran' ............................................................................................................................ 11-57 Option 'Couleurs' ....................................................................................................................... 11-58 Option 'Compilateur'.................................................................................................................. 11-58 Option 'Mémoire' ....................................................................................................................... 11-59 Option 'Fenêtres' ....................................................................................................................... 11-60 Option 'Mot de passe'................................................................................................................ 11-60 11.9 Aide ................................................................................................................................................ 11-61 11.10 Touches dans le système global.................................................................................................. 11-63 12 Glossaire.................................................................................................................. 12-1 13 Index......................................................................................................................... 13-1 14 Répertoire des figures ............................................................................................ 14-1 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P X Sommaire Guide de programmation SPS - 18VRS DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Préface 1-1 Guide de programmation SPS - 18VRS 1 Préface Sources/ documentation Abréviations Il est fait référence aux sources et documents suivants: /1/ DIN IEC1131-3 / EN 61131-3 /2/ Documentation de la Société "Types de données standard" 'Fonctions standards', 'Blocs fonctionnels standard' /3/ Documentation de la société 'Poste Interbus-S' /4/ Documentation de la société ‘INDRASTEP, orientée utilisateur Chaîne d'étapes avec diagnostic /5/ Documentation de la société ‘Jeu d'instructions SPS’ Les abréviations suivantes sont utilisées: AB Bloc d'actions AQ Marque d'identification, qualificatif d'action, ACTION QUALIFIER AS Commande séquentielle, synonyme de SFC IL IUC CNC FB Liste d'instructions Interface utilisateur de ligne de commande Commande numérique, Computerized Numerical Control Bloc fonctionnel spécial: Bloc fonctionnel défini par utilisateur, FB utilisateur fb spécial: Bloc fonctionnel micrologiciel, bloc fonctionnel standard Fb spécial: Bloc fonctionnel particulier, non éditable FBD FK Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Fonction, spéciale: Fonction écrite par utilisateur, utilisateur FK fk spéciale: Fonction micrologicielle, fonction standard Fk spécial: Fonction particulière, non éditable GUI Interface graphique utilisateur IBS Interbus-S LD Fichier MAP Langage de programmation par langage à contacts, LD-LADDER DIAGRAM Fichier avec les informations adresse du projet dans la commande SPS pour interface graphique utilisateur GUI et affichage d'état SPS Commande à mémoire programmable PC Ordinateur de bureau, programmateur POU Unité d'organisation de programme, c'est-à-dire un programme, un bloc fonctionnel ou une fonction PR Programme, spécial: Programme défini par l'utilisateur, PR utilisateur TY Type de données,spécial: Type de données défini par l'utilisateur, TY utilisateur ty spécial: Type de données micrologiciel, type de données standard Ty spécial: Type de données particulier, non éditable DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 1-2 Préface Guide de programmation SPS - 18VRS DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-1 2 Généralités Le système de programmation et de mise en route SPS de la commande permet: • l'édition, • la documentation et • la mise en route de programmes SPS basée sur la norme EN 61131-3. Les langages de programmation suivants (langages spéciaux d'entrée) sont implémentés: • Liste d'instructions (IL), • Langage à contacts (LD), • Langage en diagramme de blocs fonctionnels (FBD) avec ou sans (Eléments SFC) utilisation d'éléments d'organigramme séquentiel Pour une meilleure compréhension de l'ensemble, on a ré-exposé ci-après les modèles de base du standard: • Modèle logiciel, • Modèle de programmation. Dans le modèle logiciel, on utilise des éléments qui ont été programmés en utilisant les langages de programmation. Modèle logiciel, Dans ce contexte s'inscrivent les éléments suivants: • PROGRAM (Programme), • FUNCTION_BLOCK (bloc fonctionnel) voir Chapitre 2.4 , Page 2-19 • FUNCTION (Fonction) PROGRAM Le programme est la plus petite unité logiciel qui peut être chargée et démarrée. Un programme peut utiliser des modules de fonction et des fonctions. FUNCTION_BLOCK Un bloc fonctionnel peut utiliser d'autres blocs fonctionnels et des fonctions. Une fonction peut se servir d'autres fonctions. FONCTION Programme Bloc fonctionnel FB Fonction FK )% )% ). )% ). ). ). ). Fig. 2-1: Structure d'un programme suivant le modèle logiciel EN 61131-3 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 2-2 Généralités La Fig. 2-2: Combinaison des éléments langage SPS donne un aperçu Modèle d'établissement de programme des éléments des langues de programmation SPS. Eléments Bibliothèque Production Eléments dérivés Déclaration Importation Déclaration Importation IL, LD, FBD (FB) Déclaration/Import IL, LD, FBD Eléments SFC Déclaration/Import IL, LD, FBD Eléments SFC Types de données (TY) Type standard Type dérivé Fonctions (FK) FB-Standard FK dérivée Bloc fonctionnel FB-Standard FB dérivé Type de données dérivé Fonction dérivée Bloc fonctionnel dérivé Programme Fig. 2-2: Combinaison des éléments langage SPS L'utilisateur peut créer lui-même de nouveaux éléments, comme par exemple: • des types de données par déclaration à partir du type de données standard et des types de données importées par utilisateur. • des fonctions l'interface externe doit être définie par déclaration, la fonctionnalité interne du corps de fonction doit être programmée en IL, LD ou FBD; l'importation des types de données utilisateur et fonctions utilisateur doit précéder leur utilisation. • des blocs fonctionnels L'interface externe doit être définie par déclaration, la fonctionnalité du corps de bloc fonctionnel doit être programmée en IL, LD ou FBD; des éléments SFC sont permis. L'importation des types de données utilisateur et fonctions utilisateur doit précéder leur utilisation. La déclaration de tous les blocs fonctionnels, quel que soit leur type, doit précéder leur utilisation. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-3 2.1 Conventions générales Le présent chapitre donne un aperçu des éléments textuels et graphiques qui sont communs à tous les langages de programmation du système. Jeu de caractères Le système de programmation utilise le jeu de caractères ASCII (ISO 646) Majuscules et minuscules ont des significations différentes, c'est-à-dire que la combinaison ‘abcd’ est différente de ‘ABCD’ et différente de ‘AbcD’. Les trémas ne peuvent être utilisés que dans les commentaires. Indentificateur (Nom) Un identificateur est une chaîne de caractères commençant par une lettre et composé de lettres, de chiffres et du caractère souligné ‘_’ . ‘A_BCD’ et ‘AB_CD’ sont interprétés en tant qu'identificateurs distincts l'un de l'autre. Le caractère souligné en début de chaîne ou plusieurs caractères soulignés dans une même chaîne ne sont pas permis. Un ‘Identificateur’ ne doit pas comporter de caractère espace. Les identificateurs de variables, étapes, transitions et actions se composent au maximum de 9 caractères. Les noms de programmes, de blocs fonctionnels, de fonctions et de types de données ne doivent comporter au maximum que 8 caractères. Mots clés (Keyword) Les mots clés sont des chaînes de caractères dont la signification est définie sous ‘EN 61131-3’ (voir /1/). Ils ne doivent pas être utilisés en tant qu'identificateur. (Le système de programmation les refuse). N.B. Les mots clés ne comprennent que des majuscules et ‘_’. Emploi des caractères espace Le nombre et la position des caractères espace utilisés dans les commentaires sont indifférents. Ils ne doivent entre autre pas être utilisés dans les indentificateurs, mots clés etc. Commentaires Les commentaires n'ont sur le plan syntaxe et sémantique aucune signification quel que soit le langage de programmation employé. Ils peuvent être entrés dans les colonnes correspondantes des éditeurs (par exemple éditeur de déclaration, éditeur IL) ou bien via une fenêtre de commentaires séparée. Représentation des données Dans les différents langages de programmation SPS, il est permis de représenter les données de la façon suivante • Représentation numérique, • Représentation temporelle, • Représentation sous forme de chaînes de caractères. Représentation numérique, Les opérations arithmétiques pour nombres entiers et nombre avec virgule flottante sont disponibles dans la commande. Les nombres entiers sont définis en tant que nombres décimaux ou bien en tant que nombre avec pour base numérique 2, 8 ou 16. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 2-4 Généralités La base numérique utilisée est indiquée sous forme décimale séparée par une diésis ‘#’ avant le nombre. Les nombres décimaux sont représentés avec la notation conventionnelle. Pour la représentation hexadécimale, il faut à côté des chiffres 0 – 0 également utiliser des majuscules, à savoir A – F. Les données booléennes sont représentées avec ‘2#0’ (FALSE) ou ‘2#1’ (TRUE) Description: Exemples Notation à base 10 (décimale) Notation à base 2 (binaire) Notation à base 8 (octale) Notation à base 16 (hexadécimale) 240 2#11100000 8#340 16#E0 Les nombres avec virgule flottante peuvent être entrés dans: -3.402823E38...-1.175495E-38 et 1.175495E-38...3.402823E38. Le chiffre "Zéro" n'existe donc pas. Il est arrondi sous forme -1.175495E38 ou 1.175495E-38 en fonction de la plage (négative ou positive) dans laquelle les calculs sont effectués. -0 ≠ +0 ATTENTION Représentation temporelle, L'indication de la durée commence à gauche avec l'indentificateur réservé ‘T#’. Les unités de temps suivantes sont permises: Unité de temps Exemple: Jour (d) T#14d Heure (h) T#147h Minute (m) T#47m Seconde (s) T#14s Milliseconde (ms) T#12ms Combinaisons de ces unités T#25h3s, T#12m13s127ms, T#1m33.3s Un dépassement de la plus grande unité de temps est permis, comme par exemple l'indication ‘T#25h15m’. Un point décimal est possible. La marge temporelle est limitée à 23d 23h 59m 59s 998ms. Représentation de chaînes de caractères Une chaîne de caractères est une succession de caractères isolée par deux guillemets simples. Les chaînes de caractères vides sont permises. Le signe monétaire ‘$’ au début d'une chaîne de caractère signalise une interprétation particulière: • S'il est suivi d'un nombre à deux chiffres, l'ensemble des 3 caractères remplace alors le caractère du tableau ASCII ($00...$FF) • D'autres interprétations particulières sont exposées au tableau ciaprès: DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-5 Représentation de chaînes de caractères N° Exemple: Explication 1 ‘’ Chaîne de caractères vide, longueur nulle ‘A’ Chaîne de caractères de longueur 1 avec le caractère ‘A’ ‘‘ Chaîne de caractères de longueur 1 avec un caractère espace ‘$05’ Chaîne de caractère de longueur 1 avec le caractère ‘♣’ ‘$’’ Chaîne de caractères de longueur 1 avec un guillemet simple ‘$R$L’ Chaîne de caractères de longueur 2 avec les caractères ‘CR’ et ‘LF’ ‘$$1.00’ Chaîne de caractères de longueur 5, a été imprimée sous la forme ‘$1.00’ N° combi. Représentation, si imprimée/sortie 2 $$ Dollar 3 $’ Guillemets simples 4 $L Linefeed, saut de ligne 6 $P Form feed (page), saut de page 7 $R Carriage return, Retour chariot 8 Tab, Tabulateur $N, Newline, n’est pas possible 2.2 Types de données Les types (élémentaires) de données suivantes et les types de données micrologiciels INDRAMAT (voir /2/) sont acceptés par la SPS sans aucune mesure supplémentaire. L'utilisateur a la possibilité d'élargir la palette de types de données en convenant de nouveaux types et en les important dans les fichiers à utiliser. Types élémentaires de données Les types élémentaires suivants sont permis: Mot clé Types de données bits BOOL Logique OCTET WORD DWORD Débit binaire Longueur 8 Débit binaire Longueur 16 Débit binaire Longueur 32 8 16 32 Débits binaires seulement, Aucune entrée de nombre possible CHAR STRING Caractère Chaîne de caractères 8 ..... Caractère individuel 1 Séquences longues de 255 caractères SINT INT DINT Nombre Short Integer Nombre Integer Nombre Double Integer 8 16 32 USINT UINT UDINT Unsigned Short Integer-Number Unsigned Integer-Number Unsigned Double Integer-Number 8 16 32 0 255 0 65535 0 - 2147483647 (limité) REAL Nombre à virgule flottante 32 -3.402823E38...-1.175495E-38 1.175495E-38...3.402823E38. TIME Durée 32 0ms...23d23h59m59s999ms DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 1 Indication de domaine TRUE/FALSE, 0/1 -128 -32768 -2147483648 - 127 32767 2147483647 2-6 Généralités Remarques sur les types de donnée Séquences de bits et nombres Les séquences binaires BYTE, WORD, DWORD ne présentent aucune information de position nécessaire pour les chiffres, c'est-à-dire qu'il n'est pas possible d'y effectuer des opérations arithmétiques. Elles peuvent toutefois être converties en nombres présentant le même nombre de bits (Fonctions de conversion de type). Une reconversion de nombres en séquences binaires est possible. • BYTE en SINT ou USINT • WORD en INT ou UINT • DWORD en DINT ou UDINT. Caractère (CHAR et Chaîne de caractères (STRING) Le type de données CHAR a besoin d'un OCTET pour l'archivage d'un caractère. Le type de données STRING permet un nombre quelconque de caractères entre 1 et 255 caractères. Il se compose de la longueur du STRING et du caractère utile. En conséquence, CHAR ‘A’ requiert 1 octet et STRING[1] ‘A’ deux octets (Besoin en mémoire pour un caractère ou une chaîne de caractère de même contenu): CHAR ’A’ STRING[1] ’A’ $ $ Contenu Longueur Le tableau suivant illustre le rapport entre le nombre d'octets réservé, la longueur utilisée et le contenu de la chaîne de caractères après initialisation: Nom Type STR_1 STR_2 STR_3 STR_4 STRING STRING STRING[10] STRING[10] := ‘abc’ ‘abc’ Nombre d’octets réservé Chaîne de caractère après l'initialisation 256 octets 256 octets 11 octets 11 octets Longueur: Longueur: Longueur: Longueur: 0, 3, 0, 3, Contenu: Contenu: Contenu: Contenu: „ “ , Affichage „ „ „abc“ „ “ , Affichage „ „ „abc“ Si en cours de fonctionnement du programme, le nombre de caractères écrit dans une chaîne de caractères est supérieur à la place réservée, les différents caractères sont enregistrés à partir de la gauche et les caractères excédentaires sont alors coupés. (Aucun influence de ErrorFlg/ErrorTyp/ErrorN°.) Pour, lors de la génération d'un programme SPS, pouvoir utiliser le type de données STRING de façon continue, il est possible de convertir un caractère isolé dans l'un ou l'autre des langages de programmation en une chaîne de caractères de longueur 1 et réciproquement. Conversion d'un caractère en une chaîne de caractères: Déclaration des variables nécessaires Nom VAR char_1 string_1 END_VAR AT TYPE CHAR STRING[1] Liste d'instructions gramme fonctionnel) LD char_1 ST string_1[1] Commentaire langage à contacts/ Langage FBD (dia- char_1 VWULQJB>@ DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-7 Types de données dérivés Sur la base des types élémentaires de données explicités jusqu'à présent, il est possible de générer des types de données dérivés (définis soit par le constructeur soit par l'utilisateur de la SPS). Le constructeur de la SPS peut utiliser la possibilité d'archivage de ce types de données qui est disponible dans la bibliothèque du système de programmation tandis que l'utilisateur de la SPS se doit de convenir (de déclarer) dans chacun des fichiers respectifs chacun des types de données qu'il a définis. Les types de données convenus dans la bibliothèque standard sont définis de façon ferme pour l'utilisateur. Il peut les utiliser, comme les types élémentaires de données, pour la déclaration de variables mais il ne peut pas les modifier. L'importation des types de données convenus par l'utilisateur dans le fichier devant être utilisé doit précéder leur utilisation . Des structures (STRUCT) et des tableaux (ARRAY) sont implémentés dans le système de programmation et de mise en route de la SPS. Structures Une structure se compose de plusieurs éléments de données séparés qui, d'après le constructeur de la commande ou d'après son utilisateur, vont ensemble sur le plan fonctionnel ( par exemple toutes les informations d'état d'un axe NC pouvant être traitées dans la SPS ou bien un bloc de données complet caractérisant une sorte précise de pièces d'usinage). Les différents éléments peuvent appartenir à différents types de données. Leur ordre est défini par l'utilisateur. Fig. 2-3: Type de données défini par l'utilisateur (STRUCT) Les types d'éléments de données suivants sont utilisés: • Types élémentaires de données (voir tableau sous chapitre 'Types élémentaires de données, Page 2-2),Structures Jusqu'à présent des tableaux ne sont pas prévus en tant qu'éléments dans les structures. Tableaux DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Un tableau se compose de plusieurs éléments séparés de données qui appartiennent au même type de données et qui, d'après le constructeur de la commande ou d'après son utilisateur, vont ensemble (par exemple les informations sur le lieu d'archivage des pièces d'usinage sur une palette ou les informations sur l'équipement d'un dispositif de changement d'outils) Les tableaux peuvent, en fonction de leur destination, être uni- ou pluridimensionnel (au max. 4 dimensions). Chaque dimension peut comporter au maximum 1000 éléments. Les besoins max. en mémoire d'un tableau font l'objet d'une surveillance et sont limités à 64 Ko. 2-8 Généralités Fig. 2-4: Type de données défini par l'utilisateur (ARRAY of BOOL) Les types d'éléments de données suivants sont applicables: • Types élémentaires de données (voir Tableau au Chap. ‘Types élémentaires de données’, Page 2-5) • Structures (voir Fig. 2-3: Type de données défini par l'utilisateur (STRUCT)). Le système n'assiste pour le moment aucune utilisation de tableaux en tant qu'éléments dans un tableau Fig. 2-5: Type de données défini par l'utilisateur (ARRAY of STRUCT), Le Type de données OUTILLAGE (Fig. 2-3: Type de données défini par l'utilisateur (STRUCT)) doit être importé auparavant. Pointeur et Adresse de A partir de la version 17, il est possible d'accéder aux données via le type POINTEUR / ADRESSE DE. Pointeur La convention d'un pointeur s'effectue dans la section déclaration d'un programme ou d'un bloc fonctionnel. Un pointeur est alors caractérisé par ‘^’ placé devant le type de données. Le type de données qui suit le signe ‘^’ permet de définir la longueur de la plage ainsi que la nature et le nombre des éléments se trouvant dans la plage. L'accès en écriture comme en lecture fait l'objet d'une surveillance. Nom VAR bitptr AT TYPE Commentaire ^ A_BOOL16 (* pointeur,typededonnées A_BOOL16: 0..15 of BOOL *) END_VAR Adresse de L'emplacement que le pointeur doit indiquer est transmis avec un ‘P#’Opérateur: Marque Opérande Opérateur Commentaire LD P#bytetab [9] (* Charger adresse du 9° élément des variables tableau octet *) ST bitptr (*=> Adresse initiale de la section de type A_BOOL16*) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-9 Le pointeur indique Un pointeur peut accéder soit à une plage complète pour un accès aux données (en lecture ou en écriture) en fonction du type de données auquel il correspond, soit à un élément quelconque de son type de données. Marque DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Opérande Opérateur Commentaire LD bitptr^ signifie: Cherche toute la section LD bitptr^[1] signifie: Cherche le premier élément (A_BOOL16 est un ARRAY 1-d) 2-10 Généralités Exemple: Un tableau de 0..39 OCTETS est prédéfini. De ce tableau , 16 bits doivent être copiés à partir de l'octet 9. Les 16 bits doivent être organisés en tableau 0...15 of BOOL OCTET 0 0 ... 7 OCTET 9 72 ... 79 OCTET 10 80 ... 87 ... ... ... OCTET 39 Í Bit 0 ... 15 ... 312 ... Nom AT VAR Tableau octet 319 TYPE Commentaire A_BYTE40 (* Tableau d’OCTET initial 0..39 of BYTE*) bitptr ^ A_BOOL16 (* pointeur, typededonnées A_BOOL16: 0..15 of BOOL *) Tableau bits ^ A_BOOL16 (* Tableau à remplir: 0..15 of BOOL *) END_VAR ‘bitptr’ est un pointeur qui peut enregistrer des informations sur l'adresse et le type. Les informations sur le type sont transmises dans la déclaration. Le pointeur est un pointeur-NIL, tant qu'il n'a pas reçu d'adresse. L'adresse actuelle est transmise (au moins une fois) au moyen de P# dans l'implémentation. Elle peut, si besoin est, être changée aussi souvent que nécessaire. OCTET 0 0 ... 7 OCTET 9 72 ... 79 OCTET 10 80 ... 87 ... P#Bytetab [9] ... ... OCTET 39 Marque N.B. 312 ... ... 319 Opérande Opérateur Commentaire LD P#Bytetab [9] (* Charger adresse OCTET 9 *) ST bitptr (*=> Adresse initiale de la section de type A_BOOL16*) LD bitptr^ (*Copier Section du tableau octet*) ST Tableau de bits (*dans le tableau octet, les limites de type sont contrôlées*) LD bitptr^ Signifie: Cherche toute la section (la totalité des 16 bits) LD bitptr^[1] signifie: Cherche le bit 73 Pour d’autres exemples voir Description ’Jeu d’instructions SPS’. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-11 Initialisation Si un nouveau programme est chargé dans la commande, toutes les variables seront ré-initialisées. L'utilisateur peut prédéfinir les valeurs des types élémentaires de données (en cours de déclaration) ou bien laisser le système charger les valeurs initiales standard du type de données respectif. Toutes les autres variables reçoivent en tant que valeur initiale standard la valeur des types auxquels elles se rapportent. Type Valeur initiale standard SINT/INT/DINT USINT/UINT/UDINT BOOL BYTE, WORD, DWORD, REAL TIME CHAR STRING STRING[t] 0 0 FALSE 0 +0 T#0s Contenu: “ “ / Affichage: Contenu: “ “ / Affichage: „ „ 256 octets réservés Contenu: “ “ / Affichage: „ „ t octets réservés POINTEUR NIL 2.3 Variables Avec une variable, on définit un emplacement de mémoire (zone de mémorisation) présentant des propriétés bien particulières (Type des variables) à laquelle il sera ensuite possible de recourir au moyen d'un adressage symbolique via le nom ou via l'adresse absolue si cette dernière est connue. Le contenu de l'adresse de mémoire (valeur des variables) peut être modifié dans les limites permises par le type. On distingue entre entrées, sorties et variables drapeaux. Les variables drapeaux peuvent en outre présenter des propriétés rémanentes, c'est-à-dire qu'elles conserveront leur valeur même en cas de remise à zéro de la commande (Variables RETAIN). Le système de programmation et de mise en route assiste les variables de types suivants: • Variable à un élément La variable ne comprend qu'un seul élément de données. • Variable à plusieurs éléments Plusieurs éléments de données de même type ou de type de données différents font partie de la variable. Représentation de variables à un élément Le nom (indentificateur) d'une variable peut présenter au maximum 9 caractères. L'adresse (absolue) d'une variable est structurée de la façon suivante: • Un caractère pourcentage ‘%’ au début, • Un indicateur d'emplacement (entrée, sortie, marqueur, indicateur de retenue) • Un indicateur de format de données (BOOL, BYTE, ...), • Un indicateur d'accès périphérique direct (standard: sans, suppl. à la norme…) • un ou plusieurs nombres entiers sans signe en amont et séparés par des points. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 2-12 Généralités Composants de l’adresse d’une variable Indicateur Explication Emplacement I ou E Q ou A M R Entrée Sortie Marqueur Indicateur de retenue Format de données rien ou X B W D BOOL OCTET WORD DWORD Accès périphérique direct sans objet P Standard Accès particulier (1 bit) (8 bits) (16 bits) (32 bits) Exemple: %I1.2.3 %IX1.2.3 Numéro logique de l'appareil 1, octet d'entrée 2, bit 3 ou (autre forme de représentation) %Q127.5.2 ou %QX127.5.2 Numéro logique de l'appareil 127, octet de sortie 5, bit 2 %IB1.2 %QW127.5 Numéro logique de l'appareil 1, octet d'entrée 2, Numéro logique de l'appareil 127, octet de sortie 5 %IWP1.10 %QBP3.10 Mot d'entrée rapide, adresse 1.10 (section. 0) Mot d'entrée rapide, adresse 3,10 (section. 0) (autre forme de représentation) Les numéros de postes / add-in suivants pour entrées et sorties sont autorisés: Poste 0, Poste 1...999, octet 0...2046 CNC/SPS intern octet/add-in 0...31...63 autres systèmes bus Pour les données dont la largeur est supérieure à un bit, le système applique pour entrées et sorties les définitions suivantes: WORD: add-in indiqué et add-in suivant Exemple: %IW1.0 HighByte: %IB1.0, LowByte: %IB1.1 DWORD: Add-in indiqué et les trois add-in suivants Exemple: %ID1.0 HighByte: %IB1.0,....., LowByte: %IB1.3 2048 octets-marqueurs sont disponibles en tant que marqueur Il est possible d'accéder à ces marqueurs par adresse bit, octet, mot et mot double: Marqueur bits Marqueur - octets Marqueur – Mot Marqueur – mot double Exemple: %M0.0 %MB0 %MW0 %MD0 ... ... ... ... %M2047.7 ou. %MX0.0 ... %MX2047.7 %MB2047 %MW2046 %MD2044 Position des zones de mémorisation %MD1 contient la valeur 16#3F2E1D0C. 0'! 0:! 0:! 0:! 00 ) ( ' & %MB0 0% 0% 0% 0% 0% %M2.7 6 5 4 3 2 1 0 0 0 1 0 1 1 1 0 2048 octets-marqueurs sont également disponibles en tant qu'indicateur de retenue Il est possible d'accéder à ces indicateurs de retenue par adresse bit, octet, mot et mot double: Marqueur bits Marqueur - octets Marqueur – Mot Marqueur – mot double %R0.0 ... %R2047.7 ou %RX0.0 ... %RX2047.7 %RB0 ... %RB2047 %RW0 ... %RW2046 %RD0 ... %RD2044 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-13 N.B. Dans le programme, l'utilisation de variables adressées de façon absolue n'est toutefois pas permise dans un bloc fonctionnel ou dans une fonction Accès périphérique direct en évitant la structure triphasée Une exécution accélérée de parties de programme en tant que réaction à une modification des affectations d'entrées peut être obtenue par: • Accès périphérique par mot/octet aux variables d'entrée et de sortie (avec la programmation multiple suivante de sections de programme) • Option de menu ‘Traitement/Extras/2ms-Implementation’ (en même temps que l'accès périphérique direct) Définitions Grâce aux nouvelles adresses absolues, il est possible d'accéder directement à la périphérie entrées/ sorties. • %IBP – Entrée périphérie OCTET; %QBP – Sortie périphérie OCTET • %IWP - Entrée périphérie WORD; %QWP - Sortie périphérie WORD. Des accès directs à la périphérie I/O peuvent être appliqués sur les variables 8/16 bits. Des adresses absolues ne peuvent être programmées qu'au niveau PR. En définissant différentes adresses abolues, il est possible à l'intérieur d'un mot (octets) d'accéder aux entrées/sorties "lentes" et rapides. Mode d'action Périphérie entrées Périphérie Sorties SPS-Zyklus %IWP Représent. entrées Représent. sorties %QWP %QW %QWP %IW Programme SPS Fig. 2-6: Mode d’accès périphérique direct Ci-après, une explication du mode d'accès rapide à la périphérie I/O est donnée en s'appuyant sur les opérateurs ‘%IW’, ‘%IWP, ‘%QW’ et ‘%QWP’ Les autres opérateurs fonctionnent de façon similaire: • %IWP accède à la périphérie entrée en lisant les entrées. La représentation I n'est pas actualisée • %IW lit les données d'entrée qui ont été écrites dans la représentation des entrées avant le démarrage du cycle SPS en cours. • %QWP accède à la périphérie sortie et à la représentation de sortie en écrivant les sorties. • %QW écrit les données de sortie dans la représentation des sorties N.B. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P OCTET apparaît par démasquage à partir de WORD Å plus lentement 2-14 Généralités Exemple de programme Déclaration FINWORD1 AT %IWP1.1 (*Mot d'entrée rapide Adr. 1.1*) INWORD1 AT %IW1.1 (*Mot d'entrée via représentation Adr. 1,1*) FINWORD10 AT %IWP1.10 (*Mot d'entrée rapide Adr. 1,10*) INWORD10 AT %IW1.10 (*Mot d'entrée via représent. Adr. 1,10*) OUTWORD2 AT %QW1.2 (*Mot de sortie via représent. Adr. 1,2*) FOUTWORD2 AT %QWP1.2 (*Mot de sortie rapide Adr. 1,2*) MWORD1 AT %MW1 (*Mot drapeau Adr.*) Implémentation (*Récupérer entrées rapides et les écrire dans représentation des entrées*) LD FINWORD1 (*Mot d'entrée rapide Adr. 1.1*) ST MWORD1 (*Mot drapeau Adr.*) (*Exécuter un/des liaison(s)*) (*Transmettre résultat dans représentation des sorties et aux sorties rapides*) LD MWORD1 (*Mot drapeau Adr.*) AND INWORD10 (*Mot d'entrée via représent. Adr. 1,10*) ST FOUTWORD2 (*Mot de sortie rapide Adr. 1,2*) Représentation de variables à plusieurs éléments Le niveau actuel du système de programmation et de mise en route permet l'utilisation des variables du type: • Chaîne de caractères (STRING), • Structure (STRUCT) et • Tableau (ARRAY), A la différence des variables à un élément qui sont liées à un emplacement mémoire concret, pour les variables à plusieurs éléments une zone est convenue (… à partir de l'adresse mot…) Le nom de chaque variable à plusieurs éléments se compose au maximum de 9 caractères. Un accès aux différents éléments des variables est possible, comme expliqué ci-après. Chaînes de caractères Une variable du type de données STRING permet un nombre quelconque de caractères entre 1 et 255 caractères. Un STRING est un type élémentaire de données. La variable contient la longueur du STRING et son caractère utile. Une chaîne de caractère peut recevoir des informations des entrées SPS Une influence des sorties SPS est également possible. Influence des sorties de la SPS par une variable de chaîne de caractères: Déclaration des variables de sortie 'string' par le type élémentaire STRING Nom AT TYPE := string %QW1.4 STRING[3] ’IDA’ (*Prédéfinition dans déclaration*) Commentaire Conformément à la convention des variables 'string', la sortie commence à partir de l'adresse mot %QW1.4 (en commençant avec mit %QB1.4) et se poursuit en fonction de la longueur de la chaîne de caractères. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-15 L'exécution du programme entraîne les outputs suivants aux sorties de la SPS. Indication de longueur: Structures %QB1.4 %QB1.5 %QB1.6 %QB1.7 16#03 ‘I’ (16#49) ‘D’(16#44) ‘A’(16#41) Le nom respectif, le type des éléments et leur ordre à l'intérieur d'une structure sont prédéfinis par convention ou par la bibliothèque standard. Le nom d'un élément se compose du nom des variables et de son propre nom, séparé par ‘.’. : variables_nom.élément_nom Il est recommandé d'accéder aux éléments de la structure au moyen de ce nom étant donné que le stockage interne SPS s'effectue sous une forme mémoire et vitesse effectives. Les éléments d'une structure peuvent recevoir des informations des entrées SPS Une influence des sorties SPS est également possible. Influence des sorties de la SPS par une variable STRUCT: Convention du type de données BSP_STRU TYPE BSP_STRU (*Structure test pour convertisseur de sorties *) BSP_STRU STRUCT b BOOL b2 BOOL int INT byte BYTE b3 BOOL END_STRUCT Déclaration des variables de sortie 'struktur' de type BSP_STRU Nom AT TYPE structure %QW1.4 BSP_STRU := Commentaire (*Prédéfinition dans implémentation*) Affectation des éléments des variables de sortie 'structure' Marque Opération LD ST LD ST LD ST LD ST LD ST Opérande Commentaire 2#1 structure.b1 2#0 structure.b2 38 structure.int 16#A5 structure.octet 2#1 structure.b3 Conformément à la convention des variables 'structure', la sortie commence à partir de l'adresse mot %QW1.4 (en commençant avec %QB1.4) et se poursuit en fonction de la longueur de la structure. L'exécution du programme entraîne les outputs suivants aux sorties de la SPS. %QB1.4 %QB1.5 b b 1 2 0 0 0 0 0 0 1 0 %QB1.6 int 16#00 %QB1.7 %QB1.8 octet 16#26 16#A5 b 3 0 0 0 0 0 0 0 1 Remarque: Octet de poids fort de 38: 16#00, Octet de poids faible de 38: Les bits non utilisés ont la valeur initiale standard 2#0 (FALSE). DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 16#26 2-16 Généralités Tableaux Le type des éléments et leur ordre à l'intérieur d'un tableau sont prédéfinis par convention ou par la bibliothèque standard. Le nom d'un élément se compose du nom des variables et de l'indication de sa position à l'intérieur du tableau. variables_nom[i,j] i,j - Position (2-d-Tableau) Il est recommandé d'accéder aux éléments du tableau au moyen de ce nom étant donné que le stockage interne SPS s'effectue sous une forme mémoire et vitesse effectives. Les éléments d'un tableau peuvent recevoir des informations des entrées SPS Une influence des sorties SPS est également possible. Influence des sorties de la SPS par une variable ARRAY: Convention du type de données 'BYTE_ARR' TYPE BYTE_ARR (*Tableau test pour convertisseur de sorties, *) BYTE_ARR ARRAY [ 0 .. 1 0 .. 1 ] OF BYTE END_TYPE Déclaration BYTE_ARR des variables de Nom AT TYPE OutArray %QW1.4 BYTE_ARR sorties := 'OutArray' du type Commentaire (*Prédéfinition dans implémentation*) Affectation des éléments des variables de sortie 'OutArray' Marque Opération LD ST LD ST LD ST LD ST Opérande Commentaire 16#FE OutArray[0,0] 16#DC OutArray[0,1] 16#BA OutArray[1,0] 16#98 OutArray[1,1] Conformément à la convention des variables ‘OutArray’ , la sortie commence à partir de l'adresse mot %QW1.4 (en commençant avec %QB1.4) et se poursuit en fonction de la longueur du tableau. L'exécution du programme entraîne les outputs suivants aux sorties de la SPS. %QB1.4 %QB1.5 %QB1.6 %QB1.7 OutArray[0,0] OutArray[0,1] OutArray[1,0] OutArray[1,1] 16#FE 16#DC 16#BA 16#98 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-17 Constantes d’adresse Outre l'entrée directe d'adresses, l'utilisateur peut pour les types de données micrologiciels INDRAMAT utiliser une seconde possibilité très avantageuse (réduction des possibilités d'erreur, vu que l'adresse est toujours correcte) (jusqu'à présent implémentée dans MT-CNC). Variables d'entrée/état Signaux axe Axe01 Axe02 Axe32 Type de données iAXIS Variables de sortie/Command Const adress Adresse A#A01S A#A02S ... A#A32S %IW0.10 %IW0.30 ... %IW0.630 Variables d'entrée/état Processus Processus00 Processus01 Processus06 Type de données iPROC Mécan07 Mécan08 Mécan31 Type de données iMECH Const adress Adresse A#P00S A#P01S ... A#P06S %IW0.660 %IW0.700 ... %IW0.900 DEA0 DEA1 DEA2 Type de données iDEA Adresse A#A01C A#A02C ... A#A32C %QW0.0 %QW0.20 ... %QW0.620 Type de données qPROC Const adress Adresse A#P00C A#P01C ... A#P06C %QW0.640 %QW0.680 ... %QW0.880 Variables de sortie/Command Const adress Adresse A#M07S A#M08S ... A#M31S %IW0.930 %IW0.950 ... %IW0.1410 Variables d'entrée/état DEA qAXIS Const adress Variables de sortie/Command Variables d'entrée/état Mécanisme Type de données Type de données qMECH Const adress Adresse A#M07C A#M08C ... A#M31C %QW0.920 %QW0.940 ... %QW0.1400 Variables de sortie/Command Const adress Adresse A#iDEA0 A#iDEA1 A#iDEA2 %IW0.1434 %IW0.1454 %IW0.1474 Type de données qDEA Const adress Adresse A#qDEA0 A#qDEA1 A#qDEA2 %QW0.1424 %QW0.1444 %QW0.1464 Touches de fonction machine à gauche Touches de fonction machine à droite Type de données Const adress Adresse Type de données Const adress Adresse MFK_L A#MFK_L %IW0.1480 MFK_R A#MFK_R %IW0.1481 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 2-18 Généralités Déclaration et initialisation Chaque POU (c'est-à-dire, PROGRAM FUNCTION_BLOCK ou FUNCTION) présente une section déclaration dans laquelle les variables utilisées sont définies avec leur nom, leur type de données et, le cas échéant, leur valeur initiale dans l'ordre indiqué ci-après. Entrées: VAR_INPUT END_VAR Sorties: VAR_OUTPUT END_VAR Marqueur VAR END_VAR Indicateur de retenue: VAR RETAIN END_VAR Variables globales: VAR_GLOBAL END_VAR Variables externes VAR_EXTERNAL END_VAR Mot clé Application VAR_INPUT Entrées: • est reçue de l'extérieur, ne peut pas être modifiée dans l'unité d'organisation du programme VAR_OUTPUT Sorties: • est calculée dans l'unité d'organisation du programme et est utilisée à l'extérieur (Monitorage de réécriture multiple possible) VAR Marqueur • à l'intérieur d'une unité d'organisation de programme VAR RETAIN Indicateur de retenue: • à l'intérieur d'une unité d'organisation de programme, propriétés rémanentes VAR_GLOBAL Variables globales: • variables déclarées à l'intérieur d'un programme et accessible directement par VAR_EXTERNAL à partir du bloc fonctionnel Variables externes • Variables définies en tant que variable globale dans le programme supérieur et à laquelle il est possible d'accéder directement à l'intérieur du bloc fonctionnel. (nouveau dans Version 18) VAR_EXTERNAL (nouveau dans Version 18) Le domaine d'application des déclarations est LOCAL en ce qui concerne l'unité d'organisation où se trouve la section déclaration. Ceci signifie que d'autres unités d'organisation de programme ne peuvent accéder qu'aux variables déclarées en tant qu'entrées ou sorties de cette unité. L'initialisation des variables entrées, sorties et drapeaux avec les valeurs définies par l'utilisateur ou avec les valeurs standard s'effectue lors du chargement d'un nouveau programme ou d'une réinitialisation de la commande; dans le cas des marqueurs de retenue seulement lors du chargement d'un nouveau programme. Des valeurs initiales peuvent être allouées par l'utilisateur aux niveaux suivants: • Programme pour VAR_OUTPUT et VAR, VAR RETAIN, • FB pour VAR_INPUT, VAR_OUTPUT et VAR, VAR RETAIN. Les éléments des variables structurées et des tableaux sont prédéfinis avec leurs valeurs initiales standard. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-19 2.4 Unités d'organisation de programme Les unités d'organisation de programme suivantes (POU) sont supportées: • FUNCTION (Fonction) • Bloc fonctionnel (FUNCTION_BLOCK) et • PROGRAM (Programme), Chacune de ces unités d'organisation peut être définie par l'utilisateur. En supplément, INDRAMAT met à disposition des modules de fonction et des fonctions dans une bibliothèque s'inscrivant dans le système de programmation. A l'intérieur d'un programme écrit par l'utilisateur, il est possible d'utiliser des fonctions standard et des fonctions utilisateurs comme des blocs fonctionnels standard ou utilisateur. Cette possibilité se reflète dans la structure du programme. Fonctions (FUNCTION) Une fonction (FK) est une unité d'organisation de programme qui possède 1...n entrées et une sortie La variable de sortie peut se présenter sous la forme d'une variable à un élément ou d'une chaîne de caractères. L'appel d'une fonction avec la même affectation aux entrées livre toujours le même résultat à la sortie. Tous les résultats intermédiaires de calculs seront refusés après détermination de la valeur de la fonction (de sortie). Une préinitialisation de variables n'est pas possible. Une fonction peut être utilisée dans chaque unité d'organisation de programme. Il existe des fonctions standard et des fonctions micrologicielles qui sont mises à disposition par INDRAMAT et qui peuvent être utilisées immédiatement, mais qui ne peuvent pas être modifiées. Par ailleurs, chaque utilisateur peut écrire ses propres fonctions. Fonctions standard et micrologicielles INDRAMAT met à disposition de l'utilisateur des fonctions standard et micrologicielles. Elles ont été empruntées à la norme 'EN 61131-3’ ou bien développées en complément par le constructeur SPS. La section déclaration et le contenu restent constants même dans le cas des bibliothèques standard et systèmes d'exploitation optimisés. /2/ permet d'avoir un aperçu. Architecture d'une fonction définie par utilisateur Au cours de la déclaration de la fonction utilisateur, l'utilisateur définit tout d'abord la forme extérieure de la fonction, c'est-à-dire, le nombre, le nom et les types des entrées. En définissant le nom de la fonction, il définit le nom de la sortie. Par ailleurs, le type de sortie est également défini. A l'intérieur de la fonction, il peut en supplément y avoir des variables pour l'utilisation interne. Un accès de l'extérieur à ces variables n'est cependant pas possible. Il est possible d'attribuer un commentaire(de déclaration) à chaque variable. Ce commentaire permet de caractériser les variables de façon plus précise chaque fois qu'elles apparaissent (par exemple les variables pouvant être affichées dans les fenêtres de sélection ou bien imprimées). DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 2-20 Généralités Une fonction à définir par l'utilisateur comprend la section déclaration et l'implémentation. La section déclaration comprend: • Le mot clé FUNCTION suivi du nom de la fonction, de deux points ':' et du type de données de la fonction (L'inscription du nom s'effectue automatiquement), • le commentaire à la déclaration de la fonction (les 5 premières lignes sont utilisées pour des fonctions auxiliaires), • les noms et types d'entrées de la fonction sont définis entre VAR_INPUT..END_VAR • Les noms et types des variables internes à la fonction sont entrées entre VAR..END_VAR . Dans la section implémentation de la fonction il faut pré-initialiser les variables avant tout accès en lecture afin d'éviter que les variables reçoivent une valeur au hasard (affectation au hasard). Ensuite, on peut procéder à l'implémentation de la fonction. Les langages de programmation suivants sont à disposition: • La liste d'instructions 'IL', • le langage à contacts 'LD' ou • le langage en diagramme de blocs fonctionnels 'FBD'. Des éléments SFC ne sont pas autorisés Le mot clé END_FUNCTION est automatiquement complété par le système de programmation lors de la mémorisation. Exemple Fonction utilisateur Tâche En fonction d'une entrée SEL, l'une des deux entrées ‘i1’ ou ‘i2’ est envoyée à la sortie de fonction. Représentation graphique (langage à contacts, langage en blocs fonctionnels) BOOL INT INT 6(/(&7 6(/ L L ,17 Il est tout d'abord procédé à la déclaration de la nouvelle fonction à créer (voir Fig. ci-après). Fig. 2-7: Déclaration de la fonction SELECT Ensuite une copie sur écran de l'implémentation est effectuée. En tant que langage de programmation, on a retenu la liste d'instructions DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-21 Fig. 2-8: Implémentation de la fonction SELECT Utilisation de fonctions à l'intérieur de fonctions Une fonction utilisateur peut utiliser les fonctions utilisateur ’FK’ et les fonctions standard ’fk’. • Fonction fk standard ou micrologiciel − Utilisation directe sans importation ou déclaration conformément au langage de programmation sélectionné. • Fonction utilisateur FK − Importation de la fonction → Editeur d'importation − Utilisation conformément au langage de programmation retenu L'imbrication peut être poursuivie sur une profondeur quelconque. N.B. Tout appel de la fonction 'A' par elle-même (récursivité) est interdit, comme il est interdit que la fonction 'A' appelle la fonction 'B' et que cette dernière utilise à nouveau la fonction 'A' etc. Des erreurs de ce type seront au plus-tard détectées au moment de la traduction par le compilateur. Blocs fonctionnels (FUNCTION BLOCK) Un bloc fonctionnel (FB) est une POU qui peut posséder 1...n entrées et 1…m sorties et des variables internes. La conception DIN/EN prévoit une séparation de principe entre le code programme du bloc fonctionnel et la mémoire de données nécessaires pour le stockage des valeurs des variables. La mémoire de données est neutralisée d'exécution en exécution Si un tel FB, par exemple un compteur de type COUNTER est requis trois fois, c'està-dire que l'utilisateur désire l'utiliser trois fois à des fins différentes sous les noms 'compteur1', 'compteur2', 'compteur3', le code programme à attribuer au bloc fonctionnel COUNTER n'existe qu'une seule fois avec trois jeux de variables (Affectation, INSTANCE) liés aux noms 'compteur1', 'compteur2', 'compteur3''. La séparation conséquente entre code programme et variables permet l'utilisation répétée et simultanée de blocs fonctionnels à l'intérieur d'autres blocs fonctionnels ou à l'intérieur de programmes sans que l'utilisateur soit contraint de s'occuper du transfert ou de la sauvegarde des variables. Seules les entrées et sorties d'un bloc fonctionnel sont visibles de l'extérieur. Les variables internes restent invisibles à l'utilisateur. Une distinction est opérée entre blocs fonctionnels standard, blocs fonctionnels micrologiciels et blocs fonctionnels définis par utilisateur. Blocs fonctionnels standard et micrologiciels peuvent être utilisés, mais ils ne peuvent pas être modifiés. Chaque utilisateur peut définir ses propres blocs fonctionnels. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 2-22 Généralités Blocs fonctionnels standard et micrologiciels INDRAMAT met à disposition de l'utilisateur des blocs fonctionnels standard et micrologiciels. Ils sont basés sur des propositions IEC et sont réalisés en tant que complément par le constructeur de la SPS L'interface reste constante également dans le cas de bibliothèques et systèmes d'exploitation standard perfectionnés Les blocs fonctionnels standards sont utilisables dans tous les langages de programmation. Déclaration et représentation graphique sont contenues dans /2/. Architecture d’un bloc fonctionnel utilisateur Dans le cadre de la déclaration d'un bloc fonctionnel utilisateur, l'utilisateur définit tout d'abord la forme externe du bloc fonctionnel, c'est-à-dire le nombre, les noms et les types d'entrées ainsi que le nombre, les noms et les types de sorties. A l'intérieur du bloc fonctionnel (FB), des variables peuvent en supplément être définies pour l'utilisation interne. Un accès de l'extérieur à ces variables n'est cependant pas possible. A chaque variable peut correspondre un commentaire (de déclaration) qui caractérise cette variable de façon plus détaillée à chaque endroit où elle apparaît. Un bloc fonctionnel défini par utilisateur doit être déclaré de la façon suivante: ⇒ Mot clé FUNCTION_BLOCK avec le nom. (L'inscription du nom est effectuée automatiquement lorsqu'on entre dans l'éditeur) ⇒ Commentaire de déclaration du bloc fonctionnel. (Les 5 premières lignes continuent à être utilisées pour des fonctions auxiliaires). ⇒ Entre VAR_INPUT..END_VAR , on définit les noms et types, et si nécessaire, également les valeurs initiales des entrées du bloc fonctionnel. N.B. A partir de la version 17, des pointeurs sont également permis ici. A la différence des autres entrées de bloc fonctionnel, les pointeurs doivent être connectés étant donné que la valeur standard initiale est sinon un NIL-POINTER! ⇒ Chaque entrée de pointeur peut indiquer soit une adresse soit un pointeur. ⇒ Entre VAR_INPUT..END_VAR , on définit les noms et types, et si nécessaire, également les valeurs initiales des sorties du bloc fonctionnel. (Des pointeurs ne sont pas permis ici) ⇒ Entre VAR_INPUT..END_VAR , on définit les noms et types, et si nécessaire, également les valeurs initiales des variables internes. Si d'autres FB doivent être utilisés à l'intérieur d'un FB, il faut ajouter au nom respectif du FB leurs noms d'affectation (déclaration). A partir de la version 17, des pointeurs sont permis. Ne pas oublier d’assigner une adresse ⇒ sinon NIL-POINTER (Voir aussi Chapitre 0, ‘FIG. 2-5: TYPE DE données défini par l'utilisateur (ARRAY of STRUCT), ATTENTION Le Type de données OUTILLAGE (Fig. 2-3: Type de données défini par l'utilisateur (STRUCT)) doit être importé auparavant.’, Page 2-8.) ⇒ Entre VAR_INPUT..END_VAR , on définit les noms et types, et si nécessaire, également les valeurs initiales des variables internes qui doivent présenter des propriétés rémanentes Si d'autres FB avec des propriétés rémanentes doivent être utilisés à l'intérieur d'un FB, il faut ajouter au nom respectif du FB leurs noms d'affectation (déclaration). (Des pointeurs ne sont pas permis ici) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-23 ⇒ Entre VAR EXTERNAL..END_VAR, il faut entrer les noms et types de variables qui ont été validées en tant que variables globales au niveau du programme et auxquelles on doit avoir accès directement à l'intérieur du FB. Les variables doivent du point de vue nom et type de données correspondre à leur original au niveau du programme. Dans le cas contraire, une erreur de lien se produit lors de la traduction. Des valeurs initiales ne peuvent être entrées que pour l'original dans le programme. Si l'original au niveau du programme est déclaré dans la plage VAR_INPUT..END_VAR, on ne peut y accéder qu'en lecture. (nouveau dans Version 18) Ensuite, on peut procéder à l'implémentation du bloc fonctionnel. Un FB peut contenir des éléments de langage séquentiel SFC Les langages de programmation suivants sont à disposition: • La liste d'instructions 'IL', • le langage à contacts 'LD' ou • le langage en diagramme de blocs fonctionnels 'FBD'. Le mot clé END_FUNCTION est automatiquement complété par le système de programmation lors de la mémorisation. Exemple Bloc fonctionnel utilisateur Tâche Un bloc fonctionnel AOVR doit convertir l'octet d'entrée IOVR (0...$FF) à la valeur de sortie QOVR correspondant à la valeur maximale MAX. QOVR := (IOVR* MAX )/255. Le module FB doit être configuré via l'entrée ENA de façon à pouvoir être verrouillable Une autre entrée TOG100 commute la sortie QOVR entre la valeur 100% et la valeur spécifique. Si la valeur 0% ou 100% se trouve à la sortie, il faut que ceci soit affiché via les sorties AT_0 ou AT_100. Représentation graphique (Langage à contacts ./. Langage de bloc fonctionnel Extrait de la documentation de la section de déclaration: BOOL BOOL INT BYTE $295 (1$4295 72*$7B 0$;$7B ,295| ,17 %22/ %22/ On procède tout d'abord à la déclaration du nouveau bloc fonctionnel à créer. Fig. 2-9: Déclaration du bloc fonctionnel AOVR DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 2-24 Généralités Un extrait de la documentation sur l'implémentation dans les langages de programmation 'FBD', 'IL' et 'LD' est donné ci-après. LE FB a été entré dans la liste IL et documenté en FBD ou LD. Bloc fonctionnel AOVR en FBD 1 2 (*Validation Override*) ENA 3 4 2 !!2( (*Remise sur 100% OVERRIDE*) TOG100 HMM100 2 HM100 5 6 (*Mise sur 100% OVERRIDE*) TOG100 HM100 2 HMM100 2 7 8 13 14 15 16 17 100 4295 2#1 !!2( (*Cadrer OVERRIDE *) (*DINT, da 129*255 > INT!!*) O100: %<7(B,17 ,17B',17 IOVR %<7(B ,17B ,17B',17 MAX ,17B ',17B,17 ,17B86, 255 ',17B ,17B 4295 (*Etiquette auxiliaire pour sélection 100%*) OE: TOG100 +00 (*Affichage de 0% OVERRIDE*) QOVR 0 18 19 2 !!2 (*Charger/Transférer 100%*) 11 12 6 +0 (*Fixer sur 100% OVERRIDE*) HM100 9 10 5 +0 !!2( $7B (*Affichage de 100% OVERRIDE*) QOVR 100 $7B DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-25 Bloc fonctionnel AOVR en IL 1 2 3 4 5 6 7 8 9 ¦ 10 11 12 13 14 15 16 17 18 19 (*Validation Override*) ....... LD........ ENA............... ....... JMPCN..... OE................ (*Remise sur 100% OVERRIDE*) ....... LD........ TOG100............ ....... ANDN...... HMM100............ ....... AND....... HM100............. ....... RESC...... HM100............. ....... JMPC...... OE................ (*Mise sur 100% OVERRIDE*) ....... LD........ TOG100............ ....... ANDN...... HM100............. ....... ANDN...... HMM100............ ....... SETC...... HM100............. (*OVERRIDE auf 100% festsetzen*) ....... LD........ HM100............. ....... JMPCN..... O100.............. ¦(*Charger/Transférer 100%*) (*Validation *)............... (**).......................... (*Commutation n%/100% OVR*)... (*Etiquette auxiliaire 2*).... (*Etiquette auxiliaire 1*).... (*Etiquette auxiliaire 1*).... (**).......................... (*Commutation n%/100% OVR*)... (*Etiquette auxiliaire 1*).... (*Etiquette auxiliaire 2*).... (*Etiquette auxiliaire 1*).... (*Etiquette auxiliaire 1*).... (**).......................... ....... LD........ 100............... .............................. ....... ST........ QOVR.............. (*OVERRIDE cadré*)............ ....... LD........ 2#1............... .............................. ....... JMPC...... OE................ (**).......................... (*Cadrer OVERRIDE *) (*DINT, da 129*255 > INT!!*) O100:.. LD........ IOVR.............. (*OVERRIDE*).................. ....... BYTE_INT.. .................. .............................. ....... INT_DINT.. .................. .............................. ....... MUL(...... .................. .............................. ....... LD........ MAX............... (*Valeur max. Override*)...... ....... INT_DINT.. .................. .............................. ....... )......... .................. .............................. ....... DIV....... 255............... .............................. ....... DINT_INT.. .................. .............................. ....... INT_USI... .................. .............................. ....... ST........ QOVR.............. (*OVERRIDE cadré*)....... (*Etiquette auxiliaire pour sélection 100%*) OE:.... LD........ TOG100............ (*Commutation n%/100% OVR*)... ....... ST........ HMM100............ (*Etiquette auxiliaire 2*).... (*Affichage de 0% OVERRIDE*) ....... LD........ QOVR.............. (*OVERRIDE cadré*)....... ....... EQ........ 0................. .............................. ....... ST........ AT_0.............. (*Affichage OVERRIDE sur 0%*). (*Affichage de 100% OVERRIDE*) ....... LD........ QOVR.............. (*OVERRIDE cadré*)....... ....... EQ........ 100............... .............................. ....... ST........ AT_100............ (*Affichage OVERRIDE sur 100%*) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 2-26 Généralités Bloc fonctionnel AOVR en LD 1 2 (*Validation Override*) (1$ 2!2( 3 4 (*Remise sur 100% OVERRIDE*) 5 6 (*Fixer sur 100% OVERRIDE*) 7 8 (*Réglage sur 100% OVERRIDE*) 9 10 (*Charger/Transférer 100%*) 12 (*Cadrer OVERRIDE *) 72*+00+0 HM100 5 !!2( 72*+0+00+0 6 +0 2!2 4295 11 !!2( 13 ',17GD !,17 2 %<7(B,17 ,17B',17 ',17B,17 ,17B86, ,295 %<7(B ,17B ',17B ,17B 4295 ,17B',17 0$; ,17B 14 15 (*Etiquette auxiliaire pour sélection 100%*) 16 17 (*Affichage de 0% OVERRIDE*) 18 19 (*Affichage de 100% OVERRIDE*) 2( 72*+00 $7B 4295 $7B 4295 Utilisation de fonctions et de blocs fonctionnels dans des blocs fonctionnels Un bloc fonctionnel utilisateur peut utiliser des fonctions utilisateur, standard et micrologicielles ’FK’, ’fk’ ainsi que des blocs fonctionnels utilisateur, standard et micrologiciels: • fk est une fonction standard ou micrologicielle − Utilisation directe sans importation ou déclaration conformément au langage de programmation sélectionné. • FK est une fonction utilisateur − Importation de la fonction → Editeur d'importation − Utilisation conformément au langage de programmation sélectionné • fb est un bloc fonctionnel standard ou micrologiciel: − Déclaration de l'affectation du bloc fonctionnel FB → de déclaration Editeur − Utilisation conformément au langage de programmation sélectionné − Aucune importation nécessaire, car déjà présent dans la bibliothèque standard • FB est un bloc fonctionnel utilisateur − Importation du bloc fonctionnel → Editeur d'importation DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-27 − Déclaration de l'affectation du bloc fonctionnel FB → de déclaration Editeur − Utilisation conformément au langage de programmation sélectionné L'imbrication peut être poursuivie sur une profondeur quelconque. N.B. Tout appel du bloc fonctionnel 'A' par lui-même (récursivité) est interdit, comme il est interdit que le bloc fonctionnel 'A' appelle le bloc fonctionnel 'B' et que ce dernier utilise à nouveau le bloc fonctionnel 'A' etc. Des erreurs de ce type seront au plus-tard détectées au moment de la traduction par le compilateur. Programme (PROGRAM) Suivant 'EN 61131', un programme est la plus petite unité qui puisse être chargée et mise en route automatiquement. A l'inverse de ce qui se passe avec les blocs fonctionnels et fonctions, l'accès à : • une variable adressée symboliquement mais toutefois liée à une entrée ou sortie précise ou à un emplacement de mémoire et • une variable adressée de façon absolue (entrées, sorties, marqueurs) est autorisé à l'intérieur d'un programme,. Une pré-initialisation de variables de sortie et de marqueurs est possible. A chaque variable peut correspondre un commentaire (de déclaration) qui caractérise cette variable de façon plus détaillée à chaque endroit où elle apparaît. Un programme SPS à définir par utilisateur doit être déclaré de la façon suivante: ⇒ Mot clé PROGRAM avec le nom. L'inscription du nom est effectuée automatiquement lorsqu'on entre dans l'éditeur ⇒ Commentaire de déclaration du programme (Les 5 premières lignes continuent à être utilisées pour des fonctions auxiliaires). ⇒ Entre VAR_INPUT..END_VAR, on définit les noms, les points de branchement et les types des entrées du programme. ⇒ Entre VAR_INPUT..END_VAR , on définit les noms, les points de branchement et les types, et si nécessaire, également les valeurs initiales des sorties du programme. ⇒ Entre VAR_INPUT..END_VAR , on définit les noms et types, et si nécessaire, également les valeurs initiales des variables internes. Une liaison avec un emplacement de la mémoire peut être effectuée. ⇒ Si des blocs fonctionnels doivent être utilisés à l'intérieur du programme, il faut ajouter au type du FB leur nom d'affectation. A partir de la version 17, des pointeurs sont également permis ici. Ne pas oublier d’assigner l’adresse avec "Adresse de" ⇒ sinon NIL-POINTER! ATTENTION ⇒ Entre VAR_INPUT..END_VAR , on définit les noms et types, et si nécessaire, également les valeurs initiales des variables internes qui doivent présenter des propriétés rémanentes Une liaison avec un emplacement de la mémoire peut être effectuée. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 2-28 Généralités Si des blocs fonctionnels doivent être utilisés à l'intérieur du programme, il faut ajouter au type du FB leur nom d'affectation. (Des pointeurs ne sont pas permis ici) ⇒ Entre VAR_GLOBAL..END_VAR, il est possible d'entrer le nom de variables déjà déclarées. La ligne de déclaration restante faisant partie d'un tel nom est complétée comme un commentaire. L'inscription d'une variable dans cette zone fait que cette variable ne peut plus être effacée de la déclaration (variable est utilisée!). (nouveauté à partir de la Version 18) Ensuite, on peut procéder à l'implémentation du programme. Un programme peut contenir des éléments SFC pour structuration. Les langages de programmation suivants sont à disposition: • La liste d'instructions 'IL', • le langage à contacts 'LD' ou • le langage en diagramme de blocs fonctionnels 'FBD'. Le mot clé END_PROGRAM est automatiquement complété par le système de programmation lors de la mémorisation. Exemple: Programme écrit par utilisateur En tant que différence essentielle entre un bloc fonctionnel et un programme, on a déjà mentionné la liaison des entrées et sorties à des entrées et sorties SPS concrètes. Toutes les autres explications données pour les blocs fonctionnels sont également applicables aux programmes. Utilisation de fonctions et de blocs fonctionnels dans des programmes Un programme utilisateur peut utiliser des fonctions utilisateur, standard et micrologicielles 'FK', 'fk' ainsi que des blocs fonctionnels utilisateur, standard et micrologiciels 'FB', 'fb': • fk est une fonction standard ou micrologicielle − Utilisation directe sans importation ou déclaration conformément au langage de programmation sélectionné. • FK est une fonction utilisateur − Importation de la fonction → Editeur d'importation − Utilisation conformément au langage de programmation sélectionné • fb est un bloc fonctionnel standard ou micrologiciel: − Déclaration de l'affectation du bloc fonctionnel FB Editeur de déclaration − Utilisation conformément au langage de programmation sélectionné − Aucune importation nécessaire, car déjà présent dans la bibliothèque standard • FB est un bloc fonctionnel utilisateur: − Importation du bloc fonctionnel → Editeur d'importation − Déclaration de l'affectation du FB → Editeur de déclaration − Utilisation conformément au langage de programmation sélectionné L'imbrication peut être poursuivie sur une profondeur quelconque. N.B. Tout appel du bloc fonctionnel 'A' par lui-même (récursivité) est INTERDIT, comme il est interdit que le bloc fonctionnel 'A' appelle le bloc fonctionnel 'B' et que ce dernier utilise à nouveau le bloc fonctionnel 'A' etc. Des erreurs de ce type seront au plus-tard détectées au moment de la traduction par le compilateur. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-29 Variables globales dans programmes et variables externes dans FB Programme • Une extension de la déclaration est effectuée au moyen de la zone VAR_GLOBAL..END_VAR • La déclaration des variables qui sont nécessaires au programme luimême ou (nouveau) qui doivent être définies en tant que variables globales pour l'accès à partir des FB, s'effectue comme jusqu'à présent dans les zones VAR_INPUT, VAR_OUTPUT, VAR, VAR RETAIN. • La déclaration des variables qui doivent être utilisées en dehors du programme, s'effectue dans la zone VAR_GLOBAL..END_VAR. Il suffit pour ce faire d'inscrire le nom des variables. • Le traitement de la zone est similaire à une utilisation dans l'implémentation: Toute variable doit être déclarée auparavant; l'inscription dans la zone VAR_GLOBAL augmente le nombre des utilisations de 1. La variable ne peut alors plus être effacée dans la déclaration (variable utilisée). • Dans la zone VAR_GLOBAL, on entre seulement le nom des variables déjà déclarées. • Les variables peuvent être reprises par opération en bloc. Seul le nom est alors repris, le reste est laissé de côté. • Dans le champ Type de l'éditeur de déclaration, Zone VAR_GLOBAL, le type de données des variables adressées de façon absolue est affiché. Dans le cas d'opérations en blocs, le type des variables est complété lors de l'écriture dans l'éditeur de texte, si les variables n'ont été déclarées qu'avec adresse absolue. (voir aussi ibit) Déclaration de variables globales Exemple: Nom AT TYP E := Commentaire i A#iDEA0 Idea STRUCT d'entrée int_i %IW3.1 INT un nombre ibit %I1.1.1 VAR_INPUT Å Adresse abs. Type de données END_VAR VAR_OUTPUT int_a %QW2.2 INT 35 un nombre également END_VAR VAR m TWilli variable, type utilisateur rs RS instance d'un fb Twilli retain var, type utilisateur END_VAR VAR RETAIN m_r END_VAR VAR_GLOBAL i A#iDEA0 IDEA STRUCT d'entrée ibit %I1.1.1 BOOL Adresse abs. Type de données int_a %QW2.2 Å INT un nombre également m tWilli variable, type utilisateur m_r tWilli retain var, type utilisateur END_VAR L’inscription d’instances de bloc fonctionnel dans la zone VAR_GLOBAL n’est pas permise jusqu'à présent. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 2-30 Généralités Bloc fonctionnel • La déclaration du module FB est élargie de VAR_EXTERNAL Il s'agit d'une véritable section de déclaration, le module peut être écrit indépendamment du programme. Des variables dans cette zone sont étroitement apparentées aux marqueurs, elles n'influencent pas l'interface du FB. • Les variables peuvent, à l'intérieur de la déclaration, être décalées de VAR, VAR_RETAIN, VAR_INPUT, VAR_OUTPUT vers VAR_EXTERNAL. Ces décalages peuvent être effectués avec les outils existants jusqu'à présent, le cas échéant avec ASCII. • Si, lors d'opérations en bloc dans un FB, des adresses absolues sont lues, elles seront supprimées automatiquement sans message d'erreur. Il est cependant impératif que chaque variable soit dotée d'un type de données (règle valable pour toutes les zones de la déclaration!!!). • Les propriétés réelles des variables convenues dans VAR_EXTERNAL sont définies par déclaration dans le programme (RETAIN, read_only avec VAR_INPUT). Lors de la programmation du FB, elles ne peuvent pas être supposées connues et, par conséquent, ne peuvent pas être vérifiées! La vérification a lieu seulement au moment de la traduction/liaison. • <Touche Majuscule>+<F1>-Boîte de dialogue Aide: Dans la boîte de dialogue de chaque FB, le message suivant: „Variable externe attendue“ est affiché. Déclaration de variables externes Nom AT TYPE := Commentaire VAR_EXTERNAL I iDEA Accès aux variables d'entrée (r/o) ibit BOOL Abs. Adresse Å Datentyp Int_q INT M tWilli Type de données utilisateur END_VAR Exemples pour application Des exemples sont présentés dans /5/, Jeu d'instructions SPS, avec les accès -POINTEUR. Blocs fonctionnels standard et Fonctions standard dans la bibliothèque INDRAMAT met à la disposition de l'utilisateur une base composée de: • Blocs fonctionnels standard et micrologiciels • Fonctions standard et micrologicielles et de • Types de données standard et micrologiciels dans une bibliothèque faisant partie intégrante du système. Les sections de déclaration de ces blocs fonctionnels, fonctions et types de données restent conservées même en cas de changement de version du système de programmation. Le code machine correspondant à ces éléments se trouve déjà dans la commande, ce qui signifie qu'il n'y a aucune perte de temps pour chargement lors de l'utilisation des éléments. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Généralités 2-31 Représentation de programmes, blocs fonctionnels, fonctions et types de données en format ASCII A partir de la version 17 incluse, il est possible de stocker des fichiers de données en format ASCII. Sous ce format, les fichiers sont stockés indépendamment de la version utilisée et restent ainsi compatibles avec les versions inférieures. (Dans les versions inférieures à 17, les éditeurs – si existants – se servent du même format pour Ecriture de bloc/ lecture de bloc). Le type de l'archivage repose sur la DIN/EN 61131-3 (Texte structuré (ST) / IL) Les différents éditeurs y contribuent dans l'ensemble du fichier. Les sections suivantes peuvent apparaître dans les différents types de POU: Programme 1. En tête POU PROGRAM abc 2.a Données IO IO ... END_IO 3.a Données d'importation IMPORT ... END_IMPORT 4. Déclaration DECLARATION ... END_DECLARATION 5.b Association de données de process (liaison) IMPLEMENTATION_PDM END_IMPLEMENTATION 6.b Simulation IO IMPLEMENTATION_SIM ... END_IMPLEMENTATION 7.b Implémentation 2ms IMPLEMENTATION_FAST .. END_IMPLEMENTATION 8.b Implémentation IMPLEMENTATION ... END_IMPLEMENTATION 9. Fin POU END_PROGRAM seulement pour IBS G03 L'ordre à l'intérieur de 'a' et 'b' peut être modifié à discrétion. Les points 1. et 9. sont absolument indispensables. Les points 2. à 8. sont optionnels. Blocs fonctionnels 1. En tête POU FUNCTION_BLOCK abc 3 Données d'importation IMPORT ... END_IMPORT 4. Déclaration DECLARATION ... END_DECLARATION 8. Implémentation IMPLEMENTATION ... END_IMPLEMENTATION 9. Fin POU END_ FUNCTION_BLOCK Les points 1. et 9. sont absolument indispensables. Les points 3. à 8. sont optionnels. Fonctions 1. En tête POU FUNCTION abc: fk_type 3. Données d'importation IMPORT ... END_IMPORT 4. Déclaration DECLARATION ... END_DECLARATION 8. Implémentation IMPLEMENTATION ... END_IMPLEMENTATION 9. Fin POU END_ FUNCTION Les points 1. et 9. sont absolument indispensables. Les points 3. à 8. sont optionnels. Types de données 1. En tête POU Type abc 3. Données d'importation IMPORT ... END_IMPORT 4. Déclaration DECLARATION ... END_DECLARATION 9. Fin POU END_ TYPE Les points 1. 4. et 9. sont absolument indispensables. Le point 3. est optionnel. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 2-32 Généralités Un commentaire suivant l'en-tête POU est transmis à l'éditeur de déclaration en tant que commentaire de déclaration. Les sections sur les différents éditeurs contiennent des exemples de la façon dont chaque éditeur archive ses composants. L'utilisateur fera bien de n'utiliser tout d'abord que le chemin Mémoriser Fichier/ASCII (dans l'éditeur de texte) Charger Fichier/ASCII (de l'éditeur de texte). Ensuite, il pourra sans difficulté amorcer ses propres essais de programmation dans l'éditeur de texte. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-1 3 Détermination de la configuration matérielle, Tableaux IO Au début de la programmation proprement dite, il est nécessaire d'entrer la configuration matérielle prévue dans des tableaux IO (Input-Output) du système de programmation. Chaque tableau IO enregistre les postes d'un bus. Le nombre et les types des bus supportés sont fonction du type de la commande (MTC200, MTCNC ...). L'utilisateur peut entrer la configuration désirée sans tenir compte des bus et/ou postes actuellement connectés à la commande. Ce n'est logiquement qu'une fois cette définition effectuée que l'on peut déclarer des entrées et sorties à des adresses absolues. Avant le chargement du programme dans la SPS, les données créées ici sont comparées avec les données matérielles effectivement existantes de la commande. A partir de la version 16, il est possible de connecter en attente des bus/postes concrètement absents en permettant ainsi un téléchargement également en cas de périphérie réduite. (Les entrées et sorties concrètement absentes sont alors remplacées par un drapeau). TABLEAU IO Tableau IO N° LWL- I/O Canal Définition de la con1 2 Boucle Type 0123456789.0123456789.01234567890.. figuration. 5(&2,,,444 (seulement avec programmes!) ,03257 ,03257)520Commentaire )81&7,21(*Fonctions définies par utilisateur*) Import de type de 1$1'(*Fonction NAND avec 8 entrées*) de données (TY), 125(*Fonction NOR avec 8 entrées *) fonctions (FK) et blocs blocs fonctionnels (FB)util. )8 DECLARATION avant leur utilisation $ Nom AT TYPE := Commentaire % VAR_INPUT (* Déclaration des entrées *) DDéclaration de variables & ON %E0.1.1 (* Introducteur ´ *) et blocs fonctionnels ALARME %E2.5.2 (* Capteur *) FB et fb) avant leur TEM %E3.2.4 (* Moniteur de température *) utilisation (1'B9$5 ENouvelle création de VAR_OUTPUT (* Déclaration des sorties *) de types de données utilisateur MOTEUR 6)& /8( )%' Entrée du corps de 9( /' programme, bloc fonctionnel ( ,/ ou de fonction (*Valid. du mot. du ventil.*) dans éditeur LD, IL /'(,1 Mode m.ven. ou FBD, le cas échéant 2517(0 7HPSHUDWX!! avec éléments SFC. $1'1$/$50 $ODUPDEVF!! 67MOTEUR (* Mot. d.ven. Fig. 3-1: Création d'un programme 'PR', bloc fonctionnel 'FB', d'une fonction 'FK' ou d'un type de donnée 'TY' ⇒ Veuillez s.v.p. vous informer sur les bus et, par conséquent sur les tableaux IO assistés par le type concret de votre commande. Voir dans ce contexte la description 'Documentation technique', Dossier 4. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 3-2 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS 3.1 Principe de base de la configuration Dans l'éditeur IO (Appel via l'option de menu 'Projet/Affectation IO' ou par la combinaison des touches <Alt>+<I>) , on entre les différentes unités connectées à la SPS (postes), leur adresse interlocuteur, leur type, nombre et le type des canaux d'entrées et de sorties (éléments enfichables) ainsi que leur affectation par rapport à la boucle. En fonction du type de commande, on peut connecter jusqu'à 4 systèmes bus (boucles) externes au maximum. Par ailleurs, il est possible de configurer des systèmes bus internes (boucle SERCOS et RECO-SPS) La figure 3.2 Fig. 3-2: Fenêtre de sélection 'Editeur IO' représente la fenêtre de sélection des boucles (Option de menu PROJET/ AFFECTATION IO). Fig. 3-2: Fenêtre de sélection 'Editeur IO' La fenêtre montre: • à gauche, les boucles à disposition, • au centre, les bus nécessaires pour le programme actuel et • à droite, les bus réellement existants pour la commande. La colonne centrale est configurable par l'utilisateur tandis que la colonne de droite ne sert qu'à l'affichage. Désignation Version 17: Désignation Version 18: Type de commande Interbus Master G3 IBM1 (Interbus-Master) MT-CNC Interbus Master G4 IBM2 (Interbus-Master) ISP200-P/R Profibus Master DPM01(Profibus-Master) ISP 200-P/R Profibus Slave DPS1(Profibus-Slave) ISP200-P/R SIO-3 SIO3 (Seriell Ports) MT-CNC LWL-Master LWL-Master MT-CNC LWL-Slave LWL-Slave MT-CNC Connexion CLC CLC-P02 (Synax) Synax-ISP200 Connexion CLC CLC-P02 (GPS) VM-ISP200 DeviceNet-Master DNM01(DeviceNet-Master) ISP200-P/R PC104-I/O PEA3 /4 ISP200-P/R DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-3 Tableau IO du Maître à fibres optiques (LWL-Master), MT-CNC Architecture du maître à fibres optiques Les données suivantes sont prédéfinies par l'architecture de la connexion bus et des postes posés. • Largeur de données des éléments enfichables: 8 bits, 16 bits, 32 bits en fonction du type • Maximum d'éléments enfichables par poste: 32, 64 (0..31...63) • Nombre max. de postes par boucles 16 (1..16) Fig. 3-3: Connexion du maître à fibres optiques LWL avec des postes possibles Poste avec affectation IO librement sélectionnable librement sélectionnable définie Poste avec affectation IO définie RECO Unité IO posée BTM-1 Terminal de commande 1 BTM-3/4 Terminal de commande 3/4 MTC-S Accouplement Commande esclave SPS PLS Accouplement carte d'insertion PC RECO2 Unité IO posée La dotation en entrée et sorties est à définir par l'utilisateur L'ordre des entrées et sorties est défini par le constructeur. L'utilisateur ne peut pas effacer des octets I/O nécessaires. Edition du tableau IO du Maître à fibres optiques L'introduction de l'affectation des entrées et sorties s'effectue sous forme de tableaux (voir Fig. 3-3: Connexion du maître à fibres optiques LWL avec des postes possibles). Pour chaque poste (possible) sont prévues deux lignes de tableau: • La ligne supérieure correspond à l'affectation programmée, • la ligne inférieure à l'affectation réelle existante dans la SPS. (en mode Offline, la ligne inférieure du tableau est remplie avec un '?'.) La première colonne contient l'adresse matérielle du poste (définissable par le poste) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 3-4 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS Dans la seconde colonne, il faut entrer l'adresse logique librement sélectionnable entre 1…999 au-dessus de 'SPS'. A l'inverse de l'adresse matérielle qui peut apparaître une fois dans chaque tableau IO, l'adresse logique ne peut être donnée qu'une seule fois dans tout le programme. Les positions non définies ou non-utilisées sont affichées avec '.' (Boucle à fibres optiques, affectation des éléments enfichables) ou ‘....’(Type). Les entrées sont affichées avec 'I" et les sorties avec 'Q' ou avec 'I'/'O', en fonction des options/'Généralités'. Pour le RECO représenté sur la figure, on a ainsi les adresses suivantes: • • Adresse matérielle: Adresse logique: • • Adresse logique: Adresse logique: • Adresse logique: 2 (Préréglage avec tourne-vis....) 4, Canal 0, entrées: %IB4.0, %I4.0.0 ... %I4.0.7 ........ 4, Canal 3, entrées: %IB4.3, %I4.3.0 ... %I4.3.7 4, Canal 4, entrées: %QB4.4, %Q4.4.0 ... %Q4,40,7 ........ 7, Canal 4, entrées: %QB4.4, %Q4,7.0 ... %Q4,70,7 Le canal 7 n'est pas utilisé dans le programme. Les postes 5, 6 et 7 font encore défaut au moment de la représentation sur la figure. (Ligne ‘SPS’ encore vide.) En cours d'introduction, la ligne de pied de page montre les possibilités actuelles en fonction de la position du curseur. Avec la combinaison de touches <Ctrl>+<F1>, on peut appeler une aide en ligne sur la position respective. En activant la touche de fonction <F6>, il est possible d'éditer un commentaire pour chaque poste et de l'afficher avec la combinaison de touches <Ctrl>+<F6>. En fonctionnement couplé, il est alternativement à l'introduction manuelle possible de lire l'affectation IO à partir de la commande. (voir Chapitre ‘Menu local de l'éditeur IO’, Page 3-34) Le contrôle syntaxe automatique empêche que des entrées et sorties déjà utilisées soient réécrites. Avant chaque chargement du programme dans la commande, un contrôle est effectué afin de voir si les entrées et sorties nécessaires dans le programme sont vraiment présentes ou si elles sont au moins commutées en attente. Des postes ou encore des canaux momentanément non disponibles peuvent être commutés en attente: ⇒ Curseur sur poste (numéro logique ou type IO - <Insert> ⇒ Curseur sur canal (I ou Q ou respectivement I ou O) - <Insert> Dans ce cas, le remplacement de la connexion réelle est effectué par une zone drapeau. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-5 Représentation ASCII- du Maître à fibres optiques A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 3-3: Connexion du maître à fibres optiques LWL avec des postes possibles on a alors la sortie suivante: Poste avec affectation IO librement sélectionnable Poste avec affectation IO définie RECO Unité IO posée BTM-1 Bedienterminal 1 BTM-3/4 Terminal de commande 3/4 MTC-S Ankopplung SPS SlaveSteuerung PLS Accouplement carte d'insertion PC RECO2 Unité IO posée Représentation ASCII Remarques sur la représentation IO Début de la section Editeur IO LOOP AT 2: 16#7000 ’LWL-Master’ Identification du LWL-Master, ici sur boucle 2 Master Identification Maître 1 AT 1: 16#0007 ’BTM-3/4’ MODULE (*Terminal de commande 3/4*) AT 0..1: 16#0002 ’QB’ AT 2..3: 16#0001 ’IB’ AT 4..5: 16#0002 ’QB’ AT 6.0,7: 16#0001 ’IB’ AT 8..9: 16#0002 ’QB’ AT 10.0,11: 16#0001 ’IB’ AT 12..13: 16#0002 ’QB’ AT 14.0,15: 16#0001 ’IB’ AT 16..17: 16#0002 ’QB’ AT 18.0,19: 16#0001 ’IB’ AT 20: 16#0002 ’QB’ AT 21.0,23: 16#0001 ’IB’ AT 27..29: 16#0001 ’IB’ AT 30..31: 16#0002 ’QB’ END_MODULE BTM 3/4 <F6> - Commentaire au début de la liste de modules 4 AT 2: 16#0001 ’RECO’ MODULE (*Exemple RECO*) AT 0..3: 16#0001 ’IB’ AT 4..6: 16#0002 ’QB’ END_MODULE RECO <F6> - Commentaire au début de la liste de modules 3 AT 3: 16#0002 ’RECO-2’ MODULE (*Unité posée I/O*) AT 10..11: 16#0001 'IB' AT 14..15: 16#0002 'QB' AT 16.0,19: 16#0001 'IB' AT 20..23: 16#0002 'QB' END_MODULE RECO <F6> - Commentaire au début de la liste de modules 5 AT 4: 16#0003 ’BTM-1’ MODULE (*commentaire*) AT 0..11: 16#0002 ’QB’ AT 16.0,28: 16#0001 ’IB’ AT 30..31: 16#0001 ’IB’ END_MODULE BTM 1 <F6> - Commentaire au début de la liste de modules 6 AT 5: 16#0004 ’MTC-S’ MODULE (*commentaire*) AT 0.0,15: 16#0002 ’QB’ AT 16.0,31: 16#0001 ’IB’ END_MODULE MTC-S <F6> - Commentaire au début de la liste de modules 7 AT 6: 16#0005 ’PLS’ MODULE (*commentaire*) AT 0.00,3: 16#0001 ’IB’ AT 4..7: 16#0002 ’QB’ PLS <F6> - Commentaire au début de la liste de modules DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 3-6 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS END_MODULE END_MASTER END_LOOP END_IO Fin du Maître Fin de la boucle Fin de la section Editeur IO DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-7 Tableau IO de l'esclave à fibres optiques (LWL-Slave), MT-CNC Architecture de l'esclave à fibres optiques La connexion de l'esclave à fibres optiques signifie l'occupation d'une boucle complète pour la commande. Dans le tableau IO, on ne peut prédéfinir qu'un seul poste MTC-M pour l'accouplement Maître / esclave. L'affectation IO est définie de façon fixe pour ce poste, les connexions superflues peuvent être effacées. Fig. 3-4: Esclave à fibres optiques avec poste MTC-M Edition du tableau IO de l'esclave à fibres optiques L'édition s'effectue comme avec le Maître à fibres optiques (voir Chapitre 0, Page 3-2). Représentation ASCII l'esclave à fibres optiques A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 3-4: Esclave à fibres optiques avec poste MTC-M on a alors la sortie suivante: Représentation ASCII Remarques sur la représentation IO Début de la section Editeur IO LOOP AT 2: 16#7001 ’LWL-Slave’ Slave Identification esclave 200 AT 1: 16#0006 ’MTC-M’ MODULE (*commentaire*) AT 0..15: 16#0001 ’IB’ AT 16..31: 16#0002 ’QB’ END_MODULE END_SLAVE END_LOOP END_IO Identification du LWL-Slave, ici sur boucle 2 MTC-M <F6> - Commentaire au début de la liste de modules Fin esclave Fin de la boucle Début de la section Editeur IO Tableau IO IBM1 (IBS-Master G3), MT-CNC Architecture de l’IBM1 En raison de la topologie INTERBUS-S, les paramètres suivants sont prédéfinis: • Nombre max. de modules INTERBUS-S • Nombre max. de postes bus à distance: • Nombre max. de postes bus locaux: 256 256 suivant capacité de charge électrique du poste bus à distance. Cette topologie est vérifiée lorsqu'on quitte l'éditeur et, le cas échéant, un message d'erreur correspondant est émis. Les entrées et sorties sont divisées en canaux de respectivement 8 bits. EXCEPTION: Module binaire avec une largeur de données de 4 bits, dans la mesure où ils sont supportés par le micrologiciel ( les 4 bits inférieurs doivent être déclarés, les 4 bits supérieurs restent libres, les accès octets sont verrouillés!). DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 3-8 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS Edition du tableau IO IBM1 (IBS-Master G3) L'introduction de l'affectation des entrées et sorties s'effectue sous forme de tableau conformément à la fig. suivante. Fig. 3-5: IBM1, Interbus Master G3 Pour chaque poste deux lignes de tableau sont prévues: • La ligne supérieure correspond à l'affectation programmée, • la ligne inférieure à l'affection réelle existante dans la SPS. (en mode Offline, la ligne inférieure du tableau est remplie avec un '?'.) La succession des postes dans l'ordre et sans vide correspond à la disposition des appareils sur la boucle Interbus-S. La première colonne contient l'adresse matérielle du poste. Les positions non définies ou non-utilisées sont affichées avec '.' fectation des éléments enfichables ) ou ‘....’(Type). (af- Les entrées sont affichées avec 'I" et les sorties avec 'Q' ou avec 'I'/'O', en fonction des options/'Paramètres généraux'. Le tableau doit débuter avec un poste de bus à distance (Caractérisation '*'). L'introduction du poste Interbus-S s'effectue via les instructions de pied de page. Avant sélection d'un module Interbus-S, il faut avoir attribué au poste son adresse logique de poste. Le module de bus à distance représenté dans la figure IBS_ST_24_BK-T ne comporte aucune connexion I/O propre. On a alors pour le (module bus local) IB_ST_24_DO_32/2 représenté sur la figure, les adresses suivantes: Sorties: Sorties: %QB102.0, ... %QB102.3, %Q102.0.0 ... %Q102,00,7 ... ... %Q102.3.0 ... %Q102,30,7 L'adresse logique reste constante indépendamment d'un décalage de position dans la boucle (Modification de l'adresse matérielle). En cours d'introduction, la ligne de pied de page montre les possibilités actuelles en fonction de la position du curseur. En cas de commande couplée, le système relit quels sont les postes qui sont réellement présents. Si ces postes ne présentent que des entrées ou sorties, le code d'identification lu peut être interprété sans équivoque. Les 'Q' ou 'I' correspon- DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-9 dants sont alors enregistrés. (Voir Poste 2, code d'identification $02BD, 4 octets Sorties.) Si les postes sont pourvus d'un port mixte I/O, l'affectation maximale possible est affichée avec 'X'. Exemple: Poste 5 (voir Fig. 3-5: IBM1, Interbus Master G3) Code Ident $01BF, ‘XXXX’ A ce code d'identification peuvent être affectés des modules avec ‘QQ.I’, ‘QQI.’, ‘QQII’, ‘Q.II’, ‘QII.’ La ligne de sélection INTERBUS (voir Fig. 3-6: IBM1, IBS-Editor G3, Travail avec liste de sélection ) peut être limitée par les commutateurs suivants: • en concordance avec le code d'identification SPS, judicieux en cas de commande couplée • en concordance avec le code d'identification du programme judicieux, si programme et SPS sont différents Fig. 3-6: IBM1, IBS-Editor G3, Travail avec liste de sélection Le champ de sélection est limité au poste correspondant au numéro d'identification. En tant que dernier poste, on peut inscrire le/les registres de liaisons des données de process. Ces registres sont implémentés pour permettre des réactions plus rapides de l'Interbus-S. Avec la combinaison de touches <Ctrl>+<F1>, on peut appeler une aide en ligne sur la position respective. En activant la touche de fonction <F6>, il est possible d'éditer un commentaire pour chaque poste et de l'afficher avec la combinaison de touches <Ctrl>+<F6>. En fonctionnement couplé, il est alternativement à l'introduction manuelle possible de lire l'affectation IO à partir de la commande. (voir Chapitre ‘Menu local de l'éditeur IO’, Page 3-34) Avant le chargement du programme dans la SPS, les données sont comparées avec les données matérielles réellement présentes de la commande; une concordance intégrale des postes entrés avec les postes Interbus-S réels étant exigée. Le contrôle automatique empêche l'effacement de postes dont les adresses d'entrée ou de sortie sont déjà utilisées dans le programme utilisateur. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 3-10 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS Représentation ASCII de l'IBM1 A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 3-5: IBM1, Interbus Master G3 on a alors la sortie suivante: Représentation ASCII Remarques sur la représentation IO Début de la section Editeur IO LOOP AT 1: 16#1000 ’IBM1 (Interbus-S-Master)’ Identification IBM, IBS-Master (G3), ici sur boucle 1 Master Identification Maître 101 AT 1: 16#0008 ’IBS_ST_24_BK-T’ (*Borne de bus ST sans IO*) MODULE (*<F6> Commentaire*) END_MODULE IBS_ST_24_BK-T avec commentaire sur le module et <F6> - Commentaire au début de la liste de modules 102 AT 2: 16#02BD ’IB_ST_24_DO_32/2’ (*Module de sortie ST avec 32 output*) MODULE (*<F6> commentaire*) AT 0..3: 16#0002 ’QB’ END_MODULE IBS_ST_24_DO-32/2 avec commentaire sur le module et <F6> - Commentaire au début de la liste de modules 103 AT 3: 16#02BD ’IB_ST_24_DO_32/2’ (*Module d'entrées ST avec 32 input*) MODULE (*<F6> commentaire*) AT 0..3: 16#0001 'IB' END_MODULE IBS_ST_24_DI-32/2 avec commentaire sur le module et <F6> - Commentaire au début de la liste de modules 104 AT 4: 16#0008 ’IBS_ST_24_BK-T’ (*Borne de bus ST sans IO*) MODULE (*<F6> Commentaire*) END_MODULE ...... 105 AT 5: 16#01BF ’IBS STME 24 DIO 8/8’ (*QqIi, ancien module d’octets*) MODULE AT 0..1: 16#0002 ’QB’ AT 2..3: 16#0001 ’IB’ END_MODULE ...... ... ...... END_MASTER Fin Maître END_LOOP Fin de la boucle END_IO Début de la section Editeur IO Création de nouveaux postes dans la liste de sélection Interbus-SSi l'utilisateur désire inscrire de nouveaux postes dans la liste de sélection Interbus-S, il lui faut emprunter les informations suivantes dans la documentation du constructeur du module. • le numéro d'identification (du module) on a besoin du numéro sous forme hexadécimale. • l'équipement avec canaux d'entrées et de sorties, particulièrement important pour les modules avec ports mixtes vu qu'ils ne peuvent pas donner d'informations sur l'équipement exact, même online. Exemple: Numéro ident module 191 // $BF Sorties: 8 Octets de vide: 1 Entrées: 16 Le nouveau nom (au maximum 20 caractères) devrait également être emprunté à la documentation de l'appareil; il peut cependant être modifié à discrétion (comme dans l'exemple), DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-11 Un commentaire sur le module (maximum 72 caractères) peut être convenu. La Fig. 3-7: Extension de la liste de sélection Interbus-S suivante offre une proposition: Fig. 3-7: Extension de la liste de sélection Interbus-S Le nouveau module correspond ensuite au code d’identification 01BF, XXXX en tant qu'équipement. • Décalage = 0 Ligne sorties binaires: Le premier octet comprend les 8 sorties (aucun déport). • Décalage = 1 Ligne entrées binaires: après les sorties, un octet reste vide suivi ensuite de 16 entrées. • Des recoupements entre entrées et sorties dus à des valeurs de décalage incorrectes sont inhibés. En Format ASCII, ce module se présent comme suit: Exemple: Adresse matérielle 11, adresse logique 125, commentaire utilisateur <F6>: Unité de retournement A13 125 AT 11: 16#01BF ’Q.II Module de rempl.’ (*seulement pour utilisation interne dans entreprise*) MODULE (*Unité de retournement A13*) AT 0: 16#0002 'QB' AT 2..3: 16#0001 'IB' END_MODULE DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 3-12 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS Tableau IO IBM2 (IBS-Master G4), ISP200-P/R Architecture de l’IBM2 (IBS-Masters G4) Le passage du logiciel IBS-Master G3 au logiciel IBS-Master G4 entraîne toute une série de modifications essentielles: • Le traitement des données de processus qui existait jusqu'à présent n'est plus prévu, en cas de besoin il doit être remplacé par l'implémentation 2ms (Traitement/Extras/Implémentation 2 ms) • Le bus à distance unidimensionnel est remplacé par un bus à distance bidimensionnel. A côté des bornes de bus qui permettaient jusqu'à présent de piquer horizontalement un bus local, se trouvent maintenant en supplément des bornes pour un prolongement du bus à distance et pour piquage d'un autre bus à distance. Formes des bornes du IBSMaster G4 Borne de bus maître avec piquage pour bus à distance; prolongement du bus maître Borne de bus maître avec piquage pour bus local; prolongement du bus maître Borne de bus maître avec piquage pour bus local; fin du bus maître Poste-bus maître, prolongement bus maître/terminal Poste-bus local, prolongement bus local/terminal • Il faut s'attendre à toute une série de formes de transition, lorsque de nouveaux modules matériels sous le logiciel G3 ou un matériel ancien doivent fonctionner sous le logiciel G4 (par exemple et entre autres module d'octets). • Pour le système de programmation, on a prévu un point d'introduction supplémentaire pour fichiers CMD, fichier du configurateur Phoenix externe (importation seulement). Edition du tableau IO de l’IBM2 L'introduction de l'affectation des entrées et sorties s'effectue sous forme de tableau conformément à la fig. suivante. Fig. 3-8: IBM2, Entrée Offline DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-13 Pour chaque poste (possible) deux lignes de tableau sont prévues: • La ligne supérieure correspond à l'affectation programmée, • la ligne inférieure à l'affection réelle existante dans la SPS. (en mode offline, on a supprimé la ligne inférieure pour plus de clarté). La succession dans l'ordre sans vide des postes correspond à la disposition des appareils sur la boucle Interbus-S. Les positions non définies ou non-utilisées sont affichées avec '.' fectation des éléments enfichables ) ou ‘....’(Type). (af- 1ère Colonne comprend le numéro de ligne du poste. Elle n'a pas de signification importante. 2ème colonne elle contient l'adresse logique des données relues SPS pour online. 3ème colonne elle donne un aperçu des niveaux du bus et de la position des postes. 4ème colonne Le numéro IBS contient le numéro du segment bus et la position du poste dans le segment. Pour les postes de bus à distance la position = 0; Les postes de bus locaux ont le même numéro de segment que la borne de bus à distance par laquelle ils sont connectés au bus à distance. 5. 5ème colonne contient le code d'identification, 6ème colonne elle contient le code d'identification utilisateur du poste IBS. Les entrées sont affichées avec 'I" et les sorties avec 'Q' ou avec 'I'/'O', en fonction des options/'Paramètres généraux' ( 8 bits respectivement pour 'I' et 'Q'). Le tableau doit débuter avec un poste de bus à distance. L'introduction du poste Interbus-S s'effectue via les linstructions de pied de page. Avant sélection d'un module IBS, il faut avoir attribué au poste son adresse logique de poste. Le module de bus à distance représenté dans la figure IBS_ST_24_BK-T ne comporte aucune connexion I/O propre. On a alors pour le (module bus local) IB_ST_24_DO_32/2 représenté sur la figure, les adresses suivantes: Sorties: Sorties: %QB102.0, %Q102.0.0 ... %Q102,00,7 ... ... ... %QB102.3, %Q102.3.0 ... %Q102,30,7 L'adresse logique reste constante indépendamment d'un décalage de position dans la boucle. En cours d'introduction, la ligne de pied de page montre les possibilités actuelles en fonction de la position du curseur. En cas de commande couplée, le système relit quels sont les postes qui sont réellement présents. Si ces postes ne présentent que des entrées ou sorties, le code d'identification lu peut être interprété sans équivoque. Les 'Q' ou 'I' correspondants sont alors enregistrés. (Voir Poste 2, code d'identification $02BD, 4 octets Sorties.) Si les postes sont pourvus d'un port mixte I/O, l'affectation maximale possible en mode online est affichée avec 'X'. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 3-14 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS Exemple: Poste 5: Code d'ident $01BF, ‘XXXX’ Le code d'identification correspond aux modules: ‘QQ.I’, ‘QQI.’, ‘QQII’, ‘Q.II’, ‘QII.’. La ligne de sélection INTERBUS (voir Fig. 3-8: IBM2, Entrée Offline) peut être limitée par les commutateurs suivants: • en concordance ave le code d'identification SPS judicieux en cas de commande couplée • en concordance avec le code d'identification du programme judicieux, si programme et SPS sont différents • Des recoupements entre entrées et sorties dus à des valeurs de décalage incorrectes sont inhibés. Le champ de sélection est limité au poste correspondant au numéro d'identification. Fig. 3-9: Décisions de l'utilisateur pour la poursuite Grâce à la possibilité G4 du bus à distance qui a été branché, la question de savoir si le poste suivant (7/108 sur la figure) doit être inséré au même niveau sous le poste (6/106), module 4.0 ou sous le poste (6/107), module 3 ou bien si un nouveau bus à distance doit être ouvert au niveau supérieur suivant apparaît alors au droit des postes qui supportent cette option. ⇒ convenir module 7/108, curseur dans le champ 'niveau'', '0', sélectionner niveau suite, par exemple suite vers le bas A l'aide de l'instruction dans la ligne de pied de page <0> Edit, le numéro ème colonne peut être modifié. IBS attribué automatiquement dans la 4 Seule la position respectivement variable (avec bornes de bus à distance, le numéro de segment du bus, avec les postes locaux le numéro de position) peut être modifiée. Une modification du numéro du segment de bus de la borne de bus à distance entraîne automatiquement une adaptation de tous les postes de bus local qui lui correspondent. Un contrôle est effectué afin de vérifier qu'il n'y a pas de numéro IBS utilisé plusieurs fois. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-15 Remarques pour le traitement: • Le décalage des différents postes au moyen des Instructions bloc est possible. Les numéros IBS sont alors ajustés automatiquement. • Avec la combinaison de touches <Ctrl>+<Y>, il est possible d'effacer certains postes: soit directement en ce qui concerne les postes de bus local, soit a posteriori en ce qui concerne les bornes de bus à distance, c'est-à-dire seulement lorsqu'il n'y a plus de poste de bus local attaché à la borne de bus à distance. • Avec la combinaison de touches <Ctrl>+<F1>, on peut appeler une aide en ligne sur la position respective. En activant la touche de fonction <F6>, il est possible d'éditer un commentaire pour chaque poste et de l'afficher avec la combinaison de touches <Ctrl>+<F6>. En fonctionnement couplé, il est, alternativement à l'introduction manuelle, possible de lire l'affectation IO à partir de la commande. (voir Chapitre ‘Menu local de l'éditeur IO’, Page 3-34) Avant le chargement du programme dans la SPS, les données sont comparées avec les données matérielles réellement présentes de la commande; une concordance intégrale des postes entrés avec les postes Interbus-S réels étant exigée. Le contrôle automatique empêche l'effacement de postes dont les adresses d'entrée ou de sortie sont déjà utilisées dans le programme utilisateur. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 3-16 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS Représentation ASCII de l'IBM2 A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 3-8: IBM2, Entrée Offline on a alors la sortie suivante: Représentation ASCII Remarques sur la représentation IO LOOP AT 1: 16#9000 ’IBM2 Interbus-S-Master’ Début de la section Editeur IO Identification IBM2 (IBS-Master G4), ici sur boucle 1 Identification Maître IBS_ST_24_BK-T avec commentaire sur le module et <F6> Commentaire au début de la liste de modules Master 101 AT 1,0: 16#0008 ’IBS_ST_24_BK-T’ (*Borne de bus ST sans IO*) MODULE (*<F6> Commentaire*) END_MODULE 102 AT 1,1: 16#02BD ’IB_ST_24_DO_32/2’ (*Module de sortie ST avec 32 output*) MODULE (*<F6> commentaire*) AT 0..3: 16#0002 ’QB’ END_MODULE 103 AT 1,2: 16#02BD ’IB_ST_24_DO_32/2’ (*Module d'entrées ST avec 32 input*) MODULE (*<F6> commentaire*) AT 0..3: 16#0001 'IB' END_MODULE 104 AT 2,0: 16#0008 ’IBS_ST_24_BK-T’ (*Borne de bus ST sans IO*) MODULE (*<F6> Commentaire*) END_MODULE 105 AT 2,1: 16#01BF ’IBS STME 24 DIO 8/8’ (*QqIi, ancien module d’octets*) MODULE AT 0..1: 16#0002 ’QB’ AT 2..3: 16#0001 ’IB’ END_MODULE 106 AT 4,0: 16#010B ’BTM1*.1-BK_I/O’ (*Indramat BTM, borne bus avec 16E/16A*) MODULE AT 0..1: 16#0002 ’QB’ AT 2..3: 16#0001 ’IB’ END_MODULE CONNECTED_WITH 107 AT 3.0: 16#010B ’BTM1*.1-BK_I/O’ (*Indramat BTM, borne bus avec 16E/16A*) MODULE AT 0..1: 16#0002 ’QB’ AT 2..3: 16#0001 ’IB’ END_MODULE END_CONNECTED 108 AT 5,0: 16#010B ’BTM1*.1-BK_I/O’ (*Indramat BTM, borne bus avec 16E/16A*) MODULE AT 0..1: 16#0002 ’QB’ AT 2..3: 16#0001 ’IB’ END_MODULE IO_BUS_DATA 1: 16#1303 ’Alarm_Stop_Request’; 16: 16#0750 ’Set_Value_Request’; 3:16#030E’Control_Parameterization_Request’; 4: 16#0306 ’Initiate_Load_Conf.....’, ........ 12: 16#014F ’Change_Exclusive_Rights_Request’; END_DATA END_MASTER END_LOOP END_IO IBS_ST_24_DO-32/2 avec commentaire sur le module et <F6> Commentaire au début de la liste de modules IBS_ST_24_DI-32/2 avec commentaire sur le module et <F6> Commentaire au début de la liste de modules ...... ...... Branchement du bus à distance Service démarrage IO Fin Maître Fin de la boucle Début de la section Editeur IO DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-17 Création de nouveaux postes dans la liste de sélection Interbus-SSi l'utilisateur désire enregister de nouveaux postes dans la liste de sélection Interbus-S, il lui faut emprunter les informations suivantes dans la documentation du constructeur du module. • le numéro d'identification (du module) on a besoin du numéro sous forme hexadécimale. • l'équipement avec canaux d'entrées et de sorties, particulièrement important pour les modules avec ports mixtes vu qu'ils ne peuvent pas donner d'informations sur l'équipement exact, même online. Exemple: Numéro ident module Sorties: Octets de vide: Entrées: 191 // $BF 8 1 16 Le nouveau nom (au maximum 20 caractères) devrait également être emprunté à la documentation de l'appareil; il peut cependant être modifié à discrétion (comme dans l'exemple), Un commentaire sur le module (maximum 72 caractères) peut être convenu. Fig. 3-10: Extension de la liste de sélection Interbus-S Le nouveau module correspond ensuite au code d’identification 01BF, XXXX en tant qu'équipement. • Décalage = 0 dans la ligne sorties binaires signifie que le premier OCTET contient les 8 sorties (aucun décalage). • Décalage = 1 dans la ligne entrées binaires signifie qu'il existe après les sorties un octet vide qui est ensuite suivi de 16 entrées. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 3-18 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS En Format ASCII, ce module se présente comme suit: Exemple: Adresse matérielle: Adresse logique 125, <F6> Commentaire utilisateur: Unité de retournement A13 125 AT 11: 16#01BF ’Q.II Module de rempl.’ (*(*seulement pour utilisation interne dans entreprise*) MODULE (*Unité de retournement A13*) AT 0: 16#0002 'QB' AT 2..3: 16#0001 'IB' END_MODULE Modification du comportement au démarrage Avec la Version logiciel G4, l'utilisateur a la possibilité d'influencer la mise en vitesse de la boucle. A partir d'un démarrage standard, il est possible d'ajouter ou de supprimer certaines fonctions bien définies. Actuellement, les fonctions de démarrage suivantes sont supportées: Fonctions de démarrage Explication Alarme-Stop Remise à zéro du bus Amorcer paramétrage Amorçage de la phase de paramétrage (Condition pour "Envoyer structure du bus' et 'Envoyer affectation données de process') Envoyer structure du bus Chargement de l'affectation configurée dans la connexion Envoyer affectation données de process Chargement des adresses logiques des postes dans la connexion Régler paramètres d'exploitation Régler les paramètres prédéfinies de l'IBS comme par exemple Adresse du registre de diagnostics Terminer paramétrage Activer cadre de configuration Démarrer transfert de données Activation du transfert cyclique des données sur le bus Valider droits exclusifs Appeler droits exclusifs Lire cadre de configuration Verrouiller pré-traitement des données de process Valider pré-traitement des données de process Une description détaillée des possibilités sera fournie dans le manuel de Société Phoenix Contact, Connexion Interbus G4 qui se trouve actuellement en cours d'élaboration. Si des fonctions de connexion spéciales sont nécessaires, il est possible d'importer un fichier de configuration (Fichier CMD) du configurateur externe de la Société Phoenix. Après modification, une réimportation de ce fichier dans le configurateur n'est toutefois pas possible. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-19 Tableau IO DPM01 (Profibus DP Master), ISP200-P/R Architecture du Maître DP (DP-Master) La connexion DP-MASTER occupe au niveau de la commande une boucle complète et se présente à l'utilisateur sous la forme d'un carreau de mémoire configurable. Seul un Bus-Maître est prévu, si bien qu'un adressage physique – à la différence de l'esclave DP – est superflu. Pour permettre l'accès aux I/O du SLAVE raccordé au bus, il faut que leurs adresses soient connues dans la représentation figurée I/O. Aucun suivi de contrôle! Support de différents mécanismes d'accès au DPR Par le passé (Interbus-S), l'échange de données entre la SPS et la connexion bus de terrain était effectué de façon entièrement libre et asynchrone. En conséquence, une cohérence des données ne pouvait en conséquence être garantie que pour un mot (16 bits). Cette méthode de transfert de données entre deux systèmes est certainement la plus rapide. Mais la demande en modules permettant une cohérence des données au-delà du mot se faisant de plus en plus sentir, il faut également qu'un accès cohérent sur une zone de plus grande taille soit possible. Comme la SPS dispose en règle générale d'un temps de cycle supérieure à celui d'un bus de terrain, la cohérence doit être pilotée par la SPS. C'est la raison qui explique que l'on offre ici une variante tamponnée commandée par la SPS qui a l'avantage de garantir la cohérence sur tout le bus de terrain. Cette variante qui est pilotée via des bits précis de protocole de transfert est toutefois plus lente et ne devrait donc être utilisée qu'en tant qu'option. Actuellement, les variantes d'accès sont définies dans l'outil de configuration SyCon. Le micrologiciel SPS reconnaît la variante et effectue l'accès en conséquence. Pour, à l'avenir, pouvoir en outre influencer le mécanisme d'accès dans l'éditeur IO, un commutateur d'accès supplémentaire a été prévu à côté de l'affectation des numéros logiques de postes: „avec cohérence /sans cohérence“ . Fig. 3-11: DPM01 Profibus DP-MASTER avec carreau de mémoire Edition du tableau IO du Maître DP (DP-MASTER) L'édition est réduite à l'entrée des numéros logiques pour l'accès à la figure Entrées et à la figure Sorties et pour accès direct DPR. La cohérence des données peut être activée. Emplacement DOK-CONTRL-SPS*PRO*V18-AW01-FR-P N° log. Longueur: de à Fig. d'entrées (VAR_INPUT) 12 512 %IB12.0 %IB12.511 Fig. de sorties (VAR_OUTPUT) 13 512 %QB13.0 %QB13.511 DPR (VAR) 14 8192 %PB14.0 %PB14.8191 3-20 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS Représentation ASCII du Maître DP (DP-MASTER) A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 3-11: DPM01 Profibus DP-MASTER avec carreau de mémoire on a alors la sortie suivante: Représentation ASCII Remarques sur la représentation IO Début de la section Editeur IO LOOP AT 4: 16#8001 ’DPM01’ (Profibus-DP-Master) MASTER Identification DPM01, ici sur boucle 4 Identification MAITRE 12 AT 1: 16#0001 'Mémoire fig. entrées' MODULE (*Figure E*) AT 0..511: 16#0001 'IB' END_MODULE Mémoire fig. entrées <F6> Commentaire: (*Figure E*) 13 AT 2: 16#0001 'Mémoire fig. sorties' MODULE (*Figure S*) AT 0..511: 16#0002 'QB' END_MODULE Mémoire fig. sorties <F6> Commentaire: (*Figure S*) 14 AT 3: 16#0003 'Mémoire DPR' MODULE (*APR*) AT 0..8191: 16#0003 'PB' END_MODULE Mémoire DPR <F6> Commentaire: (*DPR*) IO_BUS_DATA 1: 0 ; END_DATA END_MASTER END_LOOP END_IO 1: 0 → aucune cohérence de données Fin Maître Fin de la boucle Début de la section Editeur IO Tableau IO DPS1 (Profibus DP Slave), ISP200-P/R Architecture de l’esclave DP (DP-Slave) La connexion DP-Slave occupe au niveau de la commande une boucle complète et se présente à l'utilisateur sous la forme d'un carreau de mémoire configurable. Support de différents mécanismes d'accès au DPR Par le passé (Interbus-S), l'échange de données entre la SPS et la connexion bus de terrain était effectué de façon entièrement libre et asynchrone. La cohérence des données ne pouvait en conséquence être garantie que pour un mot (16 bits). Cette méthode de transfert de données entre deux systèmes est certainement la plus rapide. Mais la demande en modules permettant une cohérence des données au-delà du mot se faisant de plus en plus sentir, il faut également qu'un accès cohérent sur une zone de plus grande taille soit possible. Comme la SPS dispose en règle générale d'un temps de cycle supérieure à celui d'un bus de terrain, la cohérence doit être pilotée par la SPS. C'est la raison qui explique que l'on offre ici une variante tamponnée commandée par la SPS qui a l'avantage de garantir la cohérence sur tout le bus de terrain. Cette variante qui est pilotée via des bits précis de protocole de transfert est toutefois plus lente et ne devrait donc être utilisée qu'en tant qu'option. Actuellement, les variantes d'accès sont définies dans l'outil de configuration SyCon. Le micrologiciel SPS reconnaît la variante et effectue l'accès en conséquence. Pour, à l'avenir, pouvoir en outre influencer le mécanisme d'accès dans l'éditeur IO, un commutateur d'accès supplémentaire a été prévu à côté de l'affectation des numéros logiques de postes: „avec cohérence /sans cohérence“ . L'introduction de l'adresse physique (1...126) est prévue. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-21 Fig. 3-12: DPM01 Profibus DP-Slave avec carreau de mémoire Edition du tableau IO de l’esclave DP (DP-Slave) L'édition est réduite à l'entrée des numéros logiques pour l'accès à la figure Entrées et à la figure Sorties et pour accès direct DPR. L'option cohérence de données peut être sélectionnée et l'adresse esclave physique définie. Emplacement N° log. Longueur: de à Fig. d'entrées (VAR_INPUT) 111 512 %IB111.0 %IB111.511 Fig. de sorties (VAR_OUTPUT) 112 512 %QB112.0 %QB112.511 DPR (VAR) 113 2048 %PB113.0 %PB113.2047 Représentation ASCII de l'esclave DP (DP-Slave) A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 3-12: DPM01 Profibus DP-Slave avec carreau de mémoire on a alors la sortie suivante: Représentation ASCII IO Remarques sur la représentation Début de la section Editeur IO LOOP AT 3: 16#8002 ’DPS1’ (Profibus-DP-Master) Slave Identification DPS1, ici sur boucle 3 Identification esclave 111 AT 1: 16#0001 'Mémoire fig. entrées' MODULE (*Figure E*) AT 0..511: 16#0001 'IB' END_MODULE Mémoire fig. entrées <F6> Commentaire: (*Figure E*) 112 AT 2: 16#0001 'Mémoire fig. sorties' MODULE (*Figure S*) AT 0..511: 16#0002 'QB' END_MODULE Mémoire fig. sorties <F6> Commentaire: (*Figure S*) 113 AT 3: 16#0003 'Mémoire DPR' MODULE (*DPR*) AT 0.0,2047: 16#0003 'PB' END_MODULE Mémoire DPR <F6> Commentaire: (*DPR*) IO_BUS_DATA 1: 0 ; 2: 3 ; END_DATA END_Slave END_LOOP END_IO DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 1: 0 → aucune cohérence de données 2: 3 → Numéro physique de poste: 3 Fin esclave Fin de la boucle Début de la section Editeur IO 3-22 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS Tableau IO DNM01 (DeviceNet Master), ISP200-P/R Architecture du DeviceNet-Master La connexion DeviceNet-Master occupe au niveau de la commande une boucle complète et se présente à l'utilisateur sous la forme d'un carreau de mémoire configurable. Seul un Bus-Master est prévu, si bien qu'un adressage physique est superflu. Pour permettre l'accès aux I/O du SLAVE raccordé au bus, il faut que leurs adresses soient connues dans la représentation figurée I/O. Aucun suivi de contrôle! Support de différents mécanismes d'accès au DPR Par le passé (Interbus-S), l'échange de données entre la SPS et la connexion bus de terrain était effectué de façon entièrement libre et asynchrone. La cohérence des données ne pouvait en conséquence être garantie que pour un mot (16 bits). Cette méthode de transfert de données entre deux systèmes est certainement la plus rapide. Mais la demande en modules permettant une cohérence des données au-delà du mot se faisant de plus en plus sentir, il faut également qu'un accès cohérent sur une zone de plus grande taille soit possible. Comme la SPS dispose en règle générale d'un temps de cycle supérieure à celui d'un bus de terrain, la cohérence doit être pilotée par la SPS. C'est la raison qui explique que l'on offre ici une variante tamponnée commandée par la SPS qui a l'avantage de garantir la cohérence sur tout le bus de terrain. Cette variante qui est pilotée via des bits précis de protocole de transfert est toutefois plus lente et ne devrait donc être utilisée qu'en tant qu'option. Actuellement, les variantes d'accès sont définies dans l'outil de configuration SyCon. Le micrologiciel SPS reconnaît la variante et effectue l'accès en conséquence. Pour, à l'avenir, pouvoir en outre influencer le mécanisme d'accès dans l'éditeur IO, un commutateur d'accès supplémentaire a été prévu à côté de l'affectation des numéros logiques de postes: „avec cohérence /sans cohérence“ . Fig. 3-13: DNM01 DeviceNet-Master mit carreau de mémoire Edition du tableau IO du DeviceNet-MASTER L'édition est réduite à l'entrée des numéros logiques pour l'accès à la figure Entrées et à la figure Sorties et pour accès direct DPR. La cohérence des données peut être activée. Emplacement N° log. Longueur: de à Fig. d'entrées (VAR_INPUT) 20 512 %IB20.0 %IB20.511 Fig. de sorties (VAR_OUTPUT) 21 512 %QB21.0 %QB21.511 DPR (VAR) 22 8192 %PB22.0 %PB22.8191 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-23 Représentation ASCII du DeviceNet-Master A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 3-11: DPM01 Profibus DP-MASTER avec carreau de mémoire on a alors la sortie suivante: Représentation ASCII Remarques sur la représentation IO Début de la section Editeur IO LOOP AT 4: 16#F000 ’DNM01’ (DeviceNet-Master)’ MASTER Identification DNM01, ici sur boucle 4 Identification MAITRE 20 AT 1: 16#0001 'Mémoire fig.entrées' MODULE (*Figure E*) AT 0..511: 16#0001 'IB' END_MODULE Mémoire fig. entrées <F6> Commentaire: (*Figure E*) 21 AT 2: 16#0001 'Mémoire fig. sorties' MODULE (*Figure S*) AT 0..511: 16#0002 'QB' END_MODULE Mémoire fig. sorties <F6> Commentaire: (*Figure S*) 22 AT 3: 16#0003 'Mémoire DPR' MODULE (*DPR*) AT 0.00,8191: 16#0003 'PB' END_MODULE Mémoire DPR <F6> Commentaire: (*DPR*) IO_BUS_DATA 1: 0 ; END_DATA 1: 0 → aucune cohérence de données END_MASTER Fin Maître END_LOOP Fin de la boucle END_IO Début de la section Editeur IO Tableau IO des SIO-3 (Ports série), MT-CNC Le groupe de ports SIO-3 est seulement présélectionné via la fenêtre de configuration I/O. Une autre spécification n'est pas nécessaire. Représentation ASCII des SIO-3 A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation des ports SIO-3, on a alors la sortie suivante: Représentation ASCII Remarques sur la représentation IO Début de la section Editeur IO LOOP AT 2: 16#2000 ’SIO-3’ Identification SIO-3, ici sur boucle 2 END_LOOP Fin de la boucle END_IO DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Début de la section Editeur IO 3-24 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS Tableau IO CLC-P02 (Synax/ GPS), Synax ISP200/ VM ISP200 Architecture du CLC-P02 La connexion CLC occupe au niveau de la commande une boucle complète et se présente à l'utilisateur sous la forme d'un carreau de mémoire configurable. Fig. 3-14: CLC-P02 avec carreau de mémoire Edition du tableau IO du CLC-P02 L'édition est réduite à l'entrée des numéros logiques pour l'accès à la figure Entrées et à la figure Sorties et pour accès direct DPR. L'option cohérence de données peut être sélectionnée. Emplacement N° log. Longueur: de à Fig. d'entrées (VAR_INPUT) 5 512 %IB5.0 %IB5.511 Fig. de sorties (VAR_OUTPUT) 6 512 %QB6.0 %QB6.511 DPR (VAR) 7 2048 %PB7.0 %PB7.8091 Représentation ASCII du CLC-P02 A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 3-14: CLC-P02 avec carreau de mémoire on a alors la sortie suivante: Représentation ASCII Remarques sur la représentation IO Début de la section Editeur IO LOOP AT 4: 16#A000 ’CLC-P02’ MASTER Identification du CLC-P02, ici sur boucle 4 Identification MAITRE 5 AT 1: 16#0001 'Mémoire fig. entrées' MODULE (*Figure E*) AT 0..511: 16#0001 'IB' END_MODULE Mémoire fig. entrées <F6> Commentaire: (*Figure E*) 6 AT 2: 16#0001 'Mémoire fig. sorties' MODULE (*Figure S*) AT 0..511: 16#0002 'QB' END_MODULE Mémoire fig. sorties <F6> Commentaire: (*Figure S*) 7 AT 3: 16#0003 'Mémoire DPR' MODULE (*DPR*) AT 0.00,8191: 16#0003 'PB' END_MODULE Mémoire DPR <F6> Commentaire: (*DPR*) END_MASTER END_LOOP END_IO Fin MAITRE Fin de la boucle Début de la section Editeur IO DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-25 Tableau IO PEA3/4, IPS200-P/R Architecture du PEA3/4 La connexion PEA occupe au niveau de la commande une boucle complète et se présente à l'utilisateur sous la forme d'un carreau de mémoire configurable. Fig. 3-15: PEA3/4, connexion directe PC104-EA Edition du tableau IO du PEA3/4 L'édition est réduite à l'entrée des numéros logiques pour l'accès à la figure Entrées et à la figure Sorties. La taille de mémoire est respectivement limitée à trois octets. Emplacement N° log. Longueur: de à Fig. d'entrées (VAR_INPUT) 123 3 %IB123.0 %IB123.2 Fig. de sorties (VAR_OUTPUT) 234 3 %QB234.0 %QB234.2 Représentation ASCII du PEA3/4 A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 3-15: PEA3/4, connexion directe PC104-EA on a alors la sortie suivante: Représentation ASCII Remarques sur la représentation IO Début de la section Editeur IO LOOP AT 4: 16#A000 ’PEA3/4’ MASTER 123 AT 1: 16#0001 'Mémoire fig. entrées' MODULE (*Figure E*) AT 0...2: 16#0001 'IB' END_MODULE 234 AT 2: 16#0001 'Mémoire fig. sorties' MODULE (*Figure S*) AT 0.0,2: 16#0002 'QB' END_MODULE END_MASTER END_LOOP END_IO DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Identification PEA3/4, ici sur boucle 4 Identification MAITRE Mémoire fig. entrées <F6> Commentaire: (*Figure E*) Mémoire fig. sorties <F6> Commentaire: (*Figure S*) Fin MAITRE Fin de la boucle Début de la section Editeur IO 3-26 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS Tableau IO du bus RECO Architecture du Bus RECO Le tableau IO du Bus RECO permet de configurer les entrées et sorties de ce bus. En première place se trouve le module SPS. Ce module possède 4 entrées d'octet (état appelable). Aux autres places peuvent suivre des module I/O (E/S) numériques et analogiques. Sélection des modules REC02 Carte de circuit imprimé Affectation E/S Désignation du module Remarque PAM 7 QQ (2 sorties d’octets) RMA02.1-16-RE230-200 16 Relais 2A PAM 8 QQ (2 sorties d’octets) RMA02.1-16-DC024-200 16 Transistor 2A PAM11 QQ (2 sorties d’octets) RMA02.1-16-AC230-200 16 ELR-AC 2A PAM 10 QQQQ (4 sorties d’octets) RMA02.1-32-DC024-050 32 Transistor 0,5A PEM 5 II (2 entrées d'octets) RME02.1-16-DC024 16 DC 24V PEM 7 II (2 entrées d'octets) RME02.1-16-AC115 16 AC 115V PEM 6 IIII (4 entrées d'octets) RME02.1-32-DC024 32 DC 24V SSM 3 2 * RS232 RMS02.1-02-RS232 Edition du tableau IO du Bus RECO L'introduction de l'affectation des entrées et sorties s'effectue sous forme de tableau conformément à la fig. suivante. Fig. 3-16: Editeur IO pour Bus RECO A chaque poste (possible) sont prévues deux lignes de tableau: • La ligne supérieure correspond à l'affectation programmée, • la ligne inférieure à l'affection réelle existante dans la SPS. (en mode offline, on a supprimé la ligne inférieure pour plus de clarté). La succession dans l'ordre et sans vide des postes correspond à la disposition des appareils dans le bus. Les positions non définies ou non-utilisées sont affichées avec '.' (Affectation des éléments enfichables) ou bien avec ‘....’ (Type). (Affectation des éléments enfichables) ou bien avec ‘....’ (Type). Des positions vides sont possibles pour éléments enfichables. 1ère Colonne comprend le numéro du logement du poste. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-27 2ème colonne elle contient l'adresse logique. 3ème colonne elle donne un aperçu des niveaux du bus et de la position des postes. 4ème colonne contient le type de module. Lors de la sélection du type de module, la fenêtre de sélection "Type de module: Connexion/module local" limite la liste des modules; la fenêtre de sélection "en concordance avec l'affectation SPS" renforce la restriction en fonction de la SPS existante. ème colonne 5 elle contient l’affectation I/O du module Les entrées sont affichées avec 'I" et les sorties avec 'Q' ou avec 'I'/'O', en fonction des options/'Paramètres généraux' ( 8 bits respectivement pour 'I' et 'Q'). Le tableau doit débuter avec un module SPS. Pour le module représenté sur la figure, on a ainsi les adresses suivantes: SPS: PAM10: %IB1.0... %QB2.0 %IB1.3 %QB2.3 L'adresse logique reste constante indépendamment d'un décalage de position dans la boucle. En cours d'introduction, la ligne de pied de page montre les possibilités actuelles en fonction de la position du curseur. En cas de commande couplée, le système relit quels sont les postes qui sont réellement présents. Représentation ASCII du Bus RECO A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 3-16: Editeur IO pour Bus RECO on a alors la sortie suivante: Représentation ASCII Remarques sur la représentation IO Début de la section Editeur IO LOOP_INTERN AT 1: 16#B000 ’RECO02-I/Os’ Identification Bus RECO, ici sur boucle 1 interne 1 AT 1: 16#3140 ’MTS-R’ MODULE (*<F6> Commentaire*) AT 0..3: 16#0001 ’IB’ END_MODULE MTS-R-Modul avec commentaire sur le module et <F6> - Commentaire au début de la liste de modules 2 AT 2: 16#1004 ’RMA02.1-32-DC24-050’ MODULE(*<F6> Commentaire*) AT 0..3: 16#0002 ’QB’ END_MODULE Module PAM10 avec commentaire et <F6> Commentaire au début de la liste de modules 3 AT 3: 16#0000 ’Module vide’ MODULE(*<F6> Commentaire*) END_MODULE Module – Module vide avec commentaire sur le module et <F6> - Commentaire au début de la liste de modules END_LOOP DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Fin de boucle 3-28 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS Tableau IO de la boucle SERCOS Dans la boucle SERCOS , il est possible de disposer des unités RECO, similairement à la disposition des unités d'entraînement. Une telle unité RECO dispose d'une connexion SERCOS sous la forme d'une borne de bus (place 1) Ensuite, il est possible de placer des modules I/O numériques et analogiques Sélection des modules REC02 Carte de circuit imprimé Affectation E/S Désignation du module Module RECO IIII (4 entrées d'octets) RMK02.1-LWL-SER-FW PAM 7 QQ (2 sorties d'octets) RMA02.1-16-RE230-200 Remarque 16 Relais 2A PAM 8 QQ (2 sorties d'octets) RMA02.1-16-DC024-200 16 Transistor 2A PAM11 QQ (2 sorties d'octets) RMA02.1-16-AC230-200 16 ELR-AC 2A PAM 10 QQQQ (4 sorties d'octets) RMA02.1-32-DC024-050 32 Transistor 0,5A PEM 5 II (2 entrées d'octets) RME02.1-16-DC024 16 DC 24V PEM 7 II (2 entrées d'octets) RME02.1-16-AC115 16 AC 115V PEM 6 IIII (4 entrées d'octets) RME02.1-32-DC024 32 DC 24V SSM 3 2 * RS232 RMS02.1-02-RS232 Edition du tableau IO du Bus RECO L'introduction de l'affectation des entrées et sorties s'effectue sous forme de tableau conformément à la fig. suivante: Fig. 3-17: Editeur IO pour Bus RECO Deux lignes sont attribuées à chaque poste: • La ligne supérieure correspond à l'affectation programmée, • la ligne inférieure à l'affection réelle existante dans la SPS. (en mode offline, on a supprimé la ligne inférieure pour plus de clarté). La succession dans l'ordre des postes correspond à la disposition des appareils dans le bus. Les positions non définies ou non-utilisées sont affichées avec '.' (Affectation des éléments enfichables) ou bien avec ‘....’ (Type). Des positions vides sont possibles pour éléments enfichables. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-29 La première unité RECO (SERCOS N° 4) se compose du module RECO, d'un PAM 8 et d'un module vide. De la deuxième unité RECO (SERCOS N° 2), on ne voit que le module RECO. Les modules RECO fonctionnent de façon similaire aux postes de bus à distance dans l'IBM2-bus. 1ère Colonne comprend le numéro du logement du poste. 2ème colonne elle contient l'adresse logique. 3ème colonne elle donne un aperçu des niveaux du bus et de la position des postes. 4ème colonne elle contient le numéro SERCOS. (Chiffre avant le point) et le numéro de module (chiffre derrière le point). Le numéro SERCOS peut ce faisant être édité dans le „module de bus à distance, numéro de module 0“ Il suit automatiquement dans le cas des modules correspondants. 5ème colonne Elle contient le type du module. Lors de la sélection du type de module, la fenêtre de sélection "Type de module: Connexion/module local" limite la liste des modules; la fenêtre de sélection "en concordance avec l'affectation SPS" renforce la restriction en fonction de la SPS existante. ème colonne 6 elle contient l’affectation I/O du module Les entrées sont affichées avec 'I" et les sorties avec 'Q' ou avec 'I'/'O', en fonction des options/'Paramètres généraux' ( 8 bits respectivement pour 'I' et 'Q'). Le tableau doit débuter avec un module RECO. Pour les modules représentés sur la figure, on a ainsi les adresses suivantes: RECO: PAM8: vide: RECO: %IB102.0... %QB103.0 %IB102.3 %QB103.3 %IB101.0... %IB101.3 L'adresse logique reste constante indépendamment d'un décalage de position dans la boucle. En cours d'introduction, la ligne de pied de page montre les possibilités actuelles en fonction de la position du curseur. En cas de commande couplée, le système relit quels sont les postes qui sont réellement présents. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 3-30 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS Représentation ASCII du bus SERCOS A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant esclave à fibres optiques avec poste MTC-M, on a alors la sortie suivante Fig. 3-17: Editeur IO pour Bus RECO: Représentation ASCII Remarques sur la représentation IO Début de la section Editeur IO LOOP_INTERN AT 2: 16#C000 ’SERCOS-I/Os’ Identification bus SERCOS, ici sur boucle 1 interne 102 AT 4,0: 16#3240 ’RMk02.1-LWL-SER-FW’ MODULE(*<F6> Commentaire*) AT 0..3: 16#0001 ’IB’ END_MODULE Module RECO avec commentaire sur le module et <F6> - Commentaire au début de la liste de modules 103 AT 4,1: 16#1202 'RMA02.1-16-DC24-200' MODULE(*<F6> Commentaire*) AT 0..1: 16#0002 ’QB’ END_MODULE Module PAM8 avec commentaire et <F6> Commentaire au début de la liste de modules 104 AT 4,2: 16#0000 ’Module vide’ MODULE(*<F6> Commentaire*) END_MODULE Module vide avec commentaire sur le module et <F6> - Commentaire au début de la liste de modules 101 AT 2,0: 16#3240 ’RMk02.1-LWL-SER-FW’ MODULE(*<F6> Commentaire*) AT 0..3: 16#0001 ’IB’ END_MODULE Module RECO avec commentaire sur le module et <F6> - Commentaire au début de la liste de modules END_LOOP Fin de boucle DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-31 3.2 Options dans l'éditeur IO Les options énumérées ci-après influencent le travail dans l'éditeur IO. Il est recommandé à l'utilisateur de les définir sous forme préférentielle. Cette définition est mémorisée lorsqu'on quitte le système de programmation pour revenir au menu principal. Option 'Paramètres généraux' Fig. 3-18: Fenêtre d'options 'Paramètres généraux' Sortie acoustique Sauvegarde automatique Cette option permet l'activation et la désactivation du 'Bip' Cette option permet avec 'Requête lors de la sauvegarde' la mémorisation automatique de l'état intermédiaire obtenu. (Le fichier BAK est alors réécrit!) Sauvegarde automatique: 0 1 Requête lors de la sauvegarde: Représentation de variables absolues Sauvegarder de, 60 minutes – Ecart entre sauvegardes on / off Cette option de menu permet une commutation à l'intérieur de programmes entre: %I1.2.3 et %E1.2.3 ou %Q2.3.4 et %A2.3.4 et inversement. La commutation agit également sur l'éditeur IO. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 3-32 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS 3.3 Aide à la mise en route dans l'éditeur IO Dans l'éditeur IO, on a, via l'instruction de pied de page, la possibilité d'activer l'affichage de l'état de l'élément enfichable actuel respectif. (Cette possibilité n'existe que si l'affichage d'état est actif!) Fig. 3-19: Affichage d'état dans l'éditeur IO Le comportement est analogue pour toutes les boucles. 3.4 Aide dans l'éditeur IO Conformément à la conception d'aide uniforme du système de programmation, les possibilités de guidage suivantes sont accessibles: <F1> permet une aide en relation avec l'éditeur actuel ou l'option de menu actuelle, en fonction de la position du curseur (dans la fenêtre éditeur ou dans la fenêtre menu). Si dans les fenêtres de ce type des termes sont marqués en couleur, une aide peut alors être sélectionnée. (Placer le curseur sur le terme voulu, <Enter>), Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Ctrl>+<F1> permet une aide sur le terme actuel (position du curseur). Si dans les fenêtres de ce type des termes sont marqués en couleur, une aide peut alors être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Esc> On quitte à nouveau la fenêtre d'aide en appuyant sur <Esc>. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-33 Fig. 3-20: <F1> Aide sur l'éditeur L’aide sur le terme donne une explication sur la position actuelle du curseur. Dans l'exemple, le curseur se trouve dans la colonne 'numéro logique de poste' Fig. 3-21: <Ctrl>+<F1> - Aide sur le terme Si l'aide a été appelée avec la combinaison de touches <Ctrl>+<F1> ou avec la touche <F1>, il est possible après activation de la combinaison de touches <Alt>+<S> d'entrer dans la fenêtre d'aide un terme de recherche ou une partie de ce terme. Avec la combinaison de touches <Ctrl>+<L>, il est possible de poursuivre la recherche du terme voulu. Fig. 3-22: <Alt>+<S>, Rechercher ... ‘Variable’ DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 3-34 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS 3.5 Touches dans l'éditeur IO ⇒ Activation de la combinaison de touches <Alt>+<H> Les touches disponibles actuellement apparaissent. Touche (s) Instructions curseur <Ctrl>+<S> <Ctrl>+<A> <CursorLeft> <Ctrl>+<CursorLeft> Elément vers la gauche <Ctrl>+<D> <Ctrl>+<F> <CursorRight> <Ctrl>+<CursorRight> Elément vers la droite <Ctrl>+<E> <CursorUp> Ligne de grille vers le haut <Ctrl>+<X> <CursorDown> Ligne de grille vers le bas <Ctrl>+<W> Dérouler image une ligne vers le haut <Ctrl>+<Z> Dérouler image une ligne vers le bas <Ctrl>+<R> <PageUp> Déplacer image vers le haut <Ctrl>+<C> <PageDown> Déplacer image vers le bas Touche (s) Touches d’effacement <Ctrl>+<Y> Effacer le poste <Ctrl>+<M> <Enter> Fin d'une entrée Menu local dans Editeur IO (Pop_Up-Menü) Dans chaque éditeur un menu local (combinaison de touches <Alt>+<F10>) permet un accès rapide et de façon regroupée à des instructions importantes de l'éditeur.. Fig. 3-23: Menu local dans l'éditeur IO Explications sur les instructions: Actualisation de l’affichage L'affichage de l'occupation de la boucle dans la SPS est actualisé au moment où on appelle l'éditeur et sous cette option de menu. Réduire/Effacer IO Si des postes non utilisés se trouvent dans les tableaux IO des boucles ou si des éléments enfichables non utilisés existent dans les postes, cette instruction les effacera. Ensuite, les tableaux IO ne contiennent plus que les enregistrements minimum nécessaires. Cette fonction n'est pas disponible pour les postes Interbus-S. Tableaux IO • Reprise de la SPS: Avec cette instruction, on reprend dans le tableau IO les postes réellement connectés à la SPS et leurs éléments enfichables. Boucle INDRAMAT à câble à fibres optiques DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Détermination de la configuration matérielle, Tableaux IO 3-35 Cette opération ne s'amorce que si ceci est possible sans conflit avec les références absolues déjà utilisées dans le programme utilisateur. • Mémoriser dans fichier: La configuration IO actuelle des deux modules de boucle est écrite dans un fichier séparé. Liste Interbus-S Il est permis de procéder à l'extension ou à la modification de la liste de sélection Interbus et à la suppression d'un type de poste séparé dans la liste actuelle. Dans le cas d'une extension, il est permis d'ajouter un nouveau type de poste à la suite du type de postes marqués dans la liste. L'addition d'un nouveau poste est décrite aux Chapitres ‘Création de nouveaux postes dans la de sélection Interbus-S-’, Page 3-10 et 3-17. La liste de sélection Interbus-S peut être mémorisée sur disquette ou lue d'une disquette. Aide Syntaxe <Ctrl>+<F1> Aide sur le terme recherché sur lequel on a positionné le curseur. Commentaire Edit <F6> Introduction et modification du commentaire sur le poste actuel. Commentaire on/off <Ctrl>+<F6> Ouverture/fermeture de la fenêtre d'affichage pour commentaires. Imprimer <Alt>+<P> Sortie sur imprimante du contenu de l'éditeur de la boucle actuelle. Instructions bloc <Ctrl>+<K> Voir Chapitre 0, Page 3-33 Instructions Quick <Ctrl>+<Q> Voir Chapitre 0, Page 3-33 Instructions bloc dans l'éditeur IO Un bloc de l'éditeur IO comprend une ligne. Pour l'éditeur IO, les opérations bloc suivantes sont possibles: • • • • • • • • • • Définir une ligne en tant que bloc Marquage du poste <Ctrl>+<K><T> Masquer le bloc <Ctrl>+<K><H> Copier le bloc <Ctrl>+<K><C> Définir une ligne en tant que bloc Marquage correct en longueur du poste Masquer le bloc Copier le poste Déplacer le poste Effacer le poste Ecrire bloc (ASCII) Lire bloc (ASCII) Bloc Å Editeur de texte Editeur de texte-bloc Å Editeur IO <Ctrl>+<K><L> <Ctrl>+<K><T> <Ctrl>+<K><H> <Ctrl>+<K><C> <Ctrl>+<K><V> <Ctrl>+<K><Y> <Ctrl>+<K><W> <Ctrl>+<K><R> <Ctrl>+<K><3> <Ctrl>+<K><4> La ligne actuelle va être marquée en tant que bloc. Marquage de poste en tant que bloc en tenant compte de la largeur de données nécessaires des variables contenues. Le bloc marqué est démasqué ou masqué par activation des touches. Le bloc marqué va être copié directement à l'aval de la position marquée par le curseur. Déplacer le bloc <Ctrl>+<K><V> Le bloc marqué va être déplacé directement à l'aval de la position marquée par le curseur. Effacer le poste <Ctrl>+<K><Y> Le poste marqué va être effacé. Ecrire bloc (ASCII) <Ctrl>+<K><W> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Le bloc marqué va être archivé sous forme de fichier en format ASCII. 3-36 Détermination de la configuration matérielle, Tableaux IO Guide de programmation SPS - 18VRS Bloc Å Editeur de texte <Ctrl>+<K><3> Lire bloc (ASCII) <Ctrl>+<K><R> Editeur de texte -bloc Å Editeur IO <Ctrl>+<K><4> Le bloc marqué va être archivé en format ASCII dans l'éditeur de texte. Lecture d'un fichier archivé en format ASCII. Le bloc marqué dans l'éditeur de texte en format ASCII est transféré dans l'éditeur IO. Instructions Quick dans l'éditeur IO Les instructions Quick ci-après servent à accélérer les mouvements du curseur: Touche (s) Instructions Quick <Ctrl>+<Q><S> vers le bord gauche <Ctrl>+<Q><D> vers le bord droit <Ctrl>+<Q><R> vers le début du tableau <Ctrl>+<Q><C> vers la fin du tableau <Ctrl>+<Q><B> vers le poste marqué <Tab> Passage à la boucle IO suivante <Tab> En effectuant un saut de page, on peut accélérer le passage d'une boucle à la suivante. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Importation 4-1 4 Importation Les blocs fonctionnels, fonctions ou types de données qui ont été définis par l'utilisateur existent en tant que fichiers autonomes. Ils peuvent être rechargés à tout moment et être modifiés dans la déclaration et /ou implémentation. Pour pouvoir utiliser ces fichiers exactement comme des blocs fonctionnels / fonctions / types de données standard ou micrologiciels, il faut les importer dans le fichier actuel qui désire les utiliser. Au cours de cette importation, des caractéristiques essentielles du fichier importé sont mémorisées dans le fichier actuel. Un fichier à importer doit au moins contenir la section déclaration (VAR_INPUT...END_VAR, VAR_OUTPUT...END_VAR). Si dans la section déclaration des fichiers importés, on opère un développement après l'importation de ces fichiers, les fichiers ne concordent alors plus au fichier qui les a importés. Le système de programmation désigne le type d'erreurs qui résultent d'un tel développement, sous l'appellation erreur d'interface. Une adaptation ultérieure est possible dans l'éditeur interface (voir Page 4-6). Le système de programmation reconnaît en outre sa propre bibliothèque, c'est-à-dire les blocs fonctionnels (fb) / les fonctions (fk) et les types de données (ty) standard et micrologiciels qu'il contient. Ces éléments de bibliothèque n'ont pas besoin d'être importés étant donné que l'utilisateur ne les a pas modifiés. TABLEAU IO Tableau IO N° LWL- I/O Canal Définition de la con1 2 Boucle Type 0123456789.0123456789.01234567890.. figuration. 1 RECO III.QQQ......... ................... (seulement avec programmes!) ,03257 ,03257)520Commentaire )81&7,21(*Fonctions définies par utilisateur*) Import de type de 1$1'(*Fonction NAND avec 8 entrées*) de données (TY), 125(*Fonction NOR avec 8 entrées *) fonctions (FK) et blocs blocs fonctionnels (FB)util. )8 DECLARATION avant leur utilisation $ Nom AT TYPE := Commentaire % VAR_INPUT (* Déclaration des entrées *) DDéclaration de variables & ON %E0.1.1 (* Introducteur ´ *) et blocs fonctionnels ALARME %E2.5.2 (* Capteur *) FB et fb) avant leur TEM %E3.2.4 (* Moniteur de température *) utilisation (1'B9$5 ENouvelle création de VAR_OUTPUT (* Déclaration des sorties *) de types de données utilisateur MOTEUR 6)& /8( )%' Entrée du corps de 9( /' programme, bloc fonctionnel ( ,/ ou de fonction (*Valid. du mot. du ventil.*) dans éditeur LD, IL /'(,1 Mode m.ven. ou FBD, le cas échéant 2517(0 Temperatu>> avec éléments SFC. $1'1$/$50 Alarmabsc>> 67MOTEUR (* Mot. d.ven. Fig. 4-1: Création d'un programme 'PR', d'un bloc fonctionnel 'FB', d'une fonction N.B. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Si un fichier (par exemple TON.FB) est importé avec le même nom qu'un fb/ une fk/un ty standard, le fichier importé ne continuera pas utilisé l'élément de bibliothèque. 4-2 Importation Guide de programmation SPS - 18VRS 4.1 Architecture de la section importation La section importation sert à regrouper les modules de fonction utilisateur, fonctions utilisateur et types de données utilisateur qu'on désire utiliser avant leur déclaration et leur utilisation . Fig. 4-2: Section importation du programme TEST_PLC L'éditeur d'importation se présente sous la forme de deux colonnes. • Dans la première colonne se trouvent les noms des types des blocs fonctionnels, fonctions et types de données à importer. Ces noms peuvent présenter au maximum 8 caractères et doivent commencer par une lettre. • La seconde colonne sert à l'enregistrement d'un commentaire d'explication du nom du type importé. Indépendamment de l'importation proprement dite, des lignes complètes de commentaires ou des lignes vides peuvent être ajoutées pour une meilleure structuration. Si le curseur se trouve sur un type de bloc fonctionnel, un type de fonction ou un type de données, il est possible de passer à ces éléments avec la combinaison de touches <Ctrl>+<Enter> ou <Ctrl>+<N> . DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Importation 4-3 Guide de programmation SPS - 18VRS 4.2 Edition d’une section d’importation Si un nouveau fichier est créé, la fenêtre suivante apparaît dans l'éditeur d'importation. Fig. 4-3: Section importation en cas de création d'un nouveau programme. La fenêtre est la même pour programme et bloc fonctionnel. Dans le cas d'une fonction, par contre, le champ FUNCTION_BLOCK n'existe pas étant donné qu'une fonction ne peut pas utiliser de FB. En fonction de la position du curseur, les instructions de pied de page ouvrent l'une des fenêtres de sélection suivantes: <2> Anw. TY, Type de données utilisateur Anw. FK, Fonction utilisateur Anw. FB, Modules de fonction utilisateur Les touches: <4> Commentaire et <0> Edit permettent de compléter l'importation par un commentaire ou de corriger l'importation ou son commentaire. Si le curseur se trouve sur un nom déjà inscrit, les possibilités supplémentaires suivantes apparaissent: DOK-CONTRL-SPS*PRO*V18-AW01-FR-P <1> Passage à l'éditeur interfaces Voir Chapitre Editeur d'interfaces, Page 4-6 <5> Tentative de remplacement du fichier importé par un élément de bibliothèque de même nom ou de même interface (par exemple après extension de la bibliothèque). 4-4 Importation Guide de programmation SPS - 18VRS Importation de blocs fonctionnels Si le programme actuel / le bloc fonctionnel actuel doit utiliser un ou plusieurs blocs fonctionnels définis par utilisateur, ces blocs fonctionnels doivent être importés. ⇒ Sous la section FUNCTION_BLOCK , il faut activer la touche <2> pour sélection. (Sélection avec touches de direction, confirmation avec touche <Enter>) Fig. 4-4: Importation d’un bloc fonctionnel utilisateur Après acceptation, l'aide déclaration peut être utilisée en activant la combinaison de touches <Shift>+<F1>. Ensuite un commentaire peut être ajouté. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Importation 4-5 Importation de fonctions Si le programme actuel / le bloc fonctionnel actuel /la fonction actuelle doit utiliser une ou plusieurs autres fonctions définies par utilisateur, ces fonctions doivent être importées. ⇒ Sous la section FUNCTION, il faut activer la touche <2> pour sélection. (Sélection avec touches de direction, confirmation avec touche <Enter>) Fig. 4-5: Importation d’une fonction utilisateur, fenêtre de sélection Après acceptation, l'aide déclaration peut être utilisée en activant la combinaison de touches <Shift>+<F1>. Ensuite un commentaire peut être ajouté. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 4-6 Importation Guide de programmation SPS - 18VRS Importation de types de données Si le programme actuel / le bloc fonctionnel actuel / la fonction actuelle / le type de données actuel doit utiliser un ou plusieurs autres types de données définis par utilisateur, ces types de données doivent être importés. ⇒ Sous la section TYPE, il faut activer la touche <2> pour sélection. (Sélection avec touches de direction, confirmation avec touche <Enter>) Fig. 4-6: Importation d’un type de données utilisateur, fenêtre de sélection Après inscription du nom, l'aide déclaration peut être utilisée en activant la combinaison de touches <Shift>+<F1>. Ensuite un commentaire peut être ajouté. Editeur d’interfaces Dans l'éditeur d'interfaces il est possible de procéder à une adaptation des blocs fonctionnels, fonctions ou types de données déjà utilisés, puis modifiés Les opérations de traduction et le chargement du programme dans la SPS ne peuvent se dérouler suivant plan que si tous les composants, c'est-à-dire le programme, les modules de fonction, les fonctions et les types de données sont en concordance du point de vue de leurs interfaces. Chaque fichier note au moment de l'importation l'aspect des fichiers utilisés c'est-à-dire l'ordre des entrées et sorties, les noms, les valeurs initiales des connections et les commentaires correspondants. FB/FK/TY utilisateur peuvent être développés au fur et à mesure, c'est-àdire qu'une entrée ou sortie supplémentaire, une autre ou une nouvelle valeur initiale ou un élément supplémentaire peuvent être ajoutés si nécessaire, dans une structure par exemple. ⇒ Après une telle modification, l'utilisateur peut effectuer une adaptation en chargeant respectivement le fichier à utiliser (dans l'exemple le programme EXEMPLE) et en passant ensuite à l'éditeur d'importation pour correction d'interface. - ou ⇒ l'utilisateur démarre la traduction pour l'ensemble du programme (compilateur / fichiers nécessaires ou compilateur / traduction intégrale) puis il attend (c'est la meilleure solution). DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Importation 4-7 Guide de programmation SPS - 18VRS Comme l'unité à utiliser et l'unité utilisée ne correspondent plus, un message d'erreur est engendré lors de la traduction avec invitation à passer à l'éditeur d'interfaces où l'image attendue de l'unité utilisée est affichée sur le côté gauche et l'image développée sur le côté droit. Objectif: adapter le côté gauche au côté droit. Avant toute poursuite de développement, il est toutefois recommandé de tenir compte du clignotant FB BLINKER dans l'éditeur d'interfaces. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Fig. 4-7: Passage à l'éditeur d'interfaces avec 1-S_Edit pour le clignotant FB BLINKER utilisé dans le programme Fig. 4-8: Comparaison de la section déclaration du FB BLINKER au moment de l'importation (à gauche) et sous l'état actuel (à droite). 4-8 Importation Guide de programmation SPS - 18VRS Exemple: Initialement, un FB BLINKER a été utilisé dans un programme. Les deux côtés concordent. L'utilisation de l'éditeur d'interfaces montre la concordance initiale. BOOL requis dans fichier de travail existant dans fichier importé %/,1.(5 %/,1.(5 actif blinker %22/ %22/ actif blinker %22/ L'exemple ci-dessus montre un générateur de clignotement qui avec l'entrée 'activé' valide une fréquence de clignotement définie à la sortie 'blinker'. La fonctionnalité doit être développée comme suit: Côté Entrée Côté Sortie Commentaire − − − − − '‘activé’ en tant que validation se transforme en validation générale du FB, seulement modification dans l'implémentation, par de modification d'interface, pas de problème avec l'interface. ‘mode‘ en tant que nouvelle entrée qui doit distinguer entre deux fréquences de clignotement. Deux nouvelles entrées de type TIME via lesquelles la fréquence de clignotement peut être réglée. temps 1, temps de préréglage 1s temps 2, temps de préréglage 5s. − La première sortie reçoit un nouveau nom dans BlinkVar, après validation, cette sortie porte la fréquence de clignotement sélectionnée. Deux autres sorties avec fréquence de clignotement fixe s'y ajoutent, indépendamment de enable. cadence1 cadence2 Le FB BLINKER modifié reçoit un commentaire. Les modifications sont inscrites dans l'éditeur de déclaration sous BLINKER: Les modifications dans l'implémentation sont sans importance au moment de l'adaptation dans l'éditeur d'interfaces. L'essai de traduction échoue après les modifications dans le bloc fonctionnel et l'éditeur d'interfaces est requis (voir schéma ci-après). Les différences sont immédiatement visibles sur les interfaces affichées. L'utilisation de l'éditeur d'interfaces montre les nouvelles différences apparues. . BOOL requis dans fichier de travail %/,1.(5 actif blinker %22/ %22/ BOOL 7,0( 7,0( existant dans fichier importé %/,1.(5 actif BlinkVar PRGHWDNW temps1 takt2 temps2 %22/ %22/ %22/ Commentaire dans fichier de travail Clignotant avec fréquence de clignotement constante, 3s réalisée via actions réglées dans le temps Commentaire dans le fichier importé Génération de la fréquence de clignotement pour fréquences constantes et variables activées: Entrée validation pour BlinkVar, mode: Sélection fréquence 1 / 2, temps1/1s, temps2/5s: Valeur préréglée p. fréquence de clignotement BlinkVar: Fréquence variable; cadence1, cadence2: Fréquences fixes DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Importation 4-9 ⇒ Touche <8>-Confirmer adaptation. La demande suivante suit alors: Adaptation automatique par insertion des éléments manquants? Si 'Oui', un avertissement apparaît en indiquant que ceci n'est possible que partiellement. ⇒ Acquitter L'adaptation automatique du côté Entrée est alors amorcée (Addition des trois nouvelles entrées à côté des valeurs initiales et du commentaire). Via la fenêtre-Erreur, la différence BlinkVar/blinker est soulignée. ⇒ La modification du nom doit s'effectuer manuellement (placer le curseur sur 'blinker' et remplacer). ⇒ Touche <8>-Confirmer adaptation. Les sorties manquantes et le commentaire modifié sont traités automatiquement. Les valeurs initiales sont appelées parallèlement à l'acceptation. Un examen des valeurs initiales est possible via l'instruction de pied de page <Ctrl>+<V> ) Ensuite, une nouvelle traduction est démarrée jusqu'à ce qu'il n'y ait plus aucune erreur. Dans l'éditeur LD et FBD, on peut voir le nouveau schéma fonctionnel. Les entrées et sorties ajoutées ne sont pas encore connectées. Possibilités d'adaptation dans l'éditeur d'interfaces Bloc fonctionnel Fonction Type de données Les modifications suivantes sont possibles: − Entrée et/ou sortie supplémentaire avec ou sans valeur initiale − Entrée et/ou sortie supplémentaire avec valeur initiale modifiée, et − Modification du nom d'une entrée ou d'une sortie. Pour les connexions inutilisées de chaque côté, les fonctions suivantes sont validées en supplément: − Effacement d'une connexion inutilisée (des deux côtés). − Modification du type de la connexion, et − Déplacement d'une connexion inutilisée. Les modifications suivantes sont possibles: − Entrée supplémentaire (affectée de la valeur initiale LD; entrée ST occupée!) − Modification du nom d'une entrée. Pour les connexions inutilisées de chaque côté, les fonctions suivantes sont validées en supplément: − Effacement d'une connexion inutilisée (des deux côtés). − Modification du type de la connexion, et − Déplacement d'une connexion inutilisée. Les modifications suivantes sont possibles: − Elément supplémentaire − Modification du nom d'un élément. − Modification de la dimension des tableaux Les manipulations présupposent que l'on connaisse des modifications dans l'unité utilisée Elles sont supportées par: − Fonction de comparaison (compar.<8>), elle compare les exigences de l'unité utilisante avec les propriétés de l'unité utilisée. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 4-10 Importation Guide de programmation SPS - 18VRS Représentation ASCII de l'éditeur d'importation A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 4-7: Passage à l'éditeur d'interfaces avec 1-S_Edit pour le clignotant FB BLINKER utilisé dans le programme on a alors la sortie suivante: Représentation ASCII Remarques sur la représentation IMPORTATION Début Editeur d'importation TYPE Types de données OUTIL (*Structure*) INVERSEUR(*Tableau avec structures en tant qu'éléments de champ*) DCHANGE (*Tableau avec structures en tant qu'éléments de champ*) FUNCTION SELECT (*Sélection de nombres INT*) Fonctions FUNCTION_BLOCK AOVRD (*QOVR := ( IOVR * MAX ) / 255*) CLOCK (*Horloge*) BLINKER (*Clignotant pour affichage d'états internes*) Blocs fonctionnels END_IMPORT Fin Editeur d’importation Blocs fonctionnels END_IMPORT Fin Editeur d’importation La zone de l'éditeur d'importation suit la zone de l'éditeur IO. Elle peut être vide ou être supprimée si aucune importation n'est effectuée. 4.3 Aide à la mise en route dans l'éditeur d'importation Dans l'éditeur d'importation, on a prévu la possibilité de commuter de l'affichage d'état en mode édit (instruction de pied de page 1). 4.4 Options dans l'éditeur d'importation aucune 4.5 Aide dans l'éditeur d'importation Conformément à la conception d'aide uniforme du système de programmation, les possibilités de guidage suivantes sont accessibles: <F1> permet une aide en relation avec l'éditeur actuel ou l'option de menu actuelle, en fonction de la position du curseur dans la fenêtre éditeur ou dans la fenêtre menu. Si des termes sont marqués en couleur, une nouvelle aide peut être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Ctrl>+<F1> permet une aide sur le terme actuel (position du curseur). Si des termes sont marqués en couleur, une nouvelle aide peut être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Shift>+<F1> A l'aide de cette combinaison de touches on accède à la section déclaration du nom marqué par le curseur. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Importation 4-11 Il est possible de représenter l'interface d'un bloc fonctionnel, d'une fonction, d'une variable structurée ainsi que les caractéristiques d'une variable quelconque. <Esc> On quitte à nouveau la fenêtre d'aide en appuyant sur <Esc>. Fig. 4-9: <F1> Aide dans l'éditeur actuel Fig. 4-10: <Ctrl>+<F1>, Aide sur le terme, le curseur se trouve sur FUNCTION Si l'aide a été appelée avec la combinaison de touches <Ctrl>+<F1> ou avec la touche <F1>, il est possible après activation de la combinaison de touches <Alt>+<S> d'entrer dans la fenêtre d'aide un terme de recherche quelconque ou une partie de ce terme. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 4-12 Importation Guide de programmation SPS - 18VRS Fig. 4-11: <Alt>+<S>, Rechercher Fig. 4-12: <Shift>+<F1>, Aide déclaration pour bloc fonctionnel utilisateur AOVRD ⇒ Positionner le curseur sur AOVRD. ⇒ Activer la combinaison de touches <Shift>+<F1>. Le symbole (interface) avec les types des entrées et sorties et le commentaire à la déclaration au moment de l'importation de la fonction ou du bloc fonctionnel est alors affiché. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Importation 4-13 Fig. 4-13: <Shift>+<F1>, Aide déclaration pour fonction utilisateur SELECT ⇒ Positionner le curseur sur SELECT. ⇒ Activer la combinaison de touches <Shift>+<F1>. Le symbole (interface) avec les types des entrées et sorties et le commentaire à la déclaration au moment de l'importation de la fonction ou du bloc fonctionnel est alors affiché. Fig. 4-14: <Shift>+<F1>, Aide déclaration pour type de données DWECHSEL ⇒ Positionner le curseur sur DWECHSEL. ⇒ Activer la combinaison de touches <Shift>+<F1>. L'arbre (interface) avec les types des variables et le commentaire à la déclaration au moment de l'importation de la fonction ou du bloc fonctionnel est alors affiché. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 4-14 Importation Guide de programmation SPS - 18VRS 4.6 Touches dans l'éditeur d'importation ⇒ Activation de la combinaison de touches <Alt>+<H> Les touches disponibles actuellement apparaissent. Touches générales Touche (s) Instructions curseur <Ctrl>+<S> <Ctrl>+<A> <CursorLeft> <Ctrl>+<CursorLeft> Elément vers la gauche <Ctrl>+<D> <Ctrl>+<F> <CursorRight> <Ctrl>+<CursorRight> Elément vers la droite <Ctrl>+<E> <CursorUp> Ligne de grille vers le haut <Ctrl>+<X> <CursorDown> Ligne de grille vers le bas <Ctrl>+<W> Dérouler image une ligne vers le haut <Ctrl>+<Z> Dérouler image une ligne vers le bas <Ctrl>+<R> <PageUp> Déplacer image vers le haut <Ctrl>+<C> <PageDown> Déplacer image vers le bas Touche (s) Touches d’effacement <Ctrl>+<G> <Delete> Effacement d'un caractère <Ctrl>+<H> <Delete><CursorLeft> Effacement d'un caractère en aval Effacer une ligne complète <Ctrl>+<Y> <Ctrl>+<M> <Enter> Fin d'une entrée Touche (s) Accès <Ctrl>+<Enter> <Ctrl>+<N> Passage à FB / FK / TY Touches accessibles via le menu local dans l'éditeur d'importation Dans chaque éditeur un menu local (combinaison de touches <Alt>+<F10>) permet un accès rapide, regroupé, à des instructions importantes de l'éditeur (voir explications des touches plus bas) Fig. 4-15: Menu local dans l'éditeur d'importation DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Importation 4-15 Guide de programmation SPS - 18VRS Touche (s) Menu local <Alt>+<F10> Test de syntaxe <Ctrl>+<F6> Commentaire, ligne complète on/off <Alt>+<P> Sortie sur imprimante du contenu de l'éditeur <Ctrl>+<Q> Instructions Quick <Ctrl>+<K> ... Instructions bloc Instructions bloc dans l'éditeur d'importation Le but des Instructions bloc est de minimiser le travail par rapport à une introduction d'entrées. Un bloc à l'intérieur de l'éditeur importation se compose d'une ou de plusieurs lignes qui se suivent directement. Pour l'éditeur d'importations, les opérations bloc suivantes sont possibles: Touche (s) Instructions bloc <Ctrl>+<K><B> Fixer début de bloc <Ctrl>+<K><K> Fixer fin de bloc <Ctrl>+<K><L> Marquer ligne en tant que bloc <Ctrl>+<K><H> Marquage de bloc on/off <Ctrl>+<K><S> Mémorisation du fichier <Ctrl>+<K><R> Lire bloc <Ctrl>+<K><W> Ecrire bloc <Ctrl>+<K><V> Déplacer bloc <Ctrl>+<K><Y> Effacer bloc <Ctrl>+<K><1> <Ctrl>+<Q><1> Fixer marque 1 <Ctrl>+<K><2> <Ctrl>+<Q><2> Fixer marque 2 Transférer bloc dans l'éditeur de texte <Ctrl>+<K><3> Instructions quick dans l'éditeur d'importation Les instructions Quick ci-après servent à accélérer les mouvements du curseur: Touche (s) Instructions Quick <Ctrl>+<Q><S> <Home> vers le bord gauche <Ctrl>+<Q><D> <End> vers le bord droit <Ctrl>+<Q><R> <Ctrl><PageUp> vers le début <Ctrl>+<Q><C> <Ctrl><PageDown> vers la fin <Ctrl>+<Q><B> vers le début du bloc <Ctrl>+<Q><K> vers la fin du bloc <Ctrl>+<Q><E> <Ctrl><Home> vers le début de l'écran <Ctrl>+<Q><X> <Ctrl><End> vers la fin de l'écran <Ctrl>+<Q><P> vers la dernière position <Ctrl>+<Q><G> vers la ligne à indiquer DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 4-16 Importation Guide de programmation SPS - 18VRS Recherche d'une chaîne de caractères <Ctrl>+<Q><F> Fig. 4-16: Recherche d'un texte (chaîne de caractères) Cherche Texte Cadence Le texte à rechercher est tout d'abord prédéfini par le terme sur lequel se trouve le curseur. On peut soit réécrire ce terme soit sélectionner un autre terme déjà utilisé auparavant via la fenêtre history (apparaît après curseur ↓) • Eléments: [X] Variables et constantes [X] Mot clé [ ] Repère [X] Commentaire [X] Bloc fonctionnel [X] Fonction [X] Type de données Zone de recherche à sélectionner (éléments à rechercher): Au moins un élément doit être sélectionné, au maximum tous les éléments peuvent être sélectionnés. Sous un mot clé, on doit comprendre des concepts qui ont une signification particulière pour le système de programmation, comme par exemple: VAR, PROGRAM::: Les éléments que l'éditeur actuel ne connaît pas, ne sont pas sélectionnables (grisés) • Zone: (*) Editeur ( ) Bloc marqué ( ) Réseau actuel La zone à sélectionner peut être limitée à partir de tout l'éditeur jusqu'au bloc marqué. • Options: [ ] Ignor. Majusc. Majusc. [ ] mots complets seulement En options, on peut demander au système d'ignorer les majuscules et minuscules et de ne rechercher que des mots complets. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Importation 4-17 Guide de programmation SPS - 18VRS • Direction: (*) en avant ( ) en arrière La direction de la recherche est définie à partir du curseur. • Mode: ( ) à partir du curseur ( ) tout autour (*) ensemble de la zone Le mode de la recherche est défini de façon standard à partir du curseur. La recherche peut être effectuée tout autour à partir du curseur, et au maximum jusqu'au curseur, en tenant compte de la direction susmentionnée. La troisième possibilité est: du début jusqu'à la fin en fonction de la direction ou inversement sur toute la zone. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 4-18 Importation Guide de programmation SPS - 18VRS DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-1 Guide de programmation SPS - 18VRS 5 Déclaration L'éditeur de déclaration autorise la convention de: • variables, c'est-à-dire la définition du nom des variables, du type de données, le cas échéant d'une valeur initiale prédéfinie par l'utilisateur, d'un commentaire relatif au nom et – au niveau du programme – la définition de l'adresse sous laquelle la variable se trouve ou, pour le moins, sous laquelle elle commence dans la mémoire de la commande. • d'instances de blocs fonctionnels (Copies, affectations), c'est-à-dire la réserve d'un emplacement mémoire où l'article de l'instance respective peut être archivé. • Types de données utilisateur. TABLEAU IO Tableau IO N° LWL- I/O Canal Définition de la con1 2 Boucle Type 0123456789.0123456789.01234567890.. figuration. 5(&2,,,444 (seulement avec programmes!) ,03257 ,03257)520Commentaire )81&7,21(*Fonctions définies par utilisateur*) Import de type de 1$1'(*Fonction NAND avec 8 entrées*) de données (TY), 125(*Fonction NOR avec 8 entrées *) fonctions (FK) et blocs blocs fonctionnels (FB)util. )8 DECLARATION avant leur utilisation $ Nom AT TYPE := Commentaire % VAR_INPUT (* Déclaration des entrées *) DDéclaration de variables & ON %E0.1.1 (* Introducteur ´ *) et blocs fonctionnels ALARME %E2.5.2 (* Capteur *) FB et fb) avant leur TEM %E3.2.4 (* Moniteur de température *) utilisation (1'B9$5 ENouvelle création de VAR_OUTPUT (* Déclaration des sorties *) de types de données utilisateur MOTEUR 6)& /8( )%' Entrée du corps de 9( /' programme, bloc fonctionnel ( ,/ ou de fonction (*Valid. du mot. du ventil.*) dans éditeur LD, IL /'(,1 Mode m.ven. ou FBD, le cas échéant 2517(0 7HPSHUDWX!! avec éléments SFC. $1'1$/$50 $ODUPDEVF!! 67MOTEUR (* Mot. d.ven. Fig. 5-1: DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Création d'un programme 'PR', bloc fonctionnel 'FB', d'une fonction 'FK' ou d'un type de données 'TY' 5-2 Déclaration Guide de programmation SPS - 18VRS 5.1 Architecture de la section déclaration La section déclaration sert à la convention de variables et à l'affectation des blocs fonctionnels avant leur utilisation dans l'implémentation. Fig. 5-2: Section déclaration du programme EXEMPLE L'éditeur de déclaration se présente sous la forme de colonnes. Le contenu des différentes colonnes est mentionné dans la première ligne de l'éditeur de déclaration. 1ère Colonne C'est dans cette colonne que se trouvent les noms des variables déclarées et les noms des blocs fonctionnels devant être utilisés (noms d'affectation). Ces noms peuvent présenter au maximum 9 caractères et doivent commencer par une lettre. 2ème Colonne Utilisée seulement pour les programmes. Les adresses attribuées aux noms de la première colonne sont inscrites sous cette colonne. Si la variable ne comprend qu'un seul élément, elle se trouve sous l'adresse indiquée, si elle comprend plusieurs éléments (structures, tableaux, chaînes de caractères) elle commence à la place indiquée. 3ème Colonne Pour les variables on doit inscrire le type de la variable et pour les blocs fonctionnels, le type du bloc fonctionnel. Si le type de variable ressort déjà clairement de l'adresse (entrées et sorties booléennes, OCTET, WORD, DWORD), on peut renoncer à l'indication complète du type. Toutefois cette indication ne gêne pas. 4ème Colonne Elle est prévue pour les valeurs initiales prédéfinies par l'utilisateur. Cette valeur doit concorder avec le type de variables. 5ème Colonne Elle sert à l'enregistrement du commentaire de déclaration, des noms attribués aux variables ou au nom d'affectation. Pour une meilleure structuration, des lignes de commentaires complètes ou des lignes vides peuvent être ajoutées indépendamment des déclarations proprement dites. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-3 Guide de programmation SPS - 18VRS Section déclaration d'un programme ère ligne ème ligne 1 A partir de la 2 La section déclaration Fig. 5-2: Section déclaration du programme EXEMPLE présente déjà des lignes non effaçables lors de la création d'un nouveau programme. Elle comprend le mot clé PROGRAM et le nom du programme. ⇒ Entrer d'un commentaire en tant qu'explication du programme (comme illustré sur la figure) ⇒ Inscrire les variables d'entrée du programme entre VAR_INPUT et END_VAR ⇒ Inscrire les variables de sortie du programme entre VAR_INPUT et END_VAR ⇒ Inscrire les variables internes du programme entre VAR_INPUT et END_VAR Dans cette zone, il faut définir la convention d'utilisation des blocs fonctionnels. ⇒ Inscrire les variables internes à propriétés rémanentes du programme entre VAR_INPUT et END_VAR Dans cette zone, il faut définir la convention d'utilisation des blocs fonctionnels à propriétés rémanentes. (Toutes les variables de ce bloc fonctionnel et les variables des blocs fonctionnels que le bloc fonctionnel utilise lui-même sont ainsi pourvues de propriétés rémanentes.) Ensuite, une sélection de lignes de déclaration correctes du point de vue syntaxe est effectuée. ⇒ Entre VAR_GLOBAL et END_VAR, variables qui ont été déclarées dans les sections susmentionnées et dont l'accès global est ici validé par l'introduction de leur nom. Type de données et commentaire de déclaration des variables sont complétés automatiquement. Pour une meilleure distinction, des exemples de convention d'utilisation des blocs fonctionnels ont été ajoutés en italiques. VAR_INPUT... END_VAR Déclaration de variables d'entrée Identificateur AT Type Commutateur1 Valeur1 axe I_x axe i_y FINWORD1 %I1.2.5 %IW1.2 %IW0.10 A#A02S %IWP1.1 INT iAXIS iAXIS := Commentaire Bit 5, élément enfichable 2, poste 1 élément enfichable 2,3, poste 1, type INT struct. Var., Type iAXIS, commençant à partir de %IW0.10 struct. Var., Type iAXIS, par constante d'adresse mot d'entrée rapide, accès périphérique direct La colonne AT doit toujours être remplie! Des valeurs initiales ne sont pas permises, c'est-à-dire que la colonne = est vide. Blocs fonctionnels (et fonctions) ne peuvent pas être déclarés. N.B. Les mots / octets d'entrée rapides sont contraires à la structure triphasée de la SPS! VAR_OUTPUT END_VAR Déclaration de variables de sortie Identificateur AT Type := CONTACTEUR1 VALEUR3 Axe_q_x Axe_q_y FOUTBYTE1 %Q1.3.5 %QW3.2 %QW0.0 A#A02C %QBP2.2 INT qAXIS qAXIS 5 Commentaire Bit 5, élément enfichable 3, poste 1 élément enfichable 2, poste 2, INT, valeur initiale 5 struct. Var., Type qAXIS, commençant à partir de %QW0.0 struct. Var., Type qAXIS, par constante d'adresse octet de sortie rapide, accès périphérique direct La colonne AT doit toujours être remplie! Blocs fonctionnels (et fonctions) ne peuvent pas être déclarés. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 5-4 Déclaration Guide de programmation SPS - 18VRS N.B. Les mots / octets de sortie rapides sont contraires à la structure triphasée de la SPS! VAR END_VAR Déclaration de variables drapeaux et d'affectations de blocs fonctionnels Identificateur Marqueur1 MARQUEUR1 VALEUR2 DEA_01 FF1 Light1 xyzptr AT Type := Commentaire Bit drapeau Bit 5, Octet 1 Marqueur entier, Valeur initiale 5 Variable structurée FB micrologiciel, Type RS, Nom d’affectation FF1 FB utilisateur, Type LIGHT, Nom d’affectation Light1 Pointeur de Type ABC BOOL %M1.5 INT qDEA RS LIGHT ^ABC 5 Type := VAR RETAIN END_VAR Déclaration d'indicateurs de retenue et d'affectation de blocs fonctionnels Identificateur Marqueur1 HMErker1 Valeur2 DEA_02 FF2 Light2 AT Commentaire Bit indicateur de retenue indicateur de retenue, Bit 5, Octet 1 Indicateur de retenue de type INT, valeur initiale 5 variable rémanente structurée FB micrologiciel, Type SR, Nom d’affectation FF2 FB utilisateur, Type LIGHT, Nom d’affectation Light2 BOOL %R1.5 N.B. VAR_GLOBAL END_VAR Validation de variables pour une utilisation globale 5 INT qDEA SR LIGHT Pour les paliers temporels TON, TOFF, TP, on ne doit pas définir de propriétés rémanentes. Nom AT TYPE := Commentaire i A#iDEA0 iDEA STRUCT d'entrée int_i %IW3.1 INT un nombre ibit %I1.1.1 VAR_INPUT Adresse. AdresseÅType données END_VAR VAR_OUTPUT int_a %QW2.2 INT -35 un nombre également END_VAR VAR m tWilli variable, type utilisateur tWilli retain var, type utilisateur END_VAR VAR RETAIN m_r END_VAR VAR_GLOBAL i A#iDEA0 iDEA STRUCT d'entrée ibit %I1.1.1 BOOL Adresse abs.ÅType données int_a %QW2.2 INT un nombre également m tWilli variable, type utilisateur m_r tWilli retain var, type utilisateur END_VAR DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-5 Guide de programmation SPS - 18VRS Le tableau suivant montre en les résumant les possibilités offertes pour une liaison des types de données (élémentaires et définis par utilisateur!) à une adresse absolue (colonne AT). Mot clé BOOL bits 1 Liaison à une adresse absolue (exemple) %I1.2.3 %Q132.20.3, %M10.3déclaré directement OCTET WORD DWORD 8 16 32 %IB2.3, %IBP2.3 %IW2.3, %IWP2.3 %ID2.3, %QB9.3, %QBP9.3 %QW9.4, %QWP9.4 %QD9.4, %MB4 déclaré directement %MW5 déclaré directement %MD5 déclaré directement CHAR STRING .... .... Comme variable OCTET comme variable WORD SINT INT DINT 8 16 32 Comme variable OCTET comme variable WORD comme variable DWORD surdéclaré surdéclaré surdéclaré USINT UINT UDINT 8 16 32 Comme variable OCTET comme variable WORD comme variable DWORD surdéclaré surdéclaré surdéclaré REAL 32 Comme variable DWORD surdéclaré TIME 32 Comme variable DWORD surdéclaré STRUCT ARRAY .... .... Comme variable WORD comme variable WORD ¹) ¹) ¹) surdéclaré ²) surdéclaré surdéclaré surdéclaré ¹) Adresse indiquée, si besoin mémoire suivante (adresses ascendantes) ²) surdéclaré signifie que la variable a une adresse OCTET et qu'elle est utilisée en tant que CHAR (caractère) N.B. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Des adresses avec accès périphérique direct ne sont pas autorisées à cette fin! 5-6 Déclaration Représentation ASCII de la section déclaration d'un programme Guide de programmation SPS - 18VRS A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 5-2: Section déclaration du programme EXEMPLE on a alors la sortie suivante: PROGRAMME EXEMPLE (*Exemple de programme pour documentation SPS*) (*Créé: 12.01.95, par N.N.*) IO (*Editeur IO fournit cette partie, effacée ici par manque de place*) END_IO IMPORTATION (*Editeur d'importation fournit cette partie, effacée ici par manque de place*) END_IMPORT DECLARATION VAR_INPUT sAuto AT %I1.0.3; (*Mode automatique on*) (*bit d'entrée, poste 1, élément enfichable 0, connexion 3*) Valeur de consigne AT %IB1.3; (*Valeur de consigne, codée BCD*) (*Octet d'entrée, poste 1, élément enfichable 3, 00...99*) PO1S AT %IW0.700: iPROC; (*Processus 0, Signaux d'état*) (*Type de données INDRAMAT, STRUCT *) DEA_Entrée AT A#iDEA0: iDEA; (*Entrées test du module DEA*) (*Type de données INDRAMAT, STRUCT, adressé via constante d'adresse *) END_VAR VAR_OUTPUT Voylum1 AT %Q11.3.4; (*Voyant lumineux 1*) DEA_Sortie AT A#qDEA0: qDEA; (*Sorties test du module DEA*) END_VAR VAR Pi: REAL := 3.1429; (*Constantes*) Lubrif1: TON; (*Palier temps "Lufrification1 ON"*) (*Convention de l'utilisation d'un palier temporel, FB du Type "TON"*) END_VAR VAR RETAIN S_Cycles: CTUD_INT; (*Compteur de cycles de lubrification*) (*FB de type CTUD_INT avec propriétés rémanentes*) END_VAR VAR GLOBAL sAuto AT %I1.0.3; (*Mode automatique on*) END_VAR END_DECLARATION IMPLEMENTATION_PDM END_IMPLEMENTATION IMPLEMENTATION_SIM END_IMPLEMENTATION IMPLEMENTATION_FAST END_IMPLEMENTATION IMPLEMENTATION END_IMPLEMENTATION END_PROGRAM Particularité: Le commentaire de déclaration du fichier (qui se trouve dans l'éditeur de déclaration en amont de la zone des variables d'entrée (VAR_INPUT...) est placé au début du fichier ASCII. Lors de la lecture du fichier, il est retransféré à sa place initiale. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-7 Guide de programmation SPS - 18VRS Section déclaration d'un bloc fonctionnel Fig. 5-3: Section déclaration d'un bloc fonctionnel La section déclaration présente déjà des lignes non effaçables lors de la création d'un nouveau programme. 1ère ligne A partir de la 2 ème ligne DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Elle comprend le mot clé FUNCTION_BLOCK et le nom du type du bloc fonctionnel. ⇒ Entrer le commentaire pour explication du FB (comme illustré sur la fig.) Les cinq premières lignes de ce commentaire sont utilisées en tant qu'aide déclaration dans les autres éditeurs. ⇒ Inscrire les variables d'entrée du FB entre VAR_INPUT et END_VAR ⇒ La zone entre VAR_OUTPUT et END_VAR comprend les variables de sortie du FB. ⇒ Inscrire les variables internes du FB entre VAR_INPUT et END_VAR Dans cette zone, il faut, en outre, définir la convention d'utilisation des blocs fonctionnels. ⇒ Inscrire les variables internes à propriétés rémanentes du FB entre VAR_INPUT et END_VAR. Dans cette zone, il faut, en outre, définir la convention d'utilisation des blocs fonctionnels à propriétés rémanentes. Ensuite, une sélection de lignes de déclaration correctes du point de vue syntaxe est effectuée. ⇒ Entre VAR_EXTERNAL et END_VAR: Variables qui sont déclarées dans le programme, dont l'utilisation globale a été validée sous VAR_GLOBAL du programme et auxquelles on doit recourir dans le FB. Le nom et le type des données des variables doivent concorder avec l'original du programme. Pour une meilleure distinction, des exemples de convention d'utilisation des blocs fonctionnels ont été ajoutés en italiques. 5-8 Déclaration Guide de programmation SPS - 18VRS VAR_INPUT... END_VAR Déclaration de variables d'entrée Identificateur AT Type := BOOL INT iAXIS STRING[3] ^ABC Commutateur1 Valeur1 axe i_x_ Texte_0 XYZptr 3000 OK Commentaire Entrée booléenne Variable INTEGER, valeur initiale 3000 var. d'entrée struct., type iAXIS Entrée de type STRING, max.3 caractères, Init OK Pointeur avec type de données ABC, pour transfert d'adresse/d'Identificateur La colonne AT est toujours vide. Blocs fonctionnels (et fonctions) ne peuvent pas être déclarés. VAR_OUTPUT END_VAR Déclaration de variables de sortie Identificateur AT Type := BOOL INT iAXIS STRING Contacteur1 Valeur3 axe_q_x Texte_1 5 OK Commentaire Sortie booléenne Variable INTEGER, valeur initiale 5 var. d'entrée struct., type qAXIS Entrée de type STRING, max.3 caractères, Init OK La colonne AT est toujours vide. Blocs fonctionnels (et fonctions) ne peuvent pas être déclarés. Des pointeurs ne sont pas permis (Une adresse ou un Identificateur est transféré(e) au FB côté entrée, ceci explique qu'aucune donnée ne soit sortie du FB) VAR END_VAR Déclaration de variables drapeaux et d'affectation de blocs fonctionnels Identificateur AT Marqueur1 Valeur2 DEA_01 Tableau_1 FF1 Light1 UVWptr Type := Commentaire BOOL INT qDEA MYARRAY RS LIGHT ^DEF 2#1 Bit marqueur valeur initiale 1(TRUE) Mot en tant qu’ INT, (Valeur initiale 0) Variable structurée Variable de Type MYARRAY FB micrologiciel, Type RS, nom d’affectation FF1 FB utilisateur, Type LIGHT, nom d’affectation Light1 Pointeur avec type de données DEF La colonne AT est toujours vide. VAR RETAIN END_VAR Déclaration d'indicateurs de retenue et d'affectation de blocs fonctionnels Identificateur Marqueur1 Valeur2 DEA_02 FF2 Light2 AT Type BOOL INT qDEA SR LIGHT := 5 Commentaire Indicateur de retenue Indicateur de retenue, INT, valeur initiale 3 struct. Variable rémanente type qDEA FB micrologiciel, Type SR, Nom d’affectation FF2 FB utilisateur, Type LIGHT, Nom d’affectation Light2 La colonne AT est toujours vide. Des pointeurs ne sont pas permis N.B. Pour les paliers temporels TON, TOFF, TP, on ne doit pas définir de propriétés rémanentes. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-9 Guide de programmation SPS - 18VRS Déclaration de variables globales dans le programme Nom AT TYPE := Commentaire i A#iDEA0 iDEA STRUCT d'entrée ibit %I1.1.1 BOOL Adresse abs, ÅType de données int_a %QW2.2 INT VAR_GLOBAL -35 un nombre également m tWilli variable, type utilisateur m_r tWilli retain var, type utilisateur END_VAR Déclaration de variables globales dans bloc fonctionnel Nom TYPE := Commentaire VAR_EXTERNAL i iDEA Accès aux variables d'entrée (r/o) ibit BOOL Adresse abs, ÅType de données Int_a INT m tWilli END_VAR DOK-CONTRL-SPS*PRO*V18-AW01-FR-P AT Type de données utilisateur 5-10 Déclaration Représentation ASCII de la section déclaration d'un bloc fonctionnel Guide de programmation SPS - 18VRS A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 5-3: Section déclaration d'un bloc fonctionnel on a alors la sortie suivante: FUNCTION_BLOCK AOVRD (*Analog-Override, FB convertit l'octet d'entrée "IOVR" 0...255 à la valeur de *) (*sortie correspondant à la valeur maximale "MAX" "QOVR".*) (*ENA=0, Conversion bloquée, ancienne valeur reste; ENA=1, conversion en cours *) (*TOG100 commute entre la valeur 100% et la valeur de référence*) (*Affichage de 0% et 100%. créé le 10.01.95, par N.N.*) IMPORTATION (*Editeur d'importation fournit cette partie, effacée ici par manque de place*) END_IMPORT DECLARATION VAR_INPUT ENA: BOOL := 2#0; (*validation *) TOG100-¦ ¦ BOOL := 2#0; (*Commutation n%/100% OVR*)... MAX: INT; (*Valeur max. Override*) IOVR: OCTET; (*OVERRIDE $0....$FF*) END_VAR VAR_OUTPUT QOVR: USINT; (*OVERRIDE, calibré*) AT_0: BOOL; (*Affichage si QOVR=0%*) AT_100: BOOL; (*Affichage si QOVR=100%*) END_VAR VAR HM100: BOOL; (*Etiquette auxiliaire 1*) HMM100: BOOL; (*Etiquette auxiliaire 2*) END_VAR VAR RETAIN END_VAR VAR EXTERNAL END_VAR END_DECLARATION IMPLEMENTATION END_IMPLEMENTATION END_FUNCTION_BLOCK Particularité: Le commentaire de déclaration du fichier (qui se trouve dans l'éditeur de déclaration en amont de la zone des variables d'entrée (VAR_INPUT...) est placé au début du fichier ASCII. Lors de la lecture du fichier, il est retransféré à sa place initiale. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-11 Guide de programmation SPS - 18VRS Section déclaration d'une fonction Fig. 5-4: Section déclaration d'une fonction La section déclaration présente déjà des lignes non effaçables lors de la création d'une nouvelle fonction. ère ligne ème ligne 1 A partir de la 2 ⇒ Elle comprend le mot clé FUNCTION, le nom du type de la fonction et le type de données de la sortie de la fonction qui doit être entré ici. A titre d'explication de la fonction FK, il est possible d'entrer ici 5 lignes de commentaires. Ces commentaires seront exploités dans les autres éditeurs en tant qu'aide déclaration. ⇒ Inscrire les variables d'entrée de la FK entre VAR_INPUT et END_VAR ⇒ Inscrire les variables internes de la FK entre VAR_INPUT et END_VAR N.B. Des blocs fonctionnels ne peuvent pas être entrés. L'unique variable de sortie présente le même nom et le même type que la fonction. Ensuite, une sélection de lignes de déclaration correctes du point de vue syntaxe est effectuée. VAR_INPUT... END_VAR Déclaration de variables d'entrée Identificateur AT Commutateur1 Valeur1 Text_1 Type BOOL INT STRING := Commentaire Variable d'entrée de type BOOL Variable d'entrée de type INT Entrée de type STRING, au max. 255 caractères Les colonnes AT et:= sont toujours vides. Des variables structurées et des tableaux ne sont pas permis. VAR_OUTPUT END_VAR Déclaration de variables de sortie DOK-CONTRL-SPS*PRO*V18-AW01-FR-P sans objet 5-12 Déclaration Guide de programmation SPS - 18VRS VAR END_VAR Déclaration de variables drapeaux Identificateur AT Marqueur1 Text_2 Type BOOL STRING[3] := Commentaire Bit drapeau Variables drapeaux du type STRING, au max. 3 caractères Les colonnes AT et:= sont toujours vides. Des variables structures et des tableaux ne sont pas permis. VAR RETAIN END_VAR Déclaration d'indicateurs de retenue Représentation ASCII de la section déclaration d'une fonction sans objet A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 5-4: Section déclaration d'une fonction on a alors la sortie suivante: FUNCTION SELECT: INT (*En fonction de l'entrée "SEL", l'une des deux entrées *) (*"i1" ou "i2" est commutée sur la sortie de fonction.*) (*Créé le: 06.01.95, par N.N.*) IMPORTATION END_IMPORT DECLARATION VAR_INPUT SEL: BOOL; (*Sélection: "1": i1; "0": i2*) i1: INT; (*Valeur 1*) i2: INT; (*Valeur 2*) END_VAR VAR M_INT: INT; (*Mémoire intermédiaire*) END_VAR END_DECLARATION IMPLEMENTATION END_IMPLEMENTATION END_FUNCTION Particularité: Le commentaire de déclaration du fichier (qui se trouve dans l'éditeur de déclaration en amont de la zone des variables d'entrée (VAR_INPUT...) est placé au début du fichier ASCII. Lors de la lecture du fichier, il est retransféré à sa place initiale. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-13 Guide de programmation SPS - 18VRS 5.2 Edition d'une section déclaration Déclaration de variables Le travail avec l'éditeur de déclaration doit être représenté en fonction de l'évolution indiqué à la Fig. 5-1: Création d'un programme 'PR', bloc fonctionnel 'FB', d'une fonction 'FK' ou d'un type de données 'TY' . A titre d'exemple, on a exposé (voir fig. ci-après) le programme EXEMPLE. Fig. 5-5: Section déclaration du programme EXEMPLE Si l'installation est nouvelle, le curseur est positionné sur le mot clé PROGRAM (FUNCTION_BLOCK ou FUNCTION). ⇒ Déplacer le curseur vers VAR_INPUT. ⇒ Activer la touche <Enter>La place pour l'entrée du commentaire sur le fichier est créée. ⇒ Positionner le curseur sur la ligne vide et ouvrir commentaire avec la touche <4> . ⇒ Après entrée du commentaire voulu, placer le curseur sur la ligne vide entre VAR_INPUT et END_VAR N.B. Séquence d'entrée Cette zone est assujettie aux règles de syntaxe pour variables d'entrée avec contrôle correspondant de l'entrée. sAuto<Space>1.0.3<Space><Space>Mode automatique ON<Enter> <4>bit d'entrée , Poste 1, Elément enfichable 0, Raccord 3<Enter> ⇒ En fin d'entrée d'une chaîne de caractères (d'un nom), on utilise la touche espace <Space>. Le curseur saute alors sur le champ suivant autorisé. Si on active encore une fois la touche <Space>, ceci signifie que le champ suivant peut rester vide; le curseur saute alors ce champ. ⇒ Activation de la touche <Enter> dans le champ commentaire. Le commentaire est terminé - ou - DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 5-14 Déclaration Guide de programmation SPS - 18VRS ⇒ Au lieu d’activer la touche <Space>, on peut activer la touche <Enter>, ce qui a l’effet suivant: ⇒ Si des champs doivent encore être remplis dans la ligne, <Enter> sera traitée comme la touche <Space>, c'est-à-dire que l'on sautera dans le champ suivant nécessaire, ⇒ si aucun autre champ ne doit être rempli dans la ligne, l'activation de la touche <Enter> entraînera la fermeture de la ligne et l'ouverture d'une nouvelle ligne. ⇒ Lorsque le minimum d'informations a été entré, on peut quitter la ligne avec <CursorUp> ou <CursorDown>. La touche <Esc> efface toute ligne commencée, mais non remplie entièrement. ⇒ Positionner le curseur sur la ligne vide entre VAR_OUTPUT et END_VAR. N.B. Cette zone est assujettie aux règles de syntaxe pour variables de sortie avec contrôle correspondant de l'entrée. Ensuite, on peut poursuivre le remplissage de la ligne. Des indications similaires valent entre VAR et END_VAR ou VAR RETAIN et END_VAR. Si une variable n'a pas encore été utilisée dans la section implémentation, la ligne de déclaration peut être effacée avec la combinaison de touches <Ctrl>+<Y> ou modifiée (Mode Edit, accessible via la touche <0>). Si une variable est déjà utilisée, le nom peut être modifié dans la colonne 1. Il change partout où il est utilisé. Par ailleurs, il est également possible de modifier la valeur initiale et le commentaire. Si la variable est déjà utilisée dans l'implémentation, le type de variables ne peut plus être modifié vu qu'une telle modification entraînerait une erreur aux autres endroits d'utilisation. Pour la zone entre VAR et END_VAR ou VAR RETAIN et END_VAR, un règlement particulier est appliqué, à savoir: certaines variables ou certains blocs – même s'ils sont déjà utilisés – peuvent, dans la mesure où ils ne sont pas liés à une adresse absolue, être déplacés dans l'autre zone respective (Instruction bloc). Fenêtre de sélection lors de la déclaration de variables Lors de l'entrée de la section déclaration, l'accès aux fenêtres de sélection est proposé dans la ligne de pied de page, en fonction de la position du curseur. Fenêtre de sélection pour constantes d'adresse La fenêtre de sélection est accessible dans les programmes dans la zone VAR_INPUT...END_VAR et VAR_OUTPUT...END_VAR ⇒ Entrée du nom des variables ⇒ Terminer avec <Enter> ou <Space> Dans la seconde colonne apparaît alors automatiquement %I ou %Q ⇒ Ces indications sont à effacer avec <Esc> L'instruction de pied de page 2-AdrCo apparaît alors puis, après sa confirmation, la fenêtre de sélection représentée ci-après. ⇒ Sélection via les touches de direction - ou ⇒ en mode sélection rapide par inscription du nom des constantes d'adresse désirées. ⇒ Confirmation par la combinaison de touches <Alt>+<T> L'information affichée sur le type est disponible pour la constante d'adresse respectivement présélectionnée. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Déclaration 5-15 Fig. 5-6: Fenêtre de sélection 'Constantes d'adresse' Fenêtre de sélection types de données dérivés La fenêtre de sélection est accessible dans les programmes et blocs fonctionnels pour variables WORD. Ceci permet la déclaration d'une variable STRUCT ou d'un ARRAY (tableau). En tant que types de données, on dispose des types de données micrologiciels et de types de structures ou de tableaux définis par utilisateur et déjà importés. ⇒ Appel via l'instruction de pied de page Type dérivé 3 Après confirmation, la fenêtre de sélection suivante s'ouvre. ⇒ Sélection via les touches de direction - ou ⇒ en mode sélection rapide par inscription du nom du type désiré. ⇒ Confirmation par la combinaison de touches <Alt>+<T> L'information affichée sur le type est disponible pour le type de données respectivement présélectionné. Fig. 5-7: Fenêtre de sélection 'Types de données dérivés' DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 5-16 Déclaration Fenêtre de sélection pour types de données standard Guide de programmation SPS - 18VRS La fenêtre de sélection est accessible après introduction d'un nom et le cas échéant d'une adresse et/ou d'une constante dans la colonne 3. ⇒ Activation de la touche <6> L'offre englobe les types de données standard possibles. ⇒ Sélection via les touches de direction ⇒ Confirmation avec <Enter> N.B. Si une adresse et/ou une constante d'adresse a été indiquée, une limitation aux types de données appropriés est alors effectuée. Fig. 5-8: Fenêtre de sélection 'Types de données standard' Convention pour l’affectation des blocs fonctionnels La convention sur l’utilisation des blocs fonctionnels se limite aux zones VAR...END_VAR et VAR RETAIN...END_VAR. Fig. 5-9: Convention pour blocs fonctionnels DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-17 Guide de programmation SPS - 18VRS La convention pour blocs fonctionnels s'effectue de façon analogue à celle effectuée pour les variables. La ligne qui se trouve dans la figure ci-dessus a été générée d'après la séquence suivante: Séquence d'entrée Graissg1<Space><Space>TON<Space><Space>Palier temps ‘Graissage1’ ON<Enter> Si un bloc fonctionnel n'a pas encore été utilisé dans la section implémentation, sa ligne de déclaration peut être effacée avec la combinaison de touches <Ctrl>+<Y> ou modifiée (Mode Edit, accessible via la touche <0>). Si un bloc fonctionnel est déjà utilisé, le nom peut être modifié dans la colonne 1. Il change partout où il est utilisé. Par ailleurs, il est également possible de modifier le commentaire. Le type d'un FB ne peut être remplacé par un autre que si les deux types ont la même interface (même types et nombre d'entrées et de sorties). (Remplacer TON par TOFF ....) Pour la zone entre VAR et END_VAR ou VAR RETAIN et END_VAR, un règlement particulier est appliqué, à savoir: certains blocs fonctionnels ou certains blocs de blocs fonctionnels – même s'ils sont déjà utilisés – peuvent être déplacés dans l'autre zone respective (Instruction bloc). Si le curseur se trouve sur un nom de type de FB (colonne 3) d'un bloc fonctionnel défini par utilisateur, il est possible d'immerger dans le bloc fonctionnel via les combinaisons de touches <Ctrl>+<Enter> ou <Ctrl>+<N> (Retour via <Alt>+<F4>). L'appel des possibilités d'aide est décrite au Chapitre. N.B. Pour les paliers temporels TON, TOFF, TP, on ne doit pas définir de propriétés rémanentes. Fenêtre de sélection pour la convention de blocs fonctionnels La fenêtre de sélection est accessible dans les programmes et blocs fonctionnels dans les zones VAR...END_VAR et VAR RETAIN...END_VAR. Cette fenêtre permet de définir la convention pour les applications de blocs fonctionnels. ⇒ Entrée du nom de l'affectation du bloc fonctionnel, ⇒ Terminer avec <Enter> - ou ⇒ <Space>, L'instruction de pied de page Type 5-FB apparaît. ⇒ Confirmer l'instruction Type 5-FB. La fenêtre de sélection ci-après s'ouvre. Cette fenêtre contient tous les blocs fonctionnels standard, micrologiciels et tous les blocs fonctionnels utilisateur importés jusqu'à présent. ⇒ Sélection via les touches de direction - ou ⇒ en mode sélection rapide par inscription du nom du type désiré. ⇒ Confirmation par la combinaison de touches <Alt>+<T> L'information affichée sur le type est disponible pour le bloc fonctionnel respectivement présélectionné. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 5-18 Déclaration Guide de programmation SPS - 18VRS Fig. 5-10: Fenêtre de sélection 'Types de blocs fonctionnels'' 5.3 Convention de types de données dans l'éditeur de déclaration 1ère ligne Elle contient le mot clé TYPE, suivi du nom du type de données défini par utilisateur (au max. 8 caractères; le premier caractère devant être représenté par une lettre). 2ème ligne Un commentaire peut être entré sur le type de données. Les cinq premières lignes de ce commentaire servent en tant qu'aide déclaration (<Shift>+<F1>) en relation avec le type de données. A la ligne suivante, le nom est répété automatiquement (colonne 1). Via l'instruction de pied, il est possible d'entrer la nature du type de données (structure ou tableau) dans la colonne 2 de cette ligne. Les lignes suivantes sont réservées à la convention permettant de définir les éléments du type de données. La clôture de la convention Type s'effectue avec END_TYPE L'ensemble de cette procédure est illustré ci-après à l'aide de trois exemples: • Entrée d'une structure avec des éléments élémentaires (voir Chapitre ‘Entrée d'une structure avec variables élémentaires’, Page 5-19) • Entrée d'un tableau avec des éléments élémentaires (voir Chapitre ‘Entrée d'un tableau avec variables élémentaires’, Page 5-20) • Entrée d'un tableau avec des structures en tant qu'élément (Importation de types de données utilisateur dans types de données, voir Chapitre ‘Entrée d'un tableau avec des structures en tant qu'élément’, Page 5-21) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Déclaration 5-19 Entrée d'une structure avec variables élémentaires On veut définir un type de données utilisateur OUTILLAGE comportant le numéro de l'outil (Nombre INT), la classe de précision (Nombre SINT), la direction de traitement admissible (BOOL) et un nom en texte clair avec au maximum 10 caractères pour l'affichage. Comme les différents éléments sont eux-mêmes des types de données différents, la seule solution possible est de les regrouper dans une structure. ⇒ Appeler l'option de menu Fichier/charger avec <F3> La fenêtre ci-après s'ouvre alors pour le type de données utilisateur OUTILLAGE. Fig. 5-11: Fenêtre de déclaration d'un type de données utilisateur Le nouveau type de données reçoit tout d'abord un commentaire. Séquence d'entrée ⇒ Curseur sur la ligne 2 <4>Type de données util. Outillage, avec les éléments Outil-Numéro,<Enter> <4>Classe de précision,<Enter> <4>Direction de coupe,<Enter> <4>Nom de l'outil,<Enter> <4>créé le: 06.01.95, par N.N.<Enter> ⇒ Avec l'instruction de pied 1 STRUCT, sélectionner la structure. Ensuite entrer ligne par ligne les éléments de la structure. Séquence d'entrée Numéro<Space>INT<Space>Outil-Numéro<Enter> Classe<Space>SINT<Space>Classe de précision<Enter> Direction<Space>BOOL<Space>vers la droite/vers la gauche<Enter> Nom<Space>STRING[10]<Space>Nom de l'outil, au max. 10 caractères<Enter> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 5-20 Déclaration Représentation ASCII d'une structure Guide de programmation SPS - 18VRS A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 511: Fenêtre de déclaration d'un type de données utilisateur on a alors la sortie suivante: TYPE OUTIL (*Type de données utilisateur "OUTILLAGE", avec les éléments Outil-Numéro,*) (* Classe de précision,*) (* Direction de coupe,*) (* Nom de l'outil*) (*Créé le: 06.01.95, par N.N.*) IMPORTATION END_IMPORT DECLARATION OUTILLAGE STRUCT Numéro:INT (*Outil-Numéro*) Classe: SINT (*Classe de précision,*) Direction: BOOL (*vers la droite/vers la gauche*) Nom STRING[10](*Nom de l'outil, au max. 10 caractères*) END_STRUCT END_DECLARATION END_TYPE Particularité: Le commentaire de déclaration sur le fichier est placé au début du fichier ASCII. Lors de la lecture du fichier, il est retransféré à sa place initiale. Entrée d'un tableau avec variables élémentaires On veut définir un type de données utilisateur PALETTE qui doit décrire l'affectation de la position de 25x25 pièces sur une palette. • Pièce disponible: 1 • Pièce non-disponible: 0 Tous les éléments présentent ainsi le même type de données BOOL. Un tableau bidimensionnel apparaît judicieux à l'utilisateur. ⇒ Ouvrir l'option de menu Fichier/charger avec <F3> La fenêtre ci-après s'ouvre alors pour le type de données utilisateur PALETTE. Fig. 5-12: Fenêtre de déclaration d'un type de données utilisateur Le nouveau type de données reçoit un commentaire. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-21 Guide de programmation SPS - 18VRS Séquence d'entrée ⇒ Curseur sur la ligne 2 <4>Type de données utilisateur ‘PALETTE’, 25 x 25 Places<Enter> <4>créé le: 06.01.95, par N.N.<Enter> ⇒ Avec l'instruction de pied 2-ARRAY, sélectionner un tableau. Ensuite entrer ligne par ligne les éléments du tableau. Séquence d'entrée 24<Enter> 24<Enter> <Enter> BOOL<Enter> (*on n'a pas besoin de plus d'éléments*) Un commentaire peut être introduit ensuite dans les lignes des éléments. (Curseur sur le champ commentaire de la ligne, 0-Edit.) Représentation ASCII d'un Array A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 5-12: Fenêtre de déclaration d'un type de données utilisateur on a alors la sortie suivante: TYPE PALETTE (*Type de données utilisateur "PALETTE", 25 x 25 Places*) créé le: 06.01.95, par N.N.*) IMPORTATION END_IMPORT DECLARATION PALETTE ARRAY [ 0 .. 24 (*Largeur de la palette*) 0 .. 24 (*Longueur de la palette*) ] OF BOOL END_DECLARATION END_TYPE Particularité: Le commentaire de déclaration sur le fichier est placé au début du fichier ASCII. Lors de la lecture du fichier, il est retransféré à sa place initiale. Entrée d'un tableau avec des structures en tant qu'élément On veut définir un type de données utilisateur CHANGEUR D'OUTIL. Un Echangeur d'outils à chaîne dispose de 16 places pour outils Les outils eux-même sont décrits par le type de données utilisateur OUTILLAGE. En supplément aux outils réellement disponibles (voir Chapitre ‘Entrée d'une structure avec variables élémentaires’, Page 5-19) il existe également une place libre pour l'outil Zéro. Tous les éléments présentent ainsi le même type de données OUTILLAGE. Un tableau unidimensionnel apparaît judicieux à l'utilisateur. ⇒ Ouvrir l'option de menu Fichier/charger avec <F3> La fenêtre ci-après s'ouvre alors pour le type de données utilisateur ECHANGEUR. ⇒ Avant de commencer la déclaration, il faut appeler la section importation du type de données via Edition/Importation avec <Alt>+<M> et importer le type de données OUTILLAGE: DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 5-22 Déclaration Guide de programmation SPS - 18VRS Fig. 5-13: Importation d'OUTILLAGE dans le type de données utilisateur ECHANGEUR Ensuite, il est possible, comme explicité au Chapitre ‘Entrée d'un tableau avec variables élémentaires’ (Page 5-20) de définir le tableau ECHANGEUR. Fig. 5-14: Type de données utilisateur ECHANGEUR A la suite de l'importation, l'aide déclaration (<Shift>+<F1>) est à disposition pour le type de données OUTILLAGE. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Déclaration 5-23 Fig. 5-15: <Shift>+<F1>, Aide pour OUTILLAGE dans type de données ECHANGEUR 5.4 Aide à la mise en route dans l'éditeur de déclaration Affichage d'informations sur l'état Si un programme se trouve en cours d'exécution sur la commande, il est possible dans l'éditeur de déclaration d'obtenir les informations suivantes sur l'état du programme ou d'un bloc fonctionnel utilisé. • les variables bit marquées en couleur sont logiques 1, • les autres variables sont affichées dans le champ commentaire avec leur valeur. • via l'instruction de pied 2, le commentaire sur l'affichage peut être ouvert. • les variables à plusieurs éléments (variables structurées et tableaux) peuvent être affichées dans une fenêtre particulière. Si l'affichage de l'état est activé dans l'éditeur de déclaration, l'utilisateur reçoit des informations sur la valeur actuelle des variables indépendamment de l'utilisation ou non de ces variables dans l'implémentation. De cette façon, il est possible avec la section déclaration d'un programme de contrôler le câblage entre encodeurs utilisés et vérins. Pour chaque entrée et sortie déclarée au niveau du programme, la valeur actuelle appliquée aux bornes est affichée, que cette valeur soit ou non déjà utilisée. Dans le cas des variables non utilisées jusqu'à présent et qui ne sont pas des entrées ou sorties de programme, le système affiche la valeur initiale standard. Dans la section déclaration des blocs fonctionnels, la valeur actuelle au point d'utilisation est affichée. S'il n'y a pas d'utilisation, c'est la valeur initiale qui est affichée. Un affichage de la valeur des variables à l'intérieur de fonctions n'est pas possible étant donné que ces valeurs ne sont disponibles qu'au moment de l'usinage actuel et qu'elles sont ensuite immédiatement réécrites. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 5-24 Déclaration Guide de programmation SPS - 18VRS Fig. 5-16: Editeur de déclaration, informations sur l'état Variables à plusieurs éléments <Shift>+<F3> Via l'option de menu Démarrage/variable à plusieurs éléments ou via la combinaison de touches <Shift>+<F3>, on a la possibilité d'ouvrir une fenêtre d'affichage avec la structure interne des variables. Avant d'ouvrir cette fenêtre, le curseur doit être positionné sur la variable désirée (structure ou array). Si le curseur n'est pas pointé sur une telle variable, une fenêtre s'ouvrira pour l'introduction du nom. Fig. 5-17: Sélection d'une variable à plusieurs éléments DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Déclaration 5-25 Fig. 5-18: Affichage d'une variable à plusieurs éléments Pour les tableaux, il faut éventuellement effectuer une limitation sur un groupe d'éléments. Fig. 5-19: Affichage de la structure (en tant qu'élément de tableau) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 5-26 Déclaration Guide de programmation SPS - 18VRS Listage de variables et d'éléments de variables avec noms et informations sur leur état L'utilisation de types de données utilisateur (imbriqués) est pour la mise en route supportée par l'instruction bloc <Ctrl>+<K><S> qui permet l'établissement sous la forme d'un fichier ASCII d'une liste nominative de toutes les variables et éléments de variables contenus dans un bloc avec leur état actuel tandis que le rétro-chargement des valeurs à partir du fichier (modifié) dans la commande est supporté avec la combinaison de touches <Ctrl>+<K><D> . Fig. 5-20: Variable en tant que bloc (avec info sur le type) L'archivage sous la forme de fichier ASCII peut s'effectuer de façon interne ou bien via le bouton Exportation vers un lecteur quelconque. Le fichier peut être édité et modifié dans l'éditeur de texte (ou dans n'importe quel autre éditeur ASCII). Fig. 5-21: Archivage du fichier ASCII DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-27 Guide de programmation SPS - 18VRS Fig. 5-22: Traitement du fichier ASCII dans l'éditeur de texte La figure présente le listage des éléments d'une variable de type tableau unidimensionnel avec une structure en tant que type d'élément. La syntaxe de l'accès correspond à celle de l'instruction <Ctrl>+<F4>. Accès à Exemple dans IL Remarque ARRAY [ LD Changement1 Tableau complet avec tous les composants Elément d'ARRAY LD Changement1[3] Elément 3 – une structure complète Elément de STRUCT dans tableau LD Changement1[3].Nom Nom de l'élément ARRAY 3 Caractère dans le STRING de… LD Changement1[3].Nom[5] 5. Lettre du nom N.B. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Le retrait des variables présuppose que l'on dispose des informations sur leur état! 5-28 Déclaration Guide de programmation SPS - 18VRS 5.5 Options dans l'éditeur de déclaration Les options énumérées ci-après influencent le travail dans l'éditeur de déclaration. Il est recommandé à l'utilisateur de les définir sous forme préférentielle. Cette définition est mémorisée lorsqu'on quitte le système de programmation pour revenir au menu principal. Option 'Paramètres généraux' Fig. 5-23: Fenêtre d'options ‘Paramètres généraux’ Sortie acoustique Sauvegarde automatique Cette option permet l'activation et la désactivation du 'Bip' Cette option permet en commun avec 'Requête lors de la sauvegarde' la mémorisation automatique de l'état intermédiaire obtenu. (Le fichier BAK est alors réécrit!) Sauvegarde automatique: 0 1 Requête lors de la sauvegarde: Sauvegarder de, 60 minutes – Ecart entre sauvegardes on / off Commentaire de déclaration dans l'implémentation Les commentaires qui sont affectés aux variables dans l'éditeur de déclaration sont affichés dans les lignes des listes d'instructions (IL) aux emplacements où ces variables sont utilisées, sous la forme d'un commentaire pouvant être réécrit. Ce commentaire suffit dans la plupart des cas en tant qu'explication. Si l'option est désactivée, les lignes correspondantes seront vides. La mise au point effectuée agit également dans la documentation. Affichage de variables symbolique ou absolu <Shift>+<F2> A l'intérieur des programmes, il est possible de remplacer les noms (symboliques) attribués par l'adresse absolue indiquée en tous points de la liste d'instructions (IL) ou des réseaux LD/FBD. L'inverse est également possible. Pour simplification, cette option a été prévue avec la combinaison de touches <Shift>+<F2>. Représentation de variables absolues Cette option de menu permet une commutation à l'intérieur de programmes entre: %I et %E ou %Q et %A. Exemple: %I1.2.3 et %E1.2.3 ou %Q2.3.4 et %A2.3.4 et inversement. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-29 Guide de programmation SPS - 18VRS Option ‘Paramètres de l'écran’ Fig. 5-24: Fenêtre d'option ‘Paramètres de l'écran’ Fonction Zone de paramétrage Autres éditeurs Règle les paramètres pour l'affichage dans les éditeurs. Sélection du jeu de paramètres qui doit être mis au point. • Paramètre de mise au point Coupure de nom: Stratégie permettant de couper un nom trop long. Coupure de nombres: Stratégie permettant de couper une/un valeur/nombre d'état affiché(e). • Commutateur Ok: Appliquer Standard: Interruption: DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Accepter les paramètres, les appliquer dans les éditeurs actuels. Appliquer les paramètres dans les éditeurs actuels, sans quitter la fenêtre. Restaure les paramètres standard de la zone de paramétrage sélectionnée. Restaure les paramètres avant intervention dans la fenêtre et quitter la fenêtre. 5-30 Déclaration Guide de programmation SPS - 18VRS 5.6 Aide dans l'éditeur de déclaration Conformément uniforme du système de programmation, les possibilités de guidage suivantes sont accessibles: <F1> permet une aide en relation avec l'éditeur actuel ou l'option de menu actuelle, en fonction de la position du curseur (dans la fenêtre éditeur ou dans la fenêtre menu). Si des termes sont marqués en couleur, une nouvelle aide peut être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Ctrl>+<F1> permet une aide sur le terme actuel (position du curseur). Si des termes sont marqués en couleur, une nouvelle aide peut être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Shift>+<F1> A l'aide de cette combinaison de touches on accède à la section déclaration du nom marqué par le curseur. Il est possible de représenter l'interface d'un bloc fonctionnel, d'une fonction, d'une variable structurée ainsi que les caractéristiques d'une variable quelconque. <Esc> On quitte à nouveau la fenêtre d'aide en appuyant sur <Esc>. Fig. 5-25: <F1> Aide en relation avec l'éditeur actuel DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Déclaration 5-31 Fig. 5-26: <Ctrl>+<F1>, Aide contextuelle (le curseur se trouve sur le terme iDEA) ⇒ Appel de l’aide avec la combinaison de touches <Ctrl>+<F1> - ou ⇒ Touche <F1> ⇒ Activation de la combinaison de touches <Alt>+<S> Un terme de recherche quelconque ou une partie de ce terme peut être entré dans la fenêtre d'aide. Fig. 5-27: Recherche d'un terme prédéfini Pour l'aide déclaration, il existe, dans la mesure où elles sont remplies, deux positions, la colonne • Identificateur et la colonne • TYPE DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 5-32 Déclaration Guide de programmation SPS - 18VRS Fig. 5-28: <Shift>+<F1>, Aide déclaration sur l'Identificateur PO1S avec passage à l'information sur le type <T> Lorsqu'on passe à la colonne TYPE, les indications suivantes apparaissent: Fig. 5-29: <Shift>+<F1>, Aide déclaration sur le type de données iPROC ⇒ Placer le curseur sur la position d’appel de iPROC. ⇒ Activer la combinaison de touches <Shift>+<F1>. La structure (interface) avec les types des entrées et sorties et le commentaire à la déclaration en provenance de la bibliothèque ou au moment de l'importation est alors affiché. La même chose vaut de façon analogue pour les blocs fonctionnels, le curseur devant cette fois être respectivement positionné sur le nom d'utilisation et le nom du type. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Déclaration 5-33 Fig. 5-30: <Shift>+<F1>, aide déclaration sur l'Identificateur S_Cycles avec passage à l'information sur le type <T> Si le curseur est placé sur le type du bloc fonctionnel, le commentaire de déclaration (ligne 1…5), son interface et le type des entrées et sorties ainsi que le nom du bloc seront alors affichés. Les données sont extraites de la bibliothèque ou transférées au moment de l'importation. Fig. 5-31: <Shift>+<F1>, Aide déclaration sur le type de données CTUD_INT DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 5-34 Déclaration Guide de programmation SPS - 18VRS 5.7 Touches dans l'éditeur de déclaration ⇒ Activation de la combinaison de touches <Alt>+<H> Toutes les touches actives au moment précis peuvent être appelées pour sélection et exécution. Touches générales Touche (s) Instructions curseur <Ctrl>+<S> <Ctrl>+<A> <CursorLeft> <Ctrl>+<CursorLeft> Colonne de la grille vers la gauche <Ctrl>+<D> <Ctrl>+<F> <CursorRight> <Ctrl>+<CursorRight> Colonne de la grille vers la droite <Ctrl>+<E> <CursorUp> Ligne de grille vers le haut <Ctrl>+<X> <CursorDown> Ligne de grille vers le bas <Ctrl>+<W> Dérouler image une ligne vers le haut <Ctrl>+<Z> Dérouler image une ligne vers le bas <Ctrl>+<R> <PageUp> Déplacer image vers le haut <Ctrl>+<C> <PageDown> Déplacer image vers le bas <Shift>+<CursorUp> <Shift>+<CursorDown> <Shift>+<PageUp> <Shift>+<PageDown> Marquer bloc Touche (s) Touches d’effacement <Ctrl>+<G> <Delete> Effacement d'un caractère <Ctrl>+<H> <Delete><CursorLeft> Effacement d'un caractère en aval Effacer une ligne complète <Ctrl>+<Y> <Ctrl>+<V> <Insert> Commutation Réécrire/Remplacer <Ctrl>+<M> <Enter> Fin d'une entrée Touche (s) Accès <Ctrl>+<Enter> <Ctrl>+<N> Passage à FB / FK / TY DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-35 Guide de programmation SPS - 18VRS Touches accessibles via le menu local dans l'éditeur de déclaration ⇒ Activation de la combinaison de touches <Alt>+<F10> Dans chaque éditeur, il existe un menu local qui regroupe les instructions importantes de l'éditeur de façon à ce qu'elles soient rapidement accessibles. Fig. 5-32: Menu local dans l'éditeur de déclaration Touche (s) Menu local <Alt>+<F10> <F5> Test de syntaxe <F6> Commentaire édition <Ctrl>+<F6> Commentaire, ligne complète on/off <Shift>+<F2> Adresse absolue / Nom (symbolique) <Alt>+<P> Sortie sur imprimante du contenu de l'éditeur <Ctrl>+<Q> Instructions Quick, état actuel <Ctrl>+<K> ... Instructions bloc, état actuel DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 5-36 Déclaration Guide de programmation SPS - 18VRS Combinaisons de touches pour Instructions bloc dans l'éditeur de déclaration Le but des Instructions bloc est de minimiser le travail par rapport à une introduction d'entrées. Un bloc à l'intérieur de l'éditeur de déclaration se compose d'une ou de plusieurs lignes qui se suivent directement. Pour l'éditeur de déclaration, les opérations en bloc suivantes sont possibles: Touche (s) Instructions bloc <Ctrl>+<K><B> Début du bloc <Ctrl>+<K><K> Fin de bloc <Ctrl>+<K><L> Ligne en tant que bloc <Ctrl>+<K><H> Marquage de bloc e/s <Ctrl>+<K><V> Déplacer bloc <Ctrl>+<K><C> Copier commentaire <Ctrl>+<K><Y> Effacer bloc <Ctrl>+<K><W> Ecrire bloc <Ctrl>+<K><R> Lire bloc d'une disquette <Ctrl>+<K><P> Imprimer bloc <Ctrl>+<K><I> Trier variables de bloc <Ctrl>+<K><A> Trier AbsVar de bloc <Ctrl>+<K><T> Ligne/commentaire en tant que bloc <Ctrl>+<K><U> Effacer déclarations inutilisées <Ctrl>+<K><S> Variables de SPS vers PC <Ctrl>+<K><D> Variables de PC vers SPS <Ctrl>+<K><3> Copier bloc dans éditeur de texte <Ctrl>+<K><4> Copier bloc ED dans éditeur de déclaration Début de bloc <Ctrl>+<K><B> Positionner le curseur sur la première ligne voulue et activer la combinaison de touches <Ctrl>+<K><B>. Fin de bloc <Ctrl>+<K><K> Positionner le curseur sur la première ligne voulue et activer la combinaison de touches <Ctrl>+<K><K>. Ligne en tant que bloc <Ctrl>+<K><L> Marquage de bloc e/s <Ctrl>+<K><H> Déplacer bloc <Ctrl>+<K><V> Copier commentaire <Ctrl>+<K><C> La ligne actuelle va être marquée en tant que bloc. Le bloc marqué est rendu visible ou invisible par activation de la combinaison de touches <Ctrl>+<K><H> . Le bloc marqué va être déplacé directement à l'aval de la position marquée par le curseur. Cette instruction ne devrait être utilisée que pour un déplacement entre VAR… END_VAR et VAR RETAIN ... END_VAR. Le bloc marqué va être copié directement à l'aval de la position marquée par le curseur. Effacer un bloc <Ctrl>+<K><Y> Si les variables et les noms d'affectation convenus n'ont pas encore été utilisés, toutes les lignes marquées seront effacées sans avertissement. IL EST PREFERABLE D'UTILISER: <Ctrl>+<K><U> Ecrire bloc <Ctrl>+<K><W> Le bloc marqué est écrit sur le support de données indiqué dans la fenêtre de sélection sous le nom indiqué. Le bloc est ensuite archivé en tant que fichier ASCII standard. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-37 Guide de programmation SPS - 18VRS Lire bloc <Ctrl>+<K><R> Insère derrière la position actuelle du curseur un bloc archivé auparavant avec Ecrire bloc. N.B. Imprimer bloc <Ctrl>+<K><P> Lors de sa lecture, l'exactitude de la syntaxe du bloc est contrôlée. Des corrections sont possibles dans la fenêtre. Si des limites de bloc comme VAR_INPUT.. END_VAR etc. existent, un triage est effectué automatiquement. Le bloc marqué est imprimé. Trier variables de bloc <Ctrl>+<K><I> Les variables à l'intérieur du bloc sont classées en ordre alphabétique En cas de déplacement d'entrées (VAR_INPUT...END_VAR) ou de sorties (VAR_OUTPUT...END_VAR) dans le bloc fonctionnel, l'interface visible de l'extérieur sera détruite. Si l'utilisation de FB modifiés doit se poursuivre, de vastes opérations doivent être effectuées dans l'éditeur d'interface du PR ou du FB utilisant (voir Editeur d'importation/ Editeur d'interface). A EVITER AUTANT QUE POSSIBLE. Trier AbsVar de bloc <Ctrl>+<K><A> Les variables à l'intérieur du bloc sont classées par adresses en ordre croissant En cas de déplacement d'entrées (VAR_INPUT...END_VAR) ou de sorties (VAR_OUTPUT...END_VAR) dans le bloc fonctionnel, l'interface visible de l'extérieur sera détruite. Si l'utilisation de FB modifiés doit se poursuivre, de vastes opérations doivent être effectuées dans l'éditeur d'interface du PR ou du FB utilisant (voir Editeur d'importation/ Editeur d'interface). A EVITER AUTANT QUE POSSIBLE. Ligne/commentaire en tant que bloc <Ctrl>+<K><T> Une ligne complète est marquée ou bien le commentaire si le curseur se trouve dans le champ commentaire Effacer déclaration inutilisée <Ctrl>+<K><U> Toutes les variables et/ou instances du bloc marqué qui n'ont pas encore été utilisée jusqu'à présent sont effacées, les commentaires et lignes vides sont conservées. Variables de SPS vers PC <Ctrl>+<K><S> Les noms et les valeurs actuelles des variables et de leurs éléments qui se trouvent dans le bloc sont archivés dans un dossier ASCII pouvant être édité. Variables de PC vers SPS <Ctrl>+<K><D> Relecture des valeurs (modifiées) de variables d'un fichier créé avec <Ctrl>+<K><S>. Copier bloc dans éditeur de texte <Ctrl>+<K><3> Le bloc marqué est copié dans l'éditeur de texte. Pour une meilleure structuration, les lignes spécifiques du système sont archivées parallèlement. Copier bloc éditeur de texte dans éditeur de déclaration <Ctrl>+<K><4> Le bloc marqué de l'éditeur de texte est copié dans l'éditeur de déclaration. Si des limites de bloc comme VAR_INPUT.. END_VAR etc. existent, un triage est effectué automatiquement. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 5-38 Déclaration Guide de programmation SPS - 18VRS Combinaisons de touches pour instructions Quick dans l'éditeur de déclaration Les instructions Quick ci-après servent à accélérer les mouvements du curseur: Touche (s) Instructions Quick <Ctrl>+<Q><S> <Home> vers le bord gauche <Ctrl>+<Q><D> <End> vers le bord droit <Ctrl>+<Q><R> <Ctrl><PageUp> vers le début <Ctrl>+<Q><C> <Ctrl><PageDown> vers la fin <Ctrl>+<Q><B> vers le début du bloc <Ctrl>+<Q><K> vers la fin du bloc <Ctrl>+<Q><E> <Ctrl><Home> vers le début de l'écran <Ctrl>+<Q><X> <Ctrl><End> vers la fin de l'écran <Ctrl>+<Q><P> vers la dernière position <Ctrl>+<Q><G> vers la ligne à indiquer Chercher et Remplacer Utilise la même fenêtre que ‘Rechercher et Remplacer’.... Recherche d'une chaîne de caractères <Ctrl>+<Q><F> Rechercher et Remplacer une chaîne de caractères <Ctrl>+<Q><A> Fig. 5-33: Recherche et remplacement d'un texte (chaîne de caractères) Cherche Texte sAuto Le texte à rechercher est tout d'abord défini par le terme sur lequel se trouve le curseur. On peut soit réécrire ce terme soit sélectionner un autre terme déjà utilisé auparavant via la fenêtre history. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Déclaration 5-39 Guide de programmation SPS - 18VRS Nouveau Texte Texte qui doit remplacer le texte recherché. Un contrôle de convenance est effectué afin que le nouveau texte puisse assumer la tâche du texte précédent • Eléments: [X] Variables et constantes [ ] Repère [ ] Bloc fonctionnel [ ] Types de données Zone de recherche à sélectionner (éléments à rechercher): Au moins un élément doit être sélectionné, au maximum tous les éléments peuvent être sélectionnés. Les éléments que l'éditeur actuel ne connaît pas, ne sont pas sélectionnables (grisés) • Zone: (*) Editeur ( ) Bloc marqué ( ) Réseau actuel La zone à sélectionner peut être limitée à partir de tout l'éditeur jusqu'au bloc marqué. • Options: [ ] Ignor. Majusc. [ ] mots complets seulement [ ] avec demande En options, on peut demander au système d'ignorer les majuscules et minuscules et de ne rechercher que des mots complets. Par ailleurs, il est également possible de demander qu'une confirmation soit effectuée avant chaque remplacement. • Direction: (*) en avant ( ) en arrière La direction de la recherche est définie à partir du curseur. • Mode: ( ) à partir du curseur ( ) tout autour Le mode de la recherche est défini de façon standard à partir du curseur. La recherche peut être effectuée, tout autour à partir du curseur, et au maximum jusqu'au curseur, en tenant compte de la direction susmentionnée. La troisième possibilité est: du début jusqu'à la fin en fonction de la direction ou inversement sur toute la zone Si on utilise l'instruction <Ctrl>+<Q><A>, il est judicieux de prévoir l'ouverture d'une fenêtre avec demande de confirmation par l'utilisateur avant tout échange d'une possibilité d'édition. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 5-40 Déclaration Guide de programmation SPS - 18VRS DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRS Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-1 6 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART Les éléments SFC permettent une structuration de différentes séquences d'évolution à l'intérieur des blocs fonctionnels et des programmes. Les séquences sont pourvues d' "étapes" et de "transitions" reliés les uns aux autres par des lignes fléchées. A l'intérieur des séquences, il est également possible de réaliser des branchements alternatifs (OU) comme des branchements parallèles (ET). La figure suivante illustre le classement de la structure SFC lors de la création de programmes ou de blocs fonctionnels. +------------------- TABLEAU IO ------------------+ 1. Tableau IO ¦ N° LWL- I/O Canal 1 2 ¦ Définition de la configuration ¦ Boucle Type 0123456789.0123456789.01234567890..¦ matérielle ¦ 1 1 RECO III.QQQ............................¦ (seulement avec programmes!) +--------------------- IMPORTATION ---------------+ ¦ ¦ IMPORT FROM Commentaire ¦..¦ ¦ FUNCTION (*Fonctions définies par utilisateur*)¦..¦ 2. Importation de types de ¦ NAND8 (*Fonction NAND avec 8 entrées*) ¦..¦ de données(TY), ¦ NOR8 (*Fonction NOR avec 8 entrées *) ¦..¦ Fonctions (FK) et ¦ ¦..¦ Blocs fonctionnels (FB)util. ¦ FU+------------------- DECLARATION -----------------+ avant leur utilisation ¦ A¦ Nom AT TYPE := Commentaire ¦ ¦ B¦ VAR_INPUT (* Déclaration des entrées *) ¦ 3a.Déclaration de variables ¦ C¦ ON %E0.1.1 (* Introducteur *) ¦ et blocs fonctionnels +---¦ ALARME %E2.5.2 (* Capteur *) ¦ (FB et fb) avant leur ¦ END_VAR ¦ utilisation ¦ ¦ 3b.Nouvelle création de ¦ VAR_OUTPUT (* Déclaration des sorties *) ¦ de types de données utilisateur ________________________ SFC ______________________¦ ¦ +-----+ ¦ ¦ 4. Entrée de la structure SFC ¦ ¦ S10 +... ¦ ¦ pour structuration du ¦ +-----+ ¦ ¦ programme (PR) ou du ¦ +--------------+ ¦ ¦ bloc fonctionnel (FB) ¦ + T10 + T14 ¦ ¦ (Avec les fonctions, l'utilisation ¦ +-----+ +-----+ ¦ ¦ d'éléments SFC n'est ¦ ¦ S11 +... ¦ S15 +... ¦-+ pas autorisée.) ¦ +-----+ +-----+ ¦ ¦ + T11 + T15 +-----BLOCS D'ACTION ----+ ¦ +-----+ +-----+ ¦ +--------------------+ ¦ ¦ ¦ S13 +... ¦ S16 +----B N ¦ ¦URG.MAX ¦ ¦ ¦ +-----+ +-----+ ¦ +---+-------+--------¦ ¦ ¦ + T13 + T16 ¦ ¦ S ¦ ¦ACCELER.¦ ¦ ¦ +--:-----------+ ¦ +---+-------+--------¦ ¦ ¦__________:_________________¦ ¦ L ¦ T#10s ¦LD2 ¦......... : ¦ +--------------------+ ¦ : V +------------------------+ : +--------------- IL ----------+ : +-------------- LD -----------+ ¦ 5. Addition de blocs : +------------- FBD ------------+ ¦ ¦ d'actions, qui contiennent des : ¦ +---+ ¦ ¦ ¦ variables, lignes d'instructions IL, : ¦ ON -¦& ¦ +---+ ¦ ¦ ¦ des réseaux LD ou FBD : ¦ M4 -O +---¦>=1¦ ¦ ¦ ¦ en tant qu'actions, au droit d'étape V ¦ +---+ ¦ ¦ ¦ ¦ ¦ +--------------- IL -----------------+ ¦ MOTEUR -¦ +-- T13 ¦ ¦-+ +--------- ----- FBD -----------------+ ¦ ¦ +---+ ¦-+ +------------- LD --------------------+ ¦ ¦ +------------------------------+ ¦ ¦ ON ALARME MOTEUR ¦ ¦ ¦ ¦ 7. Entrée des conditions de ¦ +-¦ +---¦/+--------( )¦ ¦ ¦ ¦ poursuite de commutation ¦ ¦ ¦ ¦ ¦ ¦ ¦ (Transitions) avec ¦ ¦ TEM ¦ ¦ ¦ ¦ ¦ l'éditeur LD,FBD ¦ +-¦/+-+ ¦ ¦ ¦-+ ou IL ¦ ¦-+ ou bien par entrée +-----------------------------+ directe des variables 6. Exécution des actions avec l'éditeur LD, FBD ou IL Fig. 6-1: DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Création d'un programme ‘PR’ ou d'un bloc fonctionnel ‘FB’ en utilisant des éléments SFC. 6-2 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART Guide de programmation SPS-18VRS 6.1 Eléments de base Etapes (STEP) L'étape est un élément de base de l'organigramme A chaque étape, on peut déclencher • zéro, • une ou • plusieurs actions (voir chapitre 7, blocs d'actions). Si un programme est en cours sur la commande, chaque étape est alors ou • active ou bien • inactive. Etape initiale A l'intérieur d'une séquence, la première étape joue toujours en tant qu'étape de démarrage un rôle particulièrement important. Elle est désignée par étape initiale de la séquence. C'est dans l'étape initiale que commence et se ferme à nouveau chaque séquence. Si une autre étape est inscrite avant l'étape initiale, c'est cette nouvelle étape qui assumera alors la fonction d'étape initiale. Chaque étape, étape initiale comprise, reçoit un nom composé au maximum de 9 caractères Un commentaire est demandé après l'entrée du nom de l'étape. Etape sEtape1 Etape initiale sINIT +---------+ ¦sEtape1¦ +---------+ Etape sEtape2 (n'est pas encore remplie) +---------+ ¦sINIT ¦ ---------+ +---------+ ?sEtape¦ +---------+ Transitions (TRANSITION) La transition est le second élément de base de l'organigramme séquentiel Chaque transition est assujettie à une condition (réceptivité) qui détermine le tracé suivi par la commande d'une ou de plusieurs étapes en amont de cette transition vers une ou plusieurs étapes en aval le long de lignes fléchées. Si la condition de transition est satisfaite, le passage peut s'effectuer. La condition de réceptivité peut être définie en: • • • liste d'instructions (IL) langage à contacts (LD) ou bloc fonctionnel (FBD). A l'intérieur d'une condition, il est également possible d'utiliser des fonctions. Une condition de transition non remplie est définie en tant que condition satisfaite en permanence. Chaque transition a un nom de 9 caractères au maximum. Un commentaire est demandé après entrée du nom de la transition, mais on peut ignorer cette requête (<Enter>). Si le nom est entré une seconde fois, le système suppose automatiquement le même contenu, un nouveau commentaire sur l'emplacement d'utilisation sera toutefois demandé. Transition tTransit1 + tTransit1 Alternativement, il est possible d'entrer directement certaines variables booléennes ou les constantes TRUE (VRAI c'est-à-dire toujours satisfaites) ou FALSE (FAUX c'est-à-dire jamais satisfaites). Transition avec la variable bool_var Transition avec la variable négativée n bool_var B+ bool_var B+ bool_var Transition, toujours satisfaite Transition, jamais satisfaite B+ TRUE B+ FALSE DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRS Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-3 Lignes fléchées A l'intérieur d'une séquence, la direction de l'évolution est prédéfinie par des lignes fléchées. Une séquence se traite de haut en bas ou de la gauche vers la droite. Des sauts peuvent exister à l'intérieur d'une séquence. Pour des raisons de clarté, il n'existe toutefois aucune intersection entre les différentes lignes fléchées d'une séquence. Saut à l'étape sStepn Evolution de gauche à droite ----> ----> ¦ V sStepn V Saut à la transition tTransitn ¦ V tTransitn V Séquences alternatives. Les séquences d'évolutions alternatives commencent toujours après le point de branchement avec une transition et se terminent toujours par une transition. Une séquence d'évolution alternative peut en cas extrême ne comporter qu'une seule transition. En partant d'une étape (voir exemple – étape sA1), la séquence se ramifie en fonction de la condition de transition satisfaite. Avec la transition: • tA1 vers l'étape sB1, • tC1 vers l'étape sD1et • tE1 vers l'étape sA1 (Saut). Si les conditions de plusieurs transitions sont satisfaites simultanément, c'est la séquence qui se trouve le plus loin à gauche qui sera poursuivie. Exemple: Les conditions des transitions tC1 et tE1 sont satisfaites simultanément, la séquence va évoluer vers l'étape sD. +<tE1< +-----+ ¦ sA1 ¦ +-----+ +-------->--------->+ +tA1 +tC1 +tE1 +-----+ +-----+ V ¦ sB1 ¦ ¦ sD1 ¦ sA1 +-----+ +-----+ : : +-----+ +-----+ ¦ sC1 ¦ ¦ sE1 ¦ +-----+ +-----+ +tB1 +tD1 +<--------+ Les séquences normales sont à nouveau regroupées après les transitions finales (tB1 ou tD1) (voir exemple). Dans le cas exceptionnel Saut, le point d'entrée du saut (voir exemple avant étape sA1) est caractérisé par une flèche et le nom de l'élément de sortie du saut (voir exemple Transition tE1). DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-4 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART Guide de programmation SPS-18VRS Séquences parallèles Après une transition commune s'effectue le passage à deux ou plusieurs séquences exécutables parallèlement dans le temps. Les séquences d'évolution commencent et se terminent avant le regroupement avec une étape. +-----+ ¦ sA2 ¦ +-----+ +tA2 ¦-------->+ +-----+ +-----+ ¦ sB2 ¦ ¦ sC2 ¦ +-----+ +-----+ : : +-----+ +-----+ ¦ sD2 ¦ ¦ sE2 ¦ +-----+ +-----+ ¦<--------+ +tB2 Si la condition de transition tA2 est satisfaite et l'étape antérieure sA2 active, sB2 et sC2 seront activées. Chaque séquence d'évolution indépendamment l'une de l'autre. est exécutée simultanément, mais Le regroupement est piloté par la transition commune tB2; il s'effectue après exécution des deux séquences et satisfaction de la condition de transition. Lois d'exécution Séquence composée de Etape/Transition/Etape Lorsqu'une séquence d'évolution est démarrée, la première étape, l'étape initiale, est activée. Ensuite, le déroulement de l'exécution se présente comme illustré par la figure ci-après d'une chaîne simple sans branchement. +-----+ ¦ sA3 ¦ +-----+ +tA3 +-----+ ¦ sB3 ¦ +-----+ A condition que l'étape sA3 soit active, la condition qui correspond à la transition tA3 est alors calculée. Si cette condition n'est pas satisfaite, c'est-à-dire logique 0, l'étape sA3 reste active. Si elle est remplie, c'est-à-dire logique 1, la transition commute et l'étape suivante sB3 est activée. Parallèlement, l'étape sA3 est désactivée. Exécution avec branchement alternatif Dans la séquence d'évolution alternative présentée ci-après, l'étape sA4 est supposée active. Le calcul des transitions s'effectue à partir de la gauche dans l'ordre tA4, tB4, tC4. En l'absence totale de réceptivité, l'étape sA reste active. Si une condition est reconnue satisfaite, l'étape suivante est activée et l'étape sA4 désactivée. Ensuite, il n'y aura plus aucun traitement d'autres transitions appartenant à ce branchement, étant donné que l'étape qui précède sA4 n'est plus active. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRS Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-5 +<tC4< +-----+ ¦ sA4 ¦ +-----+ +-------->--------->+ +tA4 +tB4 +tC4 +-----+ +-----+ V ¦ sB4 ¦ ¦ sC4 ¦ sA4 +-----+ +-----+ Le regroupement de séquences alternatives ou d'un point d'entrée de saut ne représente pour l'exécution aucune particularité. Exécution avec branchement parallèle Dans la séquence d'évolution avec branchement conjonctif telle que représentée ci-après, l'étape sA5 est supposée active. La réceptivité à la transition tA5 est alors calculée. Si cette condition n'est pas satisfaite, c'est-à-dire logique 0, l'étape sA5 reste active. Si elle est remplie, c'est-à-dire logique 1, la transition commute et les étapes suivantes (voir fig. sB5 et sC5) sont activées. Parallèlement, l'étape sA5 est désactivée. +-----+ ¦ sA5 ¦ +-----+ +tA5 ¦-------->+ +-----+ +-----+ ¦ sB5 ¦ ¦ sC5 ¦ +-----+ +-----+ Après passage du branchement parallèle, une étape active se trouve dans chaque séquence partielle parallèle. Toutes les étapes actives sont traitées à l'intérieur d'un cycle SPS une fois exactement de la gauche vers la droite. Exécution du regroupement des séquences parallèles Le regroupement des séquences parallèles est explicité par la figure suivante. L'étape sF6 ne peut être activée que si la condition de la transition tB6 qui se trouve en amont est satisfaite et toutes les étapes précédentes (sD6 et sE6) activées. L'étape sF6 désactive après son activation les étapes qui la précèdent sD6 et sE6. Si l'une des étapes précédentes n'est pas activée et / ou la condition de transition non remplie, sF6 ne peut pas être activée. : : +-----+ +-----+ ¦ sD6 ¦ ¦ sE6 ¦ +-----+ +-----+ ¦<--------+ +tB6 +-----+ ¦ sF6 ¦ +-----+ DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-6 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART Guide de programmation SPS-18VRS 6.2 Entrées de séquences dans l'éditeur SFC Le travail dans l'éditeur SFC sera tout d'abord démontré à l'aide d'un exemple simple, à savoir celui de la commande des modes de fonctionnement pour un robot SCARA. Une explication des possibilités d'insertion d'étapes, transitions, branchements et regroupements est donnée ci-après. Ensuite, on a exposé les possibilités d'effacement. En conclusion, on a illustré le travail avec les instructions blocs à l'aide de différents exemples La séquence suivante parle d'elle-même. +---------+ ?INIT ¦ +---------+ +INIT_OK +---------+ ?POWER_ON ¦ +---------+ +------------------------------------->+ +POWER_OK +POW_NOK2 +<NEW_MODE ¦ +---------+ ¦ ?ES1 ¦ ¦ +---------+ ¦ +----------->------------>+ ¦ B+IAUTO B+ISEMI B+ISETUP ¦ +---------+ +---------+ +---------+ ¦ ?AUTO ¦ ?SEMI ¦ ?SETUP ¦ ¦ +---------+ +---------+ +---------+ ¦ +NO_AUTO +NO_SEMI +NO_SETUP ¦ +<------------<------------<-----------+ +---------+ ?ES2 ¦ +---------+ +----------->+ /B+MXPOWERON +NEW_MODE +---------+ V ?POWER_OFF¦ ES1 +---------+ V B+TRUE V INIT V Etapes INIT Initialisation générale, effacement d'erreur, préparation ampli POWER_ON Mise en marche de l'ampli de puissance ES1 Attend sélection mode de fonctionnement ou erreur ampli AUTO Mode pas à pas automatique SEMI Mode pas à pas SETUP Mode manuel ES2 Attend sélection mode de fonctionnement ou arrêt POWER_OFF Arrêt ampli Transitions INIT_OK POWER_OK POW_NOK2 NO_AUTO NO_SEMI NO_SETUP NEW_MODE Init OK et validation de l'organigramme effectuée? Mise en marche ampli effectuée suivant plan? Erreur en cours de mise en marche? Automatique déconnecté? Mode pas à pas déconnecté? Mode manuel déconnecté? Sélection nouveau mode de fonctionnement? Variables booléennes en tant que transitions IAUTO Valider automatique? ISEMI Valider mode pas à pas? ISETUP Valider mode manuel? MXPOWERON Arrêter ampli? DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRS Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-7 Entrée d'un SFC simple Le présent chapitre explicite de façon plus détaillée la stratégie opérationnelle fondamentale de l'éditeur de structures. Il est supposé que l'importation des FB/FK/TY utilisateur et la déclaration des variables telle que représentée ci-après ont été effectuées en tant que conditions pour la poursuite de commutation dans les transitions. Fig. 6-2: Déclaration des variables utilisées en tant que condition pour la poursuite de la commutation Lorsqu'on entre une nouvelle structure SFC à l'intérieur d'un programme ou d'un bloc fonctionnel, un écran vierge apparaît tout d'abord. L'utilisateur doit porter son attention sur la ligne 3, sur la fenêtre principale de l'éditeur et sur l'avant-dernière ligne avec les instructions de pied de page actuellement possibles. La ligne 3 contient le nom du programme ou du bloc fonctionnel actuel ainsi que la position du curseur bloc qui se trouve dans la fenêtre principale et qui marque l'élément actuel. Le mode de fonction Insertion et le type d'adressage symbolique ne peuvent pas être modifiés. Dans l'avant-dernière ligne, les instructions de pied de page respectivement possibles sont affichées. Le contenu de cette ligne change en permanence en fonction des besoins. Instructions de pied de page <1> Insertion d'une paire Etape/Transition ou Transition/Etape <2> Ouvrir/Fermer un branchement parallèle (ET-Branchement) <3> Ouvrir/Fermer un branchement alternatif (OU-Branchement) <9> Commutation Insertion avant/Insertion après <0> Edition de noms d'étape et de transition ainsi que de commentaires Sur la Fig. 6-3: SFC avec étape d'initialisation, transition et saut à l'étape initiale est indiquée la seule possibilité existant pour le moment pour une entrée de l'étape d'initialisation et pour l'entrée consécutive de la transition au moyen de la touche <1>. Pour chacune de ces entrées, il faut compléter le nom et les commentaires correspondant sur l'étape et la transition. Si aucun commentaire n'est désiré, il faut quitter le champ commentaire avec la touche <Enter>. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-8 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART Guide de programmation SPS-18VRS Séquence d'entrée <1>INIT<Enter> Initialisation générale, Effacer erreur, Préparer ampli ...<Enter> INIT_OK<Enter> Init OK et validation de la séquence effectuée?<Enter> Fig. 6-3: SFC avec étape d'initialisation, transition et saut à l'étape initiale Avec la combinaison de touches <Ctrl>+<F6>, on peut, sur le bord inférieur de la fenêtre, faire apparaître en permanence le commentaire sur l'étape actuelle et/ou sur la transition actuelle. Le point d'interrogation qui se trouve devant le nom respectif rappelle que l'élément n'est pas encore rempli. Ensuite, on entre la séquence complète du chemin principal sans tenir compte des branchements ou regroupements prévus. Séquence d'entrée <1>POWER_ON<Enter> Mise en marche ampli de puissance<Enter> POWER_OK<Enter> Mise en marche ampli effectuée suivant plan?<Enter> <1>ES1<Enter> Attend sélection mode de fonctionnement ou erreur ampli<Enter> IAUTO<Enter> Variable booléenne!! Automatique validé?<Enter> <1>AUTO<Enter> Mode pas à pas automatique<Enter> NO_AUTO<Enter> Automatique déconnecté?<Enter> <1>ES2<Enter> Attend sélection mode de fonctionnement ou arrêt?<Enter> MXPOWERON<Enter> Variable booléenne!! Arrêter ampli?<Enter> <4> Négation des variables booléennes!! <1>POWER_OFF<Enter> Arrêter ampli<Enter> TRUE<Enter> <Enter> Aucun commentaire!! DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRS Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-9 Fig. 6-4: Séquence du chemin principal L'entrée se poursuit conformément à la figure suivante: Séquence d'entrée ⇒ Curseur sur transition POWER_OK <3>POW_NOK2<Enter> Erreur lors de la mise en marche?<Enter> Fig. 6-5: Branchement alternatif La branche ouverte doit être fermée en premier. Si le curseur se trouve sur une transition et s'il est déplacé sur des étapes ou des transitions déjà entrées, on peut voir qu'en dessous de la transition respective, le système offre dans la ligne des instructions de pied de page de fermer l'alternative En dessous de la transition NO_AUTO, le branchement est fermé. Séquence d'entrée DOK-CONTRL-SPS*PRO*V18-AW01-FR-P ⇒ Curseur sur transition NO_AUTO <3> 6-10 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS Fig. 6-6: Fin de la séquence alternative. En fonction de la tâche fixée, la structure sera élargie des étapes alternatives modes de fonctionnement SEMI et SETUP. Séquence d'entrée ⇒ Curseur sur transition IAUTO <3>ISEMI<Enter> Valider mode pas à pas?<Enter> <1>SEMI<Enter> Mode pas à pas<Enter> NO_SEMI<Enter Mode pas à pas arrêté?<Enter> Curseur sur transition NO_AUTO <3> ⇒ Curseur sur transition ISEMI <3>ISETUP<Enter> Valider mode manuel?<Enter> <1>SETUP<Enter> Mode manuel<Enter> NO_SETUP<Enter Mode manuel arrêté?<Enter> Variable booléenne!! Variable booléenne!! ⇒ Curseur sur transition NO_SEMI <3> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-11 Fig. 6-7: Fin de l’alternative Le renvoi faisant encore défaut pour modification du mode de fonctionnement suit à présent: Séquence d'entrée ⇒ Curseur sur transition MXPOWERON <3> NEW_MODE<Enter Nouveau mode de fonctionnement sélectionné?<Enter> ⇒ Curseur sur transition POWER_OK <3> Fig. 6-8: Renvoi La structure est fermée conformément à la Fig. 6-8: Renvoi DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-12 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS Insertion d'étapes (S), de transitions (T), de branchements (V) et de regroupements (Z) On désire ajouter d'autres éléments à une séquence déjà existante Pour ce faire, les pieds de page actuels de l'éditeur ainsi que la séquence initiale sont affichés, les suites de touche nécessaires nommées et la nouvelle séquence définie. Les points de sortie sont représentés par l'étape sb suivi de la transition tB. <0> Edit permet de modifier le nom de l'élément actuel et ensuite son commentaire. <9> commute le pied de page: en amont/en aval Exemples Pied de page: 1-T/S en bas 2-ET_ V à droite 9-en amont Après activation de la touche <1> , le passage ci-après est effectué: -----+ ¦ sA ¦ +-----+ +tA ¦ -----+¦ ¦¦ sB ¦¦ ¦+-----+¦ +tB -----+ ¦ sC ¦ +-----+ +tC 1-T/S en bas -----------> 1 0-Edit -----+ ¦ sA ¦ +-----+ +tA -----+ ¦ sB ¦ +-----+ ?+¦¦¦¦¦¦ -----+ ? ¦ +-----+ +tB -----+ ¦ sC ¦ +-----+ +tC Pied de page (après activation de la touche <9>): 1-S/T en haut 2-ET_ V à gauche 9-à l'aval Après activation de la touche <1> , le passage ci-après est effectué: -----+ ¦ sA ¦ +-----+ +tA ¦ -----+¦ ¦¦ sB ¦¦ ¦+-----+¦ +tB -----+ ¦ sC ¦ +-----+ +tC 2 1-S/T en haut -----------> 0-Edit -----+ ¦ sA ¦ +-----+ +tA -----+ ?¦¦¦¦¦¦ +-----+ ?+ -----+ ¦ sB ¦ +-----+ +tB -----+ ¦ sC ¦ +-----+ +tC DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-13 Si le curseur bloc est déplacé de l'étape sB sur la Transition tB avant confirmation de la touche de pied, les possibilités suivantes sont données: Exemples Pied de page: 1-S/T en bas 3-OU_ V à droite 9-en amont Après activation de la touche <1> , le passage ci-après est effectué: -----+ ¦ sA ¦ +-----+ +tA -----+ ¦ sB ¦ +-----+ ¦¦¦ +tB¦¦ -----+ ¦ sC ¦ +-----+ +tC 0-Edit -----+ ¦ sA ¦ +-----+ +tA 1-S/T en bas -----------> 3 ¦ sB ¦ +-----+ +tB -----+ ?¦¦¦¦¦¦ +-----+ ?+ -----+ ¦ sC ¦ +-----+ +tC Pied de page (après activation de la touche <9>): 1-T/S en haut 3-OU_ V à gauche 9-à l'aval Après activation de la touche <1> , le passage ci-après est effectué: -----+ ¦ sA ¦ +-----+ +tA -----+ ¦ sB ¦ +-----+ ¦¦¦ +tB¦¦ -----+ ¦ sC ¦ +-----+ +tC 4 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 1-T/S en haut -----------> 0-Edit -----+ ¦ sA ¦ +-----+ +tA -----+ ¦ sB ¦ +-----+ ?+¦¦¦¦¦ -----+ ? ¦ +-----+ +tB -----+ ¦ sC ¦ +-----+ +tC 6-14 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS L’ouverture de branchements peut s’effectuer de la droite ou de la gauche à partir de la position actuelle du curseur. Exemples Pied de page: 1-T/S en bas 2-ET_ V à droite 9-en amont Après activation de la touche <2> , le passage ci-après est effectué: -----+ ¦ sA ¦ +-----+ +tA 0-Edit -----+ ¦ sA ¦ +-----+ +tA > ¦ -----+¦ ¦¦ sB ¦¦ ¦+-----+¦ ou > -----+ ¦ sC ¦ +-----+ 2-ET_V à droite -----+ --------------> ³ sB ¦ +-----+ -----+ ¦ sA ¦ +-----+ +tA > -----+ ?¦¦¦¦¦¦ +-----+ -----+ ³ sC ¦ +-----+ -----+ ¦ sA ¦ +-----+ +tA > -----+ ¦ sB ¦ +-----+ > ¦ -----+¦ ¦¦ sC ¦¦ ¦+-----+¦ 2-ET_V à droite -----+ --------------> ³ sB ¦ +-----+ > -----+ ³ sC ¦ +-----+ -----+ ?¦¦¦¦¦¦ +-----+ 5 Pied de page (après activation de la touche <9>): 1-S/T en haut 2-ET_ V à gauche 9-à l'aval Après activation de la touche <2>, le passage ci-après est effectué: -----+ ¦ sA ¦ +-----+ +tA 0-Edit -----+ ¦ sA ¦ +-----+ +tA > 6 ¦ -----+¦ ¦¦ sB ¦¦ ¦+-----+¦ > -----+ ¦ sC ¦ +-----+ 2-ET_V à gauche -----+ --------------> ?¦¦¦¦¦¦ +-----+ > -----+ ³ sB ¦ +-----+ -----+ ³ sC ¦ +-----+ Si on insère une branche vers la gauche, cette ramification sera ensuite nécessairement refermée automatiquement dans la colonne 1. En cas de besoin, elle peut être élargie. Une extension vers la gauche peut également être engendrée à partir de chaque autre étape. -----+ ¦ sA ¦ +-----+ +tA -----+ ¦ sA ¦ +-----+ +tA > 7 -----+ ¦ sB ¦ +-----+ > ¦ -----+¦ ¦¦ sC ¦¦ ¦+-----+¦ 2-ET_V à gauche -----+ --------------> ³ sB ¦ +-----+ > -----+ ?¦¦¦¦¦¦ +-----+ -----+ ³ sC ¦ +-----+ DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-15 Si le curseur bloc est déplacé de l'étape sB sur la Transition tB avant confirmation de la touche de pied, les possibilités suivantes sont données: Exemples Pied de page: 1-S/T en bas 3-OU_ V à droite 9-en amont Après activation de la touche <3>, le passage ci-après est effectué: -----+ ¦ sA ¦ +-----+ 0-Edit -----+ ¦ sA ¦ +-----+ > ¦¦¦ +tA¦¦ +tB 3-OU_V à droite ---------------> > > +tA ?+¦¦¦¦¦ +tB ou -----+ ¦ sA ¦ +-----+ -----+ ¦ sA ¦ +-----+ > +tA ¦¦¦ +tB¦¦ 8 3-OU_V à droite ---------------> > +tA > +tB ?+¦¦¦¦¦ Pied de page (après activation de la touche <9>): 1-T/S en haut 3-OU_ V à gauche 9-à l'aval Après activation de la touche <3>, le passage ci-après est effectué: -----+ ¦ sA ¦ +-----+ 0-Edit -----+ ¦ sA ¦ +-----+ > 9 ¦¦¦ +tA¦¦ +tB 3-OU_B à gauche ---------------> > ?+¦¦¦¦¦ > +tA +tB Si on insère une branche vers la gauche, cette ramification sera ensuite nécessairement refermée automatiquement dans la colonne 1. En cas de besoin, elle peut être élargie. Une extension vers la gauche est possible à partir de n'importe quel autre point. -----+ ¦ sA ¦ +-----+ -----+ ¦ sA ¦ +-----+ > +tA ¦¦¦ +tB¦¦ 3-OU_B à gauche ---------------> > +tA > ?+¦¦¦¦¦ +tB 10 En complément, on trouvera les possibilités de fermeture des branchements. Elles ont la particularité de ne permettre qu'une seule offre dans le pied de page si un branchement correspondant existe. Pour la fermeture d'une branche parallèle, une autre branche parallèle est supposée ouverte en un autre endroit. La branche parallèle ne peut être fermée qu'après une étape ou avant une transition. Pied de page: 1-T/S en bas 2-ET_ Z en bas ¦ sA ¦ +-----+ +tA 9-en amont 0-Edit ¦ sA ¦ +-----+ +tA > 11 ¦ -----+¦ ¦¦ sB ¦¦ ¦+-----+¦ ³ +tB -----+ ¦ sC ¦ +-----+ +tC > -----+ ¦ sC ¦ +-----+ DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 2-ET_Z en bas ¦ -----+¦ -------------> ¦ sB ¦¦ ¦+-----+¦ -----+ sC ¦ +-----+ < +tB -----+ ¦ sC ¦ +-----+ +tC 6-16 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS A partir de la transition ‘tB', on peut obtenir le même effet après activation de la touche <9>, Commutation pieds de page. Pied de page: 1-T/S en haut 2-ET_ Z en haut 9-en amont -----+ ¦ sA ¦ +-----+ +tA 0-Edit -----+ ¦ sA ¦ +-----+ +tA > -----+ ¦ sB ¦ +-----+ > Ú-----+ ¦ sC ¦ +-----+ 2-ET_Z en haut ¦ -----+¦ -------------> ¦ sB ¦¦ ¦+-----+¦ -----+ sC ¦ +-----+ < 12 ¦¦¦ +tB¦¦ -----+ ¦ sC ¦ +-----+ +tC +tB -----+ ¦ sC ¦ +-----+ +tC Pour la fermeture d’une branche alternative, une autre branche alternative est supposée ouverte en un autre endroit. La branche alternative ne peut être fermée qu'après une transition ou avant une étape. Pied de page: 1-S/T en bas 3-OU_ Z en bas 9-en amont sInit sInit +ti <tH< -----+ ¦ sA ¦ +-----+ > +tA -----+ ¦ sB ¦ +-----+ ¦¦¦+tB¦¦ -----+ ¦ sC ¦ +-----+ +tC V sInit V 13 0-Edit > +tE -----+ ¦ sD ¦ +-----+ +tF -----+ ¦ sE ¦ +-----+ +tG +tH V sA V +ti <tH< -----+ ¦ sA ¦ +-----+ > 3-ODER_Z unten -------------> +tA +tE -----+ -----+ ¦ sB ¦ ¦ sD ¦ +-----+ +-----+ ¦¦¦+tB¦¦ +tF -----+ ¦ sE ¦ +-----+ +tG <-------------+ ¦ sC ¦ +-----+ +tC V sInit V > +tH V sA V DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-17 A partir de l'étape ‘sD', on peut obtenir le même effet après activation de la touche <9>, Commutation pieds de page. Pied de page: 1-T/S en haut 3-OU_ Z en haut 9-en amont sInit 0-Edit sInit +ti <tH< -----+ ¦ sA ¦ +-----+ > +tA -----+ ¦ sB ¦ +-----+ +tB ¦ -----+¦ ¦¦ sC ¦¦ ¦+-----+¦ +tC V sInit V > +tE -----+ ¦ sD ¦ +-----+ +tF -----+ ¦ sE ¦ +-----+ +tG 14 +tH V sA V +ti <tH< -----+ ¦ sA ¦ +-----+ > 3-OU_Z en haut ------------> +tA +tE -----+ -----+ ¦ sB ¦ ¦ sD ¦ +-----+ +-----+ ¦¦¦+tB¦¦ +tF -----+ ¦ sE ¦ +-----+ +tG <-------------+ ¦ sC ¦ +-----+ +tC V sInit V > +tH V sA V Effacement d’Etapes(S), Transitions (T) et branchements (V) L'effacement d'étapes, transitions et branchements est possible avec les combinaisons de touches suivantes: <BS> / <CursorLeft> ou <Ctrl>+<H> <Entf> / <Del> ou <Ctrl>+<G> Effacement de l'élément actuel et du précédent Effacement de l'élément actuel et de l'élément suivant <Ctrl>+<T> Ouverture de la branche actuelle <Ctrl>+<Y> Effacement de la branche actuelle L'effacement d'éléments SFC dans l'éditeur SFC ⇒ entraîne simultanément un effacement des commentaires, conditions de transition et blocs d'actions correspondants. (à partir de la version 17 ATTENTION cette opération ne s'effectue qu'après interrogation!) Les exemples ci-après entendent illustrer l'effet des touches. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-18 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS Effacement d'étapes et de transitions -----+ ¦ sA ¦ +-----+ +tA ¦ -----+¦ ¦¦ sB ¦¦ ¦+-----+¦ +tB -----+ ¦ sC ¦ +-----+ +tC <BS> ou <Ctrl>H -----------------> ¦ -----+¦ ¦¦ sA ¦¦ ¦+-----+¦ +tB -----+ ¦ sC ¦ +-----+ +tC ou 15 -----+ ¦ sA ¦ +-----+ +tA ¦ -----+¦ ¦¦ sB ¦¦ ¦+-----+¦ +tB -----+ ¦ sC ¦ +-----+ +tC -----+ ¦ sA ¦ +-----+ +tA <Entf>/DEL ou <Ctrl>G ¦ -----+¦ ----------------------> ¦¦ sC ¦¦ ¦+-----+¦ +tC Si le curseur est positionné sur la transition tB, les graphiques analogiques suivants sont représentés -----+ ¦ sA ¦ +-----+ +tA -----+ ¦ sB ¦ +-----+ ¦¦¦ +tB¦¦ -----+ ¦ sC ¦ +-----+ +tC <BS> ou <Ctrl>H -----------------> -----+ ¦ sA ¦ +-----+ ¦¦¦ +tA¦¦ -----+ ¦ sC ¦ +-----+ +tC ou 16 -----+ ¦ sA ¦ +-----+ +tA -----+ ¦ sB ¦ +-----+ ¦¦¦ +tB¦¦ -----+ ¦ sC ¦ +-----+ +tC -----+ ¦ sA ¦ +-----+ +tA -----+ <Entf>/DEL ou <Ctrl>G ----------------------> ¦ sB ¦ +-----+ ¦¦¦ +tC¦¦ La disparition du dernier élément (étape ou transition) entraîne la disparition simultanée de la possibilité d'embranchement. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-19 L'ouverture d'une branche présuppose, dans le cas des séquences alternatives comme dans le cas de séquences parallèles, que la structure SFC ait été complètement fermée auparavant, étant donné qu'elle ne peut être ouverte qu'en un seul point. La branche ouverte peut ensuite être écourtée, prolongée ou à nouveau fermée en un autre point autorisé. La position du curseur à l'intérieur de la branche à ouvrir n'a aucune importance. Ouverture d'une branche où se trouve le curseur sInit sInit +ti <tH< -----+ ¦ sA ¦ +-----+ +ti <tH< -----+ ¦ sA ¦ +-----+ > > +tA -----+ ¦ sB ¦ +-----+ +tB 17 ¦¦¦ +tE¦¦ -----+ ¦ sD ¦ +-----+ +tF -----+ ¦ sE ¦ +-----+ +tG <-------------+ ¦ sC ¦ +-----+ +tC V sInit V <Ctrl>T -------> > +tA -----+ ¦ sB ¦ +-----+ +tB -----+ ¦ sC ¦ +-----+ +tC V sInit V sInit sInit +tA +tA -----+ ¦ sB ¦ +-----+ +tB -----+ ¦ sC ¦ +-----+ 18 +tH V sA V -----+ ¦ sD ¦ +-----+ ¦¦¦ +tF¦¦ -----+ ¦ sE ¦ +-----+ +tC V sInit V DOK-CONTRL-SPS*PRO*V18-AW01-FR-P <Ctrl>T --------> -----+ ¦ sB ¦ +-----+ +tB -----+ ¦ sC ¦ +-----+ +tC V sInit V > +tE -----+ ¦ sD ¦ +-----+ +tF -----+ ¦ sE ¦ +-----+ ¦¦¦ +tG¦¦ -----+ ¦ sD ¦ +-----+ +tF ¦ -----+¦ ¦¦ sE ¦¦ ¦+-----+¦ +tH V sA V 6-20 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS L'effacement d'une branche présuppose, dans le cas des séquences alternatives comme dans le cas des séquences parallèles, que la structure SFC ait été complètement fermée auparavant. La position du curseur à l'intérieur de la branche à effacer n'a aucune importance. Effacement de la branche où se trouve le curseur sInit sInit +ti <tH< -----+ ¦ sA ¦ +-----+ +ti <tH< -----+ ¦ sA ¦ +-----+ > +tA -----+ ¦ sB ¦ +-----+ +tB 19 ¦¦¦ +tE¦¦ -----+ ¦ sD ¦ +-----+ +tF -----+ ¦ sE ¦ +-----+ +tG <-------------+ ¦ sC ¦ +-----+ +tC V sInit V > +tH V sA V <Ctrl>Y -------> sInit sInit +tA ¦ -----+¦ ¦¦ sB ¦¦ ¦+-----+¦ +tB -----+ ¦ sC ¦ +-----+ 20 +tC V sInit V > ¦¦¦ +tH¦¦ V sA V +tA -----+ ¦ sB ¦ +-----+ +tB -----+ ¦ sC ¦ +-----+ +tC V sInit V -----+ ¦ sD ¦ +-----+ +tF -----+ ¦ sE ¦ +-----+ <Ctrl>Y --------> +tA ¦ -----+¦ ¦¦ sD ¦¦ ¦+-----+¦ +tF -----+ ¦ sE ¦ +-----+ +tC V sInit V L'étape initiale ne doit, pour sa part, être effacée qu'en dernier. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-21 Instructions bloc dans l'éditeur SFC Le but des instructions bloc est d'économiser du travail en ce qui concerne les nouvelles entrées. Un bloc dans un organigramme SFC se compose d'étapes, de transitions et de lignes fléchées. Par ailleurs, il peut également contenir des branchements et des regroupements. Un bloc comprend une ligne entrante et une ligne sortante. Pour l'éditeur SFC, les opérations bloc suivantes sont possibles: Touche (s) Instructions bloc <Ctrl>+<K><B> Marquer Début du bloc <Ctrl>+<K><K> Marquer Fin de bloc <Ctrl>+<K><A> SFC complet en tant que bloc <Ctrl>+<K><H> Masquer le bloc <Ctrl>+<K><Y> Effacer bloc <Ctrl>+<K><V> Déplacer bloc <Ctrl>+<K><C> Copier bloc, et compléter avec noms de nouvelles étapes <Ctrl>+<K><W> Ecrire le bloc <Ctrl>+<K><R> Lire le bloc A partir de la version 16 Modification des limites de bloc admissibles! ATTENTION En fonction de son utilisation un bloc qui commence par une étape, peut se terminer par une transition (cas A) ou par une étape(cas B). De même, un bloc qui commence par une transition, peut se terminer par une étape(cas C) ou par une transition (cas D). Simples opérations en bloc La présente section entend tout d'abord expliciter les différents Instructions bloc à l'aide d'exemples simples, c'est-à-dire des types de blocs A et B. Ensuite, la section suivante illustrera et expliquera des possibilités plus approfondies et plus complexes. Marquer début de bloc <Ctrl>+<K><B> En tant que début de bloc, le système accepte des étapes ou des transitions. Le curseur bloc est donc à positionner sur une étape ou une transition, ensuite on doit activer la combinaison de touches <Ctrl>+<K><B> (voir figures suivantes). Marquer fin de bloc <Ctrl>+<K><K> En tant que fin de bloc, le système accepte des étapes ou des transitions. Le curseur bloc est donc à positionner sur une étapeou une transition, ensuite on doit activer la combinaison de touches <Ctrl>+<K><K> (voir figures suivantes). Masquer le bloc <Ctrl>+<K><H> Le bloc marqué peut être masqué avec <Ctrl>+<K><H> puis être à nouveau démasqué en activant une nouvelle fois cette combinaison de touches. Ecrire bloc <Ctrl>+<K><W> Le bloc marqué (type indifférent) est écrit sur le support de données sous la forme d'un fichier ASCII. En supplément, il est possible de sélectionner si seules les étapes, transitions, et les informations d'enchaînement correspondantes doivent être archivées ou bien si en même temps on désire stocker certains détails supplémentaires (actions, blocs d'actions, conditions de transitions). Lire bloc <Ctrl>+<K><R> Lecture du bloc sauvegardé en code ASCII. En fonction du type de bloc, il sera inséré (Cas A ou Cas C) ou connecté parallèlement à l'élément actuel (Cas B ou Cas D). En cas de besoins, de nouveaux noms d'étapes seront demandés. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-22 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS Marquer un bloc (Cas A) commençant par l'étape sB et finissant par la transition tC sInit sInit +ti <tH< -----+ ¦ sA ¦ +-----+ 21a > +tA +tE -----+ ¦ -----+¦ ¦ sD ¦ ¦ sB ¦¦ ¦+-----+¦ +-----+ +tB +tF -----+ -----+ ¦ sC ¦ ¦ sE ¦ +-----+ +-----+ +tC +tG <-------------+ ¦ sG ¦ +-----+ +tC V sInit V +ti <tH< -----+ ¦ sA ¦ +-----+ > +tH V sA V > +tA +tE -----+ ¦ -----+¦ ¦¦ sB ¦¦ ¦ sD ¦ ¦+-----+¦ +-----+ ¦¦¦ +tB¦¦ +tF -----+ ¦ -----+¦ ¦¦ sG ¦¦ ¦ sE ¦ ¦+-----+¦ +-----+ ¦¦¦ +tC¦¦ +tG <-------------+ ¦ sG ¦ +-----+ +tC V sInit V ⇒ Curseur sur l'étape sB ⇒ Curseur sur transition tC Séquence opérationnelle > +tH V sA V <Ctrl>+<K><B> <Ctrl>+<K><K> Marquer un bloc (Cas C) commençant par l'étape sB et finissant par l'étape sC 21b sInit sInit +ti <tH< -----+ ¦ sA ¦ +-----+ +ti <tH< -----+ ¦ sA ¦ +-----+ > +tA +tE ¦ -----+¦ -----+ ¦ sB ¦¦ ¦ sD ¦ ¦+-----+¦ +-----+ +tB +tF -----+ -----+ ¦ sC ¦ ¦ sE ¦ +-----+ +-----+ +tC +tG <-------------+ ¦ sG ¦ +-----+ +tC V sInit V Séquence opérationnelle > +tH V sA V > +tA +tE ¦ -----+¦ -----+ ¦¦ sB ¦¦ ¦ sD ¦ ¦+-----+¦ +-----+ ¦¦¦ +tB¦¦ +tF ¦ -----+¦ -----+ ¦¦ sC ¦¦ ¦ sE ¦ ¦+-----+¦ +-----+ +tC +tG <-------------+ ¦ sG ¦ +-----+ +tC V sInit V ⇒ Curseur sur l'étape sB ⇒ Curseur sur l'étape sC > +tH V sA V <Ctrl>+<K><B> <Ctrl>+<K><K> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-23 Marquer un bloc (Cas C) commençant par la transition tE et finissant par l'étape sE 22a sInit sInit +ti <tH< -----+ ¦ sA ¦ +-----+ +ti <tH< -----+ ¦ sA ¦ +-----+ > > +tA ¦¦¦ +tE¦¦ -----+ -----+ sB ¦ ¦ sD ¦ +-----+ +-----+ +tB +tF -----+ -----+ ¦ sC ¦ ¦ sE ¦ +-----+ +-----+ +tC +tG <-------------+ ¦ sG ¦ +-----+ +ti V sInit V Séquence opérationnelle +tH V sA V > > +tA ¦¦¦ +tE¦¦ -----+ ¦ -----+¦ ¦ sB ¦ ¦ sD ¦¦ +-----+ ¦+-----+¦ +tB ¦¦¦ +tF¦¦ -----+ ¦ -----+¦ ¦ sC ¦ ¦¦ sE ¦¦ +-----+ ¦+-----+¦ +tC +tG <-------------+ ¦ sG ¦ +-----+ +ti V sInit V ⇒ Curseur sur transition tE ⇒ Curseur sur étape sE +tH V sA V <Ctrl>+<K><B> <Ctrl>+<K><K> Marquer un bloc (Cas D) commençant par la transition tE et finissant par la transition tF 22b sInit sInit +ti <tH< -----+ ¦ sA ¦ +-----+ +ti <tH< -----+ ¦ sA ¦ +-----+ > > +tA ¦¦¦ +tE¦¦ -----+ -----+ sB ¦ ¦ sD ¦ +-----+ +-----+ +tB +tF -----+ -----+ ¦ sC ¦ ¦ sE ¦ +-----+ +-----+ +tC +tG <-------------+ ¦ sG ¦ +-----+ +ti V sInit V Séquence opérationnelle DOK-CONTRL-SPS*PRO*V18-AW01-FR-P +tH V sA V > > +tA ¦¦¦ +tE¦¦ -----+ ¦ -----+¦ ¦ sB ¦ ¦ sD ¦¦ +-----+ ¦+-----+¦ +tB ¦¦¦ +tF¦¦ -----+ -----+ ¦ sC ¦ ¦ sE ¦ +-----+ +-----+ +tC +tG <-------------+ ¦ sG ¦ +-----+ +ti V sInit V ⇒ Curseur sur transition tE ⇒ Curseur sur transition tF +tH V sA V <Ctrl>+<K><B> <Ctrl>+<K><K> 6-24 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS Effacer bloc <Ctrl>+<K><Y> Le bloc marqué peut être effacé si une structure correcte existe dans le résultat. Effacement d'un bloc marqué (Cas A) composé de sB, tB, sC et tC -----+ ¦ sA ¦ +-----+ 23 > +tA +tE ¦ -----+¦ -----+ ¦¦ sB ¦¦ ¦ sD ¦ ¦+-----+¦ +-----+ ¦¦¦ +tB¦¦ +tF ¦ -----+¦ -----+ ¦¦ sC ¦¦ ¦ sE ¦ ¦+-----+¦ +-----+ ¦¦¦ +tC¦¦ +tG <-------------+ ¦ sG ¦ +-----+ Séquence opérationnelle Effacement d'un bloc marqué (Cas B) composé de sB, tB et sD +-----+ ¦ sA ¦ +-----+ +tA ¦-------->+ ¦+-----+¦ +-----+ ¦¦ sB ¦¦ ¦ sC ¦ ¦+-----+¦ +-----+ ¦¦ ¦+tB¦¦ +tC ¦+-----+¦ +-----+ ¦¦ sD ¦¦ ¦ sE ¦ ¦+-----+¦ +-----+ ¦<--------+ +tB Séquence opérationnelle Effacement d'un bloc marqué (Cas C) composé de tE, sD, tF et sE -----+ ¦ sA ¦ +-----+ > +tA ¦¦¦ +tE¦¦ -----+ ¦ -----+¦ ¦ sB ¦ ¦ sD ¦¦ +-----+ ¦+-----+¦ +tB ¦¦¦ +tF¦¦ -----+ ¦ -----+¦ ¦ sC ¦ ¦¦ sE ¦¦ +-----+ ¦+-----+¦ +tC +tG <-------------+ ¦ sG ¦ 24 +-----+ Séquence opérationnelle -----+ ¦ sA ¦ +-----+ > ¦¦¦ +tA¦¦ +tE ¦ -----+ ¦ ¦ sD ¦ ¦ +-----+ ¦ +tF ¦ -----+ ¦ ¦ sE ¦ ¦ +-----+ ¦ +tG <-------------+ ¦ sG ¦ +-----+ ⇒ Curseur sur une position quelconque <Ctrl>+<K><Y> +-----+ ¦ sA ¦ +-----+ +tA +-----+ ¦ sC ¦ +-----+ +tC +-----+ ¦ sE ¦ +-----+ +tB ⇒ Curseur sur une position quelconque <Ctrl>+<K><Y> -----+ ¦ sA ¦ +-----+ > +tA ¦¦¦ +tG¦¦ -----+ ¦ ¦ sB ¦ ¦ +-----+ ¦ +tB ¦ -----+ ¦ ¦ sC ¦ ¦ +-----+ ¦ +tC ¦ <-------------+ ¦ sG ¦ +-----+ ⇒ Curseur sur une position quelconque <Ctrl>+<K><Y> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-25 Effacement d'un bloc marqué (Cas D) composé de tA, sB, tB et tC -----+ ¦ sA ¦ +-----+ 24 -----+ ¦ sA ¦ +-----+ ¦¦¦ +tE¦¦ -----+ ¦ sD ¦ +-----+ +tF -----+ ¦ sE ¦ +-----+ +tG -----+ ¦ sG ¦ +-----+ > ¦¦¦ +tA¦ +tE ¦ -----+¦ -----+ ¦¦ sB ¦¦ sD ¦ ¦+-----+¦ +-----+ ¦¦¦ +tB¦¦ +tF ¦ -----+¦ -----+ ¦¦ sC ¦¦ ¦ sE ¦ ¦+-----+¦ +-----+ ¦¦¦ +tC¦¦ +tG <-------------+ ¦ sG ¦ +-----+ ⇒ Curseur sur une position quelconque Séquence opérationnelle Un bloc ne peut être déplacé qu'en aval de la position marquée par le curseur, c'est-à-dire que si un bloc commence par une étape, il ne peut être inséré qu'après une transition et doit se terminer par une transition (Cas A). Si un bloc commence par une transition, il ne peut être inséré qu'après une étape et doit se terminer par une étape(Cas C). Les blocs suivant cas B et D ne se prêtent pas à un déplacement. Déplacer bloc <Ctrl>+<K><V> Déplacer bloc (Cas A) après transition tH +ti <tH< -----+ ¦ sA ¦ +-----+ > +tA +tE ¦ -----+¦ -----+ ¦¦ sB ¦¦ ¦ sD ¦ ¦+-----+¦ +-----+ ¦¦¦ +tB¦¦ +tF ¦ -----+¦ -----+ ¦¦ sC ¦¦ ¦ sE ¦ ¦+-----+¦ +-----+ ¦¦¦ +tC¦¦ +tG <-------------+ ¦ sG ¦ 25 +-----+ <Ctrl>+<K><Y> +ti <tC< -----+ ¦ sA ¦ +-----+ > Séquence opérationnelle DOK-CONTRL-SPS*PRO*V18-AW01-FR-P +tH V sA V > +tA +tE ¦ -----+ ¦ ¦ sD ¦ ¦ +-----+ ¦ +tF ¦ -----+ ¦ ¦ sE ¦ ¦ +-----+ ¦ +tG <-------------+ ¦ sG ¦ +-----+ > ¦¦ +tH¦¦ -----+ ¦ sB ¦ +-----+ +tB -----+ ¦ sC ¦ +-----+ tC V sA V ⇒ Curseur sur une transition (tH dans l’exemple) Le bloc commence par une étape. ⇒ Activer la combinaison de touches <Ctrl>+<K><V>. 6-26 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS Déplacer bloc (Cas C) après l'étape sA +ti <tH< -----+ ¦ sA ¦ +-----+ > > +tA ¦¦¦ +tE¦¦ -----+ ¦ -----+¦ ¦ sB ¦ ¦ sD ¦¦ +-----+ ¦+-----+¦ +tB ¦¦¦ +tF¦¦ ¦ ¦ -----+¦ ¦ ¦¦ sE ¦¦ ¦ ¦+-----+¦ ¦ +tG <-------------+ ¦ sG ¦ 26 +-----+ Séquence opérationnelle +tH V sA V +ti <tH< ¦ -----+¦ ¦¦ sA ¦¦ ¦+-----+¦ +tE -----+ ¦ sD ¦ +-----+ +tF -----+ ¦ sE ¦ +-----+ > +tA +tG -----+ ¦ ¦ sB ¦ ¦ +-----+ ¦ +tB ¦ <-------------+ ¦ sG ¦ +-----+ > +tH V sA V ⇒ Positionner le curseur sur une étape (sA dans l'exemple) Le bloc commence par une transition. ⇒ Activer la combinaison de touches <Ctrl>+<K><V>. Pour des raisons graphiques, il se peut qu'on doive insérer une étape vide avec transition toujours satisfaite ou une transition toujours satisfaite et une étape vide. Copier bloc <Ctrl>+<K><C> Un bloc peut être copié en aval de la position marquée par le curseur, c'està-dire que si un bloc commence par une étape, il ne peut être inséré qu'après une transition et doit se terminer par une transition (Cas A). Si un bloc commence par une transition, il ne peut être inséré qu'après une étape et doit se terminer par une étape (Cas C). Des blocs suivant Cas B (commençant et finissant par une étape) peuvent être utilisés pour ajouter une branche à des séquences parallèles, tandis que des blocs suivant Cas D (commençant et finissant par une transition) peuvent être utilisés pour ajouter une branche à des séquences alternatives. Pour chaque étape, l'entrée d'un nouveau nom d'étape est requise. Les étapes et transitions présentent les même détails que leurs originaux. Copier bloc (Cas A) après transition tH +tB +<tH< +-----+ ¦ sA ¦ +-----+ +-------->--------->+ +tA +tE ¦¦ +tH¦¦ ¦+-----+¦ +-----+ V ¦¦ sB ¦¦ ¦ sC ¦ sA ¦+-----+¦ +-----+ ¦¦¦ +tB¦¦ +tF ¦+-----+¦ +-----+ ¦¦ sD ¦¦ ¦ sE ¦ ¦+-----+¦ +-----+ ¦¦¦ +tC¦¦ +tG +<--------+ V sINIT V Séquence opérationnelle +tB +<tC< +-----+ ¦ sA ¦ +-----+ +-------->--------->+ +tA +tE ¦¦ +tH¦¦ +-----+ +-----+ +-----+ ¦ sB ¦ ¦ sC ¦ ¦ ¦ +-----+ +-----+ +-----+ +tB +tF +tB +-----+ +-----+ +-----+ ¦ sD ¦ ¦ sE ¦ ¦ ¦ +-----+ +-----+ +-----+ +tC +tG +tC +<--------+ V V sA sINIT V V ⇒ Curseur sur une transition (tH dans l’exemple) Le bloc commence par une étape, activer la combinaison de touches <Ctrl>+<K><C>. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-27 Copier bloc (Cas B) à côté de l'étape sB +tA ¦-------->+ +-----+ ¦+-----+¦ ¦ sB ¦ ¦¦ sC ¦¦ +-----+ ¦+-----+¦ +tB ¦¦¦ +tC¦¦ +-----+ ¦+-----+¦ ¦ sD ¦ ¦¦ sE ¦¦ +-----+ ¦+-----+¦ ¦<--------+ +tB Séquence opérationnelle +tA ¦------------------>+ +-----+ +-----+ +-----+ ¦ sB ¦ ¦ ¦ ¦ sC ¦ +-----+ +-----+ +-----+ +tB +tC +tC +-----+ +-----+ +-----+ ¦ sD ¦ ¦ ¦ ¦ sE ¦ +-----+ +-----+ +-----+ ¦<sE< V +tB tB ⇒ Positionner le curseur sur l'étape sB ⇒ Activer la combinaison de touches <Ctrl>+<K><C>. Copier bloc (Cas C) après l'étape sA +tB +<tH< +-----+ ¦ sA ¦ +-----+ +-------->--------->+ +tA ¦¦¦ +tE¦¦ +tH +-----+ ¦+-----+¦ V ¦ sB ¦ ¦¦ sC ¦¦ sA +-----+ ¦+-----+¦ V +tB ¦¦¦ +tF¦¦ +-----+ ¦+-----+¦ ¦ sD ¦ ¦¦ sE ¦¦ +-----+ ¦+-----+¦ +tC +tG +<--------+ V sINIT V Séquence opérationnelle Copier bloc (Cas D) à côté de la transition tA +-----+ ¦ sA ¦ +-----+ +-------->+ ¦¦¦ +tA¦¦ +tE ¦+-----+¦ +-----+ ¦¦ sB ¦¦ ¦ sC ¦ ¦+-----+¦ +-----+ ¦¦¦ +tB¦¦ +tF ¦+-----+¦ +-----+ ¦¦ sD ¦¦ ¦ sE ¦ ¦+-----+¦ +-----+ ¦¦¦ +tC¦¦ +tG +<--------+ V sINIT V Séquence opérationnelle DOK-CONTRL-SPS*PRO*V18-AW01-FR-P +tB +<tH< +-----+ ¦ sA ¦ +-----+ +tE +-----+ ¦ ¦ +-----+ +tF +-----+ ¦ ¦ +-----+ +-------->--------->+ +tA +tE +tH +-----+ +-----+ V ¦ sB ¦ ¦ sC ¦ sA +-----+ +-----+ V +tB +tF +-----+ +-----+ ¦ sD ¦ ¦ sE ¦ +-----+ +-----+ +tC +tG +<--------+ V sINIT V ⇒ Positionner le curseur sur une étape (sA dans l'exemple) Le bloc commence par une transition. ⇒ Activer la combinaison de touches <Ctrl>+<K><C>. +-----+ ¦ sA ¦ +-----+ +-------->--------->+ +tA +tA +tE +-----+ +-----+ +-----+ ¦ sB ¦ ¦ ¦ ¦ sC ¦ +-----+ +-----+ +-----+ +tB +tB +tF +-----+ +-----+ +-----+ ¦ sD ¦ ¦ ¦ ¦ sE ¦ +-----+ +-----+ +-----+ +tC +tC +tG V V sINIT sINIT V V ⇒ Positionner le curseur sur la transition tA ⇒ Activer la combinaison de touches <Ctrl>+<K><C>, pour copier le bloc à côté du même bloc. 6-28 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS Marquage d'une structure SFC complète en tant que bloc Marquer toute la structure SFC en tant que bloc <Ctrl>+<K><A> Le bloc marqué comprend toute la structure SFC, y compris le renvoi et l'étape initiale. Comme une structure SFC ne doit contenir qu'une seule étape initiale, une insertion ou une addition de ce bloc n'est pas possible Il ne peut être utilisé que pour la construction d'un nouvel SFC avec une structure vide. Représentation ASCII de l'éditeur SFC A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Fig. 6-9: Structure SFC pour archivage ASCII Chaque éditeur y contribue. Pour l'affectation suivant Fig. 6-9: Structure SFC pour archivage ASCII, on a alors la sortie suivante (sans indication des actions et des blocs d'actions, abrégée). En-tête du SFC (Mode de fonctionn., section. 6.8) SFC _SFC1: SFC: SFC_T; STEP: STEP_T; TRANSITION: TRANS_T; ACTION: ACTION_T; ACTION_IN: _aIn1; ACTION_OUT: _aOut1; ACTION_DIAG: _aDiag1; STEP1: ^STEP_T; (*SFCnom = _SFC1, Standard*) (*Type de la chaîne d'étapes = SFC_T*) (*Type des étapes = STEP_T*) (*Type des transitions= TRANS_T*) (*Type des actions= ACTION_T*) (*action du système _aIn1*) (*action du système _aOut1*) (*action du système _DIAG*) (*pointeur sur étape actuelle*) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-29 Déclaration des étapes (abrégée) INITIAL_STEP INIT: (*Allg. Initialisierung, Fehler löschen, LV vorbereiten*) M_INIT(N); (*Drapeau d'étape pour affichage*) CLEAR_ERR(S); (*Effacer erreur avec INIT*) POWER(S); (*Mise en marche de l'ampli de puissance*) EVENTS(S); (*Drapeau couplage NC*) END_STEP STEP POWER_ON: (*Mise en marche de l'ampli de puissance*) SWITCH_ON(N); (*Mise en marche de l'ampli de puissance*) ................ END_STEP ................ STEP SETUP: START_SET(N); ARM_POS(N); JOG_AX_X(N); JOG_AX_Y(N); ................ END_STEP (*Mode manuel*) (*initialiser SCARA*) (*Position du bras*) (*Axe X*) (*Axe Y*) Déclaration des transitions (abrégée) TRANSITION INIT_OK: (*INIT_OK Init OK et validation de la séquence effectuée?*) LD ....... ST INIT_OK END_TRANSITION .............. TRANSITION POW_NOK2: (*Erreur lors de la mise en marche?*) LD ....... ST POW_NOK2 END_TRANSITION Enchaînement des étapes et transitions INIT_OK FROM INIT TO POWER_ON POWER_OK FROM POWER_ON TO ES1 IAUTO FROM ES1 TO AUTO NO_AUTO FROM AUTO TO ES2 NOT MXPOWERON FROM ES2 TO POWER_OFF TRUE FROM POWER_OFF TO INIT NEW_MODE FROM ES2 TO ES1 ISEMI FROM ES1 TO SEMI NO_SEMI FROM SEMI TO ES2 ISETUP FROM ES1 TO SETUP NO_SETUP FROM SETUP TO ES2 POW_NOK2 FROM POWER_ON TO ES2 Mot clé ‘FORWARD’ DOK-CONTRL-SPS*PRO*V18-AW01-FR-P (*INIT_OK Init OK et valid. de la séq. effectuée?*) (*Mise en marche ampli effectuée suivant plan?*) (*Automatique validé?*) (*Automatique validé?*) (*Arrêter ampli?*) (*Nouveau mode de fonctionnement sélectionné?*) (*Valider mode pas à pas?*) (*Mode pas à pas déconnecté?*) (*Valider mode manuel?*) (*Mode manuel déconnecté?*) (*Erreur lors de la mise en marche?*) Pour la lecture de données PCL en tant que texte ASCII, il faut appliquer le principe suivant: On ne peut utiliser que ce qui a été déclaré auparavant. Avec l'introduction de types de données pour actions, étapes et transitions, il est à présent possible d'effectuer des références croisées entre ces types de données; ces références sont éditables en tant que: • Identificateur de transitions, sous-identificateur booléen d'étapes, d'actions et de transitions • Identificateur d'actions, sous-identificateur booléen d'étapes, d'actions et de transitions C'est ce qui explique qu'un nouveau mot clé, le mot clé ‘FORWARD’, soit défini. Pour les faits décrits plus haut, une courte déclaration des transitions suivi du mot clé ‘FORWARD’ précède l'action. L'identificateur de l'action est alors connu, même si une déclaration classique des transitions doit encore suivre. Des déclarations FORWARD, même multiples, sont possibles pour les actions, étapes et transitions. Si une déclaration FORWARD n'est pas suivie par une déclaration régulière, toute la lecture des POU est interrompue et le stock de données lu jusque là est refusé. 6-30 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS 6.3 Niveaux de détail de l'organigramme séquentiel Suivant l'architecture de la structure SFC écrite dans l'organigramme séquentiel, les niveaux qui lui sont sous-jacents doivent être remplis (conditions pour la poursuite de commutation des transitions//actions des étapes). Conditions pour la poursuite de commutation des transitions En tant que conditions pour la poursuite de commutation, on peut indiquer directement dans l'éditeur SFC: • certaines variables, comme par exemple IAUTO, ISEMI, ISETUP, • des variables négativées, avec MXPOWERON ainsi que • des constantes, comme TRUE et FALSE Une condition de poursuite de commutation peut toutefois également être très complexe et contenir tout un réseau ou des lignes de listes d'instructions (IL) correspondantes. Pour le remplissage des conditions de poursuite de commutation, trois langages spéciaux sont à disposition: • La liste d'instructions 'IL', • Le langage à contacts LD et • le langage en diagramme de blocs fonctionnels 'FBD'. L'utilisateur peut accéder aux éditeurs correspondants en positionnant le curseur sur la transition voulue puis en activant ⇒ <Ctrl>+<Enter> ou ⇒ <Enter> pour accès. Fig. 6-10: Préparation au remplissage de la transition Accès avec la combinaison de touches <Ctrl>+<Enter> Les éditeurs correspondants mettent déjà des listes pratiquement toutes prêtes ou des réseaux (voir ci-après – Remplissage de la transition en IL, LD et FBD) qu'il suffit de compléter. Pour de plus amples informations sur la manipulation des différents éditeurs IL/LD/FBD, voir description des éditeurs. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-31 Remplissage de la transition en IL Repère Opération LD ST Opérande 2#1 NO_AUTO Commentaire (**) Remplissage de la transition en LD ¦ NO_AUTO ¦ +------------------------------------------------------------------( )------¦ Remplissage de la transition en FBD +---------+ 2#1-¦:= +-NO_AUTO +---------+ Les transitions sont assujetties aux restrictions suivantes: • La condition de réceptivité ne doit être formulée que dans un réseau LD / FBD ou sous la forme d'une liste IL équivalente, • La condition de réceptivité peut contenir des fonctions, mais elle ne doit pas contenir de blocs fonctionnels. • Un effacement du contenu complet de la transition est empêché. Liste de transitions Une liste, analogue à la liste d'actions <Alt>+<N>, Chapitre 7, , dresse un aperçu de toutes les transitions se rapportant au fichier. Cette liste peut être appelée via édition/transitions. Fig. 6-11: Liste de transitions La colonne ‘Info’ indique le langage actuel des transitions (IL/FBD/LD), (BOOL/NOT BOOL) pour transitions booléennes, TRUE, FALSE. La colonne 2 contient le nom de la transition. La colonne 3 <F6> le commentaire sur la transition ⇒ Avec <Enter> ou <Ctrl>+<Enter> on peut alors entrer dans la liste. Une édition est alors possible. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-32 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS Utilisation multiple de transitions Une condition de transition peut apparaître plusieurs fois en tant que passage entre différentes étapes. Pour deux ou plusieurs utilisations de ce genre, les manipulations suivantes sont possibles. Instructions de pied de page <0> Nouvelle Transition En entrant le nouveau nom, on engendre une nouvelle transition vide. <2> Renommer Toutes les transitions du nom actuel reçoivent le même nouveau nom, le contenu reste conservé. <3> Doubler La transition actuelle reçoit un nouveau nom tout en conservant l'ancien contenu qui peut continuer à être utilisé indépendamment. Le curseur doit être positionné sur le champ nom. Les instructions de pied de page Renommer et Doubler n'apparaissent que si la transition est utilisée plusieurs fois. Actions des étapes Dans les différentes étapes de la séquence, on peut se trouver en face des cas suivants: aucune action, déclenchement d'une action, de plusieurs actions. ⇒ Pour le remplissage des étapes, positionner le curseur sur l'étape voulue. ⇒ Ensuite entrer dans la fenêtre avec <Ctrl>+<Enter> Pour de plus amples informations voir Chapitre 7 ‘Blocs d'actions’ 6.4 Aide à la mise en route pour le niveau d'exécution Affichage de l'état dans la séquence Un affichage des étapes actives et des transitions actuellement en cours de traitement est effectué au niveau de la séquence. Dans la figure ciaprès, l'étape ES1 est active et les transitions IAUTO, ISEMI, ISETUP sont en cours de traitement. Fig. 6-12: Affichage de l'état, des étapes et des transitions DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-33 Tableaux des étapes et des transitions Un complément à l'affichage de l'état est donné dans l'option de menu 'Démarrage': • Liste des étapes actives • Liste des transitions actives • Liste des actions actives Ces fenêtres montrent l'ordre dans lequel est effectuée l'exécution des étapes, transitions et actions. Les fenêtres sont conservées même en cas de passage vers un autre éditeur et elles peuvent être actualisées. Avec <F4>, il est possible de passer de la fenêtre éditeur SFC à la liste actuelle et inversement. Fig. 6-13: Tableau des transitions dans l'éditeur SFC Recherche de l'étape active suivante Aller à l'étape active suivante <Ctrl>+<Q><H> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Avec la combinaison de touches <Ctrl>+<Q><H>, il est possible, si l'affichage d'état est actif, d'accéder à toutes les étapes actives dans l'ordre de leur exécution (de gauche à droit et de haut en bas). 6-34 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS 6.5 Options dans l'éditeur SFC Option 'Paramètres généraux' Fig. 6-14: Fenêtre d'options ‘Paramètres généraux’ Sortie acoustique Sauvegarde automatique Cette option permet l'activation et la désactivation du 'Bip'. Cette option permet en commun avec 'Requête lors de la sauvegarde' la mémorisation automatique de l'état intermédiaire obtenu. (Le fichier BAK est alors réécrit!) Sauvegarde automatique: 0 1 Requête lors de la sauvegarde: Affichage de variables Sauvegarder de, 60 minutes – Ecart entre sauvegardes on / off Cette option est active au niveau programme pour variables d'entrée et de sortie booléennes, ceci signifie que l'on peut passer du nom à l'adresse absolue et inversement. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-35 Option ‘Paramètres de l'écran’ Fig. 6-15: Fenêtre d'option ‘Paramètres de l'écran’ Fonction Zone de paramétrage Paramètres de mise au point Règle les paramètres pour l'affichage dans les éditeurs. Sélection du jeu de paramètres qui doit être mis au point. SFC Standard // SFC comprimé Colonnes d'éditeur: Largeur de grille: Lignes pour nom: Lignes p. commentaire: (sans objet) Nbre de caractères dans 1 colonne 13 5 (sans objet) (sans objet) Couper nom: Stratégie permettant de couper un nom trop long. Stratégie permettant de couper une/un valeur/nombre d'état affiché(e). Coupure de nombres: Documentation Boutons La documentation utilise les jeux de paramètres standard. Ok: Appliquer Standard: Interruption: <Ctrl>+<F2> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Accepter les paramètres, les appliquer dans les éditeurs actuels. les appliquer dans les éditeurs actuels. sans quitter la fenêtre Restaurer les paramètres standard de la zone de paramétrage sélectionnée. Restaurer les paramètres avant intervention dans la fenêtre et quitter la fenêtre. Sauter entre jeux de données (SFC ↔ SFC comprimé) 6-36 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS 6.6 Aide dans l'éditeur SFC Conformément à la conception d'aide uniforme du système de programmation, les possibilités de guidage suivantes sont accessibles: <F1> permet une aide en relation avec l'éditeur actuel ou l'option de menu actuelle, en fonction de la position du curseur dans la fenêtre éditeur ou dans la fenêtre menu. Si dans une aide contextuelle des termes sont marqués en couleur, une aide peut alors être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Ctrl>+<F1> permet une aide sur le terme actuel (position du curseur). Si dans une aide contextuelle des termes sont marqués en couleur, une aide peut alors être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Shift>+<F1> A l'aide de cette combinaison de touches on accède à la section déclaration du nom marqué par le curseur. Il est possible de représenter l'interface d'un bloc fonctionnel, d'une fonction, d'une variable structurée ainsi que les caractéristiques d'une variable quelconque. <Esc> On quitte à nouveau la fenêtre d'aide en appuyant sur <Esc>. Fig. 6-16: <F1> Aide en relation avec l'éditeur actuel DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-37 Fig. 6-17: <Ctrl>+<F1> - Aide sur le terme ’Transition’ L’aide sur le terme donne une explication sur la position actuelle du curseur. Dans l’exemple, le curseur se trouve sur une transition. ⇒ Aide avec la combinaison de touche <Ctrl>+<F1> - ou ⇒ avec la touche <F1> ⇒ Activer dans la fenêtre d'aide la combinaison de touches <Alt>+<S> ⇒ entrer un terme de recherche quelconque ou une partie d'un concept. Fig. 6-18: Aide sur le terme ’Action’ DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-38 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS 6.7 Touches dans l'éditeur SFC ⇒ Activation de la combinaison de touches <Alt>+<H> Les touches disponibles actuellement apparaissent . Touche (s) Instructions curseur <Ctrl>+<S> <CursorLeft> Colonne de la grille vers la gauche <Ctrl>+<D> <CursorRight> Colonne de la grille vers la droite <Ctrl>+<E> <CursorUp> Ligne de grille vers le haut <Ctrl>+<X> <CursorDown> Ligne de grille vers le bas <Ctrl>+<A> <CursorLeft> Bord SFC gauche <Ctrl>+<F> <CursorRight> Bord SFC droit <Ctrl>+<W> Dérouler image une ligne vers le haut <Ctrl>+<Z> Dérouler image une ligne vers le bas <Ctrl>+<R> <PageUp> Déplacer image vers le haut <Ctrl>+<C> <PageDown> Déplacer image vers le bas Touche (s) Touches d’effacement <Ctrl>+<G> Effacement d'une paire T/S ou S/T <Ctrl>+<T> Ouverture des regroupements <Ctrl>+<T> Fermeture de branchements <Ctrl>+<H> <Delete><CursorLeft> <Delete> en fonction de la position <Ctrl>+<T> ou <Ctrl>+<G> <Ctrl>+<Y> Effacement de branches complètes Touche (s) Accès <Ctrl>+<Enter> Passage à l'éditeur de blocs d'actions et à l'intérieur de transitions DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-39 Menu local dans l'éditeur SFC Dans chaque éditeur il existe un menu local (combinaison de touches <Alt>+<F10>) qui permet de regrouper des instructions importantes de l'éditeur de façon à ce qu'elles soient rapidement accessibles. Fig. 6-19: Menu local dans l'éditeur SFC Test sur les erreurs de syntaxe Test de syntaxe <F6> Commentaire édition Commentaire Etape/Transition <Ctrl>+<F6> Commentaire on/off Commentaire, ligne complète on/off <Shift>+<F2> Symb. / Abs. Représentation des variables symbolique/absolue <Alt>+<P> Imprimer Sortie sur imprimante du contenu de l'éditeur <Ctrl>+<Q> Instructions Quick Offre d'instructions ^Q actuelle <Ctrl>+<K> Instructions bloc Offre d'instructions ^K actuelle Validation et utilisation de variables et actions système Déclaration de chaînes d'étapes Instructions bloc dans l'éditeur SFC Entrées de séquences dans l'éditeur SFC sont au Chapitre 6, Page 6-6. Instructions Quick dans l'éditeur SFC Les instructions Quick permettent d'accélérer les mouvements du curseur: Touche (s) Instructions Quick <Ctrl>+<Q><S> <Home> vers le bord gauche <Ctrl>+<Q><D> <End> vers le bord droit <Ctrl>+<Q><R> <Ctrl><PageUp> vers le début <Ctrl>+<Q><C> <Ctrl><PageDown> vers la fin <Ctrl>+<Q><B> vers le début du bloc <Ctrl>+<Q><K> vers la fin du bloc <Ctrl>+<Q><H> vers l' étape active suivante <Ctrl>+<Q><E> <Ctrl><Home> vers le début de la page <Ctrl>+<Q><X> <Ctrl><End> vers la fin de la page DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-40 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS Chercher et Remplacer Recherche d'une chaîne de caractères <Ctrl>+<Q><F> L'utilisation de la fonction rechercher correspond à la fonction remplacer (sans nouveau texte!). Rechercher et Remplacer une chaîne de caractères <Ctrl>+<Q><A> Fig. 6-20: Recherche et remplacement d'un texte (chaîne de caractères) Cherche Texte INIT Le texte à rechercher est tout d'abord présenté avec le terme sur lequel se trouve le curseur. On peut soit réécrire ce terme soit sélectionner un autre terme déjà utilisé auparavant via la fenêtre history. Nouveau Texte Texte qui doit remplacer le texte recherché. Un contrôle de convenance est effectué afin que le nouveau texte puisse assumer la tâche du texte précédent • Eléments: [X] Variables et constantes [ ] Repère [ ] Bloc fonctionnel [ ] Types de données Zone de recherche à sélectionner (éléments à rechercher): Au moins un élément doit être sélectionné, au maximum tous les éléments peuvent être sélectionnés. Les éléments que l'éditeur actuel ne connaît pas, ne sont pas sélectionnables (grisés) • Zone: (*) Editeur ( ) Bloc marqué ( ) Réseau actuel La zone à sélectionner peut être limitée à partir de tout l'éditeur jusqu'au bloc marqué. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-41 • Options: [ ] Ignor. Majusc. Majusc. [ ] mots complets seulement [ ] avec requête En options, on peut demander au système d'ignorer les majuscules et minuscules et de ne rechercher que des mots complets. Par ailleurs, il est également possible de demander qu'une confirmation soit effectuée avant chaque remplacement. • Direction: (*) en avant ( ) en arrière La direction de la recherche est définie à partir du curseur. • Mode: ( ) à partir du curseur ( ) tout autour (*) ensemble de la zone Le mode de la recherche est défini de façon standard à partir du curseur. La recherche peut être effectuée tout autour à partir du curseur, et au maximum jusqu'au curseur, en tenant compte de la direction susmentionnée. La troisième possibilité est: du début jusqu'à la fin en fonction de la direction ou inversement sur toute la zone Déclaration d'une chaîne d'étapes Les manipulations possibles sous cette option de menu sont explicitées au Chapitre 6.8, ‘Modes de fonctionnement SFC’, Page 6-42 . DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-42 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS 6.8 Modes de fonctionnement SFC Problématique La programmation SPS permet grâce à l'utilisation de chaînes d'étapes une structuration simple et claire du programme utilisateur. C'est ce qui explique que la programmation par chaînes d'étapes soit depuis quelques années de plus en plus acceptée par les utilisateurs et qu'elle soit devenue partie intégrante de la Norme EN 6-1131-3. On attend de cette programmation une assistance lors de • la mise en route et de l'ajustement • la supervision, • l'analyse et la localisation d'erreurs. Principes de solution La fonctionnalité des diagnostics et modes de fonctionnement pour les chaînes d'étapes est obtenue par des données système permanentes et définies par utilisateur dans une technologie de programmation prédéfinie. Les données système permanentes sont des données mises à disposition par le système de programmation SPS. L'utilisateur ne peut ni les supprimer nit les modifier ni modifier leur nom. Les données les plus importantes sont représentées par les données système définies par l'utilisateur. Ce sont elles essentiellement qui déterminent la fonctionnalité. L'utilisateur peut définir leur existence, leur nom et leur type suivant une syntaxe prédéfinie dans un fichier spécial faisant partie de l'interface de programmation. Après démarrage, le système de programmation intériorise ces données et met à disposition des instances système correspondantes en fonction de l'édition des éléments-SFC. Dans les données système définies par utilisateur, on distingue entre données système (variables système SFC) pour: • chaîne d'étapes • étape • transition et • action. Par ailleurs, une assistance système est fournie sous la forme d'actions système SFC. Les actions systèmes SFC sont décrites en chaîne d'étapes orientée utilisateur /4/, INDRASTEP et ne font pas partie de la présente documentation. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-43 Variables système SFC chaîne d'étapes Le comportement de la chaîne d'étapes doit à l'avenir être piloté suivant Fig. 6-21: Données système permanentes et définies par l'utilisateur de la chaîne d'étapes. par un module. sfc_x Données système permanentes SFC SET_HAND: MODE_AUTO: RESET: RESTORE: ERRORFLG: ERRORNR: ERRORTYP: BOOL BOOL BOOL BOOL BOOL USINT INT Données système utilisateur (Jeu de données 1-SFC) (* Corps SFC *) Exemple: Auto: Sync: Revers: Learn: Monitor: Status: Message: BOOL BOOL BOOL BOOL STRING INTEGER STRING stfc_x.fh7 Fig. 6-21: Données système permanentes et définies par l'utilisateur de la chaîne d'étapes. Ce module est lié à l'existence de la chaîne d'étapes, c'est-à-dire qu'un jeu de données permanentes et/ou de données définies par utilisateur sera créé chaque fois qu'une nouvelle chaîne d'étapes sera générée. La première phase d'aménagement contient les éléments suivants pour la réalisation des données permanentes (exemple d'application: Chapitre 0): Type SFC minimal Type de données SFC (supporté par le système) TYPE SFC_T) SFC_T STRUCT SET_HAND BOOL (* Mode de fonctionnement manuel (TRUE)/Automatique (FALSE) *) MODE_AUTO BOOL (* Affichage Mode de fonctionnement manuel (FALSE)/Auto TRUE*) RESET BOOL (* Reset/Initialise SFC *) RESTORE BOOL (* Restaure ancienne affectation d'étape active "1"/ (* essaye de démarrer avec nouvelle affectation "0"*) ERRORFLG BOOL (* SFC_Erreur de traitement *) ERRORNR USINT (* Zone d'erreur *) ERRORTYP INT (* Détail sur erreur *) END_STRUCT END_TYPE Etape step_x Données système permanentes SFC Données système utilisateur X: T: BOOL TIME Exemple: C: T1: T1X: T1C: T2: T2X: T2C: STRING[70] TIME BOOL STRING[70] TIME BOOL STRING[70] step_x.fh7 Fig. 6-22: Données système permanentes et définies par l'utilisateur de l'étape Type d'étape minimal Type de données étape (supporté par le système) TYPE STEP_T) STEP_T STRUCT X BOOL (* Drapeau étape active *) (* Mode de fonctionnement AUTO: Affichage, si étape est active*) (* Modes de fonctionnement MANUEL: drapeau dee forçage fnr actif/inactif*) T TIME (* Temps étape active *) END_STRUCT END_TYPE L'utilisateur peut ajouter 8 éléments en supplément à l'aval. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-44 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS Transition Données système permanentes (non) trans_x Données système utilisateur Exemble: C: STRING[70] trans_x.fh7 Fig. 6-23: Données système permanentes et définies par l'utilisateur de la transition Des données système permanentes ne sont pas prévues, deux éléments peuvent être définis par l'utilisateur. Action Données système permanentes Q: A: X: BOOL BOOL BOOL action_x Données système utilisateur Exemple: C:STRING[70] action_x.fh7 Fig. 6-24: Données système permanentes et définies par l'utilisateur de l'action Type d’action minimal Type de données action (supporté par le système TYPE ACTION_T) ACTION_T STRUCT Q BOOL A BOOL X BOOL END_STRUCT END_TYPE (* Drapeau action active *) (* retraitement de l’action *) (* Drapeau action forcée *) L'utilisateur peut ajouter 8 éléments en supplément à l'aval! Entrée et utilisation L'utilisation de variables / d'actions système SFC n'est pas expressément nécessaire. Il est possible de charger, de traduire et de transférer à la commande des sources déjà disponibles avec éléments SFC sans que l'utilisateur ait besoin de connaître ou d'utiliser la nouvelle fonctionnalité. N.B. Variables système et Types de données système Type de données sans utilisation de l'assistance mode de fonctionnement Lors du développement des composants, l'objectif principal poursuivi était de conserver la fonctionnalité des anciens SFC. Au chapitre 0 on a énuméré les points qui devraient être contrôlés en cas de doute. Si la nouvelle fonctionnalité doit être utilisée, il faut tout d'abord procéder conformément à la méthode habituelle pour SFC,étapes et actions, à la déclaration d'un type de données (structure) respectif (voir Chap. 0).. Ces types de données doivent présenter la configuration minimale exigée. Ils remplacent alors les types par défaut vides présentés ci-après qui ne permettent aucune assistance mode de fonctionnement. SFC: Etapes: Transitions: Actions: SFC STEP TRANSITION ACTION Dans chaque type de données, il est possible d'entrer d'autres variables de type quelconque (exception faite des pointeurs, arrays et structures). Ces types de données doivent être importés dans les POU (FUNCTION_BLOCK ou PROGRAM) qui désirent utiliser la fonctionnalité SFC. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-45 Fig. 6-25: Importation des types de données utilisateur pour éléments SFC Dans l'éditeur SFC, les types de données sont affectés aux éléments SFC au moyen de la combinaison de touches <AIt>+<F10>, Déclaration de la chaîne d'étapes. Fig. 6-26: Déclaration de la chaîne d'étapes– Affectation des types de données SFC Les termes contenus dans la fenêtre 'Déclaration de la chaîne d'étapes' sont énumérés ci-après: Modèle de la chaîne d'étapes Le nom du modèle de la chaîne d'étapes n'a aucun intérêt pour les applications générales. (Voir /4/, Documentation ‘INDRASTEP, Chaîne d'étapes orientée utilisateur avec diagnostic’) Nom de la structure SFC actuelle 'SFCnom' La structure SFC actuelle (SFCnom) reçoit automatiquement un nom qui peut être modifié manuellement. Ce nom est par exemple nécessaire pour la commande des modes de fonctionnement (voir aussi maximale) (Voir aussi /4/, Documentation ‘INDRASTEP, Chaîne d'étapes orientée utilisateur avec diagnostic’) Pointeur sur jeu de données de l'étape actuellement en cours de traitement L'introduction de ce pointeur a été dictée par la nécessité de pouvoir appeler des actions (actions système comprises) dans différentes étapes. Ces actions portent respectivement le même nom et ont le même contenu. Si à partir d'une telle action, on désire à présent recourir aux donnés d'une étape, on peut le faire via nométape.variablesystem Ceci ne serait toutefois pas très judicieux vu que le nom de chaque étape entraînerait une différence entre les contenus d'une telle action dans les différentes étapes La solution est représentée par un accès via un pointeur qui montre toujours les données de l'étape actuellement en cours de traitement. N.B. En fin de cycle de traitement, le pointeur est nul (NIL) Si le type d'étape n'est pas structuré (Type STEP), il n'y a pas de pointeur. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-46 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS Si on modifie le type de données étapes, le type du pointeur est actualisé en conséquence (voir, Type d'étape minimal, type de données d'étape(supporté par le système). Le pointeur ne présente aucun intérêt pour les applications générales. (Voir /4/, Documentation ‘INDRASTEP, Chaîne d'étapes orientée utilisateur avec diagnostic’). Actions système Les actions système sont générées automatiquement. Pour les POU créées avec d'anciennes versions PCL et contenant des chaînes d'étapes, ces actions sont créées automatiquement lors du chargement. Elles restent vides dans le cas d'applications générales. (Voir /4/, Documentation ‘INDRASTEP, Chaîne d'étapes orientée utilisateur avec diagnostic’). Fig. 6-27: Edition des actions système via la liste d'action Modes de fonctionnement des SFC (Application du type de données 'Type SFC minimal SFC_T', voir 'Type SFC minimal – Type de données SFC (supporté par le système) Une chaîne d'étapes peut être traitée avec les modes de fonctionnement suivant : • automatique ou • manuel Toutes les variables nommées alors dans les transitions sont créées à partir de: • SFCnom _SFC1 et • Nom d'élément par exemple suivant ‘Type SFC minimal – Type de données SFC (supporté par le système)’: RESET vers par exemple . _SFC1.RESET. Fig. 6-28: Passages entre les modes de fonctionnement d'une chaîne d'étapes DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-47 Activités dans et entre les modes de fonctionnement d'une chaîne d'étapes Etat Code / activités AUTO • • • • AUTOÅMANUEL Flancs 0-1 de SET_HAND soit _SFC1.SET_HAND • • • • MANUEL • • MANUELÅAUTO Le code programme est exécuté automatiquement en fonction de la notation RESET de la chaîne d'étapes(Passage de l'affectation quelconque à l'étape initiale) SFCnom.RESET, soit par ex.. _SFC1.RESET tous les étapes sont désactivées les actions non-mémorisantes sont désactivées et traitées plus tard car les étapes auxquelles elles appartiennent ont été désactivées toutes les transitions sont désactivées (il n'y a plus de traitement) tous les paliers temporels au niveau des étapes sont stoppés Etat de la chaîne d'étapes(état de toutes les étapes) est noté toutes les étapes, étape initiale comprise, sont tout d'abord inactives Aucun traitement de transitions (aucun passage automatique entre étapes) Un FORÇAGE d'étapes est possible pour étape "s0" par exemple via s0.X • RESET de la chaîne d'étapes(Passage de l'affectation quelconque à l'étape initiale) SFCnom.RESET, soit par ex.. _SFC1.RESET • via SFCnomRESTORE, soit par ex. _SFC1.RESTORE, le comportement ultérieur peut être influencé. − RESTORE=TRUE: L'affectation étape qui existait avant le mode manuel est réactivée − RESTORE=FALSE: Le système tente de passer en mode automatique avec l'affectation étape forcée en mode manuel. (Test de fonctionnement), si impossible continuer mode manuel Les actions vont être traitées en fonction de l'étiquetage des étapes. Flancs 1-0 de SET_HAND soit _SFC1.SET_HAND • Si la commutation entre les modes de fonctionnement est refusée en raison d'un état d'étape SFC inadmissible, l'origine de ce refus peut être limitée au moyen des marqueurs suivants: SFCnom.ERRORFLG SFCnom.ERRORNR SFCnom.ERRORTYP Modes de fonctionnement SFC Erreur de commutation DOK-CONTRL-SPS*PRO*V18-AW01-FR-P SFCnom.ERRORFLG affiche si la dernière commutation entre les modes de fonctionnement a été effectuée correctement. Si SFCnom.ERRORFLG a la valeur TRUE, il est possible à l'aide des marqueurs SFCnom.ERRORNR et SFCnom.ERRORTYP de déduire la propriété de l'état de l'étape SFC qui a entraîné l'interruption de la dernière commutation entre les modes de fonctionnement. SFCnom ERRORTYP Cause: Traitement de l’erreur -11101 Aucune étape active dans le SFC -11102 Le nombre de repères pour les branches existantes dans le SFC est insuffisant (coincement) Commutation entre les modes de fonctionnement a été interrompue Traitement SFC se poursuit en mode manuel -11103 Les branches dans le SFC contiennent un nombre de repères trop important. 6-48 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS N.B. La commutation entre les modes de fonctionnement n’agit pas directement sur le traitement des actions. Les actions ne sont influencées directement que si on active et désactive les étapes. Il s'ensuit que lors de la commutation du mode auto en mode manuel, par exemple, toutes les actions mémorisantes restent actives! 6.9 Particularités du traitement SFC Avantages du nouvel interpréteur de structures • Introduction d'une règle facile à comprendre pour l'ordre dans lequel les étapes et actions doivent être traités. • Support du diagnostic de marche des programmes SPS avec SFC par le système d'exploitation SPS. • Réalisation du mode manuel pour SFC. • Réalisation du fonctionnement. forçage d'action dans tous les modes de • Préparation de l'interpréteur de structures au traitement de plusieurs SFC par POU. • Conversion du logiciel du système d'exploitation du langage assembleur en langage C. Mode de travail du nouvel interpréteur de structures L'interpréteur de structures effectue par traitement d'un SFC, les opérations suivantes dans l'ordre indiqué: 1. Détection du mode de fonctionnement 2. Nouveau calcul de l'état du étapes SFC 3. Détermination de l'affectation des entrées des ActionControls 4. Calculs des sorties Q/A de tous les ActionControls 5. Retraitement des actions (Ordre suivant liste des actions) 6. Traitement des actions (Ordre suivant structure SFC) Calcul de l'état des étapes SFC (mode automatique) L'état des étapes SFC est décrit par l'ensemble de toutes les étape actives du SFC. A partir de cet état des étapes SFC, on peut déduire l'état (actif/inactif) de toutes les transitions du SFC. L'état des étapes SFC pour un cycle de traitement correspond au résultat donné par l'état SFC du cycle de traitement antérieur et les valeurs de renvoi déterminées par le traitement de toutes les transitions actives. Implémentation du mode automatique L'implémentation du mode automatique s'effectue de façon telle que les définitions de l'IEC 61131-3, Section 2.6 soient remplies. Par ailleurs, les règles suivantes sont opérationnelles: • Des transitions ne sont traitées que si elles sont actives. • Dans le cycle SPS où un SFC est traité pour la première fois, l'étape initiale du SFC est actif. Toutes les transitions sont inactives pendant ce cycle et ne peuvent donc pas être connectées. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-49 Programmes SPS existants et nouvel interpréteur de structures Les programmes SPS qui utilisaient l'une des propriétés suivantes de l'interpréteur de structures mis en œuvre jusqu'à présent, afficheront sans aucun doute un fonctionnement modifié avec le nouvel interpréteur de structures: • Utilisation de l'ordre de traitement des actions • Utilisation de la réécriture du qualificatif AQ • Utilisation de AQ-R pour l'initialisation d'actions • Désactivation descendant' du compilateur option 'Traitement après flanc Le SPS montrera lors d'une mise en oeuvre avec le nouvel interpréteur de structures un fonctionnement modifié, si l'un des points suivants est applicable:. • Utilisation multiple d'actions • SFC avec boucle minimale. Utilisation de l’ordre d'exécution des actions Jusqu'à présent Si une action ‘ac_1’ est activée, elle est enregistrée avec son nom, sa marque d'identification (qualificatif) et le cas échéant le temps d'action dans le tableau d'exécution. Si elle est suivie d'une seconde action ‘ac_2’ , cette seconde action est enregistrée après ‘ac_1’ dans le même tableau. Si ‘ac_1’ est ensuite désactivée, elle est rayée de la liste et ‘ac_2’ prend sa place en première position. Les actions qui ne sont pas désactivées se trouvent dans l'ordre correspondant en tête du tableau. A présent: L'exécution des actions est assujettie à l'ordre des étapes de gauche à droite puis de bas en haut. Par cycle SPS, chaque étape de la série est examinée une fois pour déterminer si elle présente des actions qui doivent être co-traitées conformément à l'affectation active des étapes. Pour les blocs fonctionnels, cet examen est effectué une fois par appel. Utilisation de la réécriture de AQ Jusqu'à présent Une action ‘ac_1’ est activée avec la marque d'identification 'S – en ' mémorisant - dans l'étape ‘step_1’ Elle est enregistrée dans le tableau d'exécution. Dans l'étape suivante ‘step_2’ (dans l'une des étapes suivantes) l'action ‘ac_1’ est à nouveau activée – sans avoir été désactivée auparavant – avec la marque d'identification ‘N’ . L'action ‘ac_1’ conserve dans ce cas sa position dans le tableau, seule la marque d'identification est remplacée, c'est-à-dire que ‘N’ remplace ‘S’. Lorsqu'on quitte l'étape suivante ‘step_2’, ‘ac_1’ est désactivée. A présent: Une action ‘ac_1’ est activée avec la marque d'identification 'S' – en mémorisant - dans l'étape ‘step_1’ et elle est enregistrée en conséquence dans le tableau d'exécution. Dans l'étape suivante ‘step_2’ (dans l'une des étapes suivantes) l'action ‘ac_1’ est à nouveau activée – sans avoir été désactivée auparavant – avec la marque d'identification ‘N’ . A la différence de ce qui se passait jusqu'à présent, un ‘ac_1 Q’ et ‘ac_1 A’ résultant sont alors calculés suivant Chap. 7. Lorsqu'on quitte l'étape suivante ‘step_2’ , le composant ‘N’ disparaît des calculs et ‘ac_1’ reste active avec la marque d'identification ‘S’. Solution: L'ancienne fonctionnalité peut être rétablie par remise à l'état initial avant activation. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-50 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS Utilisation de AQ-R pour l’initialisation d’actions Jusqu'à présent Si un bloc fonctionnel ‘fb1' se trouve dans une action ‘ac_1’: FB_1’ qui comprend une structure SFC, l'application de la marque d'identification ‘R’ sur cette action entraîne une initialisation de la structure SFC. Ce qui entraîne l'effet secondaire suivant: − ‘fb1: FB_1’ est utilisé dans l'action ‘ac_1’ bien que cette action n'ait jamais été activée jusqu'à présent. − ‘fb1: FB_1’ est utilisé une seconde fois dans l'action ‘ac_2’, sa structure SFC a été exécutée jusqu'à une certaine affectation d'étapes; au cours de cette exécution s'effectue l'application du qualificatif ‘R’ sur ‘ac_1’, la structure SFC est remise à zéro. A présent: Un abus de l'instruction de remise à zéro pour initialisation est supprimé, l'action ‘ac_2’ peut travailler sans difficulté. Effet secondaire: − une action peut ainsi, sans être influencée par le qualificatif 'R' (visible), être reliée à une POU. Désactivation du compilateur option 'Traitement après flanc descendant' Jusqu'à présent La désactivation de l'option 'Traitement après flanc descendant' donne à l'utilisateur la possibilité d'empêcher systématiquement le traitement ultérieur de l'action. A présent: Cette option est éliminée. En cas de besoin, l'utilisateur doit établir une liaison avec les variables ‘action_name.Q’ et ‘action_name.A’ . Utilisation multiple d'actions Jusqu'à présent Chaque action ne peut être enregistrée qu'une seule fois dans le tableau d'exécution. Un nouvel enregistrement équivaut à une réécriture de l'ancien. L'action ne peut être traitée / corrigée qu'une seule fois dans un cycle SPS. A présent: Plusieurs traitements des actions dans un cycle SPS sont permis Exemple 1: Marque d'identification 'N' ((ou ‘L’, ‘D’ en fonction du cas) Traitement multiple non mémorisant +----+ +------------------+ ¦ s1 +-¦N ¦ A1 ¦ +----+ +---+--------------¦ t1 ¦N ¦ A2 ¦ ¦ +---+--------------¦ ¦ ¦N ¦ A2 ¦ ¦ +------------------+ +----+ +------------------+ ¦ s2 +-¦N ¦ A1 ¦ +----+ +---+--------------¦ t2 ¦N ¦ A2 ¦ +----+ +------------------+ ¦ s3 ¦ +----+ Étape active Nombre de traitements par cycle SPS s1 A1: 1* traitement A2: 2* traitement s2 A1: 1* traitement A2: 1* traitement s3, 1. Cycle A1: 1* retraitement A2: 1* retraitement s3, à partir du Cycle 2 A1: aucun traitement A2: aucun traitement DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-51 Exemple 2: ‘DS’,’SL’ Action des marques d'identification ‘S’ et/ou ‘SD’, Traitement multiple avec utilisation de 'S'.... +----+ +------------------+ ¦ s0 +-¦S ¦ A1 ¦ +----+ +------------------+ t0 +----+ +------------------+ ¦ s1 +-¦N ¦ A1 ¦ +----+ +---+--------------¦ t1 ¦N ¦ A2 ¦ ¦ +---+--------------¦ ¦ ¦N ¦ A2 ¦ ¦ +------------------+ +----+ +------------------+ ¦ s2 +-¦N ¦ A1 ¦ +----+ +---+--------------¦ t2 ¦N ¦ A2 ¦ ¦ +------------------+ +----+ ¦ s3 ¦ +----+ Étape active s0 Nombre de traitements par cycle SPS A1: 1* traitement s0 A1: 1* traitement s1 A1: 1* traitement s2 A1: 3* traitement !!! s1 A1: 1* traitement s0 A1: 1* traitement s1 A2: 2* traitement A1: 1* traitement s2 A1: 3* traitement !!! s2 A1: 1* traitement s0 A1: 1* traitement s1 A2: 1* traitement A1: 1* traitement s2 A1: 3* traitement !!! s3, 1er Cycle A1: 1* traitement s0 A1: 1* traitement s1 A2: 1* retraitement A1: 1* traitement s2 A1: 3* traitement !!! s3, à partir du A1: 1* traitement s0 Cycle 2 A1: 1* traitement s1 A1: 1* traitement s2 A1: 3* traitement !!! DOK-CONTRL-SPS*PRO*V18-AW01-FR-P A2: aucun traitement 6-52 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS Exemple 3: ‘DS’,’SL’ Autres marques d'identification ‘R', 'S’ et/ou ‘SD’, Autre exemple avec 'S','R'.... +----+ +------------------+ ¦ s +-¦S ¦ A1 ¦ +----+ +------------------+ t +----+ +------------------+ ¦ s0 +-¦R ¦ A1 ¦ +----+ +------------------+ t0 +----+ +------------------+ ¦ s1 +-¦N ¦ A1 ¦ +----+ +---+--------------¦ t1 ¦N ¦ A2 ¦ ¦ +---+--------------¦ ¦ ¦N ¦ A2 ¦ ¦ +------------------+ +----+ +------------------+ ¦ s2 +-¦N ¦ A1 ¦ +----+ +---+--------------¦ t2 ¦N ¦ A2 ¦ ¦ +------------------+ +----+ ¦ s3 ¦ +----+ Étape active Nombre de traitements par cycle SPS S A1: 1* traitement s A1: 1* traitement s1 A1: 1* traitement s2 étape s0 vu que "R"! A1: 4* traitement !!! Utilisation multiple d’actions dans des étapes consécutives sans interruption! s0, 1. Zyklus A1: 1* retraitement s0, ab 2. Zyklus A1: aucun traitement s1 A1: 1* traitement A2: 2* traitement s2 A1: 1* traitement A2: 1* traitement s3, 1. Cycle A1: retraitement A2: 1* retraitement s3, à partir du Cycle 2 A1: aucun traitement A2: aucun traitement Activation d'actions dans des étapes consécutives +----+ +------------------+ ¦ s0 +-¦ P ¦ ac1 ¦ +----+ +------------------+ +t1 +----+ +------------------+ ¦ s1 +-¦ P ¦ ac1 ¦ +----+ +------------------+ Jusqu'à présent Lors du passage de ‘s0’ à ‘s1’, le programme effectue une interruption artificielle de la commande du module ACTION_QUALIFIER. Chaque impulsion agit ainsi séparément. +------+ s0.X--+ +-------------+-------+ s1.X---------+ +-----++ ++ ac1.Q--++-----++--------------+-+ +-+ ac1.A--+ +----+ +-------------ac1.A--+ +----+ +-------------- DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS-18VRSOrganigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-53 A présent: De l'étape ‘s0’ à l'étape ‘s1’, la commande du module ACTIONQUALIFIER-reste TRUE sans interruption, c'est-à-dire qu'il n'y a pas de changement de flanc pour réactiver la commande. +------+ s0.X--+ +-------------+-------+ s1.X---------+ +-----++ ac1.Q--++--------------------+-+ ac1.A--+ +-------------------- SFC avec boucle minimale, sans interruption Boucle minimale dans SFC ¦<s1< +----+ +------------------+ ¦ s1 +-¦D ¦T#5s¦ A1 ¦ +----+ +------------------+ +--------------+ +t1 +t11 +----+ V ¦ s3 ¦ s1 +----+ V Jusqu'à présent Une fois le délai de 5s écoulé, l'action 'A1' est traitée, une action booléenne est définie avec TRUE. Après activation de la transition 't11', une interruption artificielle de la commande du module ACTION_QUALIFIER est effectuée, le traitement de 'A1' est après le retraitement suspendu (temporisé) pendant les 5 s suivantes, une action booléenne devient FALSE. A présent: Une fois le délai de 5s écoulé, l'action 'A1' est traitée, une action booléenne est définie avec TRUE. Après activation de la transition 't11', il n'y a pas d'interruption de la commande du module ACTION_QUALIFIER. Le traitement de 'A1' se poursuit sans interruption. L'action booléenne reste TRUE en permanence. Traitement des SFC en mode manuel L'état des étapes SFC pour un cycle SPS découle de la valeur du NometapeX, marqueur de toutes les étapes du SFC. Le traitement des SFC en mode manuel s'effectue de façon analogue au traitement en mode automatique, mis à part les différences suivantes: 1. En mode manuel, toutes les transitions sont toujours inactives. Elles ne sont donc pas traitées et ne peuvent pas être connectées. 2. Dans le cycle SPS où le SFC est traité pour la première fois en mode manuel, toutes les étapes sont désactivées. 3. Des étapes peuvent être activées et désactivées par le programme utilisateur SPS au moyen de la description des variables nométapeX. Remise à zéro du SFC L'état des étapes d'un SFC peut être influencé par le marqueur SFCNom.RESET Si un flanc montant apparaît sur le marqueur, toutes les étapes du SFC seront désactivées et l'étape initiale activée. La remise à zéro de l'état des étapes peut s'effectuer sous n'importe quel mode de fonctionnement. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 6-54 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHARTGuide de programmation SPS-18VRS DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-1 7 Blocs d’actions (ACTION BLOCK) et actions (ACTION) La figure suivante illustre le classement des blocs d’actions et leur traitement lors de la création de programmes ou de blocs fonctionnels contenant une structure SFC. TABLEAU IO Tableau IO N° LWL- I/O Canal Définition de la con1 2 Boucle Type 0123456789.0123456789.01234567890.. figuration. 1 RECO III.QQQ......... ................... (seulement avec programmes!) ,03257 ,03257)520Commentaire )81&7,21(*Fonctions définies par utilisateur*) Importation de type de 1$1'(*Fonction NAND avec 8 entrées*) de données (TY), 125(*Fonction NOR avec 8 entrées *) fonctions (FK) et blocs blocs fonctionnels (FB)util. )8 DECLARATION avant leur utilisation $ Nom AT TYPE := Commentaire % VAR_INPUT (* Déclaration des entrées *) DDéclaration de variables & ON %E0.1.1 (* Introducteur ´ *) et blocs fonctionnels ALARME %E2.5.2 (* Capteur *) FB et fb) avant leur TEM %E3.2.4 (* Moniteur de température *) utilisation (1'B9$5 ENouvelle création de VAR_OUTPUT (* Déclaration des sorties *) de types de données utilisateur 6)& Entrée de la structure SFC 6 programme (PR) ou du bloc fonctionnel (FB) (Avec les fonctions, l'utilisation 7 7 d'éléments SFC n'est pas autorisée.) 6 6 7 7 BLOCS D'ACTIONS 6 6 %1 URG.MAX 7 7 6 ACCELER. / 7V .23 : V $:/ .23 Addition de blocs : )%6 d'actions, qui contiennent des : variables, lignes d'instructions IL, : (,1 des réseaux LD ou FBD : 0 2 ! en tant qu'actions, au droit d'étapes v $:/ 02725 7 )%6 .23 (,1$/$5002725 7. Entrée des conditions de poursuite de commutation (Transitions) avec 7(0 éditeur LD, FBD ou IL ou bien par entrée directe des variables 6. Remplissage des actions avec éditeur LD, FBD ou IL Fig. 7-1: Création d'un programme 'PR' ou d'un bloc fonctionnel 'FB' A chaque étape d'un SFC du niveau d'exécution, il est possible de relier zéro, une ou plusieurs actions classées en blocs d'actions. Une étape sans action entraîne une attente jusqu'à satisfaction de la condition de transition suivante. Une action peut se composer : • d'une variable booléenne, • d'une variable booléenne négativée, • d'une séquence d'instructions en IL ou • d'un nombre de réseaux LD ou FBD. Une action peut être utilisée: • zéro fois (nouveauté à partir de la Version 17) • une ou plusieurs fois DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-2 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS Une action avec zéro utilisation est engendrée lorsqu'une étape est effacée et que l'effacement des blocs d'actions qui en font partie est inhibé. L'enregistrement du nom d'une action dans un bloc d'actions permet de réutiliser cette action sans que ses détails soient perdus. A l'intérieur de la liste d'instructions IL ou des réseaux LD/FBD d'une action, il est également possible d'insérer d'autres blocs fonctionnels avec séquences internes. Chaque action peut recevoir un commentaire. Ce commentaire est, comme le commentaire de déclaration d'une variable, lié au nom de l'action et est disponible à l'endroit où l'action est utilisée. Le temps de traitement de l'action est prédéfini par le bloc d'actions. 7.1 Blocs d’actions et leur fonctionnement Architecture d’un bloc d’actions / 7V couineur ON (*Signal avertis 5sec après mise en marche*) _ | | | Commentaire sur le bloc d'actions | | Nom de l'action (ACTION NAME) ou nom de variable | Temps d'action (ACTION TIME) Marque (qualificatif d'action, ACTION QUALIFIER) Dans le champ ’Nom de l’action’, on peut entrer le nom d’une action complexe (Liste d' instructions ou bien réseaux LD (langage à contacts) ou réseaux FBD). Alternativement, il est également possible d'entrer le nom d'une variable booléenne (vrai ou fausse), absolue ou symbolique. Pour plus de clarté, ces variables booléennes sont marquées avec un 'B'. Une action vide, c'est-à-dire une action qui n'est pas encore remplie, porte la marque caractéristique '?'. Exemples Noms d'actions et de variables: 1 Couineur ON (* Action dans IL, LD, FBD *) ? N Accélération (* Action, encore non remplie*) B S Protection_1 (* Variable booléenne 'Protection_1' *) B L 7V NOT Protect._2 (* Variable booléenne négativée 'Protection_2' *) B D 7P 4 (* Variable booléenne %Q1.2.3 *) B SL W7,0( 1270 (* Var. bool négativée %M1.2, Temps prédéfini*) (* dans tTIME variable: TIME*) La marque d’identification (qualificatif d’action, ACTION QUALIFIER) indique la nature du traitement de l'action après activation de l'étape. Certaines des marques d'identification doivent être complétées par un temps d'action (ACTION TIME). Pour le temps d'action, on peut utiliser une constante ou une variable du type TIME: DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-3 Exemples Représentation du temps d'action: Description: Exemples Durée T#14ms T#14s T#47m T#147h T#14d T#25h15s T#1h3.3 Autres données système En analogie aux services système librement commutables représentés par étape, transition et organigramme SFC lui-même, des variables supplémentaires peuvent être également affectées aux actions (voir Chapitre 6). Données système permanentes Q: A: X: BOOL BOOL BOOL action_x Données système utilisateur Exemple: C:STRING[70] action_x.fh7 Fig. 7-2: Données système permanentes et définies par l'utilisateur de l'action Type d'action minimal Type de données action (supporté par le système) TYPE ACTION_T ACTION_T STRUCT Q BOOL (*Drapeau action active – seulement affichage*) A BOOL (*retraitement de l'action – affichage seulement*) X BOOL (*Drapeau action forcée *) END_STRUCT END_TYPE action_name.Q indique si l'action va être traitée. action_name.A indique si l'action va être traitée, retraitée, forcée (toutes les possibilités de traitement). action_name.X est la variable qui permet de forcer l'action (<Ctrl>+<F4>) et qui indique parallèlement si l'action va être forcée. L'utilisateur peut en supplément ajouter 8 éléments à l'aval. SFC, étapes, transitions et actions sont rattachés ensemble à un type de données dans l'éditeur SFC, <Alt>+<F10>, ‘Déclaration de chaînes d'étapes’ (Chapitre 6). DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-4 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS Traitement d'actions assisté par Action_Control Pour déterminer les règles de traitement des actions d'un SFC, l'IEC-61131-3 utilise le modèle ActionControl. Ce modèle part du principe qu'il existe pour chaque action d'une POU une instance du bloc fonctionnel Action_Control tel que défini et représenté dans la norme. . Action_Control y compris marques d’identification P0/P1 +---+ +-----------------------------------------------------O| & |---Q | +-----+ | | N--|---------------------------------------------| >=1 |--| | | S_FF | | +---+ R--+ +----+ | | | | RS | | | S--|----------------------|S Q1|-----------------| | +----------------------|R1 | | | | +----+ +---+ | | L--|---------+--------------------| & |----------| | | | L_TMR +--O| | | | | | +-----+ | +---+ | | | | | TON | | | | | +------|IN Q|---+ D_TMR | | | +-------------|PT | +-----+ | | | | +-----+ | TON | | | D--|--|-----------------------------|IN Q|------| | | +-----------------------------|PT | | | | | P_TRIG +-----+ | | | | +--------+ | | | | | R_TRIG | | | P--|--|------------|CLK Q|--------------------| | | | SD_FF +--------+ SD_TMR | | | | +----+ +-----+ | | | | | RS | | TON | | | SD-|--|---|S Q1|----------------|IN Q|----------| | +--|---|R1 | +------------|PT | | | | | +----+ | DS_TMR +-----+ DS_FF | | | +------------+ +-----+ +----+ | | | | | TON | | RS | | | DS-|--|----------------|IN Q|----------|S Q1|---| | | +----------------|PT | +---|R1 | | | | | +-----+ | +----+ | | +--|-----------------------------+ | | | | SL_FF | | | | +----+ | | | | | RS | +---+ | | SL-|--|--------|S Q1|--+------------------| & |--| | +--|--------|R1 | | SL_TMR +--O| | +-----+ | +----+ | +-----+ | +---+ | | | TON | | | +----|IN Q|---+ T-----+---------------------|PT | Q_TRIG +-----+ +-----+ +--------+ | >=1 | | F_TRIG | Q---| |---A Q---|CLK Q|-----------------------------------| | +--------+ P1_TRIG | | +--------+ | | | R_TRIG | | | P1--------------|CLK Q|-----------------------| | P0_TRIG +--------+ | | +--------+ | | | F_TRIG | | | P0--|CLK Q|-----------------------------------| | +--------+ +-----+ Ce bloc fonctionnel montre comment l'action à laquelle il est lié est traitée à travers ses sorties Action_Control.Q et Action_Control.A. Ce traitement se présente de la façon suivante (forçage d'actions non compris): • La connexion de l'entrée du bloc fonctionnel Action_Control s'effectue au moyen des blocs d'actions liés aux étapes. Une liaison existe entre une étape et une entrée d'une instance du bloc fonctionnel Action_Control lorsq'un bloc d'action de cette étape se rapporte à la même action qui appartient à l'instance du bloc fonctionnel Action_Control • En fonction de l'activation de l'étape, une telle liaison peut être activée ou désactivée. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-5 • L'entrée d'une instance du bloc fonctionnel Action_Control est considérée définie pour TRUE s'il existe au moins une liaison active avec une étape Dans le cas contraire l'entrée est définie pour FALSE Nouvelle marque d’identification (AQ) L'IEC 61131-3 définit deux nouveaux qualificatifs d'action qui permettent de ne traiter une action qu'une seule fois. Le qualificatif d'action P déjà existant convient en particulier pour l'impulsion par flancs des variables booléennes avec l'aide d'actions booléennes L'action est alors traitée deux fois. Le premier traitement peut être utilisé pour fixer la variable booléenne et le second pour sa remise à zéro. Les nouveaux qualificatifs d'action P0 et P1 permettent par-contre un traitement unique par flancs d'une action. L'action peut, ce faisant, être utilisée pour l'activation (P0) ou la désactivation (P1) d'une étape, pour la remise à zéro d'une variable booléenne (action booléenne) ou pour le comptage des activations d'étape. Lors de l'utilisation des nouveaux qualificatifs d'action AQ, il faut tenir compte du fait qu'ils n'influencent que la sortie A du bloc fonctionnel ActionControl. Lors de l'utilisation des actions booléennes en liaison avec les nouveaux AQ, on doit tenir compte de leur définition: − Si une action est déclarée en tant que variable booléenne, la sortie Q de l'ActionControl correspondant doit correspondre à l'état de la variable booléenne. Variables système pour action lors de l'utilisation des qualificatifs d'actions N,P,P0, P1 VWHS 1 DFWLRQ 3 DFWLRQ 3 DFWLRQ 3 DFWLRQ Qualificatif d’action step1.X action1.Q 1 action1.A 1 3 action2.Q action2.A 3 action3.Q 3 action3.A 3 action4.Q 3 action4.A 3 Le système supporte les qualificatifs d'action et temps d'action suivants: Qualificatif d’action N R S L D P, P0, P1 SD DS SL DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Temps d’action nécessaire non non non oui oui non oui oui oui Effet: non mémorisant Retour à zéro prioritaire Définir mémorisant non mémorisant , limité dans le temps non mémorisant, retardé Impulsion (un cycle SPS) mémorisant, retardé retardé, mémorisant mémorisant, limité dans le temps 7-6 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS Ci-après, nous avons tout d'abord exposé les diagrammes temporels correspondant aux qualificatifs d'action. Ensuite nous donnons une explication sur la base de quelques exemples pour une variable booléenne, une variable booléenne négativée et une action plus complexe. Diagrammes temporels correspondant aux qualificatifs d’action (Aperçu) L'étape est active """ ___________________ non mémorisant ¦ : : """ ___ mémorisant S ¦ : : : ___________________________ non mémorisant L/T1 """ et ___________________ limité dans le temps L/T2 """ ___________________ +non mémorisant D/T1 """"""""""" et D/T2 """"""""""""""""""""""""""""""""""""""" retardé P,P0 """ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBImpulsion """BBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBImpulsion P1 ___ +retardé DS/T1 """"""""""" et DS/T2 """"""""""""""""""""""""""""""""""""""" mémorisant ___ mémorisant SD/T1 """"""""""" et ___ retardé SD/T2 """"""""""""""""""""""""""" ___________________________ mémorisant SL/T1 """ et ___________ limité dans le temps SL/T2 """ 6$ 7 6( 7 5 !W Temps N SA – Etape va être active(Définition exacte page suivante) SA – Etape n'est plus active(Définition exacte page suivante) ? - Aucune indication possible sur l'activité. - Action active _ - Action inactive T1 – Temps est dans la plage du temps actif de l'étape T2 – Temps est en dehors de la plage du temps actif de l'étape R - Instruction de remise à zéro DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-7 Mode général d'exécution des actions Coordination dans le temps du traitement des actions Le traitement des actions est assujetti à la structure graphique du SFC. Chaque étape du SFC modèle une fonctionnalité complexe se rapportant à une procédure réelle. Les actions doivent par conséquent être traitées comme spécifiées par les étapes. L'interpréteur de structures réalise dans ce contexte la stratégie d'exécution suivante: • Les étapes du SFC sont parcourues ligne par ligne de gauche à droite et de bas en haut. • Pour chaque étape considérée, les blocs d'actions sont parcourus de haut en bas. • Pour chaque bloc d'action considéré, un contrôle de la sortie Q du bloc fonctionnel ActionControl correspondant à l'action référencée est effectué. S'il présente la valeur FALSE, la prise en considération du bloc d'actions actuel peut être interrompue. Dans le cas contraire, il faut vérifier si l'étape actuellement considérée est active. Si l'étape est active, l'action peut être traitée et la prise en considération du bloc d'actions actuel être interrompue. Dans le cas contraire, il faut vérifier si l'un des quatre blocs S_FF, SD_TMR, DS_FF, SL_& présente TRUE en sa sortie. Si aucune des sorties ne présente la valeur TRUE, la prise en considération du bloc d'actions actuel peut être interrompue. Dans le cas contraire, l'action peut être traitée et la prise en considération du bloc d'actions actuel être interrompue. Cette stratégie permet le traitement multiple d'une action dans un cycle SPS. Coordination dans le temps du retraitement des actions Le retraitement de toutes les actions s'effectue dans le cycle d'alternance des sorties ActionControl Q et A. Comme le retraitement des actions n'est nécessaire qu'une seule fois, il s'effectue indépendamment de la structure graphique du SFC. Les actions sont retraitées dans l'ordre qui découle de leur classement à l'intérieur de la liste d'actions. Les exemples ci-après permettent d'expliquer ce processus. Définition du moment 'Etape est active' Si la condition de transition ’tOn' est remplie, l'étape sera évaluée comme étant active au cours du même cycle SPS lors du calcul de l'action. tOn sEtape tOff Définition du moment 'Etape est inactive' Si la condition de transition ’tOff' est remplie, l'étape sera évaluée comme étant inactive au cours du même cycle SPS lors du calcul de l'action. tOn sEtape tOff Le fait que l'étape devienne inactive entraîne pour les variables booléennes et les variables négativées la conséquence suivante: ces variables seront calculées dans le même cycle SPS, comme indiqué ci-dessus. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-8 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Variables appartenant à l'action xxx A présent: Guide de programmation SPS - 18VRS xxx.Q xxx.A TRUE TRUE Action est active/va être activée et traitée FALSE TRUE Action va être désactivée et retraitée FALSE FALSE Action est inactive et ne sera pas traitée Un retraitement des actions complexes est effectué systématiquement. Exemple: Jusqu'à présent Option Retraitement d'action ON tOn %1 ; 1 .23 tOff sEtape ACTION LD1 On X1 X4 A présent: Suppression de l'option Variables système activées tOn sEtape 1 .23 tOff ACTION KOP1 On sEtape.X X4 A partir de l'affectation des variables xxx.Q et xxx.A (Tableau ‘Variables appartenant à l'action xxx’) on peut voir si l'exécution régulière (xxx.Q/xxx.A: TRUE/TRUE) se poursuit encore ou si le retraitement (xxx.Q/xxx.A: FALSE/TRUE) a déjà été amorcé. Si un retraitement doit être inhibé, il est possible de passer outre cette action avec la combinaison (xxx.Q /xxx.A: FALSE/TRUE). N.B. L'option qui existait jusqu'à présent Paramétrage compilateur/traitement action après flanc descendant est supprimée! DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-9 Qualificatifs d’action et leurs effets sur les actions Au cours de cette section, nous examinerons les réactions concrètes de tous les qualificatifs d'action en fonction de l'état actif de l'étape actuelle. Pour ce faire, nous examinerons une variable booléenne, une variable booléenne négativée et l'exécution d'une action complexe. N – Non mémorisant Le traitement se poursuit tant que l’ ’Etape’ est active. B N 9$5B (* Variable booléenne 'VAR_1' *) B N 1279$5B (* Variable booléenne négativée 'VAR_2' *) 1 $&7,21B (* Action complexe 'ACTION_1' *) Etape est active N Temps SA SE """ _________________ 6A 71 6E 72 5 non mémorisant !W - Etape va être active - Etape n'est plus active Variable booléenne!! ? _ - '0' ou '1', aucune indication possible sur l'activité. Variable est logique '1' Variable est logique '0' Si l'étape est devenue inactive, la variable devient '0' dans le même cycle SPS. Variable booléenne négativée ? _ - '0' ou '1', aucune indication possible sur l'activité. Variable est logique '0' Variable est logique '1' Si l'étape est devenue inactive, la variable devient '1' dans le même cycle SPS. Action complexe ? - _ - ’0’ ou aucune Action Action ’1’, indication possible sur l'activité. est traitée/ retraitée ne sera plus traitée 1 $&7,21B (* Action complexe 'ACTION_1' *) Etape est active ACTION_1.Q """ _________________ ________________ ACTION_1.A """ 6A 71 6E 72 5 Temps DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Retraitement !W 7-10 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS S - mémorisant Le traitement démarre à partir du moment où l'étape devient active jusqu'à remise à zéro. B S 9$5B (* Variable booléenne 'VAR_1' *) B S 1279$5B (* Variable booléenne négativée 'VAR_2' *) 6 $&7,21B (* Action complexe 'ACTION_1' *) Etape est active S Temps """ ___ mémorisant 6A 71 6E 72 5 !W SA SE R - Etape va être active - Etape n'est plus active - Remise à zéro Variable booléenne!! ? ¦ - '0' ou '1', aucune indication possible sur l'activité. Variable est logique '1' Variable est logique '0' Après l'instruction de remise à zéro, la variable devient '0' dans le même cycle SPS. Variable booléenne négativée ? _ - '0' ou '1', aucune indication possible sur l'activité. Variable est logique '0' Variable est logique '1' Après l'instruction de remise à zéro, la variable devient '1' dans le même cycle SPS. Action complexe ? - _ - ’0’ ou aucune Action Action ’1’, indication possible sur l'activité. est traitée/ retraitée ne sera plus traitée 6 $&7,21B (* Action complexe 'ACTION_1' *) Etape est active ACTION_1.Q ACTION_1.A Temps """ ___ """ __ Retraitement 6A 71 6E 72 5 !W DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-11 L – non mémorisant, limité dans le temps Le traitement est limité à la durée indiquée. Il ne dure au maximum que tant que l' 'Etape' est active. B L 7V 9$5B (* Variable booléenne B L 7P 1279$5B (* Variable booléenne négativée 'VAR_2' *) 'VAR_1' *) / 7K $&7,21B (* Action complexe 'ACTION_1' *) Etape est active L/T1 L/T2 Temps """ ___________________________ non mémorisant et """ ___________________ limité dans le temps 6A 71 6E 72 5 !W SA SE T1 T2 – – Etape Etape Temps Temps va être active n'est plus active est dans la plage du temps actif de l'étape est en dehors de la plage du temps actif de l'étape Variable booléenne!! ? _ - '0' ou '1', aucune indication possible sur l'activité. Variable est logique '1' Variable est logique '0' Lorsque le temps est écoulé, toutefois au maximum lorsque l'étape est devenue inactive, la variable devient '0' dans le même cycle SPS. Variable booléenne négativée ? _ - '0' ou '1', aucune indication possible sur l'activité. Variable est logique '0' Variable est logique '1' Lorsque le temps est écoulé, toutefois au maximum lorsque l'étape est devenue inactive, la variable devient '1' dans le même cycle SPS. Action complexe ? - _ - ’0’ ou aucune Action Action ’1’, indication possible sur l'activité. est traitée/ retraitée ne sera plus traitée / 7K $&7,21B (* Action complexe 'ACTION_1' *) Etape est active ACTION_1.Q ACTION_1.A ACTION_1.Q ACTION_1.Q Temps """ ___________________________ """ __________________________ """ ___________________ """ __________________ 6A 71 6E 72 5 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Traitement en T1 Retraitement en T1 Traitement en T2 Retraitement en T2 !W 7-12 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS D – non mémorisant, retardé Le traitement démarre avec un décalage dans le temps et continue tant que l'étape est active. Si l'étape est déjà à nouveau inactive avant que le temps soit écoulé, aucun traitement ne sera effectué. B D 7V 9$5B (* Variable booléenne B D 7P 1279$5B (* Variable booléenne négativée 'VAR_2' *) 'VAR_1' *) ' 7K $&7,21B (* Action complexe 'ACTION_1' *) Etape est active D/T1 D/T2 Temps """"""""""" BBBBBBBBBBBBBBBBBBB non mémorisant et """"""""""""""""""""""""""""""""""""""" retardé 6A 71 6E 72 5 !W SA SE ? – – _ T1 T2 Etape va être active Etape n'est plus active Aucune indication possible sur l'activité. Action active Action inactive Temps est dans la plage du temps actif de l'étape Temps est en dehors de la plage du temps actif de l'étape Variable booléenne!! ? _ - '0' ou '1', aucune indication possible sur l'activité. Variable est logique '1' Variable est logique '0' Si l'étape est devenue inactive alors que la variable était définie, la variable devient '0' dans le même cycle SPS. Variable booléenne négativée ? _ - '0' ou '1', aucune indication possible sur l'activité. Variable est logique '0' Variable est logique '1' Si l'étape est devenue inactive alors que la variable était définie, la variable devient '1' dans le même cycle SPS. Action complexe ? - _ - ’0’ ou aucune Action Action ’1’, indication possible sur l'activité. est traitée/ retraitée ne sera plus traitée ' 7K $&7,21B (* Action complexe 'ACTION_1' *) Etape est active ACTION_1.Q ACTION_1.A Zeit """"""""""" ___________________ Traitement en T1 """"""""""" __________________ Retraitement en T1 6A 71 6E 72 5 !W DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-13 Guide de programmation SPS - 18VRS P - Impulsion (complété par P0/P1) Le traitement ne dure que sur un cycle SPS. B P 9$5B (* Variable booléenne 'VAR_1' *) B P 1279$5B (* Variable booléenne négativée 'VAR_2' *) 3 $&7,21B (* Action complexe 'ACTION_1' *) Etape est active P Temps SA SE ? _ """ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBImpulsion 6A 71 6E 72 5 !W - Etape va être active Etape n'est plus active Aucune indication possible sur l'activité. Action active Action inactive Variable booléenne!! ? _ Variable booléenne négativée ? _ Action complexe - '0' ou '1', aucune indication possible sur l'activité. Variable est logique '1' pour un cycle SPS Variable est logique '0' - '0' ou '1', aucune indication possible sur l'activité. Variable est logique '0' pour un cycle SPS Variable est logique '1' ? - '0' ou '1', aucune indication possible sur le traitement. - Action va être traitée exactement une fois _ - Action ne sera plus traitée VWHS 1 DFWLRQ 3 DFWLRQ 3 DFWLRQ 3 DFWLRQ step1.X action1.Q 1 action1.A 1 3 action2.Q action2.A DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Qualificatif d'action 3 action3.Q 3 action3.A 3 action4.Q 3 action4.A 3 7-14 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS DS – retardé et mémorisant Le démarrage du traitement est retardé du temps indiqué. Il doit toutefois s'effectuer avant que l'étape ne devienne inactive. Le traitement doit être terminé avec l'instruction Reset. B DS 7K 9$5B (* Variable booléenne 'VAR_1' *) B DS 7V 1279$5B (* Variable booléenne négativée 'VAR_2' *) '6 7P $&7,21B (* Action complexe 'ACTION_1' *) Etape est active DS/T1 """"""""""" BBB retardé et DS/T2 """"""""""""""""""""""""""""""""""""""" mémorisant 6A 71 6E 72 5 !W Zeit SA SE ? _ T1 T2 R – – - Etape va être active Etape n'est plus active Aucune indication possible sur l'activité. Action active Action inactive Temps est dans la plage du temps actif de l'étape Temps est en dehors de la plage du temps actif de l'étape Remise à zéro Variable booléenne!! ? - ¦ - '0' ou '1', aucune indication possible sur l'activité. Variable est logique '1' Variable est logique '0' Après l'instruction de remise à zéro, la variable, si elle a été définie, devient '0' dans le même cycle SPS. Variable booléenne négativée ? - ¦ - ’0’ ou ’1’, aucune indication possible sur l'activité. Variable est logique '0' Variable est logique '1' Après l'instruction de remise à zéro, la variable, si elle a été définie, devient '1' dans le même cycle SPS. Action complexe ? - _ - ’0’ ou aucune Action Action ’1’, indication possible sur le traitement. est traitée/ retraitée ne sera plus traitée '6 7P $&7,21B (* Action complexe 'ACTION_1' *) Schritt ist aktiv ACTION_1.Q """"""""""" ___ Traitement en T1 | : : : : : __ Retraitement en T1 ACTION_1.A """"""""""" 6A 71 6E 72 5 !t Temps DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-15 SD – mémorisé et retardé L'ordre de traitement est mémorisé. Le démarrage proprement dit du traitement est toutefois retardé du temps indiqué. Le traitement doit être terminé avec l'instruction Reset. N.B. Le démarrage du traitement de l'action peut s'effectuer après l'inactivation de l'étape déclenchante. B SD 7K 9$5B (* Variable booléenne 'VAR_1' *) B SD 7V 1279$5B (* Variable booléenne négativée 'VAR_2' *) 6' 7P $&7,21B (* Action complexe 'ACTION_1' *) Etape est active SD/T1 """"""""""" BBB mémorisant et BBB retardé SD/T2 """"""""""""""""""""""""""" 6A 71 6E 72 5 !W Zeit SA SE ? _ T1 T2 R – – - Etape va être active Etape n'est plus active Aucune indication possible sur l'activité. Action active Action inactive Temps est dans la plage du temps actif de l'étape Temps est en dehors de la plage du temps actif de l'étape Remise à zéro Variable booléenne!! ? - _ - '0' ou '1', aucune indication possible sur l'activité. Variable est logique '1' Variable est logique '0' Après l'instruction de remise à zéro, la variable devient '0' dans le même cycle SPS. Variable booléenne négativée ? - _ - ’0’ ou ’1’, aucune indication possible sur l'activité. Variable est logique '0' Variable est logique '1' Après l'instruction de remise à zéro, la variable, si elle a été définie, devient '1' dans le même cycle SPS. Action complexe ? - _ - ’0’ ou aucune Action Action ’1’, indication possible sur le traitement. est traitée/ retraitée ne sera plus traitée 6' 7P $&7,21B (* Action complexe 'ACTION_1' *) Etape est active ACTION_1.Q """"""""""" ___ __ ACTION_1.A """"""""""" ___ ACTION_1.Q """"""""""""""""""""""""""" __ ACTION_1.A """"""""""""""""""""""""""" 6A 71 6E 72 5 temps DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Traitement en T1 Retraitement en T1 Traitement en T2 Retraitement en T2 !W 7-16 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS SL – mémorisé et limité dans le temps L'ordre de traitement est mémorisé. Le traitement démarre immédiatement et se termine une fois le temps indiqué écoulé. B SL 7K 9$5B (* Variable booléenne 'VAR_1' *) B SL 7V 1279$5B (* Variable booléenne négativée 'VAR_2' *) 6/ 7P $&7,21B (* Action complexe 'ACTION_1' *) Etape est active SL/T1 """ BBBBBBBBBBBBBBBBBBBBBBBBBBB mémorisant et BBBBBBBBBBB limité dans le temps SL/T2 """ 6A 71 6E 72 5 !W Temps SA SE ? _ T1 T2 R – – Etape va être active Etape n'est plus active Aucune indication possible sur l'activité. Action active Action inactive Temps est dans la plage du temps actif de l'étape Temps est en dehors de la plage du temps actif de l'étape - Remise à zéro Variable booléenne!! Variable booléenne négativée Action complexe ? - _ - ? - _ - ? - _ - '0' ou '1', aucune indication possible sur l'activité. Variable est logique '1' Variable est logique '0' '0' ou '1', aucune indication possible sur l'activité. Variable est logique '0' Variable est logique '1' '0' ou aucune Action Action '1', indication possible sur le traitement. est traitée/ retraitée ne sera plus traitée 6/ 7P $&7,21B (* Action complexe 'ACTION_1' *) Etape est active ACTION_1.Q """ ___________________________ __________________________ ACTION_1.A """ ___________ ACTION_1.Q """ __________ ACTION_1.A """ 6A 71 6E 72 5 Temps Traitement en T1 Retraitement en T1 Traitement en T2 Retraitement en T2 !W DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-17 R – Remise à zéro Le qualificatif d'action 'R' a la particularité de n'agir que si une action est en traitement, c'est-à-dire enregistrée dans le tableau des actions à traiter. Si le qualificatif d'action 'R' est utilisé de façon erronée, c'est-à-dire sans que l'action ou une variable ait été auparavant enregistrée dans le tableau de traitement, il reste alors sans effet. La description suppose ensuite que la même action ou variable déclenchée par un qualificatif 'S', 'SD', 'DS' ou 'SL' a également été transmise pour traitement. B R 9$5B (* Variable booléenne 'VAR_1' *) B R 1279$5B (* Variable booléenne négativée 'VAR_2' *) 5 $&7,21B (* Action complexe 'ACTION_1' *) Variable booléenne!! Variable était logique '1' et devient logique '0'. Variable booléenne négativée Variable était logique '1' et devient logique '0'. Action complexe Action va être retraitée. Actions avec blocs fonctionnels contenant des structures SFC Les actions complexes peuvent contenir des listes d’instructions ou des réseaux LD /FBD où des FB doivent être exécutés avec des structures SFC. Si la transition est satisfaite, le traitement d'un tel bloc fonctionnel permet le démarrage du SFC à l'intérieur du FB. Si l'action est désactivée, le traitement du bloc fonctionnel et par conséquent de sa structure sera interrompu. Le bloc fonctionnel et sa structure conservent leurs valeurs actuelles et le SFC son état actuel. Si le traitement du bloc fonctionnel est repris plus tard, le traitement du SFC se poursuivra à partir de l'endroit de l'interruption. Si l'action qui contient le bloc fonctionnel avec structure SFC est toutefois appelée avec le qualificatif 'R', il n'y aura plus aucun traitement d'effectuer. La structure SFC et le bloc fonctionnel avec structures SFC appelés par elle seront remis à zéro. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-18 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS 7.2 Edition de blocs d’actions Les opérations dans l'éditeur des blocs d'action seront tout d'abord illustrées à l'aide d'un simple exemple (Entrée, positionnement en aval et en amont de blocs d'actions, effacement, instruction bloc). Le passage à l'éditeur de blocs d'actions s'effectue en positionnant le curseur dans l'éditeur SFC sur l'étape désirée puis en activant la combinaison de touche <Ctrl>+<Enter> pour accès. Curseur sur étape Accès avec <Ctrl>+<Enter> Niveau d'exécution (SFC) ←→ d'actions Niveau de bloc Accès à l'étape, <Esc> Travail dans l'éditeur des blocs d'actions On désire entrer les blocs d'actions nécessaires dans le bloc fonctionnel SCARA, Etape INIT. ⇒ Positionner le curseur sur l'étape INIT. ⇒ Activation de la combinaison de touches <Ctrl>+<Enter> - ou ⇒ accéder à l'éditeur de blocs d'actions avec la touche <Enter>. Fig. 7-3: Accès à l'éditeur de blocs d'actions à partir de l'éditeur SFC La fenêtre d'entrée de l'éditeur de blocs d'actions est tout d'abord vierge. Seule la possibilité 'Placer 1-BA en aval' est offerte en pied de page. Séquence d'entrée 1<N><Enter>M_INIT<Enter> Marqueur vers affichage<Enter> 1<N><Enter>CLEAR_ERR<Enter> est reconnue en tant que variable booléenne! ‘?’ indique que le bloc d'actions est vide!! Effacer erreur à l' INIT<Enter> 1<S><Enter>POWER<Enter> Mise en marche de l'ampli de puissance<Enter> 1<S><Enter>EVENTS<Enter> Marqueur couplage NC<Enter> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-19 Fig. 7-4: Entrée de blocs d'actions avec commentaire Le commentaire requis immédiatement après l'entrée du nom décrit l'utilisation de l'action dans l'étape concrète. ⇒ Si on ne désire pas entrer de commentaire, il faut alors activer la touche <Enter> dans l'éditeur SFC. ⇒ Si, par contre, on désire que le même commentaire apparaisse partout où une Action est utilisée (comme en analogie pour le commentaire de déclaration d'une variable), on peut entrer ce commentaire en activant en supplément la touche <F6> . (Voir <F6> - Commentaire de CLEAR_ERR.) N.B. Il est recommandé de commenter immédiatement le bloc d'action respectif. (le commentaire est lié à l'emplacement de l'utilisation). Chaque action peut être à nouveau utilisée et aussi souvent que désiré dans d'autres blocs d'actions, d'autres étapes du SFC. Le '?' qui la précède indique que l'action n'est pas encore remplie. Si un temps d'action est requis par un qualificatif d'action, on sera invité à entrer ce temps lors de l'entrée du bloc d'actions. ⇒ Touche <1> Placement d'un bloc d'action à l'aval du bloc actuel. ⇒ Touche <9> Placement d'un bloc d'action à l'amont du bloc actuel Si une variable binaire est détectée, comme dans la figure suivante, la possibilité d'ajouter une négation, touche <4>, sera offerte après l'entrée complète de la ligne. ⇒ Positionner le curseur sur le nom des variables ⇒ Activer à nouveau la touche <4> La négation est alors à nouveau supprimée. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-20 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS Fig. 7-5: Négation d'une variable binaire dans un bloc d'actions ⇒ Touche <Space> - ou ⇒ Touche <Enter> pour commuter dans une ligne. ⇒ L'entrée d'un bloc complet se termine en activant la touche <Enter>. Avec <Esc>, on interrompt l'entrée en rétablissant l'état préalable. Effacement d’un bloc d’action ⇒ Combinaison de touches <Ctrl>+<Y> Une ligne complète peut être effacée. La position du curseur étant alors indifférente. Un avertissement est effectué avant l'effacement d'un bloc d'actions. Modifications de texte dans un bloc d’actions ⇒ Si une correction de texte est nécessaire, positionner le curseur dans la ligne respective et à l'emplacement voulu. Si on commence immédiatement à écrire, le nouveau texte remplacera le précédent. Si, par contre, on active '0'-Edit avant l'entrée de texte, le texte précédent peut alors être modifié. N.B. Le fait de modifier le nom d'une action entraîne la création d'une nouvelle action vide. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-21 Liste d’actions <Alt>+<N> Compte tenu du fait qu'il est à présent possible d'utiliser une action zéro, une ou plusieurs fois, une liste s'avère nécessaire pour pouvoir avoir un aperçu de toutes les actions appartenant au fichier. ⇒ Appel de la liste via Edition/Actions <Alt>+<N>. Fig. 7-6: Liste d’actions Au début de la liste se trouvent les actions système – qu'elles soient utilisées ou non, _aIn1, _aOut1, _aDiag1. Si elles ne sont pas utilisées, elles sont vides. Elles sont suivies par les actions définies par l'utilisateur. Colonne 'Info' Le langage actuel de l'action est indiqué (IL/FBD/LD), et pour les variables booléennes (BOOL/NOT BOOL), tandis qu'un (?) indique une action vide qui n'a pas encore été ouverte. 2ème colonne Nom de l'action 3ème colonne <F6>-Commentaire sur l'action ⇒ Accès avec <Enter> ou <Ctrl>+<Enter> Une édition est alors possible. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-22 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS Utilisation multiple d’actions Une action peut être utilisée dans plusieurs blocs d'actions, le cas échéant avec des qualificatifs différents, dans plusieurs étapes. Pour deux ou plusieurs utilisations de ce genre, les manipulations suivantes sont possibles. Instructions de pied de page <0> Nouvelle action L'entrée d'un nouveau nom entraîne la création d'une nouvelle action vide, indépendante. <2> Renommer Toutes les actions du nom actuel reçoivent le même nouveau nom, l'ancien contenu reste conservé. <3> Doubler L'action actuelle reçoit un nouveau nom tout en conservant l'ancien contenu qui peut continuer à être utilisé indépendamment. Le curseur doit être positionné sur le champ nom. Les instructions de pied de page Renommer et Doubler n'apparaissent que si l'action a été utilisée plusieurs fois. Fig. 7-7: Utilisation multiple d’actions (dans l’exemple CLEAR_ERR) Utilisation multiple d'actions dans une étape Nouveauté de la Version 18 Une action peut être utilisée dans une étape dans plusieurs blocs d'actions, le cas échéant avec des qualificatifs différents. Elle est alors exécutée n-fois. En cas de problèmes, voir Chapitre 7.7, Page 7-36 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-23 Niveau de détail de l'éditeur de blocs d'actions En complément, les actions contenues dans des blocs d'actions doivent être remplies. (ne s'applique pas aux actions booléennes). ⇒ Positionner le curseur sur le bloc d'actions voulu. ⇒ Activer la combinaison de touches <Ctrl>+<Enter>. Comme illustré dans la fenêtre suivante, on peut alors accéder à l'éditeur correspondant. Fig. 7-8: Accès à l'action CLEAR_ERR après <Ctrl>+<Enter> Représentation ASCII de l'éditeur de blocs d'actions A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. Chaque éditeur y contribue. Pour l'affectation suivant Fig. 7-9: Exemple pour blocs d'actions on a alors la sortie suivante: Fig. 7-9: Exemple pour blocs d’actions Représentation ASCII Remarques sur la représentation ACTION BOOL bit_var1: END_ACTION Détail d'une action booléenne, (Variable booléenne bit_var1) ACTION BOOL NOT bit_var2: END_ACTION Détail d'une action booléenne négativée (Variable booléenne bit_var2) ACTION LD_01: (*<F6>-Commentaire*) LD ON OR relais ANDN OFF ST relais END_ACTION Détail d'une action archivée en IL avec <F6>-Commentaire ............ bit_var1(N); (*Bit, vrai*) Bloc d'actions pour appel d'une action booléenne, avec commentaire, Qualificatif d'action: N NOT bit_var2(L,T#12s); (*Bit, faux*) Bloc d'actions pour appel d'une action booléenne négativée, limitée dans le temps, avec commentaire, Qualificatif d'action: L Appel de bloc d'actions, Qualificatif d'action: S KOP_01(S); (*Minikontaktplan*) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-24 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS 7.3 Aide à la mise en route au niveau blocs d'actions Forçage d'actions assisté par le système Le forçage d'actions s'effectue dans le temps indépendamment du traitement du SFC d'une POU. Le forçage d'actions est indépendant du mode de fonctionnement. Grâce au forçage d'actions, il est possible d'exécuter une action indépendamment de la sortie Q de son bloc fonctionnel ActionControl et, par conséquent, indépendamment des étapes de la' POU. L'interpréteur de structures se comporte alors comme suit: Dans la première étape de l'exécution d'une POU s'effectue le traitement du forçage de l'action. − Les états des marqueurs de forçage d'action de toutes les actions sont contrôlés. Un flanc montant sur le marqueur de forçage d'action entraîne un forçage et un flanc descendant entraîne la suppression du forçage d'une action. − Toutes les actions dont le forçage a été suspendu et dont la sortie ActionControl Q présente la valeur FALSE sont alors retraitées dans l'ordre spécifié par la liste d'actions. − Pour finir le traitement du forçage d'action, toutes les actions forcées sont traitées dans l'ordre spécifié par la liste d'actions. Ensuite, les structures programmées par l'utilisateur sont traitées. Cycle d’alternance des variables système pour actions lors du forçage d'une action via xxx.F xxx.Q xxx.A xxx.F Le tableau suivant comprend toutes les affectations permises pour les variables système de l'action ‘xxx’: xxx.Q xxx.A xxx.X FALSE FALSE FALSE Aucun traitement de l’action FALSE TRUE FALSE Aucun retraitement de l’action FALSE TRUE TRUE Traitement de l'action (forcé) TRUE TRUE FALSE Traitement de l'action (activé) TRUE TRUE TRUE Traitement de l'action (forcé et activé) Chaque action nommée peut réaliser une reconnaissance de retraitement par évaluation de ces marqueurs. Affichage d'état dans l'éditeur des blocs d'actions Si un programme est en cours d'exécution sur la commande, il est possible d'obtenir les informations d'état suivantes dans l'éditeur de blocs d'actions: • Barre de couleur sur le bord gauche, étape est active • les variables binaires marquées en couleur sont logiques '1', • les variables logiques '0', binaires négativées marquées en couleur sont • les actions plus complexes marquées de couleurs vont être traitées, • pour les actions définies dans le temps, le temps actuel écoulé est affiché au-dessus du temps entré. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-25 Pour mieux illustrer les actions évaluées en fonction du temps, on a utilisé un programme exemple. Fig. 7-10: Affichage d'actions activées A partir de la version 18, il est en outre possible de forcer des actions en demandant l'assistance du système. Ce forçage entraîne une surcharge du qualificatif d'action correspondant. Les actions forcées sont caractérisées par un 'F' au-dessus du qualificatif d'action. Fig. 7-11: Action forcée, <Ctrl>+<F4> préparé pour arrêt DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-26 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS Tableaux des actions, étapes et transitions Un affichage des actions actives sous forme d’un tableau similaire aux tableaux des étapes et transitions est possible. Ce tableau montre l'ordre concret de l'exécution des actions. Le masquage et le démasquage de l'affichage s'effectue via 'Démarrage / Tableaux'. On peut passer de la fenêtre éditeur à la fenêtre affichage avec <F4>. On quitte la fenêtre respectivement active avec <Esc>. Fig. 7-12: Tableau d'actions dans l'éditeur des blocs d'actions Les actions forcées sont exécutées avant les autres actions dans le cycle SPS. Dans le tableau d'action, elles apparaissent avec un 'F' en début de ligne. Si en cours d'exécution, une action forcée est en outre activée suivant le mode normal jusque là, elle apparaît alors deux fois dans la liste. Fig. 7-13: Tableau d'actions avec actions forcées et activées normalement DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-27 7.4 Options dans l'éditeur de blocs d'actions Les options énumérées ci-après influencent le travail dans l'éditeur de blocs d'actions. Il est recommandé à l'utilisateur de les définir sous forme préférentielle. Option 'Paramètres généraux' Fig. 7-14: Fenêtre d'options 'Paramètres généraux'' Sortie acoustique Sauvegarde automatique Cette option permet l'activation et la désactivation du 'Bip'. Cette option permet en commun avec 'Requête lors de la sauvegarde’ la mémorisation automatique de l'état intermédiaire obtenu. (Le fichier BAK est alors réécrit!) Sauvegarde automatique: 0 1 Requête lors de la sauvegarde: Sauvegarder de, 60 minutes – Ecart entre sauvegardes on / off <Shift>+<F2> Affichage de variables symbolique ou absolu A l'intérieur du programme, il est possible de remplacer les noms (symboliques) attribués aux actions booléennes par l'adresse absolue et inversement. Comme, dans la pratique, l'utilisation de cette option peut être fréquemment nécessaire, elle a été prévue avec la combinaison de touches <Shift>+<F2>. Représentation de variables absolues Cette option de menu permet une commutation à l'intérieur de programmes entre: %I1.2.3 et %E1.2.3 ou %Q2.3.4 et %A2.3.4 et inversement. Commutation langage de détail Sélection permet d'insérer une boîte de dialogue pour la sélection du langage de programmation lors de l'accès au niveau de détail. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-28 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS Option ‘Paramètres de l'écran’ Fig. 7-15: Fenêtre d'option ‘Paramètres de l'écran’ Fonction Zone de paramétrage Autres éditeurs Règle les paramètres pour l'affichage dans les éditeurs. Sélection du jeu de paramètres qui doit être mis au point. • Paramètre de mise au point Coupure de nom: Stratégie permettant de . couper un nom trop long Coupure de nombres: Stratégie permettant de couper une/un valeur/nombre d'état affiché(e). • Bouton Ok: Appliquer Standard: Interruption: Accepter les paramètres, les appliquer dans les éditeurs actuels. Appliquer paramètres dans les éditeurs actuels. sans quitter la fenêtre Restaurer les paramètres standard de la zone de paramétrage sélectionnée. Restaurer les paramètres avant intervention dans la fenêtre et quitter la fenêtre. Option 'Paramètres du compilateur' Nouveauté de la Version 18 Aucune influence, les actions complexes sont toujours retraitées après flanc descendant. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-29 7.5 Aide dans l'éditeur de blocs d'actions Conformément à la conception d'aide uniforme du système de programmation, les possibilités de guidage suivantes sont accessibles: <F1> permet une aide en relation avec l'éditeur actuel ou l'option de menu actuelle, en fonction de la position du curseur dans la fenêtre éditeur ou dans la fenêtre menu. Si des termes sont marqués en couleur, une nouvelle aide peut être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Ctrl>+<F1> permet une aide sur le terme actuel (position du curseur). Si des termes sont marqués en couleur, une nouvelle aide peut être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Shift>+<F1> A l'aide de cette combinaison de touches on accède à la section déclaration du nom marqué par le curseur. Il est ainsi possible d'avoir une représentation de l'interface d'un bloc fonctionnel, d'une fonction, d'une variable structurée ainsi que les caractéristiques d'une variable quelconque. (Dans l'éditeur de blocs d'actions, cette possibilité n'est pas utilisée) <Esc> On quitte à nouveau la fenêtre d'aide en appuyant sur <Esc>. Fig. 7-16: <F1> Aide sur l'éditeur actuel DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-30 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS Fig. 7-17: <Ctrl>+<F1> - Aide contextuelle L’aide contextuelle donne une explication sur la position actuelle du curseur. Dans l’exemple, le curseur se trouve dans la colonne ’Qualificatif d’action’.’ Si l'aide a été appelée avec la combinaison de touches <Ctrl>+<F1>, il est possible après activation de la combinaison de touches <Alt>+<S> d'entrer dans la fenêtre d'aide un terme de recherche ou une partie de ce terme. Fig. 7-18: Cherche le terme TIME dans l’aide DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-31 7.6 Touches dans l'éditeur de blocs d'actions Touche (s) Instructions curseur <Ctrl>+<S> <Ctrl>+<A> <CursorLeft> <Ctrl>+<CursorLeft> Colonne de la grille vers la gauche <Ctrl>+<D> <Ctrl>+<F> <CursorRight> <Ctrl>+<CursorRight> Colonne de la grille vers la droite <Ctrl>+<E> <CursorUp> Ligne de grille vers le haut <Ctrl>+<X> <CursorDown> Ligne de grille vers le bas <Ctrl>+<W> Dérouler image une ligne vers le haut <Ctrl>+<Z> Dérouler image une ligne vers le bas <Ctrl>+<R> <PageUp> Déplacer image vers le haut <Ctrl>+<C> <PageDown> Déplacer image vers le bas Touche (s) Touches d’effacement <Ctrl>+<Y> Effacement de blocs d'actions complets Touche (s) Accès <Ctrl>+<Enter> Passage à l'éditeur IL / LD / FBD DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-32 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS Menu local dans l'éditeur de blocs d'actions Dans chaque éditeur un menu local (combinaison de touches <Alt>+<F10>) permet un accès rapide, regroupé, à des instructions importantes de l'éditeur. Fig. 7-19: Menu local de l'éditeur de blocs d'actions Test de syntaxe Test sur les erreurs de syntaxe <F6> Commentaire édition pour l’action actuelle <Ctrl>+<F6> Commentaire on/off Commentaire, ligne complète on/off <Shift>+<F2> Symb. / Abs. Commutation représentation symbolique/absolue de variables <Alt>+<P> Imprimer Sortie sur imprimante du contenu de l'éditeur <Ctrl>+<U> Passage à l'éditeur Passage aux éditeurs 'voisins' Instructions Quick Offre d'instructions ^Q actuelle Instructions bloc Offre d'instructions ^K actuelle Instructions bloc dans l'éditeur de blocs d'actions Le but des Instructions bloc est de minimiser le travail lors de l’introduction de nouvelles entrées. Un bloc à l'intérieur de l'éditeur de blocs d'actions se compose d'une ou de plusieurs lignes qui se suivent directement. Touche (s) Instructions bloc <Ctrl>+<K><B> Marquer Début du bloc <Ctrl>+<K><K> Marquer Fin de bloc <Shift>+>CursorUp> ou <Shift>+>CursorDown> Marquer bloc <Ctrl>+<K><H> Masquer le bloc <Ctrl>+<K><Y> Effacer bloc <Ctrl>+<K><V> Déplacer bloc <Ctrl>+<K><L> Marquer ligne en tant que bloc <Ctrl>+<K><W> Ecrire le bloc <Ctrl>+<K><R> Lire le bloc <Ctrl>+<K><3> Bloc vers éditeur de texte <Ctrl>+<K><4> Bloc de l'éditeur de texte DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-33 Marquer le début du bloc <Ctrl>+<K><B> Placer le curseur sur le premier bloc d’actions voulu puis activer la combinaison de touches <Ctrl>+<K><B>. Marquer la fin du bloc <Ctrl>+<K><K> Placer le curseur sur le dernier bloc d’actions voulu puis activer la combinaison de touches <Ctrl>+<K><K>. Masquer le bloc <Ctrl>+<K><H> Le bloc marqué est rendu visible ou invisible par activation de la combinaison de touches <Ctrl>+<K><H> . Effacer un bloc <Ctrl>+<K><Y> Déplacer le bloc <Ctrl>+<K><V> Marquer une ligne en tant que bloc Ecrire bloc <Ctrl>+<K><W> Lire bloc <Ctrl>+<K><R> Envoyer bloc dans éditeur de texte <Ctrl>+<K><3> Récupérer bloc de l' éditeur de texte <Ctrl>+<K><4> Tous les blocs d'actions marqués seront effacés sans avertissement. Le bloc marqué va être déplacé directement à l'aval de la position marquée par le curseur. Comme lors de l'introduction d'un nouveau bloc d'actions, l'affectation du pied de page est ici importante. La ligne actuelle va être marquée en tant que bloc. Archivage du bloc marqué sur un support de données, au choix avec informations de détail. Lecture du bloc marqué à partir du support de données. Si le bloc est déjà utilisé, un avertissement aura lieu indiquant qu'il peut y avoir des différences dans les détails. Si on ignore cet avertissement, l'ancien détail sera utilisé, dans le cas contraire, le nouveau. Archivage du bloc marqué (avec détail) dans l'éditeur de texte. Récupérer le bloc marqué (avec détail) de l'éditeur de texte. Si le bloc est déjà utilisé, un avertissement aura lieu indiquant qu'il peut y avoir des différences dans les détails. Si on ignore cet avertissement, l'ancien détail sera utilisé, dans le cas contraire, le nouveau. Instructions Quick dans l'éditeur de blocs d'actions Les instructions Quick ci-après servent à accélérer les mouvements du curseur: Touche (s) Instructions Quick <Ctrl>+<Q><S> <Home> vers le bord gauche <Ctrl>+<Q><D> <End> vers le bord droit <Ctrl>+<Q><R> <Ctrl><PageUp> vers le début du bloc d'actions <Ctrl>+<Q><C> <Ctrl><PageDown> vers la fin du bloc d'actions <Ctrl>+<Q><B> vers le début du bloc <Ctrl>+<Q><K> vers la fin du bloc <Ctrl>+<Q><E> <Ctrl><Home> vers le début de la page <Ctrl>+<Q><X> <Ctrl><End> vers la fin de la page <Ctrl>+<Q><P> vers la dernière position Par ailleurs, on a implémenté: Recherche d'une chaîne de caractères <Ctrl>+<Q><F> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Cette fonction utilise la fenêtre ci-après (voirFig. 7-20: Recherche et remplacement d'un texte (chaîne de caractères)) avec les mêmes éléments de sélection, seule la ligne ‘Nouveau texte’ a disparu. 7-34 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS Rechercher et Remplacer une chaîne de caractères <Ctrl>+<Q><A> Fig. 7-20: Recherche et remplacement d'un texte (chaîne de caractères) Cherche Texte CLEAR_ERR Le texte à rechercher est tout d'abord prédéfini par le terme sur lequel se trouve le curseur. On peut soit réécrire ce terme soit sélectionner un autre terme déjà utilisé auparavant via la fenêtre history. Le texte de remplacement (Nouveau Texte:) peut être entré manuellement ou être sélectionné via la fenêtre history. • Eléments: [X] Variables et constantes [ ] Repère [ ] Bloc fonctionnel [ ] Types de données Zone de recherche à sélectionner (éléments à rechercher): Au moins un élément doit être sélectionné, au maximum tous les éléments peuvent être sélectionnés. Les éléments que l'éditeur actuel ne connaît pas, ne sont pas sélectionnables (grisés). • Zone: (*) Editeur ( ) Bloc marqué ( ) Réseau actuel La zone à sélectionner peut être limitée à partir de tout l'éditeur jusqu'au bloc marqué. • Options: [ ] Ignor. Majusc. Majusc. [ ] mots complets seulement En options, on peut demander au système d'ignorer les majuscules et minuscules et de ne rechercher que des mots complets. • Direction: (*) en avant ( ) en arrière La direction de la recherche est définie à partir du curseur. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-35 Guide de programmation SPS - 18VRS • Mode: ( ) à partir du curseur ( ) tout autour (*) ensemble de la zone Le mode de la recherche est défini de façon standard à partir du curseur. La recherche peut être effectuée tout autour à partir du curseur, et au maximum jusqu'au curseur, en tenant compte de la direction susmentionnée. La troisième possibilité est: du début jusqu'à la fin en fonction de la direction ou inversement sur toute la zone. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-36 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS 7.7 Modifications de l'exécution des actions par rapport à la version 17 Réserves lors de l'utilisation de qualificatifs d'action limités dans le temps (AQ) L'affectation de l'entrée du bloc ActionControl est réglementée par la norme EN 61131-3 en corrélation avec les qualificatifs d'action limités dans le temps. L'IEC définit dans ce contexte trois situations susceptible d'entraîner un conflit AQ. K1. Il existe plus d'une liaison active avec une ou plusieurs entrées du bloc fonctionnel ActionControl qui est affecté d'un qualificatif d'action limité dans le temps. Un tel cas se produit par exemple quand dans un SFC deux étapes sont actives, l'une référençant une action A1 avec le AQ-D et l'autre la même action avec un AQ-DS. Le même cas se produirait si la première étape référence l'action A1 avec l'AQD et l'autre étape la même action avec l'AQ-D, indépendamment des délais respectifs. Le fait que plusieurs liaisons soient actives en même temps constitue à lui seul un conflit. K2. L'entrée SD du bloc fonctionnel ActionControl devient active alors que la sortie Q du flip-flop SL est active. K3. L'entrée SL du bloc fonctionnel ActionControl devient active alors que la sortie Q du flip-flop SD est active. Traitement de la durée d'exécution en cas de conflits de qualificatifs d'action Les situations de conflit définies par l'IEC doivent être traitées de façon telle qu'une interruption du programme SPS soit évitée et qu'un comportement défini puisse être réalisé. Etant donné les situations de conflit qui peuvent apparaître correspondent à des dysfonctionnements du programme utilisateur SPS, le déclenchement d'un avertissement de la durée d'exécution SPS est absolument indispensable. Il est recommandé de traiter les situations de conflit en suivant une méthode conformément aux règles suivantes: 1. Une liaison devenue active au cours de cycles précédents reste valide pour le traitement de l'action. Toutes les autres liaisons impliquées dans le conflit sont ignorées tant que le conflit existe. 2. Si le conflit ne peut pas être entièrement éliminé en appliquant la règle 1, ceci signifie qu'il existe une activation simultanée de plusieurs liaisons avec les entrées ActionControl dotées d'un qualificatif d'action temporel. Le conflit sera éliminé en fixant l'ordre de priorité des AQ La priorité est définie comme suit: L>D>SD>DS>SL (Ordre des entrées au bloc fonctionnel ActionControl). Les liaisons présentant le niveau de priorité supérieur sont déterminantes pour le traitement de l'action. Toutes les autres liaisons impliquées dans le conflit sont ignorées tant que le conflit existe. Si plusieurs liaisons actives à une entrée ActionControl présentent des temps différents, le temps utilisé pour le traitement de l'action sera celui défini par le bloc d'actions qui a été pris le plus tôt en compte dans l'exécution graphique du SFC. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS SFC à quatre situations de conflit AQ potentielles Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-37 VWHS ! W W VWHS VWHS W W ! VWHS VWHS W W VWHS VWHS W ... STEP step4 ' 7V D ' 7V D / 7V D 6' 7V D 6' 7V D STEP step5 / 7V D STEP step7 ' 7V D / 7V D VWHS STEP step8 W 6/ 7V D V step1 V / 7V D La représentation ci-dessus montre un SFC convenant pour une illustration du traitement de la durée d'exécution réalisée par le système d'exploitation SPS en cas de conflits de qualificatifs d'action. Ci-après, on trouvera une description des quatre situations de conflit potentiel avec leur traitement respectif. • Situation 1 – Conflit en relation avec l'action a1: a. Si l'étape7 devient active 5s après l'activation de l'étape4, on est en présence d'un conflit K1 Ce conflit peut être résolu avec la règle 1. La nouvelle liaison active additionnelle de l'étape7 avec l'entrée D de l'ActionControl de l'action a1 sera ignorée. La temporisation de 15 s qui a déjà été lancée continue à s'écouler. Si ensuite, l'étape4 devient inactive, la temporisation continue étant donné que l'étape7 possède une liaison active à l'entrée D de l'ActionControl de l'action a1. b. Si l'étape7 devient active 20s après l'activation de l'étape4, on est en présence d'un conflit K1 Ce conflit peut être résolu avec la règle 1. La nouvelle liaison active additionnelle de l'étape7 avec l'entrée D de l'ActionControl de l'action a1 sera ignorée. L'action continue à être active (la temporisation n'est pas relancée). Si ensuite, l'étape4 devient inactive, l'action continue à être active (la temporisation n'est pas relancée) étant donné que l'étape7 possède une liaison active à l'entrée D de l'ActionControl de l'action a1. • Situation 2 – Conflit en relation avec l'action a2: Si l'étape4 et l'étape5 deviennent actives en même temps, on est en présence d'un conflit K1. Ce conflit peut être résolu avec la règle 2. La nouvelle liaison active de l'étape4 avec l'entrée D de l'ActionControl de l'action a2 sera ignorée. L'action est activée avec temps limite de 15s. Si l'étape5 devient active 10s après son activation, le temps limite est stoppé, l'action désactivée et la temporisation de 5 s lancée. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-38 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS • Situation 3 – Conflit en relation avec l'action a3: a. Si l'étape7 devient active 5s après l'activation de l'étape4, on est en présence d'un conflit K1 Ce conflit peut être résolu avec la règle 1. La nouvelle liaison active additionnelle de l'étape7 avec l'entrée L de l'ActionControl de l'action a3 sera ignorée. Le temps limite de 15 s qui a déjà été lancé continue à s'écouler. Si ensuite, l'étape4 devient inactive, le temps limite continue à s'écouler étant donné que l'étape7 possède une liaison active à l'entrée L de l'ActionControl de l'action a3. b. Si l'étape7 devient active 20s après l'activation de l'étape4, on est en présence d'un conflit K1 Ce conflit peut être résolu avec la règle 1. La nouvelle liaison active additionnelle de l'étape7 avec l'entrée L de l'ActionControl de l'action a3 sera ignorée. L'action continue à être inactive (le temps limite n'est pas relancé). Si ensuite, l'étape4 devient inactive, l'action continue à être inactive (le temps limite n'est pas relancé) étant donné que l'étape7 possède une liaison active à l'entrée L de l'ActionControl de l'action a3. • Situation 4 – Conflit en relation avec l'action a4: a. Si l'étape8 devient active après que l'étape4 soit devenue inactive, on est en présence du conflit K2. Ce conflit peut être résolu avec la règle 1. La nouvelle liaison active additionnelle de l'étape8 avec l'entrée SL de l'ActionControl de l'action a4 sera ignorée. La temporisation de 15 s qui a déjà été lancée continue à s'écouler. N.B. Avec l'action5, il n'y a jamais de conflit tant que l'étape4 et l'étape8 ne sont pas actives en même temps! Les situations de conflit représentées résultent de programmes SPS qui ne sont pas implémentés suivant les normes. Ces erreurs doivent absolument être éliminées. Une exploitation du traitement de la durée réalisée par le système d'exploitation SPS doit absolument être évitée. Coordination dans le temps du retraitement des actions Le retraitement de toutes les actions s'effectue dans le cycle d'alternance des sorties ActionControl Q et A. Comme le retraitement des actions n'est nécessaire qu'une seule fois, il s'effectue indépendamment de la structure graphique du SFC. Les actions sont retraitées dans l'ordre qui découle de leur classement à l'intérieur de la liste d'actions. Coordination dans le temps du traitement des actions Le traitement des actions est assujetti de façon figée à la structure graphique du SFC. Chaque étape du SFC modèle une fonctionnalité complexe se rapportant à une procédure réelle. Les actions doivent par conséquent être traitées comme spécifiées par les étapes. L'interpréteur de structures réalise dans ce contexte la stratégie d'exécution suivante: • Les étapes du SFC sont parcourues ligne par ligne de gauche à droite et de bas en haut. • Pour chaque étape considérée, les blocs d'actions sont parcourus de haut en bas. • Pour chaque bloc d'action considéré, un contrôle de la sortie Q du bloc fonctionnel ActionControl correspondant à l'action référencée est effectué. S'il présente la valeur FALSE, la prise en considération du bloc d'actions actuel peut être interrompue. Dans le cas contraire, il faut vérifier si l'étape actuellement considérée est active. Si l'étape est active, l'action peut être traitée et la prise en considération du bloc d'actions actuel être interrompue. Dans le cas contraire, il faut vérifier si l'un des quatre blocs S_FF, SD_TMR, DS_FF, SL_& présente TRUE en sa sortie. Si aucune sortie DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Blocs d’actions (ACTION BLOCK) et actions (ACTION) 7-39 ne présente la valeur TRUE, la prise en considération du bloc d'actions actuel peut être interrompue. Dans le cas contraire, l'action peut être traitée et la prise en considération du bloc d'actions actuel être interrompue. Cette stratégie permet le traitement multiple d'une action dans un cycle SPS. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 7-40 Blocs d’actions (ACTION BLOCK) et actions (ACTION) Guide de programmation SPS - 18VRS DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Liste d’instructions, IL, INSTRUCTION LIST 8-1 8 Liste d’instructions, IL, INSTRUCTION LIST Le langage de programmation "IL" peut, comme le montre la figure suivante, être utilisé en tant qu'éditeur autonome pour l'entrée de programmes, de blocs fonctionnels et de fonctions. Il peut également, avec la même étendue d'instructions, être utilisé pour le remplissage de transitions (voir Chapitre 6, 'Organigramme séquentiel, SFC') et d'actions dans des blocs d'actions (voir Chapitre 7 'Blocs d'actions et actions'). ,27$%(//( Tableau IO N° LWL- I/O Canal Définition de la con1 2 Boucle Type 0123456789.0123456789.01234567890.. figuration. 1 RECO III.QQQ............................ (seulement avec programmes!) IMPORTATION IMPORT FROM Commentaire FUNCTION (*Fonctions définies par utilisateur*) Importation de NAND8 (*Fonction NAND avec 8 entrées*) Fonctions(FK), Blocs NOR8 (*Fonction NOR avec 8 entrées *) fonctionnels (FB) et de types de données (TY)util. )8 '(./$5$7,21 avant leur utilisation $ Nom AT TYPE := Commentaire % VAR_INPUT (* Déclaration des entrées *) DDéclaration de variables & ON %E0.1.1 (* Introducteur *) et blocs fonctionnels ALARME %E2.5.2 (* Capteur *) (FB et fb) avant leur (1'B9$5 utilisation EConvention de types VAR_OUTPUT (* Déclaration des sorties *) de données utilisateur $:/ Marque Operation Operande Entrée du corps de programme, Commentaire de bloc fonctionnel ou de fonctions dans validation du moteur à ventilateurs*) LD éditeur IL, ON (* Mode manuel ventilateur*) ORN LD ou TEM (* Surveilltemperature>> ANDN FBD ALARM (* arrêtAlarmab>> ST MOTEUR (* Moteur de ventilateur*) )%' .23 21$/$50MOTEUR 7(0 Fig. 8-1: DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Création d'un programme 'PR', bloc fonctionnel 'FB' ou d'une fonction 'FK' dans la liste d'instructions' 8-2 Liste d’instructions, IL, INSTRUCTION LIST Guide de programmation SPS - 18VRS 8.1 Eléments de base Architecture de la liste d’instructions La liste d'instruction est un langage de programmation où le programme utilisateur est noté en tant que suite d'instructions. Chaque instruction commence par une nouvelle ligne. Fig. 8-2: Liste d’instructions 1ère colonne Une marque (étiquette, repère) peut y être enregistrée en tant que destination du saut. Cette marque comporte au maximum 6 caractères et se termine par un ':' Elle peut se trouver au début d'un nouveau réseau (trait blanc indique la zone de réseau). 2ème colonne Cette colonne est prévue pour l'opération de la ligne IL respective. 3ème colonne L'opérande qui doit être modifié en fonction de l'opération, y est inscrit dans la mesure où ceci est nécessaire pour l'opération correspondante. 4ème colonne Dans cette colonne on inscrit le commentaire relatif à la ligne respective. En supplément, il est également possible d'entrer un commentaire de lignes sur les 4 colonnes. Des lignes vierges et lignes de commentaires pures sont permises L'exécution de cette liste s'effectue de façon standard de haut en bas. Ce tracé rigoureux peut être interrompu par des sauts inconditionnels et conditionnels. En tant que forme particulière de la ligne d'instruction, une étiquette séparée sans opération et commentaire consécutifs est permis. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Liste d’instructions, IL, INSTRUCTION LIST 8-3 Opérateurs et modificateurs Les opérations sont les éléments les plus importants de la liste d'instructions; en tant que tel, elles se composent: • de l'opérateur respectif et • d'un ou de deux modificateursn – si besoin est. N° 1 2 3 Opérateur LD ST SET RES AND OR XOR ADD MUL SUB DIV MOD GT GE EQ NE LE LT JMP CAL RET ) 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Modificateur N N C, N C, N N, ( N, ( N, ( ( ( ( ( ( ( ( ( ( ( ( C, N C, N C, N Opérande (1) (1) BOOL BOOL (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) LABEL (2) NAME (3) (1) Signification égalise le résultat actuel avec l'opérande mémorise le résultat actuel sur l'opérande met les opérandes booléens sur '1' met les opérandes booléens sur '0' ET logique OU logique OU exclusif logique Addition Multiplication Soustraction Division Modulo-Division Comparaison: > Comparaison: >= Comparaison: = Comparaison: <> Comparaison: <= Comparaison: < Saut vers l'étiquette Appel du bloc fonctionnel Retour d'un FB ou d'une fonction Fin d'une Opération (1) Le résultat actuel et l'opérande doivent être du même type. (2) Point de départ et point de destination du saut doivent se trouver dans la même IL, c'est-à-dire par exemple dans la même action ou, si l'éditeur IL est utilisé seul, sans structure SFC, à l'intérieur du même programme, bloc fonctionnel ou de la même fonction. (3) A l'extrémité finale physique d'un bloc fonctionnel ou d'une fonction, l'instruction return peut être supprimée. Le tableau doit ensuite être analysé et les différentes opérations possibles être complétées avec les types de données autorisés dans leur cas particulier. Instructions de chargement et de transport (seulement pour opérandes de même type) LD LDN ST STN charge la valeur de l'opérande charge la valeur négative (bit par bit) de l'opérande fixe la valeur actuelle sur celle de l'opérande fixe la valeur actuelle négative, bit par bit, sur celle de l'opérande 1) et 2) 1) 1) et 2) 1) admis pour les types de données: 1) BOOL, BYTE, WORD, DWORD 2) SINT,INT,DINT,USINT,UINT,UDINT,REAL Instructions complexes de chargement et de transport LD charge la valeur de l'opérande ST admis pour le type de données: STRUCT, ARRAY, STRING, CHAR, Adresse de (P#), Pointeur. fixe la valeur actuelle sur l'opérande admis pour le type de données: STRUCT,ARRAY,STRING,CHAR, Pointer. Instructions Mise à 1 et Remise à zéro (Set et Reset) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 8-4 Liste d’instructions, IL, INSTRUCTION LIST SET SETC SETCN RES RESC RESCN Guide de programmation SPS - 18VRS Pose d'une opérande binaire (inconditionnel) Pose d'une opérande binaire si condition (VALEUR ACT.=1) remplie Pose d'une opérande binaire si condition (VALEUR ACT.=0) non remplie Opérande binaire est remis à zéro (inconditionnel) Opérande binaire est remis à zéro si condition (VALEUR ACT.=1) remplie Opérande binaire est remis à zéro si condition (VALEUR ACT.=0) non remplie admis pour le type de données: BOOL Opérations logiques (seulement pour opérandes de même type) AND ANDN AND( OR ORN OR( XOR XORN XOR( AKT. VALEUR ET Opérande (bit par bit), Valeur suivant VALEUR ACT. VALEUR ACT. ET Opérande négativé (bit par bit), Valeur suivant VALEUR ACT ET-Parenthèse ouverte VALEUR ACT. OU Opérande (bit par bit), Valeur suivant VALEUR ACT VALEUR ACT. OU Opérande négativé (bit par bit), Valeur suivant VALEUR ACT OU-Parenthèse ouverte VALEUR ACT. OU exclusif Opérande (bit par bit), Valeur suivant VALEUR ACT. VALEUR ACT. OU exclusif Opérande négativé (bit par bit), Valeur suivant VALEUR ACT. OU exclusif-Parenthèse ouverte admis pour le type de données: BOOL, BYTE, WORD, DWORD Opérations arithmétiques (seulement pour opérandes de même type) ADD ADD( SUB SUB( MUL MUL( DIV DIV( MOD MOD( Addition, VALEUR ACT.: = VALEUR ACT.+ Opérande Addition de l'expression suivante sur la VALEUR ACT. Soustraction, VALEUR ACT.: = VALEUR ACT. - Opérande Soustraction de l'expression suivante sur la VALEUR ACT. Multiplication, VALEUR ACT.: = VALEUR ACT. x Opérande Multiplication VALEUR ACT. avec l'expression suivante Division, VALEUR ACT.: = VALEUR ACT./Opérande Division VALEUR ACT. par l'expression suivante Modulo-D, VALEUR ACT.: = VALEUR ACT: /Opérande Modulo-Division VALEUR ACT. par l'expression suivante Non définie pour REAL! Non définie pour REAL! admis pour type de données: SINT,INT,DINT,USINT,UINT,UDINT;REAL Opérations arithmétiques complexes (seulement pour opérandes de même type) ADD ADD( Addition de la seconde chaîne de caractères à la première Addition de la seconde chaîne de caractères à la première admis pour type de données: STRING Sauts dans la liste d'instructions JMP LABEL JMPC LABEL JMPCN LABEL Saut à la marque LABEL (inconditionnel) Saut à LABEL, si condition remplie (VALEUR ACT.=1) Saut à LABEL, si condition non remplie (VALEUR ACT.=0) Appel de bloc fonctionnel Appel dans l'IL CAL NAME CALC NAME CALCN NAME RET RETC RETCN Appel FUNCTION_BLOCK (inconditionnel) Appel FUNCTION_BLOCK, si condition (VALEUR ACT.=1) remplie Appel FUNCTION_BLOCK, si condition (VALEUR ACT.=0) non remplie Retour FUNCTION_BLOCK (inconditionnel) Retour FUNCTION_BLOCK, si condition (VALEUR ACT.=1) remplie Retour FUNCTION_BLOCK, si condition (VALEUR ACT.=0) non remplie Des appels conditionnels de FUNCTION_BLOCK ne sont utilisés que dans la liste IL! La liste IL ainsi entrée ne peut alors pas être représentée en LD ou FBD. Comparaisons (Egalité de type nécessaire!) GT GT( GE Comparaison: VALEUR ACT. > Opérande Comparaison: VALEUR ACT. > Expression Comparaison: VALEUR ACT. >= Opérande DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS GE( EQ EQ( NE NE( LT LT( LE LE( Comparaison: Comparaison: Comparaison: Comparaison: Comparaison: Comparaison: Comparaison: Comparaison: Comparaison: Liste d’instructions, IL, INSTRUCTION LIST VALEUR ACT. >= Expression VALEUR ACT. = Opérande VALEUR ACT. = Expression VALEUR ACT. <> Opérande VALEUR ACT. <> Expression VALEUR ACT. < Opérande VALEUR ACT. < Expression VALEUR ACT. <= Opérande VALEUR ACT. <= Expression admis pour type de données: 8-5 SINT, INT, DINT; USINT, UINT, UDINT; REAL, STRING, CHAR sont évalués dans l'ordre alphabétique. lors de comparaisons REAL! +0 ≠ –0 ATTENTION Comparaisons complexes EQ EQ( NE NE( Comparaison: Comparaison: Comparaison: Comparaison: VALEUR ACT. = Opérande VALEUR ACT. = Expression VALEUR ACT. <> Opérande VALEUR ACT. <> Expression admis pour type de données: BOOL, BYTE, WORD, DWORD, ARRAY, STRUCT 8.2 Edition de listes d’instructions Entrée d'une liste d'instructions simple Conformément à l'évolution indiquée à la fig. 8-1 ., on trouvera ci-après une représentation du travail avec l'éditeur de listes d'instructions. En tant qu'exemple, on a choisi la fonction définie par utilisateur SELECT. Travaux préliminaires nécessaires au niveau 'Programme' au niveau 'bloc fonctionnel' Au niveau 'Fonctions' • Affectation I-O de la périphérie utilisée • Importation des types de données, fonctions et blocs fonctionnels utilisés définis par utilisateur. • Déclaration des variables et blocs fonctionnels utilisés • Importation des types de données, fonctions et blocs fonctionnels utilisés définis par utilisateur. • Déclaration des variables et blocs fonctionnels utilisés • Importation des types de données et fonctions utilisés définis par utilisateur. • Déclaration des variables utilisées. Pour la fonction nommée, l'importation n'est pas nécessaire. La section déclaration est représentée ci-après. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 8-6 Liste d’instructions, IL, INSTRUCTION LIST Guide de programmation SPS - 18VRS Fig. 8-3: Section déclaration pour la Fonction SELECT Les commentaires de déclaration se rapportant aux variables sont inscrits dans la figure. Si l'utilisateur utilise l'option 'Paramètres généraux', ces commentaires apparaissent automatiquement dans la ligne IL lors de l'utilisation des variables. (Ils peuvent être réécrits.) Si l'utilisateur refuse cette option, la colonne commentaire à l'aval des variables reste vide. Lors du premier appel, le curseur se trouve dans la seconde colonne – Opérations, qui est la colonne la plus souvent utilisée. Les opérations peuvent être soit entrées directement (automatiquement avec majuscules) soit empruntées à la fenêtre de sélection après activation de la touche <7>. (Sélection avec curseur, confirmation avec touche <Enter>) Fig. 8-4: Editeur IL, Fenêtre de sélection pour opérations Via la touche <6>, on peut faire apparaître la fenêtre de sélection des Fkmicrologicielles et des FK-utilisateur déclarées dans l'éditeur d'importation. (Sélection avec curseur, confirmation avec <Enter>). DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Liste d’instructions, IL, INSTRUCTION LIST 8-7 Le remplissage d'une telle fonction est décrit au Chapitre ' Fonctions et Blocs fonctionnels dans la liste d'instructions' Page 8-8. A partir de la seconde colonne, on peut se déplacer avec le curseur vers la gauche dans la colonne 'Marque / Commentaire de ligne'. Les instructions de pied de page sont actualisées automatiquement. (8-Marque/ 0-(* correspond à entrée de commentaire, si la ligne est vide le commentaire peut être entré tout simplement.) Si une entrée existe déjà dans un des champs de la ligne IL, on peut alors après sélection de la touche <0> réécrire cette ligne ou bien la compléter, si un mouvement du curseur a été effectué auparavant. N.B. (NOUVEAUTE A PARTIR DE LA VERSION 16) Insertion d'une ligne vide au moyen de la touche <Enter> • Si le curseur se trouve en début de ligne (colonne 1 ou 2) une ligne vide sera insérée en amont. • Si le curseur se trouve à un autre emplacement dans une ligne (complète), la ligne vide sera insérée à l'aval. Fig. 8-5: Editeur IL pour l'entrée de la fonction SELECT Séquence d'entrée LD<Enter>SEL<Enter>Requête de sélection<Enter> JMPCN<Enter>L_1<Enter> <Enter> Pour le moment, l'étiquette 'L_1' n'existe pas en tant que destination du saut Afin de permettre la poursuite du travail, un contrôle rigoureux de syntaxe tel qu'habituellement appliqué dans les autres éditeurs n'est encore pas effectué ici. Il n'est amorcé que lorsqu'on quitte l'éditeur IL au moment de l'essai de traduction ou après activation de <Alt>+<F10>, Test de syntaxe. Séquence d'entrée LD<Enter>i1<Enter>Sélection Valeur i1<Enter> ST<Enter>M_INT<Enter>Mémoriser résultat<Enter> JMP<Enter>L_E<Enter> <Enter> L_1:<Enter>LD<Enter>i2<Enter>Sélection Valeur i2<Enter> ST<Enter>M_INT<Enter>Mémoriser résultat<Enter> <Enter> L_E:<Enter>LD<Enter>M_INT<Enter>Récupérer résultat intermédiaire <Enter> ST<Enter>SELECT<Enter>Archiver en tant que résultat FK<Enter> A l'intérieur d'une ligne, il est également possible d'utiliser la touche <Space> au lieu de <Enter> pour commuter. (Si la ligne est complète, une nouvelle ligne sera ouverte avec la touche <Enter>). DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 8-8 Liste d’instructions, IL, INSTRUCTION LIST Guide de programmation SPS - 18VRS A l'intérieur d'un mot à entrer ou d'une ligne, on utilise les instructions habituelles de l'éditeur DOS ou de 'wordstar' . Voir Chapitre 8.6 'Touches dans l'éditeur IL' Activer Page 8-18) Si lors de l'introduction d'un nom de variable, le système détecte que ce nom n'a pas encore été déclaré, la fenêtre erreur suivante permet le passage dans l'éditeur de déclaration. On a ainsi la possibilité de convenir d'un nouveau nom et de retourner avec <Esc> à la place précédente dans la liste IL. (Déclaration a posteriori de variables). Fonctions et blocs fonctionnels dans la liste d’instructions Fonctions dans la liste d’instructions Pour appeler des fonctions, il faut inscrire leur nom dans le champ Opérateur. La VALEUR ACT. est utilisée en tant que première entrée, sans nommage exprès. si une fonction a par exemple 'n'-entrées, il ne sera demandé que 'n-1'- entrées. La VALEUR ACT. assume la place de la première entrée. Une succession de fonctions n'est possible que via la première entrée respective. L'entrée d'autres valeurs est forcée si besoin. Var1 Marque ).7B( ).7B( ( ( ).7B( 9DU ( ( 9DU ( Var4 ( 9DU Opération Opérande LD Var1 Commentaire (*Récupérer premier opérande*) FKT_E1 (*Fonction avec une entrée*) Var2 (*Résultat = premier opérande*) (*Fonction avec deux entrées*) (*deuxième opérande*) FKT_E3( E2:= E3:= ) Var3 Var4 (*Résultat = premier opérande*) (*Fonction avec trois entrées*) (*deuxième opérande*) (*troisième opérande*) ST Var5 (*Sortie du résultat*) FKT_E2( E2:= ) En tant qu’exemples pour l’application de fonction, on peut utiliser les réseaux 12 et 13 du bloc fonctionnel AOVR (voir au chapitre 2 'Exemple de bloc fonctionnel utilisateur'). DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS 12 13 Liste d’instructions, IL, INSTRUCTION LIST Utilisation de fonctions (Extrait du FB ‘AOVR’, (*Cadrer OVERRIDE *) Représentation en FBD) (*DINT, da 129*255 > INT!!*) O100: %<7(B,17 ,17B',17 IOVR %<7(B ,17B ,17B',17 MAX ,17B 255 ',17B,17 ,17B86, ',17B ,17B 8-9 4295 La déclaration des variables s'effectue ensuite dans la section déclaration. Une importation n'est pas nécessaire, des conversions de type peuvent être effectuées avec des fonctions standard. Fig.8-6: Section déclaration de l'exemple La liste d'instructions correspondante est illustrée ci-après: 12 13 (*Cadrer OVERRIDE *) (*DINT, da 129*255 > INT!!*) O100:.. LD........ IOVR.............. ....... BYTE_INT.. .................. ....... INT_DINT.. .................. ....... MUL(...... .................. ....... LD........ MAX............... ....... INT_DINT.. .................. ....... )......... .................. ....... DIV....... 255............... ....... DINT_INT.. .................. ....... INT_USI... .................. ....... ST........ QOVR.............. (*OVERRIDE*).................. .............................. .............................. .............................. (*Valeur max. Override*)...... .............................. .............................. .............................. .............................. .............................. (*OVERRIDE cadré*)............ L'application de la liste IL est particulièrement recommandée lors de conversions fréquentes de type étant donné que l'exactitude syntaxique de l'IL n'est vérifiée qu'après entrée complète. Les langages LD et FBD sont en mesure de représenter de telles conversions de type également graphiquement. (voir Chapitre 2 'Exemple – Bloc-fonctionnel utilisateur'). Dans l'exemple présenté, on a utilisé l'option 'Commentaire de déclaration dans l'implémentation', c'est-à-dire que les commentaires entrés dans l'éditeur de déclarations sont disponibles dans l'implémentation. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 8-10 Liste d’instructions, IL, INSTRUCTION LIST Guide de programmation SPS - 18VRS Si le curseur se trouve sur le nom d'une fonction définie par utilisateur, il est possible d'accéder à cette fonction via la combinaison de touches <Ctrl>+<Enter> ou <Ctrl>+<N>. Blocs fonctionnels dans la liste d’instructions Les principes fondamentaux de l'appel seront explicités ci-après à l'aide de l'exemple RS-FlipFlop (standard). Ce FlipFlop (bascule bistable) doit, dans un exemple de bloc fonctionnel, tout d'abord être appelé de façon inconditionnelle puis de façon conditionnelle. A la différence des fonctions pour lesquelles la connexion de toutes les entrées doit être forcée lors de l'entrée, avec les blocs fonctionnels certaines entrées peuvent rester sans affectation, c'est-à-dire qu'elles conservent la valeur qu'elles avaient avant l'appel ou, si elles n'ont pas encore été utilisées, leur valeur initiale. Les sorties peuvent être utilisées, c'est-à-dire appelées aussi souvent que désiré. Fig. 8-7: Section déclaration pour exemple FB, importation du FB 'RS' n'est pas nécessaire, vu qu'il s'agit d'un FB-micrologiciel. Après la déclaration commune, le bloc fonctionnel 'ff75' est tout d'abord appelé de façon inconditionnelle. REMARQUE: Cette IL peut être représentée dans les langages graphiques LD et FBD. FlipFlop, (Bascule bistable) Appel inconditionnel d’un FB ff75 56 6B 5B4B MISE RESET Marque Opération LD ST LD ST CAL LD ST RESULTAT Opérande MISE A 1 ff75.S_ REMISE A 0 ff75.R_1 ff75 ff75.Q_1 RESULTAT Commentaire (*MISE A 1 du ff75*) (*REMISE A O du ff75*) (*RS-FlipFlop "ff75"*) (*Valeur du ff75*) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Liste d’instructions, IL, INSTRUCTION LIST 8-11 Avant l'appel 'CAL ff75' , les entrées désirées ont tout d'abord été chargées. Une liste d'instruction complexe peut également remplacer 'LD ....' Après appel, les sorties traitées sont à disposition pour appel. Si des sorties du 'ff75' sont lues avant l'appel, l'utilisateur reçoit l'ancienne valeur de calcul, vraisemblablement la valeur initiale. Si l'appel du 'ff75' est effectué avant une condition 'VALIDATION', il existe alors deux possibilités: Appel conditionnel d’un FB avec ’CALC/CALCN’ Marque Opération Opérande LD MISE A 1 ST ff75.S_ LD REMISE A 0 ST ff75.R_1 Commentaire (*MISE A 1 du ff75*) (*REMISE A O du ff75*) LD CALC VALIDATION ff75 (*Validation–Entrée du ff75*) (*RS-FlipFlop "ff75"*) LD ST ff75.Q_1 RESULTAT (*Valeur du ff75*) Dans la figure ci-dessus, les entrées sont chargées indépendamment d'un appel ou non des FB. L'appel est effectué en fonction de la condition qui se trouve devant ‘CALC/CALCN’. L'IL entrée ne peut pas être représentée graphiquement en LD/FBD. La seconde possibilité d'un appel conditionnel est représentée dans la figure suivante. En fonction de la condition VALIDATION, le système saute le chargement des entrées, l'appel et l'alimentation des sorties. L'IL entrée peut être représentée graphiquement en LD/FBD. Appel conditionnel d’un FB par saut Marque Opération Opérande LD VALIDATION JMPCN m_fin LD MISE A 1 ST ff75.S_ LD RUECKS ST ff75.R_1 CAL ff75 LD ff75.Q_1 ST RESULTAT m_fin: Commentaire (*Validation–Entrée du ff75*) (*Saut du FB sans chargement des entrées*) (*MISE A 1 du ff75*) (*Remise à zéro du ff75*) (*RS-FlipFlop "ff75"*) (*Valeur du ff75*) Si le curseur se trouve dans la ligne d’appel sur le nom d’un bloc fonctionnel défini par utilisateur, il est possible d'accéder à ce bloc fonctionnel via la combinaison de touches <Ctrl>+<Enter> ou <Ctrl>+<N> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 8-12 Liste d’instructions, IL, INSTRUCTION LIST Guide de programmation SPS - 18VRS Représentation ASCII de l'éditeur de listes d'instructions A partir de la version 17, il est possible d'écrire des UOP complètes en fichiers ASCII. Chaque éditeur y contribue. Fig. 8-8: Extrait de l'éditeur IL pour écriture ASCII. Pour l’affectation suivant Fig. 8-8: Extrait de l'éditeur IL pour écriture ASCII. , on a alors la sortie suivante (sans indication des actions et des blocs d'actions, abrégée). LD SEL JMPCN L_1 LD ST JMP L_1: LD ST (*Requête de la sélection*) i1 (*Sélection Valeur 1*) M_INT (*Archivage dans mémoire intermédiaire*) L_E i2 (*Sélection Valeur 2*) M_INT (*Archivage dans mémoire intermédiaire*) L_E: LD M_INT ST SELECT (*archivé en tant que résultat FK*) Des segments de liste d'instructions peuvent apparaître pour: • des fonctions et blocs fonctionnels dans la zone implémentation • des programmes dans la zone implémentation, simulation IO, traitement des données de processus (Interbus G3) et implémentation 2 ms. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Liste d’instructions, IL, INSTRUCTION LIST 8-13 8.3 Aide à la mise en route dans la liste d'instructions Si un programme se trouve en cours d'exécution sur la commande, il est possible d'obtenir dans l'éditeur IL les informations suivantes sur l'état du programme ou d'un bloc fonctionnel utilisé. • Barre de couleur sur le bord gauche, IL est en cours de traitement. • les variables binaires marquées en couleur sont logiques '1', • les autres variables sont affichées dans le champ commentaire avec leur valeur. via l'instruction de pied 2, le commentaire sur l'affichage peut être ouvert. Dans les fonctions, cet affichage n'est pas possible étant donné que les valeurs n'existent qu'au moment des calculs et qu'elles ne sont pas mémorisées. On se doit ici de souligner une autre particularité: L'afficheur d'état indique la valeur des variables. Si des 'Sauts' se trouvent dans l'IL, ces valeurs ne fournissent aucun renseignement sur le traitement effectif des lignes. Fig. 8-9: Liste d'instructions, informations d'état DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 8-14 Liste d’instructions, IL, INSTRUCTION LIST Guide de programmation SPS - 18VRS 8.4 Options dans l'éditeur de listes d'instructions Les options énumérées ci-après influencent le travail dans l'éditeur de listes d'instructions. Il est recommandé à l'utilisateur de les définir sous forme préférentielle. Cette définition est mémorisée lorsqu'on quitte le système de programmation pour revenir au menu principal. Option 'Paramètres généraux' Fig. 8-10: Fenêtre d'options 'Paramètres généraux' Sortie acoustique Sauvegarde automatique Cette option permet l'activation et la désactivation du 'Bip'. Cette option permet en commun avec 'Requête lors de la sauvegarde’ la mémorisation automatique de l'état intermédiaire obtenu. (Le fichier BAK est alors réécrit!) Sauvegarde automatique: 0 1 Requête lors de la sauvegarde: Sauvegarder de, 60 minutes – Ecart entre sauvegardes on / off Commentaire de déclaration dans l'implémentation Dans toutes les lignes IL sans commentaire propre, c’est le commentaire de déclaration qui apparaît. <Shift>+<F2> Affichage de variables symbolique ou absolu Représentation de variables absolues Cette option permet de commuter au niveau 'Programme' entre l'adresse absolue (si existante) et le nom symbolique des variables. Commutation langage de détail Sélection permet d'insérer une boîte de dialogue pour la sélection du langage de programmation lors de l'accès au niveau de détail. Cette option de menu permet une commutation à l'intérieur de programmes entre: %I1.2.3 et %E1.2.3 ou %Q2.3.4 et %A2.3.4 et inversement. Cette option est également valide dans la documentation. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Liste d’instructions, IL, INSTRUCTION LIST 8-15 Option ‘Paramètres de l'écran’ Fig. 8-11: Fenêtre d'options ‘Paramètres de l'écran’ Fonction Zone de paramétrage Autres éditeurs Règle les paramètres pour l'affichage dans les éditeurs. Sélection du jeu de paramètres qui doit être mis au point. • Paramètre de mise au point Coupure de nom: Stratégie permettant de couper un nom trop long Coupure de nombres: Stratégie permettant de couper une/un valeur/nombre d'état affiché(e). • Bouton Ok: Appliquer Standard: Interruption: DOK-CONTRL-SPS*PRO*V18-AW01-FR-P les appliquer dans les éditeurs actuels. Appliquer les paramètres dans les éditeurs actuels, sans quitter la fenêtre. Restaurer les paramètres standard de la zone de paramétrage sélectionnée. Restaurer les paramètres avant intervention dans la fenêtre et quitter la fenêtre. 8-16 Liste d’instructions, IL, INSTRUCTION LIST Guide de programmation SPS - 18VRS 8.5 Aide dans l'éditeur de listes d'instructions Conformément à la conception d'aide uniforme du système de programmation, les possibilités de guidage suivantes sont accessibles: <F1> permet une aide en relation avec l'éditeur actuel ou l'option de menu actuelle, en fonction de la position du curseur (dans la fenêtre éditeur ou dans la fenêtre menu). Si dans une aide contextuelle des termes sont marqués en couleur, une aide peut alors être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Ctrl>+<F1> permet une aide sur le terme actuel (position du curseur). Si dans une aide contextuelle des termes sont marqués en couleur, une aide peut alors être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Shift>+<F1> A l'aide de cette combinaison de touches on accède à la section déclaration du nom marqué par le curseur. Il est possible de représenter l'interface d'un bloc fonctionnel, d'une fonction, d'une variable structurée ainsi que les caractéristiques d'une variable quelconque. <Esc> On quitte à nouveau la fenêtre d'aide en appuyant sur <Esc>. Fig. 8-12: <F1> Aide sur l'éditeur actuel DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Liste d’instructions, IL, INSTRUCTION LIST 8-17 Fig. 8-13: <Ctrl>+<F1> - Aide contextuelle L’aide contextuelle donne une explication sur la position actuelle du curseur. Dans l'exemple, le curseur se trouve dans la colonne 'Opération' sur LD, colonne 2, ligne 1. Si l'aide a été appelée avec la combinaison de touches <Ctrl>+<F1>, il est possible après activation de la combinaison de touches <Alt>+<S> d'entrer dans la fenêtre d'aide un terme de recherche ou une partie de ce terme. Fig. 8-14: Aide sur le terme INT DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 8-18 Liste d’instructions, IL, INSTRUCTION LIST Guide de programmation SPS - 18VRS Fig. 8-15: <Shift>+<F1>, Aide déclaration sur l'opérande QOVR Si le curseur se trouve sur une variable, l’information de la ligne de sa déclaration apparaît alors. Fig. 8-16: <Shift>+<F1>, Aide déclaration sur la fonction utilisateur BYTE_INT ⇒ Placer le curseur sur la position d’appel de BYTE_INT. ⇒ Activer la combinaison de touches <Shift>+<F1> Le symbole (interface) avec les types des entrées et sorties et le commentaire à la déclaration au moment de l'importation de la fonction ou du bloc fonctionnel est alors affiché. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Liste d’instructions, IL, INSTRUCTION LIST 8.6 Touches dans l'éditeur IL ⇒ Activation de la combinaison de touches <Alt>+<H> Les touches disponibles actuellement apparaissent . Touche (s) Instructions curseur <Ctrl>+<S> <Ctrl>+<A> <CursorLeft> <Ctrl>+<CursorLeft> Colonne de la grille vers la gauche <Ctrl>+<D> <Ctrl>+<F> <CursorRight> <Ctrl>+<CursorRight> Colonne de la grille vers la droite <Ctrl>+<E> <CursorUp> Ligne de grille vers le haut <Ctrl>+<X> <CursorDown> Ligne de grille vers le bas <Ctrl>+<W> Dérouler image une ligne vers le haut <Ctrl>+<Z> Dérouler image une ligne vers le bas <Ctrl>+<R> <PageUp> Déplacer image vers le haut <Ctrl>+<C> <PageDown> Déplacer image vers le bas <Shift> <CursorUp> Marquer bloc <Shift> <CursorDown> <Shift> <PageUp> <Shift> <PageDown> Touche (s) Touches d’effacement <Ctrl>+<G> <Delete> Effacement d'un caractère <Ctrl>+<H> <CursorLeft> Effacement d'un caractère en aval Effacer une ligne complète <Ctrl>+<Y> <Ctrl>+<V> <Insert> Commutation Réécrire/Remplacer <Ctrl>+<M> <Enter> Fin d'une ligne Touche (s) Accès <Ctrl>+<Enter> <Ctrl>+<N> Passage au FB/FK DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 8-19 8-20 Liste d’instructions, IL, INSTRUCTION LIST Guide de programmation SPS - 18VRS Menu local dans l'éditeur IL Dans chaque éditeur il existe un menu local (combinaison de touches <Alt>+<F10>) qui permet de regrouper des instructions importantes de l'éditeur de façon à ce qu'elles soient rapidement accessibles. Fig. 8-17: Menu local de l'éditeur IL Test de syntaxe contrôle s'il existe des erreurs de syntaxe dans la liste d'instructions <Ctrl>+<F6> Commentaire on/off Ligne complète du commentaire <Ctrl>+<U> Passage à l'éditeur Passage à l'éditeur LD /FBD <Alt>+<P> Imprimer Sortie sur imprimante du contenu de l'éditeur Instructions Quick Offre d'instructions ^Q actuelles Instructions bloc Offre d'instructions ^K actuelles DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Liste d’instructions, IL, INSTRUCTION LIST 8-21 Instructions bloc dans la liste d’instructions Le but des Instructions bloc est de minimiser le travail par rapport à une introduction de nouvelles entrées. Un bloc à l'intérieur de l'éditeur IL se compose d'une ou de plusieurs lignes qui se suivent directement. Pour l'éditeur IL, les opérations bloc suivantes sont possibles: Touche (s) Instructions bloc <Ctrl>+<K><B> Marquer Début du bloc <Ctrl>+<K><K> Marquer Fin de bloc <Shift>+>CursorUp> ou <Shift>+>CursorDown> Marquer bloc <Ctrl>+<K><L> Marquer ligne en tant que bloc <Ctrl>+<K><H> Masquer le bloc <Ctrl>+<K><Y> Effacer bloc <Ctrl>+<K><V> Déplacer bloc <Ctrl>+<K><C> Copier bloc <Ctrl>+<K><W> Ecrire des blocs sur disquette <Ctrl>+<K><R> Lire bloc d'une disquette <Ctrl>+<K><3> Bloc → Editeur de texte <Ctrl>+<K><4> Bloc de l'éditeur de texte → IL Marquer le début du bloc <Ctrl>+<K><B> Placer le curseur sur la première ligne voulue puis activer la combinaison de touches <Ctrl>+<K><B>. Marquer la fin du bloc <Ctrl>+<K><K> Positionner le curseur sur la dernière ligne voulue et activer la combinaison de touches <Ctrl>+<K><K>. Marquer le bloc <Shift>+<CursorUp> <Shift>+<CursorDown> Marquer une ligne en tant que bloc Masquer le bloc <Ctrl>+<K><H> Effacer un bloc <Ctrl>+<K><Y> Avec la combinaison de touches Shift>+<CursorUp> / <Shift>+<CursorDown> , il est également possible de marquer un bloc. La ligne actuelle va être marquée en tant que bloc. Le bloc marqué est rendu visible ou invisible par activation de la combinaison de touches <Ctrl>+<K><H> . Toutes les lignes marquées seront effacées sans avertissement. Déplacer le bloc <Ctrl>+<K><V> Le bloc marqué va être déplacé directement à l'aval de la position marquée par le curseur. Copier bloc <Ctrl>+<K><C> Le bloc marqué va être copié directement à l'aval de la position marquée par le curseur. Ecrire bloc sur disquette <Ctrl>+<K><W> Le bloc marqué est écrit sur le support de données indiqué dans la fenêtre de sélection sous le nom indiqué. Le bloc est ensuite archivé en tant que fichier ASCII standard. Lire bloc d'une disquette <Ctrl>+<K><R> Insère un bloc archivé auparavant avec Ecrire bloc derrière la position actuelle du curseur. Attention: Contrôle de syntaxe en cours de lecture. Des corrections sont possibles dans la fenêtre. Envoyer bloc dans éditeur de texte <Ctrl>+<K><3> Bloc de l'éditeur de texte → IL <Ctrl>+<K><4> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Copie le bloc marqué dans l'éditeur de texte. Extrait le bloc marqué dans l'éditeur de texte et l'envoie dans l'éditeur IL (Contrôle de la syntaxe effectué). 8-22 Liste d’instructions, IL, INSTRUCTION LIST Guide de programmation SPS - 18VRS Instructions Quick dans la liste d’instructions Les instructions Quick ci-après servent à accélérer les mouvements du curseur: Touche (s) Instructions Quick <Ctrl>+<Q><S> <Home> vers le bord gauche <Ctrl>+<Q><D> <End> vers le bord droit <Ctrl>+<Q><R> <Ctrl><PageUp> vers le début de la liste d'instructions <Ctrl>+<Q><C> <Ctrl><PageDown> vers la fin de la liste d'instructions <Ctrl>+<Q><B> vers le début du bloc <Ctrl>+<Q><K> vers la fin du bloc <Ctrl>+<Q><E> <Ctrl><Home> vers le début de l'écran <Ctrl>+<Q><X> <Ctrl><End> vers la fin de l'écran <Ctrl>+<Q><P> vers la dernière position <Ctrl>+<Q><G> vers le réseau indiqué Par ailleurs, on a implémenté: Restaurer ligne <Ctrl>+<Q><L> Si une ligne IL a été effacée par mégarde, elle peut être restaurée immédiatement après en activant cette instruction. Chercher et Remplacer Recherche d'une chaîne de caractères <Ctrl>+<Q><F> Cette fonction utilise la fenêtre ci-après (voir fig. 8-18) Fig. 8-18: Recherche et remplacement d'un texte (chaîne de caractères) avec les mêmes éléments de sélection, seule la ligne 'Nouveau texte' a disparu. Rechercher et Remplacer une chaîne de caractères <Ctrl>+<Q><A> Fig. 8-18: Recherche et remplacement d'un texte (chaîne de caractères) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Liste d’instructions, IL, INSTRUCTION LIST Cherche Texte 8-23 OE Le texte à rechercher est tout d'abord prédéfini par le terme sur lequel se trouve le curseur. On peut soit réécrire ce terme soit sélectionner un autre terme déjà utilisé auparavant via la fenêtre history. Nouveau Texte Texte qui doit remplacer le texte recherché. Un contrôle de convenance est effectué afin que le nouveau texte puisse assumer la tâche du texte précédent • Eléments: [X] Variable et constante [X] Mot clé [ ] Repère [ ] Commentaire [ ] Bloc fonctionnel [ ] Fonction [ ] Types de données Zone de recherche à sélectionner (éléments à rechercher): Au moins un élément doit être sélectionné, au maximum tous les éléments peuvent être sélectionnés. Sous un mot clé, on doit comprendre des termes qui ont une signification particulière pour le système de programmation, comme par exemple: VAR, PROGRAM::: Les éléments que l'éditeur actuel ne connaît pas, ne sont pas sélectionnables (grisés). • Zone: (*) Editeur ( ) Bloc marqué ( ) Réseau actuel La zone à sélectionner peut être limitée à partir de tout l'éditeur jusqu'au bloc marqué. • Options: [ ] Ignor. Majusc. Majusc. [ ] mots complets seulement [ ] avec demande En options, on peut demander au système d'ignorer les majuscules et minuscules et de ne rechercher que des mots complets. Par ailleurs, il est également possible de demander qu'une confirmation soit effectuée avant chaque remplacement. • Direction: (*) en avant ( ) en arrière La direction de la recherche est définie à partir du curseur. • Mode: ( ) ( ) (*) à partir du curseur tout autour ensemble de la zone Le mode de la recherche est défini de façon standard à partir du curseur. La recherche peut être effectuée tout autour à partir du curseur, et au maximum jusqu'au curseur, en tenant compte de la direction susmentionnée. La troisième possibilité est: du début jusqu'à la fin en fonction de la direction ou inversement sur toute la zone. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 8-24 Guide de programmation SPS - 18VRS DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-1 9 Diagramme à contacts, LD, LADDER DIAGRAM Le langage graphique "Diagramme à contacts" peut, comme le montre la figure suivante, être utilisé en tant qu'éditeur autonome de programmes, de blocs fonctionnels et de fonctions. Il peut également, avec la même étendue d'instructions, être utilisé pour le remplissage de transitions (voir Chapitre 6, 'Organigramme séquentiel, SFC') et d'actions dans des blocs d'actions (voir Chapitre 7 'Blocs d'actions et actions'). TABLEAU IO Tableau IO N° LWL- I/O Canal Définition de la con1 2 Boucle Type 0123456789.0123456789.01234567890.. figuration. 1 RECO III.QQQ............................ seulement avec programmes!) MPORTATION IMPORT FROM Commentaire FUNCTION (*Fonctions définies par utilisateur*) Importation de NAND8 Fonctions(FK), Blocs fonctionnels (*Fonction NAND avec 8 entrées*) NOR8 (FB) et types de données(TY) util. (*Fonction NOR avec 8 entrées *) avant leur utilisation )8 DECLARATION $ Nom AT TYPE := Commentaire % VAR_INPUT (* Déclaration des entrées *) DDéclaration de variables & ON %E0.1.1 (* Introducteur *) et de blocs fonctionnels ALARME %E2.5.2 (* Capteur *) (FB et fb) avant leur (1'B9$5 utilisation ENouvelle création de VAR_OUTPUT (* Déclaration des sorties *) de types de données utilisateur LD Entrée du corps de programme, validation du moteur à ventilateurs*) de bloc fonctionnel ou ON ALARME MOTEUR de fonction dans l'éditeur LD, IL ou FBD 7(0 )%' ,/ (*valid.du moteur à ventil.*) LD ON (* Mode man. vent>> ORN TEM * Temperatu>> ANDN ALARM (* Arrêtalarm>> ST MOTEUR (* Mot.d.vent. Fig. 9-1: DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Création d'un programme 'PR', bloc fonctionnel 'FB' ou d'une fonction 'FK' ' 9-2 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS 9.1 Architecture d'un diagramme à contacts Le réseau est la plus petite unité autonome du diagramme à contacts. Il peut se composer d'éléments LD, comme des relais, de contacts de travail et de repos Par ailleurs, il peut comprendre des instructions de mise à 1 (set) et de remise à zéro (reset) ainsi que des sauts. Un réseau peut recevoir un bloc fonctionnel et/ou des fonctions. Un réseau peut en outre se composer d'un commentaire d'une ou plusieurs lignes. Fig. 9-2: Diagramme à contacts Chaque réseau est limité à gauche et à droite par des rails de contact. Lignes de liaison horizontales elles transmettent l'état l'élément directement à gauche vers l'élément voisin directement à droite. Lignes de liaison verticales Elles peuvent être atteintes à partir de l'une ou de plusieurs lignes de liaison arrivant de la gauche ou de la droite. Une ligne de liaison est logique '1', si l'une des lignes arrivant de la gauche est '1'. Si toutes les lignes arrivant de la gauche sont '0', la ligne verticale est également '0'. • Off: • On: toutes les lignes arrivant de la gauche sont en état Off au moins l'une des lignes arrivant de la gauche est 'On' L'état de la 'ligne verticale' est transmis vers la droite.' Chaque réseau peut être pourvu d'une marque ou repère (de réseaux) Cette marque (au max. 6 caractères avec une lettre en tant que premier caractère) est limitée à droite par un '.'. N.B. Des contacts à pont ne sont pas réalisables. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-3 9.2 Edition de diagrammes à contacts Le diagramme à contacts est grossièrement scindé de la façon suivante: Curseur bloc dans le réseau Travail dans le réseau actuel Curseur bloc dans la colonne externe droite Création de réseaux (nouveau à partir de la version 16) • Edition du réseau • Entrée de contacts, FB, fonctions, variables, étiquettes intermédiaires • Entrée de relais, sauts etc. ⇒ Pour la création d'un nouveau réseau, activer la touche <Enter>: Activation de la touche dans la première colonne – Réseau est placé à l'amont Activation de la touche dans une autre colonne – Réseau est placé à l'aval. Le nouveau réseau est tout d'abord vide et peut être modifié avec les instructions de pied de page ci-après. Entrée d'éléments de diagramme à contacts, curseur sur une position quelconque 1 2 3 4 5 6 7 8 9 0 -| |-|/|Branche NOT FB Fonction OP Marque -( )en amont Edit. (* Insérer 'Contact de travail' (1) Insérer 'Contact de reposl' (1) Insérer en dessous branche connectée en parallèle (OR) Négativer contact/variable Insérer bloc fonctionnel (1) Insérer fonction (1) Insérer opérateur (1) Insérer ou éditer marque Insérer marqueur intermédiaire (1) Placer en amont (2) Editer identificateur de contact/variable Editer ligne de commentaire (1) Sous le mode de fonctionnement "Insertion", l'élément graphique sélectionné est inséré à droite de la position actuelle, tandis que sous le mode "réécriture", l'élément graphique actuel est remplacé par l'élément sélectionné. (2) L'élément graphique à sélectionner est inséré à gauche de la position actuelle. Modification de réseaux, Curseur sur le rail de contact droit 1 2 4 5 6 7 8 9 0 -( )-(/)NOT -(S)-(R)>> -<RET> en amont Edit Insérer relais (1) Insérer relais négativé (1) Négativer relais/saut Insérer fonction set (1) Insérer fonction reset (1) Insérer saut (1) Insérer fonction retour (1) Placer en amont (2) Editer relais/destination du saut (1) Sous le mode de fonctionnement "Insertion", l'élément graphique sélectionné est inséré sous la position actuelle, tandis que sous le mode "réécriture", l'élément graphique actuel est remplacé par l'élément sélectionné. (2) L'élément graphique à sélectionner est inséré en amont de la position actuelle. Curseur sur variable de sortie au droit du bloc fonctionnel/de la fonction/de l'opérateur 3 4 9 0 VAR NOT en amont Edit Insérer variable commutée en parallèle en dessous Négativer la variable Insérer variable commutée en parallèle au dessus Editer identificateur de variable (3) A l'aide de différents exemples, on entend à présent illustrer le travail avec l'éditeur. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 9-4 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS Entrée d'un diagramme à contacts simple A titre d’exemple, on a tout d'abord sélectionné un réseau LD simple; une section déclaration correspondante contenant les variables nécessaires étant présupposée. Un extrait de représentation est illustré dans la figure ciaprès. Fig. 9-3: Section déclaration de l'exemple (extrait) La figure Fig. 9-4: Exemple de diagramme à contact avec affichage du commentaire de déclaration (<Ctrl>+<F6>) pour 'Aimant1' a été réalisée avec la séquence d'entrée suivante (Mode "Insertion"). Séquence d'entrée 1On<Enter>Aimant1<Enter> 3Aimant1<Enter> <CursorUp><CursorRight>2Off<Enter> 8Z_Marqueur<Enter> 1Normal<Enter> 2Aimant2<Enter> <CursorLeft>3General<Enter> <CursorRight><Enter> Curseur sur contact 'On' 8Début<Enter> En analogie aux listes d'instructions, le commentaire de déclaration des variables peut être rendu visible en liaison avec les éléments du diagramme à contacts. Si une telle possibilité est voulue, le commentaire(de déclaration) peut être ouvert pour le contact actuel au moyen de la combinaison de touches <Ctrl>+<F6> dans la ligne avant l'avant dernière ligne de l'écran. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Fig. 9-4: Diagramme à contacts, LD, LADDER DIAGRAM 9-5 Exemple de diagramme à contact avec affichage du commentaire de déclaration (<Ctrl>+<F6>) pour 'Aimant1' Comme on l'a déjà vu dans la liste d'instructions, le commentaire peut être utilisé sans modification ou bien réécrit pour l'emplacement concret. Pour ce faire, il faut activer la touche <F6>. (Après effacement de ce nouveau commentaire, le commentaire de déclaration initial est à nouveau visible). Séquence d'entrée ⇒ Curseur sur relais Aimant1, <F6>Aimant1 verrouillé avec Aimant2<Enter> Fig. 9-5: Exemple Diagramme à contacts, Commentaire de déclaration avec Aimant1 réécrit après activation de la touche <F6>. En bas, on peut encore voir l'ancien commentaire de déclaration tandis qu'en haut, dans la fenêtre d'entrée, le nouveau commentaire apparaît. L'affichage de commentaires dans l'éditeur LD est en outre également possible au moyen de l'option "Paramètres de l'écran'. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 9-6 Diagramme à contacts, LD, LADDER DIAGRAM Modifications et extensions possibles a posteriori Contacts (Sélection) Guide de programmation SPS 18VRS En commutant 'Insertion/Réécriture', il est possible d'effectuer les échanges suivants: 1-¦ +- 2-¦/+- 4-NOT sont interchangeables ⇒ Curseur sur l'élément désiré, ⇒ Activer la touche de pied (Mode: Réécriture) - ou ⇒ Touche '4-NOT', (Mode: Insertion) Eléments de sortie (Sélection) 1-( )- 2-(/)- 4-NOT 5-(S)- 6-(R)- 7->> sont interchangeables ⇒ Curseur sur l'élément désiré, ⇒ Activer l'instruction de pied (Mode Réécriture) Touche '4-NOT' modifie l'élément actuel. En cas d'introduction d'un saut '7>>' , le nom actuel est effacé avec l'ancien symbole. Complément d'éléments de clôture supplémentaires ⇒ Positionner le curseur sur le premier élément existant. ⇒ Sélectionner le nouvel élément désiré dans la ligne de pied. Mode 'Réécriture': Le nouvel élément est inscrit à la place de l'ancien Mode 'Insertion': Le nouvel élément est placé parallèlement à l'ancien Mode 'Insertion': 9-en amont'. Le nouvel élément est placé parallèlement à l'ancien, toutefois en amont de ce dernier. Utilisation d'étiquettes intermédiaires (ZMarqueur) Les étiquettes intermédiaires permettre d'extraire des résultats intermédiaires de réseaux de diagrammes à contacts. Le résultat de la branche qui se trouve en amont du marqueur intermédiaire est alors repris. L'activation de l'instruction bloc <Ctrl>+<K><T> permet en cas de doute l'affichage de la branche. Exemple: N$kB rA kC ZMarqueur N.B. L'étiquette intermédiaire 'Zmarqueur' reprend la valeur du contact 'kC'. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-7 Entrée d'un diagramme à contacts avec symboles supplémentaires La répétition de l'entrée de la fonction SELECT dans le diagramme à contacts permet un affichage avec les éléments additionnels, tels que sauts, affectations non-booléennes entre autres. Un réseau commentaire est placé en amont. Pour cette fonction, une importation n'est pas nécessaire. La section déclaration est représentée ci-après. Fig. 9-6: Section déclaration pour la Fonction SELECT Séquence d'entrée 47L_1<Enter>1SEL<Enter> 4<Enter> 3i1<Enter>M_INT<Enter><CursorRight><Enter> 47L_E<Enter><CursorRight><Enter> 3i2<Enter>M_INT<Enter><Enter> 8L_1<Enter> 3M_INT<Enter>SELECT<Enter> 8L_1<Enter> Curseur sur le saut, Le réseau avec le saut négativé est complet!! Affectation de 'i1' sur 'M_INT'!! Saut inconditionnel dans le segment!! Affectation de 'i2' sur 'M_INT'!! Entrée de la marque’ L_1’!! Affectation de ‘M_INT’ à la sortie FK!! Entrée de la marque’ L_E’!! Ensuite, un commentaire doit être entré avant le premier réseau. ⇒ Curseur sur ligne 1, colonne 1 (<Ctrl>+<Q><R> ou déplacer directement le curseur). <Enter>90Exemple d'entrée pour la fonction 'SELECT' dans l'éditeur LD, spécial<Enter>Sauts<Enter><ESC> On doit toujours activer la touche <Enter> pour terminer l'entrée d'une ligne de commentaire. La ligne de commentaire suivante est alors ouverte. Dans l'exemple, toute nouvelle entrée de commentaire est interrompue avec <Esc> et l'on quitte alors le réseau commentaire. N.B. Ne pas oublier d'activer la touche <Enter> à la fin de chaque ligne! <Esc> entraîne sinon l'effacement de l'entrée. L'instruction de pied de page '1-Séparer' dans la fenêtre permet la séparation éventuelle (si nécessaire) d'un commentaire de plusieurs lignes et l'entrée d'un réseau entre les lignes. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 9-8 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS Fig. 9-7: Diagramme à contacts pour la Fonction SELECT Opérateurs de diagramme à contacts Au Chapitre ‘Représentation dans le diagramme à contacts’, Page 9-25) sont présentés les opérateurs de diagrammes à contacts équivalents à ceux des listes d'instructions. Des réseaux de diagrammes à contacts peuvent être ouverts et complétés avec ces opérateurs Le choix d'un opérateur approprié (correspondant au type des variables d'entrées et sorties) doit s'effectuer au moyen de l'instruction de pied de page 7-OP'. ⇒ Positionner le curseur dans la fenêtre de sélection sur l'opérateur voulu. ⇒ Confirmer avec <Enter> Exemple: Une comparaison des sommes des 'Nombres Integer' 'INT1' et 'INT2' d'une part, et 'INT3' et 'INT4' d'autre part doit être effectuée. Si elles sont égales, la sortie doit être mise sur '1', dans le cas contraire sur '0'. L'exemple est ici effectué sous la forme d'une fonction. On commence par la section déclaration. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Fig. 9-8: Diagramme à contacts, LD, LADDER DIAGRAM 9-9 Déclaration pour la fonction BSP_OP Une fois la déclaration terminée, on passe à l'éditeur LD. Séquence d'entrée 0Comparaison de deux sommes de nombres INT<Enter><ESC> ↓ 7 ⇒ Positionner le curseur dans la fenêtre de sélection sur l'opérateur ‘=‘ . ⇒ Confirmer avec <Enter> Fig. 9-9: Fonction BSP_OP, Fenêtre de sélection 'Operateurs' Le nom des variables peut être entré directement ou bien une fenêtre de sélection de variables être appelé dans le champ vide au moyen de <Enter>. ⇒ Sélection des variables en déplaçant le curseur ⇒ Confirmer avec la touche <Enter> Pour continuer en entrée directe: Séquence d'entrée DOK-CONTRL-SPS*PRO*V18-AW01-FR-P INT1<Enter> INT3<Enter>BSP_OP<Enter> 9-10 Diagramme à contacts, LD, LADDER DIAGRAM Curseur sur INT1. 7 INT2<Enter> Curseur sur INT3. 7 INT4<Enter><Enter> Guide de programmation SPS 18VRS Sélection du signe d'addition '+'<Enter>!! Sélection du signe d'addition '+'<Enter>!! Fig. 9-10: Fonction BSP_OP, complétée Pour finir, il faut commenter l'ordre d'entrée des opérateurs. On a commencé avec un opérateur dont le type des variables d'entrée et de sortie était différent. A partir de cet opérateur, il est possible d'élargir le réseau dans les deux directions. Les opérateurs qui effectuent l'addition présentent le même type côté entrée et côté sortie. Ils peuvent donc être insérés et être à nouveau effacés. Si on doit utiliser d'autres opérateurs dont le type des variables d'entrée et de sortie est différent, il faut alors amorcer un nouveau réseau. Si des variables doivent éventuellement être déclarées a posteriori, il faut alors procéder comme expliqué au prochain chapitre. Fonctions et blocs fonctionnels dans un diagramme à contacts Fonctions dans un diagramme à contacts Comme pour les opérateurs, il est possible dans un réseau d'insérer plusieurs fonctions l'une après l'autre si la série part respectivement de la sortie de la fonction placée à gauche vers la première entrée de la fonction suivante et si la compatibilité de type est donnée. Si à l'intérieur d'une série de fonctions, comme dans l'exemple suivant, les types de données aux entrées et sorties divergent, il est recommandé de commencer avec une fonction avec des types différents à la première entrée et à la sortie puis de poursuivre par extension. Si une extension n'est plus possible, il faut alors amorcer un nouveau réseau. (soit: BCD_INT puis extension vers la droite, FENETRE en tant que nouveau réseau ou FENETRE Extension vers la gauche BCD_INT en tant que réseau autonome.) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-11 Exemple: La fonction FENETRE contrôle si la VALEUR se trouve entre MIN et MAX. Si tel est le cas, le résultat est '1', sinon '0'. La VALEUR est le résultat des opérandes de la somme TERME1 et TERME2. Comme TERME1 existe déjà en tant que nombre à 4 chiffres codé BCD, il faut encore le convertir en un nombre INTEGER. Exemple d’application pour fonctions et opérations WORD (BCD) INT INT BOOL | | | | 9 9V V %&'B,17 ´ TERME1 $ FENETRE TERME2 VALEUR LIINF 0,1 EXEMPLE LISUP 0$; TERME1 - BCD-cod., à 4 chiffres TERME2 - INT LIINF, LISUP – INT Les fonctions définies par utilisateur doivent être importées avant de pouvoir être utilisées. (Pour les fonctions standard, une importation n'est pas nécessaire.) Importation de la fonction FENETRE définie par utilisateur IMPORT TYPE FONCTION FENETRE Commentaire (*Fonct. Util., Test de valeur limite*) La figure ci-après illustre la section déclaration. Elle comprend les variables nécessaires. Comme pour toutes les autres fonctions, la déclaration des fonctions utilisateur n'est pas nécessaire Section déclaration de l'exemple Identificateur AT TYPE := Commentaire FONCTION EXEMPLE: BOOL (contrôle si la somme d'un nombre BCD et d'un nombre INT est entre MIN et *) (*MAX , si oui, on a alors 1, sinon 0.*) (*créé le: 24.01.95, par N.N.*) VAR_INPUT TERME1 WORD (* à 4 chiffres, codé BCD*) TERME2 INT (*Nombre INT*) END_VAR VAR LIINF INT (*limite inférieure*) LISUP INT (*limite supérieure*) END_VAR On commence par entrer la fonction BCD_INT Séquence d'entrée 6BCD_INT<Enter> TERME1<Enter> Nombreauxil<Enter> La variable ’Nombreauxil' n'a pas encore été déclarée. Son entrée entraîne un message d'erreur. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 9-12 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS Fig. 9-11: Déclaration a posteriori d'une variable La déclaration a posteriori tient compte d'éventuelles erreurs d'écriture dans le nom, mais également d'une déclaration encore non effectuée. une nouvelle déclaration du nom, comme dans l'exemple, ou bien une reprise d'un nom existant compatible avec le type est alors effectuée. Séquence d'entrée dans l'éditeur de déclaration ⇒ Curseur sur une ligne vide dans la zone VAR...END_VAR 1- Reprise, 1- Reprise, 1- Reprise Fig. 9-12: La variable manquante est inscrite a posteriori Séquence d'entrée ensuite dans l'éditeur LD <Enter> 6FENETRE<Enter> Nombreauxil<Enter> LIINF<Enter> LISUP<Enter> 1EXEMP_FK<Enter> 7’+’<Enter> TERME2<Enter> Continuer avec deuxième réseau!! Curseur est sur 'Nombreauxil' DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-13 Fig. 9-13: Fonction complète dans éditeur LD Seule la liste d’instructions permet alors une simplification encore plus poussée du segment. En appuyant deux fois sur la touche <Tab>, il est possible de commuter l'éditeur vers la liste d'instructions. Après effacement des instructions: ST LD Nombreauxil Nombreauxil la fenêtre suivante est affichée. Fig. 9-14: Fonction complète dans éditeur LD après simplification Si le curseur se trouve sur le nom d'une fonction définie par utilisateur, il est possible d'accéder à cette fonction via la combinaison de touches <Ctrl>+<Enter> ou <Ctrl>+<N>. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 9-14 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS Blocs fonctionnels dans un diagramme à contacts Le niveau actuel de l'éditeur LD permet respectivement un bloc fonctionnel par réseau. (Fonctions ou opérateurs peuvent être complétés avec les réserves connues.) L'entrée commence toujours avec ce bloc fonctionnel Les principes fondamentaux de l'appel seront explicités ci-après à l'aide d'un exemple RS-FlipFlop. Ce flipFlop (bascule bistable) doit tout d'abord est appel inconditionnellement puis conditionnellement. FlipFlop, Appel inconditionnel ¦ Set Reset ff75 56 6B4B 5B Résultat A la différence des fonctions pour lesquelles la connexion de toutes les entrées doit être forcée lors de l'entrée, avec les blocs fonctionnels certaines entrées peuvent rester sans affectation, c'est-à-dire qu'elles conservent la valeur qu'elles avaient avant l'appel ou, si elles n'ont pas encore été utilisées, leur valeur initiale. Les sorties peuvent être utilisées, c'est-à-dire appelées aussi souvent que désiré. Fig. 9-15: Section déclaration pour exemple FB, importation du FB RS n'est pas nécessaire, vu qu'il s'agit d'un FB-micrologiciel. Après la déclaration commune, le bloc fonctionnel 'ff75' est tout d'abord appelé de façon inconditionnelle dans la figure ci-après. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-15 Fig. 9-16: Entrée du FB 'ff75' au moyen de fenêtres de sélection L'entrée est affichée en utilisant des fenêtres de sélection. Les noms peuvent également être entrés directement. Séquence d'entrée 5<Enter> <Enter> <Enter> Fenêtre pour nom d'utilisation!! Fenêtre de sélection pour tous les FB déclarés!! accepte 'ff75'!! Fig. 9-17: Sélection des entrées et sorties du FB à connecter. Séquence d'entrée DOK-CONTRL-SPS*PRO*V18-AW01-FR-P <Enter> supérieure!! 1<Enter> <Enter> <Enter> La première entrée acceptée est l'entrée Relais off Sortie!! Ouverture de la fenêtre de sélection des variables! Confirmation de 'Résultat'!! 9-16 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS Fig. 9-18: Sélection du nom de variable pour le relais Séquence d'entrée ⇒ Curseur sur branchement en amont de l'entrée set Contact de travail, "Set" via fenêtre de sélection, <Enter>!! 1<Enter> <Down> Curseur sur branchement en amont de l'entrée Reset 1<Enter> Contact de travail, "Reset" via fenêtre de sélection, <Enter>!! Fig. 9-19: Fin du réseau – Appel inconditionnel Si un appel conditionnel est requis, il est possible de poursuivre comme suit (CONDITION: Validation) Séquence d'entrée 8mFIN<Enter> <Ctrl>+<Q><R> <Enter> ↑ 47mFIN<Enter> 2Validation<Enter> Entrée de la destination du saut!! Va au début de l'image!! Placer nouveau segment en amont!! Tout d'abord saut inconditionnel ver la marque 'mFIN'!! à présent préparer saut conditionnel vers le FB!! DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-17 Fig. 9-20: Fin du réseau – Appel conditionnel Le saut permet de conserver le jeu de données du FB sans modification étant donné que ce jeu est sauté et qu'un calcul du FB n'est pas effectué. Si le curseur se trouve sur un bloc fonctionnel défini par utilisateur, il est possible d'accéder à ce bloc fonctionnel via la combinaison de touches <Ctrl>+<Enter> ou <Ctrl>+<N>. Représentation ASCII de l'éditeur LD A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. L'éditeur LD y contribue sous la forme d'une liste d'instructions qui peut être reconvertie fidèlement dans le diagramme à contacts. Pour l'affectation suivant Fig. 9-20: Fin du réseau – Appel conditionnel, on a alors la sortie suivante: LDN Validation JMPC mFIN LD Set ST ff75.S_ LD Reset ST ff75.R_1 CAL ff75 LD ff75.Q_1 ST Résultat mFIN: Des sections de diagramme à contacts peuvent apparaître pour: • des fonctions et blocs fonctionnels dans la zone implémentation • des programmes dans la zone implémentation, simulation IO, traitement des données de processus (Interbus G3) et implémentation 2 ms. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 9-18 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS 9.3 Aide à la mise en route dans le diagramme à contacts Si un programme est en cours d'exécution sur la commande, il est possible d'obtenir dans l'éditeur LD les informations suivantes sur l'état du programme ou d'un bloc fonctionnel utilisé. • Barre de couleur sur le bord gauche, LD est en cours de traitement. • les variables binaires marquées en couleur sont logiques '1' (contact de travail) /logique '0' (contact de repos), • Les autres variables sont affichées avec leur valeur. Le nom peut être affiché via l'instruction de pied '2'. Dans les fonctions, cet affichage n'est pas possible étant donné que les valeurs n'existent qu'au moment des calculs et qu'elles ne sont pas mémorisées. Fig. 9-21: Diagramme à contacts d'un programme, informations d'état DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-19 9.4 Options dans l'éditeur LD Les options énumérées ci-après influencent le travail dans l'éditeur LD. Il est recommandé à l'utilisateur de les définir sous forme préférentielle. Cette définition est mémorisée lorsqu'on programmation pour revenir au menu principal. quitte le système de Option 'Paramètres généraux' Fig. 9-22: Fenêtre d'options ‘Paramètres généraux’ Sortie acoustique Sauvegarde automatique Cette option permet l'activation et la désactivation du 'Bip'. Cette option permet en commun avec 'Requête lors de la sauvegarde’ la mémorisation automatique de l'état intermédiaire obtenu. (Le fichier BAK est alors réécrit!) Sauvegarde automatique: 0 1 Requête lors de la sauvegarde: Sauvegarder de, 60 minutes – Ecart entre sauvegardes on / off Commentaire de déclaration dans l'implémentation Dans toutes les lignes IL sans commentaire propre, c’est le commentaire de déclaration des variables qui apparaît. (Editeur LD par analogie sur les variables, voir options "Paramètre de l'écran’, Page 9-19 et/ou dans fenêtre<Ctrl>+<F6>....) <Shift>+<F2> Affichage de variables symbolique ou absolu Cette option permet de commuter au niveau 'Programme' entre l'adresse absolue (si existante) et le nom symbolique des variables. Représentation de variables absolues Cette option de menu permet une commutation à l'intérieur de programmes entre: %I et %E ou %Q et %A. et inversement. Exemple: %I1.2.3 et %E1.2.3 ou %Q2.3.4 et %A2.3.4 Cette option est également valide dans la documentation. Sélection du langage de programmation DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Lorsque l'utilisateur a porté son choix sur l'un des langages de programmation (IL ou LD ou FBD), il peut entrer ce choix directement. Pour la 'Sélection', une fenêtre sélection de langage est affichée. 9-20 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS Option ‘Paramètres de l'écran’ Fig. 9-23: Fenêtre d'option ‘Paramètres de l'écran’ Fonction Zone de paramétrage Règle les paramètres pour l'affichage dans les éditeurs. Sélection du jeu de paramètres qui doit être mis au point. Diagramme à contacts standard // Diagramme à contacts comprimés Paramètres de mise au point Colonnes d'éditeur: Largeur de grille: Lignes pour nom: Lignes pour commentaire: Couper nom: Coupure de nombres: Documentation Boutons Nombre des colonnes curseur Nbre de caractères dans 1 colonne Nombre de lignes d'un identificateur Nombre de lignes pour commentaire d'un identificateur 7 11 1 19 4 1 0 0 Stratégie permettant de couper un nom trop long Stratégie permettant de couper une/un valeur/nombre d'état affiché(e). La documentation utilise les jeux de paramètres standard. Ok: Appliquer Standard: Interruption: <Ctrl>+<F2> Appliquer les paramètres dans les éditeurs actuels. Appliquer les paramètres dans les éditeurs. actuels, sans quitter la fenêtre. Restaurer les paramètres standard de la zone de paramétrage sélectionnée. Restaurer les paramètres avant intervention dans la fenêtre et quitter la fenêtre. Alternance entre les jeux de données (LD↔ LD comprimé). DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-21 9.5 Aide dans l'éditeur LD Conformément à la conception d'aide uniforme du système de programmation, les possibilités de guidage suivantes sont accessibles: <F1> permet une aide en relation avec l'éditeur actuel ou l'option de menu actuelle, en fonction de la position du curseur (dans la fenêtre éditeur ou dans la fenêtre menu). Si des termes sont marqués en couleur, une nouvelle aide peut être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Ctrl>+<F1> permet une aide sur le terme actuel (position du curseur). Si des termes sont marqués en couleur, une nouvelle aide peut être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Shift>+<F1> A l'aide de cette combinaison de touches on accède à la section déclaration du nom marqué par le curseur. Il est possible de représenter l'interface d'un bloc fonctionnel, d'une fonction, d'une variable structurée ainsi que les caractéristiques d'une variable quelconque. <Esc> On quitte à nouveau la fenêtre d'aide en appuyant sur <Esc>. Fig. 9-24: <F1> Aide sur l'éditeur actuel DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 9-22 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS Fig. 9-25: <Ctrl>+<F1> - Aide contextuelle L’aide contextuelle donne une explication sur la position actuelle du curseur. Dans l’exemple, le curseur se trouve sur un contact. Si l'aide a été appelée avec la combinaison de touches <Ctrl>+<F1>, il est possible après activation de la combinaison de touches <Alt>+<S> d'entrer dans la fenêtre d'aide un terme de recherche ou une partie de ce terme. Fig. 9-26: Aide sur le terme ’Fonction utilisateur’’ DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-23 Fig. 9-27: <Shift>+<F1>, Aide déclaration sur opérande 'Set' avec indication du type Si le curseur se trouve sur une variable, l’information de la ligne de sa déclaration apparaît alors. Fig. 9-28: <Shift>+<F1>, Aide déclaration pour bloc fonctionnel 'ff75: RS' Si le curseur est placé sur le symbole de 'ff75: RS' avec activation de la combinaison de touches <Shift>+<F1> , l'aide déclaration au bloc fonctionnel apparaît. Le symbole (interface) avec les types des entrées et sorties et le commentaire à la déclaration au moment de l'importation de la fonction ou du bloc fonctionnel peut en outre être affiché en tant qu'information sur le type. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 9-24 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS 9.6 Eléments du diagramme à contacts Eléments de base dans le diagramme à contacts Le diagramme à contacts met à disposition les éléments les plus utilisés en technique de relais et de contacts et permet ainsi l'établissement de réseaux analogues à ceux d'un schéma électrique. Symboles LD Equivalent IL Contacts a Contact de travail a Contact de repos LDN a, ANDN a, ORN a, en fonction de la position dans le réseau Relais ST a Affectation de la valeur du réseau Négativer+ Relais STN a Affectation de la valeur négativée du réseau S) Set SETC a SET a Set si réseau présente '1' en résultat Set inconditionnel Relais: a a LD a, AND a, OR a, en fonction de la position dans le réseau a a 2 S) Set SETCN a Set si réseau présente '0' en résultat a RESC a RES a R) Reset a 2 R) Reset Saut: ->>m Reset si réseau présente '1' en résultat Reset inconditionnel RESCN a Reset si réseau présente '0' en résultat JMPC m JMP m Saut vers 'm' si réseau présente '1' en résultat Saut inconditionnel ver 'm' JMPCN m Saut vers 'm' si réseau présente '0' en résultat -O>m Retour du bloc fonctionnel: -<RET> RETC RET Retour de FB/FK si réseau présente '1' en résultat Retour inconditionnel de FB/FK -O<RET> RETCN Etiquette intermédiaire: a v) Retour de FB/FK si réseau présente '0' en résultat reprend le résultat du réseau placé à gauche ST a (valeurs booléennes) ST v (valeurs non-booléennes) Vaut pour les types de données suivants: a: v: BOOL; tous les nombres|TIME|BYTE|WORD|DWORD|LWORD; DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-25 Représentation des opérateurs dans le diagramme à contacts A partir des opérateurs IL, les réseaux suivants sont aménagés dans le diagramme à contacts. Réseaux LD DDD DD D D D N D D D D D D ! D Z Z E E E E ! E E E N E E \ \ \ Y Y Y Y Y Y Y Y Y Y 02' Y Y Opérateurs IL Å /'D $1'D 67D /'D 25D 67D /'D ;25D 67D /'D (4D 67D /'D 1(D 67D /'ZAffectation non valide pour 67Zvariables/ constantes booléennes /'Ebit par bit logique ET $1'E 67E /'Ebit par bit logique OU 25E 67E /'Ebit par bit logique XOR ;25E 67E /'\ $''\ 67\ /'Y 68%Y 67Y /'Y 08/Y 67Y /'Y ',9Y 67Y /'Y 02'YNon applicable aux nombres REAL! 67Y Vaut pour les types de données suivants: a1,a2,a3: b1,b2,b3: y1,y2,y3: v1,v2,v3: v4,v5,v6: v7,v8,v9: BOOL; BYTE|WORD|DWORD|LWORD; tous les nombres|TIME|STRING; tous les nombres|TIME; tous les nombres; tous les nombres, non REAL DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 9-26 Diagramme à contacts, LD, LADDER DIAGRAM w3: Guide de programmation SPS 18VRS tous les nombres|TIME|BYTE|WORD|DWORD|LWORD|ARRAY|STRING|STRUCT|CHAR; Adresse von (P#...), POINTEUR tous les nombres|TIME|BYTE|WORD|DWORD|LWORD|ARRAY|STRING|STRUCT|CHAR; POINTER w4: Réseaux LD Opérateurs IL Å Z Z Z Z Z Z Z Z Z Z Z Z D ! D D ! D D D ! /'Z *7Z 67D /'Z /7Z 67D /'Z *(Z 67D /'Z /(Z 67D /'Z (4Z 67D /'Z 1(Z 67D Vaut pour les types de données suivants: a1,a2,a3: w1,w2: w3,w4: BOOL; tous les nombres|TIME|DWORD|LWORD|CHAR|STRING; tous les nombres|TIME|BYTE|WORD|DWORD|LWORD|CHAR|STRING; lors de comparaisons REAL! +0 ≠ –0 ATTENTION DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-27 Représentation de fonctions dans le diagramme à contacts Les entrées et sorties d'une fonction dans un diagramme à contacts ont les équivalents IL suivants: Réseaux LD Représentation IL Å /'Seule la première entrée peut être FName( connectée avec un réseau! ( D ( D ( Y ( 671D FName D ( D ( D ( Y ( ( FUNCTION FName: VAR_INPUT E1,E2,E3: E4,E5: END_VAR BOOL (* Section déclaration de la fonction *) BOOL; tous les nombres|TIME|BYTE|WORD|DWORD|LWORD; Réseaux LD Représentation IL Å FName ( \ D ( D ( Y ( ( FUNCTION FName: VAR_INPUT E1,E2,E3: E4,E5: END_VAR /'Seule la première entrée peut être FName( connectée avec un réseau! ( D ( D ( Y ( 67\ Jusqu'à présent, structures ou tableaux ne sont pas permis dans les fonctions xxxx (* Tous les types standard et micrologiciels, non BOOL*) BOOL; tous les nombres|TIME|BYTE|WORD|DWORD|LWORD; DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 9-28 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS Représentation de blocs fonctionnels dans le diagramme à contacts Les entrées et sorties d'un bloc fonctionnel dans un diagramme à contacts ont les équivalents IL suivants: Réseaux LD FBName FBTyp D ($ D ($ D !($ D !($ D ($ D ( Y ( E ( E 2( Représentation IL D D Y E E Å /'D 67)%1DPH( /'1D 67)%1DPH( /'D 67)%1DPH( /'1D 67)%1DPH( /'D 67)%1DPH( /'1D 67)%1DPH( /'Y 67)%1DPH( /'E 67)%1DPH( /'1E 67)%1DPH( &$/FBName /')%1DPH$ 67D /')%1DPH$ 671D /')%1DPH$ 67Y /')%1DPH$ 67E /')%1DPH$ 671E FUNCTION_BLOCK FBTyp (* Déclaration du bloc fonctionnel *) VAR_INPUT E1,E2: BOOL; E3,E4: BOOL R_EDGE; seulement avec FB micrologiciel E5,E6: BOOL F_EDGE; seulement avec FB micrologiciel E7: tous les nombres|TIME|STRUCT|ARRAY|STRING|CHAR; POINTER E8,E9: BYTE|WORD|DWORD|LWORD; END_VAR VAR_OUTPUT A1,A2: BOOL; A3: alle Zahlen|TIME|STRUCT|ARRAY|STRING|CHAR; A4,A5: BYTE|WORD|DWORD|LWORD; END_VAR ... END_FUNCTION_BLOCK DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-29 Etiquettes intermédiaires La représentation d'étiquettes intermédiaires dans un LD constitue une extension du langage fondamental. Il n'est pas possible de représenter les les constellation IL dans un LD. Réseaux LD Représentation IL Å D]D D] /'D 67] 25 /'1D 67] 67D Y Y Y /'YClassement non booléen! 67Y $''Y 67Y z1,z2: v1,v2,v3,v4: Y a1,a2,a3: BOOL; BOOL; tous les nombres|TIME|STRING Eléments de clôture couplés en parallèle Le diagramme à contacts permet le couplage en parallèle de plusieurs éléments de clôture, même différents, en fin de segment. Réseaux LD Représentation IL Å DD D !!P DD 5(7! /'D 671D 5(7& E E E E a1,a2,a3: b1,b2,b3,b4: /'D 67D 671D -03&P /'E 67E 671E 671E BOOL; BYTE|WORD|DWORD|LWORD; DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 9-30 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS 9.7 Touches dans l'éditeur LD ⇒ Activation de la combinaison de touches <Alt>+<H> Les touches disponibles actuellement apparaissent . Touche (s) Instructions curseur <Ctrl>+<S> <Ctrl>+<A> <CursorLeft> <Ctrl>+<CursorLeft> Elément vers la gauche <Ctrl>+<D> <Ctrl>+<F> <CursorRight> <Ctrl>+<CursorRight> Elément vers la droite <Ctrl>+<E> <CursorUp> Ligne de grille vers le haut <Ctrl>+<X> <CursorDown> Ligne de grille vers le bas <Ctrl>+<W> Dérouler image une ligne vers le haut <Ctrl>+<Z> Dérouler image une ligne vers le bas <Ctrl>+<R> <PageUp> Déplacer image vers le haut <Ctrl>+<C> <PageDown> Déplacer image vers le bas <Shift>+<PageUp> <Shift>+<CursorUp> Marquer bloc <Shift>+<PageDown> <Shift>+<CursorDown> Touche (s) <Ctrl>+<G> Touches d’effacement <Ctrl>+<H> Effacer un élément <Delete><CursorLeft> <Delete> <Ctrl>+<T> Effacer un segment <Ctrl>+<Y> <Ctrl>+<M> <Enter> Fin d'une ligne Touche (s) Accès <Ctrl>+<Enter> <Ctrl>+<N> Passage au FB / FK DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-31 Menu local dans l'éditeur LD Dans chaque éditeur il existe un menu local (combinaison de touches <Alt>+<F10>) qui permet de regrouper des instructions importantes de l'éditeur de façon à ce qu'elles soient rapidement accessibles. Fig. 9-29: Menu local de l'éditeur LD contrôle s'il existe des erreurs de syntaxe dans la liste d'instructions Test de syntaxe <F6> Commentaire édition Entrée du commentaire (d'implémentation) pour une variable <Ctrl>+<F2> Alternative Commutation en représentation standard/comprimée <Ctrl>+<F6> Commentaire on/off Ligne complète du commentaire <Shift>+<F2> Symb./Abs. Commutation en adressage symbolique/absolu <Alt>+<P> Imprimer Sortie sur imprimante du contenu de l'éditeur <Ctrl>+<U> Passage à l'éditeur Passage à l'éditeur FBD/IL <Ctrl>+<Q> Instructions Quick Offre d'instructions ^Q actuelle <Ctrl>+<K> Instructions bloc Offre d'instructions ^K actuelle DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 9-32 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS Instructions bloc dans le diagramme à contacts Le but des Instructions bloc est de minimiser le travail par rapport à une introduction de nouvelles entrées. Un bloc à l'intérieur de l'éditeur IL se compose d'une ou de plusieurs lignes qui se suivent directement. Pour l'éditeur LD, les opérations en bloc suivantes sont possibles: Touche (s) Instructions bloc <Ctrl>+<K><B> Marquer Début du bloc <Ctrl>+<K><K> Marquer Fin de bloc <Ctrl>+<K><L> Définir un réseau en tant que bloc <Ctrl>+<K><T> Définir une branche en tant que bloc <Ctrl>+<K><H> Masquer le bloc <Ctrl>+<K><Y> Effacer bloc <Ctrl>+<K><V> Déplacer bloc <Ctrl>+<K><C> Copier le bloc <Ctrl>+<K><W> Ecrire bloc sur disquette <Ctrl>+<K><R> Lire bloc d'une disquette <Ctrl>+<K><3> Bloc → Editeur de texte <Ctrl>+<K><4> Bloc de l'éditeur de texte → LD Marquer le début du bloc <Ctrl>+<K><B> Placer le curseur sur le premier réseau voulu puis activer la combinaison de touches <Ctrl>+<K><B>. Marquer la fin du bloc <Ctrl>+<K><K> Placer le curseur sur le dernier réseau voulu puis activer la combinaison de touches <Ctrl>+<K><K>. Définir un réseau en tant que bloc <Ctrl>+<K><L> Définir une branche pour effacement <Ctrl>+<K><T> Masquer le bloc <Ctrl>+<K><H> Effacer un bloc <Ctrl>+<K><Y> Le réseau actuel va être marqué en tant que bloc. La branche actuelle va être marquée en tant que bloc. Ensuite, elle peut être effacée. Le bloc marqué est rendu visible ou invisible par activation de la combinaison de touches <Ctrl>+<K><H> . Toutes les lignes marquées seront effacées sans avertissement. Déplacer le bloc <Ctrl>+<K><V> Le bloc marqué va être déplacé directement à l'aval de la position marquée par le curseur. Copier bloc <Ctrl>+<K><C> Le bloc marqué va être copié directement à l'aval de la position marquée par le curseur. Ecrire bloc sur disquette <Ctrl>+<K><W> Le bloc marqué est écrit sur le support de données indiqué dans la fenêtre de sélection sous le nom à indiquer. Le bloc est ensuite archivé en tant que fichier ASCII standard. Lire bloc d'une disquette <Ctrl>+<K><R> Insère derrière la position actuelle du curseur un bloc archivé auparavant avec Ecrire bloc. Lors de la lecture, l'exactitude de la syntaxe du bloc est ATTENTION: contrôlée. Des corrections sont possibles dans la fenêtre. Envoyer bloc dans éditeur de texte <Ctrl>+<K><3> Bloc de l'éditeur de texte → LD <Ctrl>+<K><4> Envoie le bloc marqué dans l'éditeur de texte. Envoie le bloc marqué dans l'éditeur de texte vers l'éditeur LD, (Contrôle des erreurs de syntaxe effectué.) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Diagramme à contacts, LD, LADDER DIAGRAM 9-33 Instructions Quick dans le diagramme à contacts Les instructions Quick ci-après servent à accélérer les mouvements du curseur: Touche (s) Instructions Quick <Ctrl>+<Q><S> <Home> vers le bord gauche <Ctrl>+<Q><D> <End> vers le bord droit <Ctrl>+<Q><R> <Ctrl><PageUp> vers le début du diagramme à contacts <Ctrl>+<Q><C> <Ctrl><PageDown> vers la fin du diagramme à contacts <Ctrl>+<Q><B> vers le début du bloc <Ctrl>+<Q><K> vers la fin du bloc <Ctrl>+<Q><E> <Ctrl><Home> vers le début du réseau <Ctrl>+<Q><X> <Ctrl><End> vers la fin du réseau <Ctrl>+<Q><P> vers la dernière position <Ctrl>+<Q><G> vers le réseau indiqué Par ailleurs, on a implémenté: Restaurer ligne <Ctrl>+<Q><L> Si un réseau LD a été effacé par mégarde, il peut être restauré immédiatement après en activant cette instruction. Chercher et Remplacer Recherche d'une chaîne de caractères <Ctrl>+<Q><F> Cette fonction utilise la fenêtre ci-après (Fig. 8-30) avec les mêmes éléments de sélection, seule la ligne ‘Nouveau texte’ a disparu. Rechercher et Remplacer une chaîne de caractères <Ctrl>+<Q><A> Fig. 9-30: Recherche et remplacement d'un texte (Chaîne de caractères) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 9-34 Diagramme à contacts, LD, LADDER DIAGRAM Guide de programmation SPS 18VRS Cherche Texte....Définir Le texte à rechercher est tout d'abord défini par le terme sur lequel se trouve le curseur. On peut soit réécrire ce terme soit sélectionner un autre terme déjà utilisé auparavant via la fenêtre history. Nouveau Texte Texte qui doit remplacer le texte recherché. Un contrôle de convenance est effectué afin que le nouveau texte puisse assumer la tâche du texte précédent • Eléments: [X] Variables et constantes [X] Mot clé [ ] Repère [ ] Commentaire [ ] Bloc fonctionnel [ ] Fonction [ ] Types de données Zone de recherche à sélectionner (éléments à rechercher): Au moins un élément doit être sélectionné, au maximum tous les éléments peuvent être sélectionnés. Sous un mot clé, on doit comprendre des termes qui ont une signification particulière pour le système de programmation, comme par exemple: VAR, PROGRAM::: Les éléments que l'éditeur actuel ne connaît pas, ne sont pas sélectionnables (grisés). • Zone: (*) Editeur ( ) Bloc marqué ( ) Réseau actuel La zone à sélectionner peut être limitée à partir de tout l'éditeur jusqu'au bloc marqué. • Options: [ ] Ignor. Majusc. Majusc. [ ] mots complets seulement [ ] avec demande En options, on peut demander au système d'ignorer les majuscules et minuscules et de ne rechercher que des mots complets. Par ailleurs, il est également possible de demander qu'une confirmation soit effectuée avant chaque remplacement. • Direction: (*) en avant ( ) en arrière La direction de la recherche est définie à partir du curseur. • Mode: ( ) à partir du curseur ( ) tout autour (*) ensemble de la zone Le mode de la recherche est défini de façon standard à partir du curseur. La recherche peut être effectuée tout autour à partir du curseur, et au maximum jusqu'au curseur, en tenant compte de la direction susmentionnée. La troisième possibilité est: du début jusqu'à la fin en fonction de la direction ou inversement sur toute la zone. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10-1 10 Langage en diagramme de blocs fonctionnels, FBDFUNCTION BLOCK DIAGRAM Le langage de programmation "FBD" peut, comme le montre la figure suivante, être utilisé en tant qu'éditeur autonome pour l'entrée de programmes, de blocs fonctionnels et de fonctions. Il peut également, avec la même étendue d'instructions, être utilisé pour le remplissage de transitions (voir Chapitre 6, 'Organigramme séquentiel, SFC') et d'actions dans des blocs d'actions (voir Chapitre 7 'Blocs d'actions et actions'). TABLEAU IO Tableau IO N° LWL- I/O Canal Définition de la con1 2 Boucle Type 0123456789.0123456789.01234567890.. figuration. 1 RECO III.QQQ............................ seulement avec programmes!) IMPORTATION IMPORT FROM Commentaire FUNCTION (*Fonctions définies par utilisateur*) Importation de NAND8 (*Fonction NAND avec 8 entrées *) fonctions(FK), blocs NOR8 (*Fonction NOR avec 8 entrées *) fonctionnels (FB) et de types de données )8 DECLARATION (TY)util. $ Nom AT TYPE := Commentaire % VAR_INPUT (* Déclaration des entrées *) DDéclaration de variables & INTRO %E0.1.1 (* Introducteur *) et de blocs fonctionnels ALARME %E2.5.2 (* Capteur *) (FB et fb) avant leur (1'B9$5 utilisation EConvention de types de VAR_OUTPUT (* Déclaration des sorties *) données utilisateur )%' Entrée du corps de validation du moteur à ventilateurs*) programme, de bloc ! fonctionnel ou de fonction ON dans éditeur FBD, éditeur IL 7(0 2 ou dans éditeur LD $/$50 2 MOTEUR )%' ,/ valid.d.moteur à ventila.*) /'ON (* Mode man.vent>> 251TEM (* Temperatu>> ANDN ALARM (* Arrêtalarm>> 67MOTEUR (* Mot. de vent. Fig. 10-1: Création d'un programme 'PR', bloc fonctionnel 'FB' ou d'une fonction 'FK' ' 10.1 Architecture d'un réseau en langage FBD Le réseau est la plus petite unité autonome du diagramme à blocs fonctionnels (FBD). Il peut comporter des portes logiques et peut comprendre des instructions set et reset ainsi que des sauts. Un réseau peut recevoir des blocs fonctionnels ou des fonctions. Un réseau peut en outre se composer d'un commentaire d'une ou plusieurs lignes. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 10-2 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Fig. 10-2: Réseau en langage FBD Chaque réseau peut être pourvu d'une marque ou repère (de réseaux) Cette marque (au max. 6 caractères avec une lettre en tant que premier caractère) est limitée à droite par un '.'. begrenzt. 10.2 Edition de réseaux en langage FBD Création de réseaux ⇒ Zum Erzeugen eines neuen Netzwerks ist die <Enter>-Taste zu betätigen: Activation de la touche dans la première colonne – Réseau est placé à l'amont Activation de la touche dans une autre colonne – Réseau est placé à l'aval. Le nouveau réseau est tout d'abord vide et peut être modifié avec les instructions de pied de page ci-après. Les symboles dans la ligne de pied de page ont la signification suivante en fonction de la position du curseur: Travail dans segment 1-"&" 2-">=1" 3-":=" 5-FB 6-Fonction 7-OP 8-Marque 0-(* ET-Porte OU-Porte Classement Bloc fonctionnel, déclaré auparavant, pour bloc fonctionnel utilisateur importer et déclarer. Fonction, pour fonctions utilisateur importer auparavant. Opération Marque Entrée de commentaire, si le commentaire commence avec une lettre, on peut amorcer l'écriture dans le cas contraire, activer '0' DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Curseur à la sortie d'une porte/d'un FB/d'une fonction, aucune entrée de variable, d'élément de clôture a b Lettres Entrée d'un nom de variable, si on active la touche <Enter> - Ouverture de la fenêtre de sélection. Variable SET, si valeur à la sortie de la porte est '1'. Variable RESET, si valeur à la sortie de la porte est '1'. Saut, si valeur à la sortie de la porte est '1'. Entrée/Modification d'un nom de variable 5-SET() 6-RES() 7 ->> 0-Edit Curseur à la sortie d'une porte/d'un FB/d'une fonction, variable, élément de clôture entrés 10-3 a b 3-VAR 4-NOT 5-SET() 6-RES() 7 ->> 9-en amont'. 0-Edit F Couplage en parallèle d'une seconde variable à l'aval de la première. Negation de la variable actuelle lors de SET/RESET/Saut, si valeur à la sortie de la porte est '0'. Couplage en parallèle de la variable SET à l'aval de la première variable. Couplage en parallèle de la variable RESET à l'aval de la première variable. Couplage en parallèle d'un saut à l'aval de la première variable. Préparation de '3-VAR', '5-SET', '6-RES', toutefois en amont de la première variable. Modification du nom de la variable/de l'élément de clôture. Curseur sur une variable a E 1-"&" 2-">=1" 4-NOT 5-FB 6-Fonction 7-OP 0-Edit DOK-CONTRL-SPS*PRO*V18-AW01-FR-P !!GG Insertion d'une ET-porte entre la variable et la porte/Addition d'une autre entrée pour la même Opération Insertion d'une OU-porte entre la variable et la porte/Addition d'une autre entrée pour la même opération, prolongement de la même opération Négation de la variable Insertion d'un FB entre la variable et la porte, déclarer FB auparavant, avec FB utilisateur importer et déclarer (contrôle du type!). Insertion d'une fonction entre la variable et la porte, avec fonction utilisateur importer auparavant (contrôle du type!). Insertion d'une opération entre la variable et la porte (contrôle du type!). Modification du nom de la variable 10-4 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Curseur sur une porte a b 1-"&" 2-">=1" 5-FB 6-Fonction 7-OP 9-en amont. !!GG Prolongement de la même opération/ Insertion d'une ET-porte entre porte et élément de clôture. Insertion d'une OU-porte entre porte et élément de clôture/ Prolongement de la même opération. Insertion d'un bloc fonctionnel entre porte et élément de clôture, déclarer FB auparavant, avec FB utilisateur importer et déclarer (contrôle du type!). Insertion d'une fonction entre porte et élément de clôture, pour fonctions utilisateur importer auparavant. auparavant (contrôle du type!). Insertion d'une opération entre porte et élément de clôture. Les entrées suivantes se rapportent à la place en amont de la porte. Entrée d'un réseau simple en langage FBD On a pour exemple, tout d'abord sélectionné un réseau FBD simple. Dans ce contexte, on présuppose une section déclaration correspondante contenant les variables nécessaires (représentée sous forme d'extrait dans la fig. ci-après). Fig. 10-3: Section déclaration pour l'exemple La figure Fig. 10-4: Exemple FBD avec affichage du commentaire de déclaration (<Ctrl>+<F6>) pour 'Aimant1' a été réalisée avec la séquence d'entrée suivante (Mode "Insertion"). Séquence d'entrée 8Début<Enter><Enter> 2ON<Enter>Aimant1<Enter> Aimant1<Enter> 91Normal<Enter> 2General<Enter><CursorUp> 1Aimant2<Enter>4<3xCursorRight><5xCursorUp> 98Z_Marqueur<Enter> 91Off<Enter>4 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10-5 En analogie aux listes d'instructions, le commentaire de déclaration des variables peut être rendu visible en liaison avec les éléments FBD. Si une telle possibilité est voulue, le commentaire(de déclaration) peut être ouvert pour la variable actuelle au moyen de la combinaison de touches <Ctrl>+<F6> dans la ligne avant l'avant dernière ligne de l'écran. Fig. 10-4: Exemple FBD avec affichage du commentaire de déclaration (<Ctrl>+<F6>) pour 'Aimant1' Comme on l'a déjà vu dans la liste d'instructions, le commentaire peut être utilisé sans modification ou bien réécrit pour l'emplacement concret. Pour ce faire, il faut activer la touche <F6>. Après effacement de ce nouveau commentaire, le commentaire de déclaration initial est à nouveau visible. Séquence d'entrée ⇒ Curseur sur variable de clôture Aimant1, <F6>Aimant1 verrouillé avec Aimant2<Enter> Fig. 10-6: Exemple FBD, Commentaire de déclaration avec Aimant1 réécrit après activation de la touche <F6>. L'affichage de commentaires dans l'éditeur FBD est en outre également possible au moyen de l'option "Paramètres de l'écran' (voir Page 10-18) . DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 10-6 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Entrée de réseaux en langage FBD avec symboles supplémentaires La répétition de l'entrée de la fonction SELECT avec le FBD permet un de travailler avec des éléments additionnels, tels que sauts, affectations nonbooléennes entre autres. Pour cette fonction, une importation n'est pas nécessaire. La section déclaration est représentée ci-après. Fig. 10-7: Section déclaration pour la Fonction SELECT Séquence d'entrée 3SEL<Enter>7L_1<Enter>4<Enter> 3i1<Enter>M_INT<Enter><Enter> 32#1<Enter>7L_E<Enter><Enter> 3i2<Enter>M_INT<Enter> ← ← ↑ 8L_1<Enter> → <Enter> 3M_INT<Enter>SELECT<Enter> ← ← ↑ 8L_1<Enter> Ensuite, un commentaire doit être entré avant le premier réseau. Poursuite de la séquence d'entrée ⇒ Curseur sur ligne 1, colonne O (<Ctrl>+<Q><R> ou déplacer directement le curseur) <Enter> ↑ Exemple d'entrée pour fonction SELECT dans l'éditeur FBD, <Enter> Sauts spéciaux<Enter><ESC> On doit toujours activer la touche <Enter> pour terminer l'entrée d'une ligne de commentaire. La ligne de commentaire suivante est alors ouverte. Dans l'exemple, toute nouvelle entrée de commentaire est interrompue avec <Esc> et l'on quitte alors le réseau commentaire. N.B. Ne pas oublier d'activer la touche <Enter> à la fin d'une ligne, étant donné que la touche <Esc> entraîne sinon l'effacement de l'entrée. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10-7 Fig. 10-8: Commentaire dans la fonction SELECT ⇒ Si un réseau doit être inséré entre les lignes d'un commentaire de plusieurs lignes, il faut placer le curseur au début de la ligne de commentaire et ensuite activer <Enter>. Opérateurs en langage FBD Au Chapitre 'Représentation des opérateurs du langage FBD' , on a présenté les équivalent FBD des opérateurs IL (voir page 10-24). Des réseaux FBD peuvent être ouverts et complétés avec ces opérateurs ⇒ Le choix d'un opérateur approprié (correspondant au type des variables d'entrées et sorties) doit s'effectuer au moyen de l'instruction de pied de page 7-OP'. ⇒ Dans la fenêtre de sélection qui s'ouvre alors, il faut ensuite placer le curseur sur l'opérateur voulu, puis ⇒ confirmer avec la touche <Enter>. Exemple: Une comparaison des sommes des 'Nombres Integer' 'INT1' et 'INT2' d'une part, et 'INT3' et 'INT4' d'autre part doit être effectuée. Si elles sont égales, la sortie doit être mise sur '1', dans le cas contraire sur '0'. L'exemple est ici effectué sous la forme d'une fonction. On commence par la section déclaration. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 10-8 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Fig. 10-9: Déclaration pour la fonction BSP_OP Une fois la déclaration terminée, on passe à l'éditeur FBD. Séquence d'entrée 0Comparaison de deux sommes de nombres INT<Enter><ESC> ↓ 7 ⇒ Positionner le curseur dans la fenêtre de sélection sur l'opérateur voulu. ⇒ Confirmer avec <Enter> Fig. 10-10: Fonction BSP_OP, Fenêtre de sélection 'Opérateurs' ⇒ Entrer directement le nom des variables - ou ⇒ Appeler une fenêtre de sélection de variable dans le champ vide en utilisant la touche <Enter>. (La sélection des variables s'effectue en déplaçant le curseur, confirmation avec <Enter>.) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Séquence d'entrée 10-9 INT1<Enter>INT3<Enter>BSP_OP<Enter> Curseur sur INT1. 7 Sélection de l'opération '+' dans la fenêtre de sélection!! INT2<Enter> Curseur sur INT3. 7 Sélection de l'opération '+' dans la fenêtre de sélection!! INT4<Enter><Enter> Fig. 10-11: Fonction BSP_OP, complétée Pour finir, il faut commenter l'ordre d'entrée des opérateurs. On a commencé avec un opérateur dont le type des variables d'entrée et de sortie était différent. A partir de cet opérateur, il est possible d'élargir le réseau dans les deux directions. Les opérateurs qui effectuent l'addition présentent le même type côté entrée et côté sortie. Ils peuvent donc être insérés. (Ils peuvent également être à nouveau effacés.) Si on doit utiliser d'autres opérateurs dont le type des variables d'entrée et de sortie est différent, il faut alors amorcer un nouveau réseau. Si des variables doivent éventuellement être déclarées a posteriori, il faut alors procéder comme expliqué au prochain chapitre. Fonctions et blocs fonctionnels en langage FBD Fonctions en langage FBD Comme pour les opérateurs, il est possible dans un réseau d'insérer plusieurs fonctions l'une après l'autre si la série part respectivement de la sortie de la fonction placée à gauche vers la première entrée de la fonction suivante et si la compatibilité de type est donnée. Si à l'intérieur d'une série de fonctions, comme dans l'exemple suivant, les types de données aux entrées et sorties divergent, il est recommandé de commencer avec une fonction avec des types différents à la première entrée et à la sortie puis de poursuivre par extension. Si une extension n'est pas possible, il faut alors amorcer un nouveau réseau. (soit: BCD_INT extension vers la droite, FENETRE en tant que nouveau réseau ou FENETRE Extension vers la gauche BCD_INT en tant que réseau autonome.) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 10-10 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Exemple: La fonction FENETRE contrôle si la VALEUR se trouve entre MIN et MAX. Si tel est le cas, le résultat est '1', sinon '0'. La VALEUR est le résultat des opérandes de la somme TERME1 et TERME2. Comme TERME1 existe déjà en tant que nombre à 4 chiffres codé BCD, il faut encore le convertir en un nombre INTEGER. Exemple d'application pour fonctions et opérations: WORD (BCD) | V TERME1 INT | INT | BOOL | 9V 9 %&'B,17 $ FENETRE TERME2 VALEUR LIINF 0,1 LISUP 0$; EXEMPLE TERME1 – cod. BCD, à 4 chiffres TERME2 - INT LIINF, LISUP - INT Les fonctions définies par utilisateur doivent être importées avant de pouvoir être utilisées. (Pour les fonctions standard, une importation n'est pas nécessaire.) Importation de la fonction FENETRE définie par utilisateur IMPORT TYPE FONCTION FENETRE Commentaire (*Fonct. Util., Test de valeur limite*) La figure ci-après illustre la section déclaration de l'exemple. Elle comprend les variables nécessaires. Comme pour toutes les autres fonctions, la déclaration des fonctions utilisateur n'est pas nécessaire Section déclaration de l'exemple Identificateur AT TYPE := Commentaire FONCTION EXEMPLE: BOOL (contrôle si la somme d'un nombre BCD et d'un nombre INT est entre MIN et *) (*MAX , si oui, on a alors 1, sinon 0.*) (*créé le: 24.01.95, par N.N.*) VAR_INPUT TERME1 WORD (* à 4 chiffres, codé BCD*) TERME2 INT (*Nombre INT*) END_VAR VAR LIINF INT (*limite inférieure*) LISUP INT (*limite supérieure*) END_VAR On commence par entrer la fonction ’BCD_INT’. Séquence d'entrée 6BCD_INT<Enter> TERME1<Enter> Nombreauxil<Enter> La variable ’Nombreauxil' n'a pas encore été déclarée. Son entrée entraîne donc un message d'erreur. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10-11 Fig. 10-12: Déclaration a posteriori d'une variable omise La déclaration a posteriori tient compte d'éventuelles erreurs d'écriture dans le nom, mais également d'une déclaration encore non effectuée. une nouvelle déclaration du nom , comme dans l'exemple, ou bien une reprise d'un nom existant compatible avec le type est alors effectuée. Séquence d'entrée dans l'éditeur de déclaration ⇒ Curseur sur une ligne vide dans la zone VAR...END_VAR 1- Reprise, 1- Reprise, 1- Reprise Fig. 10-13: La variable manquante est inscrite a posteriori Séquence d'entrée ensuite dans l'éditeur FBD DOK-CONTRL-SPS*PRO*V18-AW01-FR-P <Enter> 6FENETRE<Enter> Nombreauxil<Enter> LIINF<Enter> LISUP<Enter> EXEMP_FK<Enter> 7’+’<Enter> TERME2<Enter> Continuer avec deuxième réseau!! Curseur est sur 'Nombreauxil' 10-12 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Fig. 10-14: Fonction complète dans éditeur FBD Seule la liste d’instructions permet alors une simplification encore plus poussée du segment. En appuyant deux fois sur la touche Tab, il est possible de commuter l'éditeur vers la liste d'instructions. Après effacement des instructions: ST LD Nombreauxil Nombreauxil on obtient l'image suivante (largeur de grille: 11 dans les options 'paramètres de l'écran'). Fig.10-15: Fonction complète dans éditeur FBD après simplification Si le curseur se trouve sur le nom d'une fonction définie par utilisateur, on accède à la fonction ⇒ via <Ctrl>+<Enter> - ou ⇒ <Ctrl>+<N> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10-13 Blocs fonctionnels en langage FBD L'éditeur FBD admet plusieurs blocs fonctionnels par réseau. (Fonctions comme opérateurs peuvent être complétés conformément au chapitre) ‘Si commentaire et ensuite activer <Enter>. Page 10-7 Il est recommandé de commencer l'entrée avec un élément dont le type de données en entrée diverge de celui en sortie, qu'il s'agisse d'un bloc fonctionnel ou d'une fonction. Les principes fondamentaux de l'appel seront explicités ci-après à l'aide de l'exemple RS-FlipFlop (standard). Ce FlipFlop (bascule bistable) doit, dans un exemple de bloc fonctionnel, tout d'abord être appelé de façon inconditionnelle puis de façon conditionnelle. FlipFlop, Appel inconditionnel ff75 MISE RESET 56 6B 5B4B RESULTAT A la différence des fonctions pour lesquelles la connexion de toutes les entrées doit être forcée lors de l'entrée, avec les blocs fonctionnels certaines entrées peuvent rester sans affectation, c'est-à-dire qu'elles conservent la valeur qu'elles avaient avant l'appel ou, si elles n'ont pas encore été utilisées, leur valeur initiale. Les sorties peuvent être utilisées, c'est-à-dire appelées aussi souvent que désiré. Fig. 10-16: Section déclaration pour exemple FB, importation du FB RS n'est pas nécessaire, vu qu'il s'agit d'un FB-micrologiciel. Après la déclaration commune, le bloc fonctionnel 'ff75' est tout d'abord appelé de façon inconditionnelle dans la figure ci-après. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 10-14 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Fig. 10-17: Entrée du FB 'ff75' au moyen de fenêtres de sélection L'entrée est affichée en utilisant des fenêtres de sélection. Les noms peuvent également être entrés directement. Séquence d'entrée 5<Enter> <Enter> <Enter> Fenêtre pour nom d'utilisation!! Fenêtre de sélection pour tous les FB déclarés!! accepte 'ff75'!! Fig. 10-18: Sélection des entrées et sorties du FB à connecter Séquence d'entrée <Enter> rieure!! <Enter> bles! <Enter> La première entrée acceptée est l'entrée supéOuverture de la fenêtre de sélection des variaCurseur sur 'Set'!! Confirmation de 'Set'!! DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10-15 Fig. 10-19: Sélection du nom pour l'entrée de la bascule bistable (FlipFlop) Séquence d'entrée <Enter> Curseur sur 'Résultat'!! <Enter> Confirmation du nom de sortie!! Curseur sur entrée reset!! 9<Enter> Sélectionner "Reset" via fenêtre de sélection!! <Enter> Confirmation!! Fig. 10-20: Fin de la connexion du FlipFlop L'entrée du FB 'ff75' 'appel inconditionnel est ainsi terminée Si un appel conditionnel est requis, il est possible de poursuivre comme suit (CONDITION: Validation) Séquence d'entrée <Enter>8mFIN<Enter> <Ctrl>QR<Enter> ↑ 93<Enter><Enter> 7mFIN<Enter> ← ← 4 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Entrée de la destination du saut!! Curseur au début du réseau!! Curseur sur 'Validation' Confirmation de 'Validation'!! Saut vers la marque 'mFIN', négativé, conditionnel!! 10-16 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Le saut permet de conserver le jeu de données du FB sans modification étant donné que ce jeu est sauté et qu'un calcul du FB n'est pas effectué. Fig. 10-21: Fin du réseau – Appel conditionnel Si le curseur se trouve sur un bloc fonctionnel défini par utilisateur, on accède à ce bloc ⇒ via <Ctrl>+<Enter> - ou ⇒ <Ctrl>+<N> Représentation ASCII de l'éditeur FBD A partir de la version 17, il est possible d'écrire des POU complètes en fichiers ASCII. L'éditeur FBD y contribue sous la forme d'une liste d'instructions qui peut être reconvertie fidèlement en langage FBD. Pour l'affectation suivant Fig. 10-21: Fin du réseau – Appel conditionnel, on a alors la sortie suivante: LDN Validation JMPC mFIN LD Set ST ff75.S_ LD Reset ST ff75.R_1 CAL ff75 LD ff75.Q_1 ST Résultat mFIN: Des sections FBD peuvent apparaître pour: • des fonctions et blocs fonctionnels dans la zone implémentation • des programmes dans la zone implémentation, simulation IO, traitement des données de process (Interbus G3) et implémentation 2 ms. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10-17 10.3 Aide à la mise en route dans le langage FBD Si un programme se trouve en cours d'exécution sur la commande, il est possible d'obtenir dans l'éditeur FBD les informations suivantes sur l'état du programme ou d'un bloc fonctionnel utilisé. • Barre de couleur sur le bord gauche, FBD est en cours de traitement. • les variables binaires marquées en couleur sont logiques '1', • les autres variables sont affichées avec leur valeur. via l'instruction de pied 2, le nom peut être affiché. Dans les fonctions, un affichage d'état n'est pas possible étant donné que les valeurs n'existent qu'au moment des calculs et qu'elles ne sont pas mémorisées. Fig. 10-22: Programme en FBD, informations d'état DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 10-18 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10.4 Options dans l'éditeur FBD Les options énumérées ci-après influencent le travail dans l'éditeur FBD. Il est recommandé à l'utilisateur de les définir sous forme préférentielle. Cette définition est mémorisée lorsqu'on quitte le système de programmation pour revenir au menu principal. Option 'Paramètres généraux' Fig. 10-23: Fenêtre d'options ‘Paramètres généraux’ Sortie acoustique Sauvegarde automatique Cette option permet l'activation et la désactivation du 'Bip' Cette option permet en commun avec 'Requête lors de la sauvegarde’ la mémorisation automatique de l'état intermédiaire obtenu. (Le fichier BAK est alors réécrit!) Sauvegarde automatique: 0 1 Requête lors de la sauvegarde: Sauvegarder de, 60 minutes – Ecart entre sauvegardes on / off Commentaire de déclaration dans l'implémentation Dans toutes les lignes IL sans commentaire propre, c’est le commentaire de déclaration des variables qui apparaît. (Editeur FBD par analogie sur les variables, voir options "Paramètre de l'écran’, Page 10-18 et/ou dans fenêtre<Ctrl>+<F6>....) <Shift>+<F2> Affichage de variables symbolique ou absolu Cette option permet de commuter au niveau 'Programme' entre l'adresse absolue (si existante) et le nom symbolique des variables. Représentation de variables absolues Cette option de menu permet une commutation à l'intérieur de programmes entre: %I et %E ou %Q et %A. et inversement. Exemple: %I1.2.3 et %E1.2.3 ou %Q2.3.4 et %A2.3.4 Cette option est également valide dans la documentation. Sélection du langage de programmation Lorsque l'utilisateur a porté son choix sur l'un des langages de programmation (IL ou LD ou FBD), il peut entrer ce choix directement. Pour la 'Sélection', une fenêtre sélection de langage est affichée. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10-19 Option ‘Paramètres de l'écran’ Fig. 10-24: Fenêtre d'option 'Paramètres de l'écran' Fonction Zone de paramétrage Règle les paramètres pour l'affichage dans les éditeurs. Sélection du jeu de paramètres qui doit être mis au point. FBD Standard // FBD comprimé Paramètres de mise au point Colonnes d'éditeur: 8 17 Largeur de grille: Nbre de caractères dans 1 colonne 12 Lignes pour nom: Nombre de lignes d'un identificateur 1 Lignes pour commentaire: Nombre de lignes pour commentaire d'un identificateur 0 5 1 Couper nom: Coupure de nombres: Documentation Nombre des colonnes curseur 0 Stratégie permettant de. couper un nom trop long Stratégie permettant de couper une/un valeur/nombre d'état affiché(e). La documentation utilise les jeux de paramètres standard. Boutons Ok: Appliquer Standard: Interruption: <Ctrl>+<F2> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Accepter les paramètres, les appliquer dans les éditeurs actuels. les appliquer dans les éditeurs actuels. sans quitter la fenêtre Restaurer les paramètres standard de la zone de paramétrage sélectionnée. Restaure les paramètres avant intervention dans la fenêtre et quitter la fenêtre. Sauter entre jeux de données (FBD ↔ FBD comprimé) 10-20 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10.5 Aide dans l'éditeur FBD Conformément à la conception d'aide uniforme du système de programmation, les possibilités de guidage suivantes sont accessibles: <F1> permet une aide en relation avec l'éditeur actuel ou l'option de menu actuelle, en fonction de la position du curseur (dans la fenêtre éditeur ou dans la fenêtre menu). Si dans une aide contextuelle des termes sont marqués en couleur, une aide peut alors être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Ctrl>+<F1> permet une aide sur le terme actuel (position du curseur). Si dans une aide contextuelle des termes sont marqués en couleur, une aide peut alors être sélectionnée (placer le curseur sur le terme voulu, puis appuyer <Enter>). Après <Alt>+<F1> une fenêtre aide est recherchée dans la pile. <Shift>+<F1> A l'aide de cette combinaison de touches on accède à la section déclaration du nom marqué par le curseur. Il est ainsi possible d'avoir une représentation de l'interface d'un bloc fonctionnel, d'une fonction, d'une variable structurée ainsi que les caractéristiques d'une variable quelconque. <Esc> On quitte à nouveau la fenêtre d'aide en appuyant sur <Esc>. Fig. 10-25: <F1> Aide sur l'éditeur actuel DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10-21 Fig. 10-26: <Ctrl>+<F1> - Aide contextuelle L’aide contextuelle donne une explication sur la position actuelle du curseur. Dans l’exemple, le curseur se trouve sur une fonction utilisateur (SELECT). Si l'aide a été appelée avec la combinaison de touches <Ctrl>+<F1>, il est possible après activation de la combinaison de touches <Alt>+<S> d'entrer dans la fenêtre d'aide un terme de recherche ou une partie de ce terme. Fig. 10-27: Cherche Aide sur le terme INT DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 10-22 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Fig. 10-28: <Shift>+<F1>, Aide déclaration sur l'opérande 'rayon' Si le curseur se trouve sur une variable, l’information de la ligne de sa déclaration apparaît alors. Fig. 10-29: <Shift>+<F1>, Aide déclaration sur la fonction SELECT ⇒ Placer le curseur sur le symbole de SELECT ⇒ Confirmer avec <Shift>+<F1> Le symbole (interface) avec les types des entrées et sorties et le commentaire à la déclaration au moment de l'importation de la fonction ou du bloc fonctionnel est alors affiché. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10-23 10.6 Eléments du langage FBD Afin d'éviter des malentendus à l'intérieur des diagrammes FBD, on a indiqué ci-après les équivalents IL réalisés pour le langage FBD. Eléments de base du langage FBD Le langage FBD met à disposition les éléments les plus utilisés dans les schémas de connexions électroniques et permet ainsi l'établissement de réseaux analogues à ceux d'un schéma logique. Symbole FBD a a Equivalent IL /'D$1'D25D 2 /'1D$1'1D251D D O D 6 D O 6 D 5 D O 5 D 67D 671D 6(7&D6(7D 6(7&1D 5(6&D5(6D 5(6&1D Saut: !!P -03&P-03P O !!P -03&1P Retour de FB: 5(7! O 5(7! Etiquette intermédiaire D Y Variable: b E c 2 O F 5(7&5(7 5(7&1 67D 67Y /'E 67E /'1F 671F Vaut pour les types de données suivants: VAR a: BOOL; b: BYTE|WORD|DWORD|LWORD|ARRAY|STRUCT|STRING c: BYTE|WORD|DWORD|LWORD; v: tous les nombres|TIME|BYTE|WORD|DWORD|LWORD; END_VAR DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 10-24 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Représentation des opérateurs du langage FBD A partir des opérateurs IL, les réseaux suivants sont aménagés en langage FBD. Réseaux FBD a1 a2 a1 a2 a1 a2 a1 a2 a1 a2 b1 b2 b1 b2 b1 b2 w1 w2 w1 w2 w1 w2 w1 w2 w3 w4 w3 w4 y1 a1,a2,a3: b1,b2,b3: w1,w2: w3,w4: y1: y2: Opérateurs IL (*veiller à la correspondance des types*) /'D $1'D D 67D /'D ! 25D D 67D /'D N ;25D D 67D /'D (4D D 67D /'D ! 1(D D 67D /'E $1'E E 67E /'E ! 25E E 67E /'E N ;25E E 67E /'Z ! *7Z D 67D /'Z /7Z D 67D /'Z ! *(Z D 67D /'Z /(Z D 67D /'Z (4Z D 67D /'Z ! 1(Z D 67D /'\ \ 67\ BOOL; BYTE|WORD|DWORD|LWORD; tous les nombres|TIME|STRING tous les nombres |TIME|BYTE|WORD|DWORD|LWORD|STRING; tous les types de données, également Adresse de (P#...) et POINTER tous les types de données, également POINTER DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Réseaux FBD y1 y2 y4 y5 v1 v2 v1 v2 w4 w5 y1,y2,y3: y4,y5,y6: v1,v2,v3: w4,w5,w6: 10-25 Opérateurs IL (*veiller à la correspondance des types*) /'\ $''\ \ 67\ /'\ 68%\ \ 67\ /'Y 08/Y Y 67Y /'Y ',9Y Y 67Y /'Z 02' 02'Z Z 67Z tous les nombres|TIME|STRING|CHAR tous les nombres|TIME tous les nombres tous les nombres, non REAL Représentation de fonctions en langage FBD Les entrées et sorties d'une fonction dans un diagramme FBD ont les équivalents IL suivants: Réseaux FBD x1 a1 x1 a1 Représentation IL /'[ FName FName( ( ( D ( D 67D /'[ FName FName( ( ( D (2 D 671D tous les types de don.,exceptés ARRAY, STRUCT*) tous les types de don.,exceptés ARRAY, STRUCT*) tous les types de don.,exceptés ARRAY, STRUCT*) tous les types de don.,exceptés ARRAY, STRUCT*) tous les types de don.,exceptés ARRAY, STRUCT*) %22/%<7(:25'':25' Seule la première entrée peut être connectée avec un réseau! Représentation de blocs fonctionnels en langage FBD Les entrées et sorties d'un bloc fonctionnel en langage FBD ont les équivalents IL suivants: Réseaux FBD FBName Représentation IL LD a1 ST FBName.E1 LDN a2 ST FBName.E2 a1 CAL FBName a2 LD FBName.A1 ST b1 LD FBName.A2 STN b2 (nouveauté à partir de la Version 17) E1 peut FBTyp ($ E 2($2 E DOK-CONTRL-SPS*PRO*V18-AW01-FR-P (*tous les types de données*) (*BOOL, BYTE, WORD, DWORD*) (*tous les types de données*) (*BOOL, BYTE, WORD, DWORD*) également être de type POINTER. 10-26 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Etiquettes intermédiaires en langage FBD La représentation d'étiquettes intermédiaires en langage FBD constitue une extension du langage fondamental. Toutes les constellations des listes d'instructions ne peuvent cependant pas être représentées en FBD. Réseaux FBD a2 a3 b1 b2 Opérateurs IL (*veiller à la correspondance des types*) /'D ! D $1' ] /'D D D 25D 67] $1'D 67D E ] E %22/%<7(:25'':25' %22/%<7(:25'':25' %22/%<7(:25'':25' %22/%<7(:25'':25' %22/%<7(:25'':25' %22/%<7(:25'':25' /'E tous les nombres|TIME|STRING*) $''E 67] (4E 67E %22/ Eléments de clôture couplés en parallèle Le langage FBD permet le couplage en parallèle de plusieurs éléments de clôture, même différents, en fin de segment. Réseaux FBD a1 a1 b1 Représentation IL D 2 D !!P /'D 67D 671D -03&P /'D 2 D 671D 5(7& 5(7! E 2 E 2 E VAR a1,a2,a3: b1,b2,b3,b4: END_VAR /'E 67E 671E 671E BOOL; BYTE|WORD|DWORD|LWORD; DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10.7 Touches dans l'éditeur FBD ⇒ Activation de la combinaison de touches <Alt>+<H> Les touches disponibles actuellement apparaissent . Touche (s) Instructions curseur <Ctrl>+<S> <Ctrl>+<A> <CursorLeft> <Ctrl>+<CursorLeft> Elément vers la gauche <Ctrl>+<D> <Ctrl>+<F> <CursorRight> <Ctrl>+<CursorRight> Elément vers la droite <Ctrl>+<E> <CursorUp> Ligne de grille vers le haut <Ctrl>+<X> <CursorDown> Ligne de grille vers le bas <Ctrl>+<W> Dérouler image une ligne vers le haut <Ctrl>+<Z> Dérouler image une ligne vers le bas <Ctrl>+<R> <PageUp> Déplacer image vers le haut <Ctrl>+<C> <PageDown> Déplacer image vers le bas Marquer bloc <Shift>+<PageUp> <Shift>+<CursorUp> <Shift>+<PageDown> <Shift>+<CursorDown> Touche (s) <Ctrl>+<G> Touches d’effacement <Delete> <Ctrl>+<H> Effacer un élément <Delete><CursorLeft> <Ctrl>+<T> Effacer un segment complet <Ctrl>+<Y> <Ctrl>+<M> <Enter> Fin d'une entrée Touche (s) Accès <Ctrl>+<Enter> <Ctrl>+<N> Passage au FB / FK DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 10-27 10-28 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Menu local dans l'éditeur FBD Dans chaque éditeur il existe un menu local (combinaison de touches <Alt>+<F10>) qui permet de regrouper des instructions importantes de l'éditeur de façon à ce qu'elles soient rapidement accessibles. Fig. 10-30: Menu local de l'éditeur FBD Test de syntaxe contrôle l'exactitude des réseaux FBD du point de vue syntaxe <F6> Commentaire édition Entrée du commentaire (d'implémentation) pour une variable <Ctrl>+<F2> Alternative Commutation en représentation standard/comprimée <Ctrl>+<F6> Commentaire on/off Ligne complète du commentaire <Shift>+<F2> Symb./Abs. Commutation en adressage symbolique/absolu <Alt>+<P> Imprimer Sortie sur imprimante du contenu de l'éditeur <Ctrl>+<U> Passage à l'éditeur Passage à l'éditeur LD/IL <Ctrl>+<Q> Instructions Quick Offre d'instructions ^Q actuelle <Ctrl>+<K> Instructions bloc Offre d'instructions ^K actuelle DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10-29 Instructions bloc en langage FBD Le but des Instructions bloc est de minimiser le travail par rapport à une introduction de nouvelles entrées. Un bloc à l'intérieur de l'éditeur FBD se compose d'un ou de plusieurs réseaux qui se suivent directement. Pour l'éditeur SFC, les opérations bloc suivantes sont possibles: Touche (s) Instructions bloc <Ctrl>+<K><B> Marquer Début du bloc <Ctrl>+<K><K> Marquer Fin de bloc <Shift>+<CursorUp> <Shift>+<CursorDown> Marquer bloc <Ctrl>+<K><L> Définir un réseau en tant que bloc <Ctrl>+<K><H> Masquer le bloc <Ctrl>+<K><Y> Effacer bloc <Ctrl>+<K><V> Déplacer bloc <Ctrl>+<K><C> Copier le bloc <Ctrl>+<K><W> Ecrire bloc sur disquette <Ctrl>+<K><R> Lire bloc d'une disquette <Ctrl>+<K><3> Bloc → Editeur de texte <Ctrl>+<K><4> Bloc de l'éditeur de texte → FBD Marquer le début du bloc <Ctrl>+<K><B> Placer le curseur sur le premier réseau voulu puis activer la combinaison de touches <Ctrl>+<K><B>. Marquer la fin du bloc <Ctrl>+<K><K> Placer le curseur sur le dernier réseau voulu puis activer la combinaison de touches <Ctrl>+<K><K>. Marquer bloc <Shift>+<CursorUp> <Shift>+<CursorDown> Définir un réseau en tant que bloc <Ctrl>+<K><L> Masquer le bloc <Ctrl>+<K><H> Effacer un bloc <Ctrl>+<K><Y> Avec la combinaison de touches Shift>+<CursorUp> / <Shift>+<CursorDown> , il est également possible de marquer un bloc. Le réseau actuel va être marqué en tant que bloc. Le bloc marqué est rendu visible ou invisible par activation de la combinaison de touches <Ctrl>+<K><H> . Toutes les lignes marquées seront effacées sans avertissement. Déplacer le bloc <Ctrl>+<K><V> Le bloc marqué va être déplacé directement à l'aval de la position marquée par le curseur. Copier bloc <Ctrl>+<K><C> Le bloc marqué va être copié directement à l'aval de la position marquée par le curseur. Ecrire bloc sur disquette <Ctrl>+<K><W> Le bloc marqué est écrit sur le support de données indiqué dans la fenêtre de sélection sous le nom à indiquer. Le bloc est ensuite archivé en tant que fichier ASCII standard. Lire bloc d'une disquette <Ctrl>+<K><R> Insère derrière la position actuelle du curseur un bloc archivé auparavant avec Ecrire bloc. Lors de sa lecture, l'exactitude de la syntaxe du bloc est ATTENTION: contrôlée. Des corrections sont possibles dans la fenêtre. Bloc → Editeur de texte Ctrl>+<K><3> Bloc éditeur de texte → FBD <Ctrl>+<K><4> DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Envoie le bloc marqué dans l'éditeur de texte. Envoie le bloc marqué dans l'éditeur de texte vers l'éditeur FBD, (Contrôle des erreurs de syntaxe effectué.) 10-30 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Instructions Quick dans l'éditeur FBD Les instructions Quick ci-après servent à accélérer les mouvements du curseur: Touche (s) Instructions Quick <Ctrl>+<Q><S> <Home> vers le bord gauche <Ctrl>+<Q><D> <End> vers le bord droit <Ctrl>+<Q><R> <Ctrl><PageUp> vers le début du diagramme de blocs fonctionnels <Ctrl>+<Q><C> <Ctrl><PageDown> vers la fin du diagramme de blocs fonctionnels <Ctrl>+<Q><B> vers le début du bloc <Ctrl>+<Q><K> vers la fin du bloc <Ctrl>+<Q><E> <Ctrl><Home> vers le début du réseau <Ctrl>+<Q><X> <Ctrl><End> vers la fin du réseau <Ctrl>+<Q><P> vers la dernière position <Ctrl>+<Q><G> vers le réseau indiqué Par ailleurs, on a implémenté: Restaurer ligne <Ctrl>+<Q><L> Si un réseau FBD a été effacé par mégarde, il peut être restauré immédiatement après en activant cette instruction. Chercher et Remplacer Recherche d'une chaîne de caractères <Ctrl>+<Q><F> Cette fonction utilise la fenêtre ci-après (voir Fig. 10-31: Recherche et remplacement d'un texte (chaîne de caractères)) avec les mêmes éléments de sélection, seule la ligne ‘Nouveau texte’ a disparu. Rechercher et Remplacer une chaîne de caractères <Ctrl>+<Q><A> Fig. 10-31: Recherche et remplacement d'un texte (chaîne de caractères) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM Cherche Texte 10-31 Validation Le texte à rechercher est tout d'abord défini par le terme sur lequel se trouve le curseur. On peut soit réécrire ce terme soit sélectionner un autre terme déjà utilisé auparavant via la fenêtre history. Nouveau Texte Texte qui doit remplacer le texte recherché. Un contrôle de convenance est effectué afin que le nouveau texte puisse assumer la tâche du texte précédent • Eléments: [X] Variables et constantes [X] Mot clé [ ] Repère [ ] Commentaire [ ] Bloc fonctionnel [ ] Fonction [ ] Types de données Zone de recherche à sélectionner (éléments à rechercher): Au moins un élément doit être sélectionné, au maximum tous les éléments peuvent être sélectionnés. Sous un mot clé, on doit comprendre des termes qui ont une signification particulière pour le système de programmation, comme par exemple: VAR, PROGRAM::: Les éléments que l'éditeur actuel ne connaît pas, ne sont pas sélectionnables (grisés) • Zone: (*) Editeur ( ) Bloc marqué ( ) Réseau actuel La zone à sélectionner peut être limitée à partir de tout l'éditeur jusqu'au bloc marqué. • Options: [ ] Ignor. Majusc. Majusc. [ ] mots complets seulement [ ] avec demande En options, on peut demander au système d'ignorer les majuscules et minuscules et de ne rechercher que des mots complets. Par ailleurs, il est également possible de demander qu'une confirmation soit effectuée avant chaque remplacement. • Direction: (*) en avant ( ) en arrière La direction de la recherche est définie à partir du curseur. • Mode: ( ) à partir du curseur ( ) tout autour (*) ensemble de la zone Le mode de la recherche est défini de façon standard à partir du curseur. La recherche peut être effectuée tout autour à partir du curseur, et au maximum jusqu'au curseur, en tenant compte de la direction susmentionnée. La troisième possibilité est: du début jusqu'à la fin en fonction de la direction ou inversement sur toute la zone DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 10-32 Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-1 11 Système global 11.1 Généralités En fonction du type de la commande utilisée, l'utilisateur dispose de différentes voies pour accéder du menu central à l'interface de programmation de la SPS. Menu central Différentes possibilités sont offertes pour • sélection du langage, • réglage des paramètres de couplage, • commande et • droits d'accès dans le cadre de la gestion d'un mot de passe. L'utilisateur de l'interface de programmation SPS doit régler les droits d'accès suivants dans le cadre de la gestion de son mot de passe: • Autorisation pour entrées dans le programme SPS ou modification du programme SPS • Autorisation pour transfert du programme SPS à la commande. Avant de passer à l'interface de programmation SPS, ces droits d'accès peuvent déjà être validés au moyen de la combinaison de <Alt>+<K>, par l'introduction d'un nom utilisateur et d'un mot de passe correspondant . L'introduction du nom utilisateur et du mot de passe (combinaison de touches <Alt>+<K> ou option de menu 'mot de passe... altK') est également possible dans l'interface de programmation SPS. La validité du mot de passe peut également être annulée. Généralités sur l'interface de programmation SPS Après avoir quitté le menu central, on passe au menu principal SPS. Fig. 11-1: Menu principal SPS DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-2 Système global Guide de programmation SPS - 18VRS Menu principal SPS Ligne 1: • Date • Type du couplage entre commande et PC, Offline, absence de couplage, Aucun affichage signifie ’Online’ • Messages d’erreur de la CNC, Aucun affichage signifie absence d’erreur • Mode de fonctionnement de l’interface de programmation Affichage: Restitution du programme SPS, Edition non permise, Aucune information de mise en service Edit: Edition du programme SPS permise, mais sans information de mise en service Etat: Programme SPS avec informations de mise en service, Edition non permise Online: Edition et Transfert du programme SPS sans RESET-SPS • Heure Ligne 2: • Ligne menu principal par Les différentes options du menu principal peuvent être appelées chaque éditeur au moyen de <Alt>+'lettre soulignée'. Ligne 4: • Nom de la société, type de la commande Ligne 21: • Adresse et désignation de la commande Ligne 23: • réservée pour type et nom du fichier chargé Ligne 25: • Touches et combinaisons de touches (raccourcis clavier) importantes Le système de programmation et de mise en service SPS comprend un système guide avec les possibilités d'aide explicitées ci-après: <F1> Apporte une aide en relation avec l'éditeur actuel lorsque le curseur se trouve dans une fenêtre éditeur. Apporte une aide en relation avec l'option de menu lorsque le curseur se trouve dans une fenêtre menu. <Ctrl>+<F1> <Enter> <Alt>+<F1> <Esc> permet une aide sur le terme actuel (position du curseur). Aide contextuelle plus poussée en relation avec le terme marqué. Retour à la fenêtre d'aide précédente Quitter l'aide Les deux premières possibilités comportent également la possibilité de sélectionner d'autres termes associés et par conséquent une aide plus poussée. L'activation de la combinaison de touches (raccourci clavier) <Alt>+<S> permet d'amorcer la recherche d'un terme (concept). En supplément, on a intégré dans le menu principal l'option Aide qui est accessible via les combinaisons de touches<Alt>+<?> ou <F10> puis <?> <F10> <Alt>+<F10> <Esc> <Enter> Les touches et combinaisons de touches suivantes sont importantes après terminaison d'une entrée. Passage au menu principal Menu local de l'éditeur respectif Quitter l'éditeur respectif Clôture de l'entrée Pour autres touches et combinaisons de touches, voir Chapitre ‘Touches dans le système global’, Page 11-62. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-3 Guide de programmation SPS - 18VRS Technique des fenêtres Le travail dans le système de programmation et de mise en service de la SPS s'effectue dans des fenêtres qui peuvent être ouvertes, déplacées, fermées ou masquées par d'autres fenêtres, après ouverture de ces dernières. La fenêtre respectivement active est reconnaissable à son cadre double. Parmi les fenêtres, on distingue entre: • fenêtre menu pour sélection des instructions • fenêtre d'option pour paramétrage • fenêtre de sélection • fenêtre d'éditeur • fenêtre de chargement et de mémorisation avec possibilité d'exportation Fenêtre menu pour sélection des instructions Fig.11-2: Fenêtre menu pour sélection des instructions La sélection de l'option de menu désirée peut s'effectuer via: • les touches de direction et <Enter>, • Le caractère marqué en couleur (lettre ou chiffre) ou • les touches spéciales ou combinaisons de touches spéciales énumérées. Fenêtre d'option pour paramétrage La fenêtre ci-après indique les possibilités fondamentales pour paramétrage. [] Si plusieurs possibilités sont données, l'une d'entre elles au moins doit être sélectionnée; une, plusieurs ou toutes les possibilités peuvent être choisies. (voir Fig. 11-3: Fenêtre d'option pour paramétrage, Composants:) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P [] Si le champ ne comprend qu'une possibilité, cette possibilité peut être activée et désactivée. () On ne peut choisir qu'une seule et unique possibilité . (voir Fig. 11-3: Fenêtre d'option pour paramétrage, Documentation dans:) 11-4 Système global Guide de programmation SPS - 18VRS Affichage de listes avec l'ascenseur sur la barre de défilement: (voir Fig. 11-3: Fenêtre d'option pour paramétrage, pilotes imprimante) ⇒ Sélectionner un élément de liste avec le curseur ⇒ activer avec <Enter> La sélection est également utilisée pour les valeurs prédéfinies. Les possibilités inutilisables pour le moment sont représentées en police grisée. Fenêtre d'entrée: (voir Fig. 11-3: Fenêtre d'option pour paramétrage, nom de fichier) ⇒ Entrée d'un nom via le clavier, nombre de caractères limité, ⇒ dans la fenêtre vide <Enter>, Ouverture de la fenêtre de sélection ⇒ Sélection de l'élément avec le curseur, ⇒ activer avec <Enter> ⇒ Ouverture de la fenêtre History avec <CursorDown>, Liste d'enregistrements déjà utilisés, ⇒ <Enter> La commutation entre les champs s'effectue en avant avec la touche <Tab> et, en arrière avec la combinaison de touches <Shift>+<Tab> . Certaines positions sont accessibles au moyen de la lettre soulignée (<Alt>+ Lettre). Fig. 11-3: Fenêtre d'option pour paramétrage DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-5 Fenêtre de sélection Fig. 11-4: Fenêtre de sélection Si des noms déjà connus du système doivent être inscrits lors de l'introduction de noms, de variables, de types de FB ou d'entrées d'une façon générale, le champ nom vide peut être validé avec <Enter>. L'offre possible est dans un tel cas affichée pour sélection. ⇒ Sélection avec le curseur - ou ⇒ par inscription du nom ⇒ activer la touche <Enter> pour exécution de l'opération. Fenêtre d'éditeur La création du programme SPS s'effectue dans différents éditeurs dont les fenêtres présentent l'architecture décrite ci-après: Fig. 11-5: Fenêtre d'éditeur avec menu local DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-6 Système global Guide de programmation SPS - 18VRS En-tête Pied • Date, éventuels messages d'erreur du système, mode de fonctionnement du système de programmation, avertissements SPS éventuels, heure • Commentaire sur l'élément actuel, affichage peut être activé ou désactivé avec combinaison de touches <Ctrl>+<F6> <Ctrl>+<F6> • Ligne du menu principal accessible via la touche <F10> • Type et nom du fichier de travail, Insertion/Réécriture Représentation symbolique/absolue de variables Information sur la position du curseur, réseau, ligne, colonne.. en cas d'accès à des éditeurs sous-jacents, le cas échéant présence multiple − • Instructions d'entrée permises spécifiques de l'éditeur • Touches et combinaisons de touches principales (<Alt>+<H> Touches actuelles, <Alt>+<F10> Menu local, <F10> Menu principal SPS, entre autres) Cadre double, fenêtre de l'éditeur actif Fenêtre de chargement et de mémorisation avec possibilité d'exportation Si des blocs doivent être archivés sous forme de fichiers, un archivage interne au système suffit dans la plupart des cas, sans que l'opérateur ait besoin de s'occuper de la place où sont stockés ces fichiers. Dans certains cas, il est cependant judicieux de pouvoir sélectionner le nom, l'extension, le lecteur et le chemin d'un fichier (Exportation du fichier en écriture ou importation du fichier en lecture) Fig. 11-6: Fenêtre de mémorisation, interne Si la fenêtre présente un bouton exportation, il est alors possible de choisir librement un chemin, lecteur etc.. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-7 Fig. 11-7: Fenêtre de mémorisation, externe Contrôle syntaxique intégré en cours d'entrées Le système de programmation et de mise en service travaille en appliquant le principe de l'exactitude syntaxique de chaque source, ceci signifie que, dès le départ, c'est-à-dire à partir de la déclaration de chaque unité d'organisation de programme, l'exactitude de la syntaxe de chaque entrée ou correction est soumise à un contrôle. Si des éléments SFC sont utilisés pour l'introduction de séquences d'évolution, l'utilisateur peut partir du principe que toutes les structures introduisibles sont libres et sûres (free choise nets) Ceci signifie que la mémorisation d'une source sera refusée; • en cours de déclaration si la ligne n'est pas fermée, • dans l'éditeur IL, si la ligne n'est pas fermée, • dans l'éditeur LD/FBD, tant que l'entrée d'un élément concret n'est pas terminée (par exemple nom du contact entre autres) • dans l'éditeur SFC, si la structure n'est pas encore fermée et • dans l'éditeur de blocs d'actions si le bloc d'actions n'est pas complet. Source syntaxiquement correcte DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Le système peut offrir à l'utilisateur un aperçu préliminaire des prochaines entrées possibles (ligne d'opérations consécutives possibles dans la fenêtre éditeur) en simplifiant ainsi considérablement les opérations d'entrée. 11-8 Système global Guide de programmation SPS - 18VRS Consignes d'installation pour le système de programmation Le système de programmation et de mise en service fonctionne à partir de la version 16 en version DPMI. Une limitation de la mémoire DPMI en dessous de 8 Mo peut porter considérablement préjudice aux propriétés du système. Limitation de la mémoire DPMI Une limitation n'est pas judicieuse avec un ordinateur PC présentant une mémoire RAM de 8 Mo. Si absolument nécessaire, la limitation dans le cas de PC avec une RAM de 16 ou 32 Mo, doit être plafonnée à 8 Mo. SET DPMIMEM= MAXMEM 8192 Dans le cas des PC avec 64 Mo ou plus, l'inscription est nécessaire (Gestion DOS). Consignes générales pour utilisation des pilotes Dans le cadre de l'installation, il est nécessaire d'ajouter certaines remarques relatives à l'utilisation des différents pilotes (XMS/EMM) sur PC-AT. On part de DOS 5.0 (ou plus) et de ses pilotes standard. • himem.sys (ou windows\himem.sys) • windows\smartdrv.exe, (dos\smartdrv.sys n'est pas utilisé pour des raisons de compatibilité avec le système global) Pour l'utilisation XMS, il faut conserver le numéro d'accès standard h= 64. Ordinateur standard PC-AT, RAM 8 Mo Milieu de mémorisation XMS/Cache disque config.sys DEVICE=C:\DOS\HIMEM.SYS DOS=HIGH,UMB DEVICE=C:\DOS\EMM386.EXE NOEMS FILES=20 BUFFERS=20 autoexec.bat lh C:\WINDOWS\SMARTDRV.EXE 2048 La séparation de la mémoire présuppose l'installation sur 'automatique' ou mémoire conventionnelle sous l'option de menu 'options' DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-9 11.2 Menu Fichier <Alt>+<A> Avec le menu fichier, l’utilisateur peut charger des programmes, blocs fonctionnels, fonctions et types de données créés puis les mémoriser après traitement. Les options de menu Renommage, Effacement et Archivage qui existaient jusqu'à présent ont été regroupées dans un gestionnaire de fichiers et compléter par d'autres composants, comme test, restaurer fichiers effacés etc.. Fig. 11-8: Option de menu Travail avec fichier Charger <F3> Cette option de menu qui est accessible via la touche <F3> permet le chargement d'un fichier de travail déjà existant. On peut respectivement choisir entre Programme (PR), Bloc fonctionnel (FB), Fonction (FK) et Type de données (TY). Le bouton 'Afficher' permet de passer à l'aide déclaration pour FB/FK/TY. Via le bouton 'Nouveau', on peut créer un nouveau fichier vide PR/FB/FK/TY (Passage à la fenêtre 'Nouveau'.) La fenêtre chargement apparaît déjà alors qu'aucun fichier n'a encore été chargé mais lorsque les opérations préliminaires à ce chargement ont été sélectionnées. Nouveau Cette option de menu permet la création d'un nouveau fichier (PR/FB/FK/ TY) par introduction d'un nom. Mais il est également possible de sélectionner un fichier parmi ceux existants dans la liste (Reprise dans la fenêtre Nom avec <Espace>, confirmation avec <Enter>) et de le reprendre. Retour <Alt>+<F3> Cette option de menu ou la combinaison de touches <Alt>+<F3> permet de retourner dans la fonction supérieure, le bloc fonctionnel supérieur ou le programme supérieur. Alternativement, la structure de l'ensemble du programme peut être affichée au moyen de la combinaison de touches <Alt>+<F4> et l'unité où la poursuite des opérations doit s'effectuer, peut alors être sélectionnée. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-10 Système global Guide de programmation SPS - 18VRS Sauvegarder <F2> Cette option de menu ou alternativement la touche fonction <F2> permet la mémorisation du fichier de travail sans quitter l'interface de programmation SPS. Avant exécution, la validité du mot de passe est soumise à un contrôle. (Sauvegarde automatique, voir option 'Paramètres généraux', Page11-55). Mémoriser sous... Le fichier de travail est sauvegardé sous un nouveau nom à entrer. Avant exécution, la validité du mot de passe est soumise à un contrôle. Cette option de menu offre la possibilité de procéder ensuite à une protection du fichier par un mot de passe. Charger en format ASCII Cette option de menu permet le chargement de tout un fichier (PR/FB/FK/ TY) en format ASCII. Le fichier à charger doit se trouver sous la forme d'un bloc marqué dans l'éditeur de texte (voir Chapitre 2 'Représentation de programmes, blocs fonctionnels et types de données en format ASCII). L'écriture ASCII suivie d'un chargement ASCII permet souvent de restaurer un fichier incorrect. Par ailleurs cette possibilité a été prévue pour les versions futures (> Version 17) en tant que moyen permettant la traduction compatible de fichiers créés sous des versions inférieures. Mémoriser en format ASCII Cette option de menu permet la mémorisation de tout un fichier (PR/FB/FK/ TY) en format ASCII. Le fichier mémorisé se trouve sous la forme d'un bloc marqué dans l'éditeur de texte (voir Chapitre 2 'Représentation de programmes, blocs fonctionnels et types de données en format ASCII, page 2-27). L'écriture ASCII suivie d'un chargement ASCII permet souvent de restaurer un fichier incorrect. Par ailleurs cette possibilité a été prévue pour les versions futures (> Version 17) en tant que moyen permettant la traduction compatible de fichiers créés sous des versions inférieures. Impression (de fichiers) L'interface de programmation permet la documentation des programmes SPS à trois niveaux: 1. Documentation dans l'éditeur séparé actuel - <Alt>+<P> 2. Documentation du fichier de travail qui doit être chargé actuellement. 3. Documentation de l'ensemble du programme avec FB/FK/TY utilisés (voir Chapitre ‘Documentation’, Page 11-46) Les options de menu suivantes permettent en outre d'influencer le contenu de la documentation: • Option 'Paramètres généraux': Représentation des adresses de variables absolues avec I/Q ou E/S, soit %E1.1.3 au lieu de %I1.1.3 et inversement. En remplacement, reprise du commentaire de déclaration dans l'implémentation, pour le cas où il n'existe pas de commentaire d'implémentation. • Option ‘Paramètres de l'écran’: Dimensions des éléments de LD et FBD Type de la représentation des commentaires La mise au point est effectuée dans la fenêtre suivante: DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-11 Fig. 11-9: Fenêtre de sélection pour documentation 'Fichier de travail' Sous les différentes options de sélection, il est possible de choisir les paramètres préliminaires suivants: Composants Sommaire Affectation E/S Liste importation Arbre importation Déclaration Renvoi Organigramme séquentiel Transitions Etapes Implémentation/Actions Données de process Tableau IO du poste connecté, seulement PR) (Editeur importation) (Structure de PR/FB/FK/TY) (Editeur de déclaration, prédéfinissable!) (Liste de renvoi, prédéfinissable!) } } si existantes dans fichier } } Alternativement, il est possible de définir les langages de la documentation Documentation en ( ) Langage initial (*) LD ( ) FBD ( ) IL (langage des entrées) Si la conversion d'un réseau dans un langage désiré n'est pas possible, il est possible en remplacement d'utiliser les langages suivants: Langage de substitution ( ) Langage initial ( ) IL (langage des entrées) La sortie directe sur des types d'imprimantes voisines ou la sortie sur un fichier présentant le nom indiqué ci-après est possible. Le fichier comprend les caractères de contrôle nécessaires pour le type d'imprimante sélectionnée. Il ne s'agit donc pas d'un fichier ASCII pur. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-12 Système global Guide de programmation SPS - 18VRS Unité de sortie (*) Fichier ( ) LPT1...LPT3 Nom de fichier Caractères ASCII et caractères de contrôle imprimante,120 caractères par ligne Sortie directe sur imprimante via interface sélectionnée Nom du fichier impression, dérivé de façon standard du nom du fichier actuel, définissable via entrée directe ou fenêtre history. Fenêtre sélection pour pilote imprimante Type d'imprimante LASER90 DRUCK60 MT910 MT440 .... Installer mémorise les paramètres prédéfinis pour d'autres opérations Protection ⇒ Activer touche <F3> Charger fichier pour attribution et/ou modification d'attributs de fichier. Si le fichier à charger est ouvert, l'opération de chargement s'effectue sans problème. Si le fichier à charger est caractérisé par lecture_seulement ou verrouillé, le mot de passe est requis. Après chargement, le fichier peut être modifié et archivé via l'option de menu 'Sauvegarder sous/Protection ou bien via cette option de menu: Fig. 11-10: Protection de fichiers, attributs de fichiers, mot de passe créé par: 40 caractères Propriétaire du fichier (Société) archivé sans codage dans fichier Groupe : utilisateur 20 caractères Groupe de fichiers archivé sans codage dans fichier Mot de passe: 10 caractères Mot de passe du groupe utilisateur archivé codé dans fichier DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-13 Guide de programmation SPS - 18VRS Pour l'utilisateur de PCL , les modifications sont limitées à un minimum. Il ne connaît ni les mots de passe des fichiers verrouillés ni ceux des fichiers caractérisés par lecture_seulement Il continuera à travailler comme jusqu'à présent avec les fichiers spéciaux INDRAMAT: • Avec les fichiers verrouillés, aucun accès, seulement comparaison de la documentation <Shift>+<F1>. • Dans le cas des fichiers caractérisés par lecture_seulement, un aspect, une lecture des informations d'état, écritures de bloc, lecture, analyse logique, forçage etc.. sont permis, comparaison de documentation <Shift>+<F1>. Si le fichier est mémorisé avec la caractéristique ouvert, mot de passe/groupe utilisateur sont déconnectés (en grisé) ou refusés. Les attributs qui sont conférés de cette façon caractérisent chaque forme mémorisée du fichier (sur disquette, disque dur, après modification online etc…) N.B. En cas de nouvelle attribution, le mot de passe doit être à nouveau entré pour comparaison. N.B. Il est recommandé au propriétaire du fichier de conserver un original non codé. Actualiser Grâce à cette option de menu, il est possible d'adapter des projets réalisés sous des versions antérieures. En cours d'actualisation, un contrôle des fichiers est alors effectué afin de détecter et, le cas échéant, de réparer des erreurs éventuelles. En cas de nécessité reconnue, l'actualisation est déclenchée automatiquement. Gestionnaire de fichiers Fig. 11-11: Gestionnaire de fichiers Fonction DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Tous les fichiers d'un projet sont affichés dans une liste suivant une classification par type ou nom. Des fichiers peuvent être marqués/démarqués au moyen d'un caractère espace. Différentes opérations peuvent être appliquées sur les fichiers actifs ou le groupe de fichiers marqués. Les fichiers dans la SPS sont caractérisés; les fichiers modifiés par rapport à la SPS étant caractérisés différemment. 11-14 Système global Champ de boutons Type/nom Bouton Effacer Bouton Renommer Bouton Copier Guide de programmation SPS - 18VRS Influence l’affichage de la liste des fichiers Avec Type, tous les fichiers sont classés dans la liste en fonction de leur type (tout d'abord PR, puis FB, FK, TY, BAK etc.), comme représenté dans la fig. ci-dessus. Dans le cas contraire, ils sont classés par nom. pour effacement des fichiers actuels ou marqués Renommage du fichier actuel. Le renommage de fichiers marqués n'est pas possible. Le fichier actuel est reproduit. Le copiage de fichiers marqués n'est pas possible. Bouton Test Le fichier actuel ou les fichiers marqués sont contrôlés et les erreurs constatées sont réparées Bouton Restaurer Les fichiers de sauvegarde (de sécurité) sont restaurés Les fichiers source (PR, FB, FK, TY) sont alors recréés à partir des fichiers de sauvegarde (BAK, BA1, NEW) . D'éventuels fichiers source existants et devant donc être réécrits sont archivés en tant que copie de sauvegarde de sécurité. Bouton Archiver Le fichier actuel ou les fichiers marqués sont archivés sur un support de stockage avec les fichiers qui ont été importés par le fichier actuel ou les fichiers marqués. Bouton Récupérer Des fichiers sont extraits d'un support de stockage et transmis dans le projet affiché. Bouton Afficher L'interface (<Shift>+<F1>-Aide) du fichier actuel (FB, FK, TY) est affichée (même en présence de fichiers marqués). Bouton Interruption Clôture du gestionnaire de fichiers. EXIT <Alt>+<X> Alternativement à la combinaison de touches <Alt>+<X>, cette option de menu permet de quitter l'interface de programmation SPS en retournant au menu central. L'utilisateur est alors invité à mémoriser le fichier de travail dans la mesure où celui-ci a été modifié. 11.3 Menu Edition Les entrées et les modifications de: • Fonctions utilisateur • Blocs fonctionnels utilisateur • Programmes utilisateur et de • Types de données utilisateur doivent être effectuées via le menu édition. L'utilisateur peut, pour ce faire, charger un fichier déjà existant ou créer un nouveau fichier. Les étapes importation, déclaration, implémentation doivent ce faisant être effectuées, comme illustré dans la figure ci-dessous. Ce menu permet en outre le passage aux ‘EXTRAS’: • Liaison de données de process seulement pour les commandes fonctionnant avec Interbus-S, Version logiciel G3. • Simulation IO Au niveau programme, il est possible dans cette zone de décrire des entrées. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-15 Guide de programmation SPS - 18VRS • Implémentation 2ms Réaction rapide à des modifications d'entrées. Pour plus de clarté, les options de menu 'Chercher' et 'Chercher et Remplacer' ´….ont été regroupées. Elles découlent du menu local des différents éditeurs et contiennent les mêmes possibilités fonctionnelles. Un éditeur de texte exempt de syntaxe, en tant que mémoire tampon, vient compléter le menu Edition. Fig. 11-12: Fenêtre de sélection 'Edition'' Implémentation, Sélection de langage Lors de la création d'un nouveau programme ou bloc fonctionnel, il faut définir si le fichier doit être traité avec une structure d'éléments SFC ou sans un tel niveau de structuration. (Pour les fonctions, seul un traitement sans éléments SFC est possible.) • Eléments SFC avec IL ou LD ou FBD en tant que langage de programmation. • Liste d'instructions (IL), en tant que langage de programmation • Diagramme à contacts (LD), en tant que langage de programmation • Diagramme de blocs fonctionnels (FBD), en tant que langage de programmation On peut permuter à discrétion entre la représentation en IL, LD et FBD. Lors de la permutation, le système tente de représenter dans le langage désiré les parties de programme entrées jusqu'à présent. Lors du passage de LD ou FBD au langage IL (liste d'instructions) ceci est toujours possible, lors du passage aux ou entre les langages graphiques ceci est possible en général. N.B. Si l'utilisateur décide de refuser l'utilisation d'éléments de structure SFC, cette décision est irréversible. Ensuite, il a le choix entre l’un des trois langages de programmation. Sa décision n'a aucun effet sur les possibilités de passage entre les langages de programmation. Un programme défini avec utilisation d'éléments de structure SFC peut utiliser des blocs fonctionnels définis sans ces éléments et inversement. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-16 Système global Guide de programmation SPS - 18VRS Les différents éditeurs des langages de programmation sont accessibles à partir de cette option de menu. Ces éditeurs sont décrits en détail aux chapitres ci-après: Editeur de Structure SFC → Chapitre 6 Editeur des blocs d'actions → Chapitre 7 Editeur de listes d'instructions IL → Chapitre 8 Editeur de diagrammes à contact LD Editeur de diagrammes de blocs → Chapitre 9 fonctionnels FBD → Chapitre 10 EXTRAS Liaison de données de process Un Interbus-S, Version logicielle G3, permet en supplément aux composants ordinaires de programme, la réalisation technique de sorties rapides en fonction d'entrées IBS et de registres de données IBS La version logicielle G4 ne supporte plus ces composants. L'adaptation des boucles IO s'effectue automatiquement (voir Chapitre 2, Editeurs IO), l'utilisateur doit veiller lui-même au remplacement de la liaison des données de process (voir chapitre<0}‘Si la simulation est connectée, un Avertissement IO est sorti (option de menu 'Diagnostic'). ’, Page 11-18). Le système supporte les instructions suivantes dont la réalisation sur le plan technologie de programmation en langages IL, LD et FBD est expliquée: Reset inconditionnel/conditionnel d’une sortie de process Lors d'un changement d'état de l'entrée de process Interbus-S, la sortie de process est remise à zéro. Flanc positif (>/P): 0 → 1 Passage Flanc négatif (</N): 1 → 0 Passage Reset2-Out-In01: Reset de la sortie de process avec flanc positif de l'entrée de process (Code d'instruction $07). LD> xx1 RESC zz1 [[]] 3 5 [[ ! 5 ]] Reset2-Out-In10: LD< xx2 RESC zz2 Reset de la sortie de process avec flanc négatif de l'entrée de process (Code d'instruction $08). [[]] 1 5 [[ 5 ]] Dans le cas d'un reset conditionnel d'une sortie de process, en dehors du flanc de l'entrée de process, le système évalue l'état d'une condition de validation dans le registre de manipulation bit de l'interbus-S. Reset-Out-In01-Switch: Reset de la sortie de process avec flanc positif de l'entrée de process (Code d'instruction $09). LD> xx3 AND yy1 RESC zz3 [[\\]] [[ ! 3 5 \\ 5 ]] DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-17 Guide de programmation SPS - 18VRS Reset-Out-In10-Switch: Reset de la sortie de process avec flanc négatif de l'entrée de process (Code d'instruction $0A). LD< xx4 AND yy2 RESC zz4 Copie d'un état d'entrée sur une sortie de process [[\\]] [[ 1 5 \\ 5 ]] Bit-Copy: Le bit d'entrée est copié à chaque cycle interbusS sur le bit de sortie. (Code d'instruction $0D). Copie d'un mot d'entrée sur un mot de sortie de process LD xx5 ST zz5 [[]] [[ ]] Word-Copy-Bit-Mask: Le mot d'entrée sélectionné, associé bit par bit au masque bit ET indiqué,. est copié à chaque cycle Interbus S . sur le mot de sortie.(Code d'instruction $0E). LD xw1 AND cw1 xw1 ST zw1 cw1 CAS PARTICULIER: LD xw2 ST zw2 Explications: xx1...xx5 xw1...xw2 yy1...yy2 zz1...zz5 zw1...zw2 cw1 ]Z Si tous les bits du mot d'entrée doivent être copiés sur le mot de sortie, le masque peut être supprimé. xw2 ]Z Variable d'entrée Interbus-S (BOOL) Mot d'entrée Interbus-S (WORD) Sorties bit du registre de manipulation (BOOL)de l'Interbus-S Variable de sortie rapide Interbus-S (BOOL) Mot de sortie Interbus-S (WORD) constante masque bit (WORD) Simulation IO Dans cette zone de l'implémentation, il est permis de simuler des messages réponses, c'est-à-dire de décrire des entrées. La zone est traitée avant l'implémentation proprement dite, si bien que l'on a dans chaque cycle d'exécution le comportement d'entrée suivant: Phase 1 Lecture des valeurs d'entrée via les systèmes bus de la commande, stockage dans la mémoire de représentation des entrées de la commande, COMME JUSQU'A PRESENT. Phase 2 Réécriture des entrées désirées par la simulation Implémentation et liaison de données de process comme jusqu'à présent. Phase 3 Sortie des valeurs de sortie via les systèmes bus de la commande. Dans le cadre de la simulation, il est possible de travailler en IL, LD, FBD. Des blocs fonctionnels, fonctions et variables de tout type de données peuvent être utilisés. Le mécanisme de l'importation et de la déclaration ne subit aucune modification. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-18 Système global Guide de programmation SPS - 18VRS Dans le cadre de la simulation IO, des modifications online sont possibles. La simulation peut être connectée ou déconnectée via l'option de menu 'Démarrage/Simulation IO On/Off' Si la simulation est connectée, un Avertissement IO est sorti (option de menu 'Diagnostic'). Implémentation 2ms Le programme SPS est ici divisé en deux zones différentes à déroulement rapide. Une zone est consacrée au programme SPS comme jusqu'à présent. Le temps de cycle varie entre 10 et 200 ms. La seconde zone, c'est-à-dire le programme SPS rapide, est appelée toutes les 2 ms, comme validé par FastEnabl= True. Le programme SPS rapide peut présenter une longueur maximale de 200 µs (durée). Une fois ce temps écoulé, l'erreur de système suivante est émise: 'Temps dépassé Implémentation 2ms' En raison du temps d'exécution limité, le nombre de réseaux programmables est faible. La compilation et le transfert de la section rapide du programme SPS peuvent donc s'effectuer sans gestion de segment. Dans la section rapide du programme, tous les OP/TY/FK/FB sont permis, mais aucune modification online n'est possible. Dans la section rapide du programme SPS, on peut accéder à toutes les variables définies dans la déclaration (ATTENTION DANGER: En cours d'exécution du programme SPS lent, il est possible que des variables se modifient; c'est le programmateur SPS qui assume ici la responsabilité correspondante) L'appel de la section rapide du programme SPS peut être piloté à partir du programme SPS. La pose du bit de validation FastEnabl permet le traitement de la section rapide du programme SPS. L'effacement du bit de validation FastEnabl entraîne le blocage du traitement de la section rapide du programme SPS. Prolongation du temps de cycle par implémentation rapide FastEnabl= FALSE, Implémentation rapide OFF $ ,PSOHPHQWDWLRQ % )DVW(QDEO 758( )DVW(QDEO )$/6( Implémentation rapide ON Impl. rapide OFF $ % A– Lecture entrées B- Ecriture sorties Editeur de déclaration <Alt>+<D> L'éditeur sert à la déclaration de variables et de blocs fonctionnels avant leur utilisation. En cas d'attribution d'adresses absolues, ces adresses sont comparées avec le tableau IO au niveau du programme. La déclaration d'un bloc fonctionnel utilisateur présuppose que ce bloc a été importé. Si des types de données utilisateur doivent être utilisés, il faut également les importer. Pour une représentation plus détaillée, voir: Editeur de déclaration → Chapitre 5 DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-19 Editeur d’importation <Alt>+<M> L'éditeur permet l'importation de fonctions, blocs fonctionnels et types de donnés définis par utilisateur dans le fichier de travail actuel. La section déclaration de ces FK, FB ou TY doit être entièrement complète. L'importation d'un FB ou TY doit être effectuée avant son utilisation dans la déclaration, celle d'une FK avant son utilisation dans l'implémentation. L'effacement d'une ligne d'importation n'est alors possible que si une utilisation de l'importation n'a pas encore été annoncée dans la section déclaration ou effectuée dans la section implémentation dans le cas des fonctions. Si le curseur se trouve sur le nom d'un FB importé (Nom du type), le passage à l'éditeur interface est possible avec 1-S-Edit. Pour une représentation plus détaillée, voir: Editeur d'importation → Chapitre 4 Actions <Alt>+<N> Cette option de menu ouvre pour tous les programmes structurés SFC ou blocs fonctionnels, la liste de toutes les actions appartenant au fichier chargé (voir Chapitre7 'Blocs d'actions (ACTION BLOCK) et actions (ACTION)') Le nom de l'action, son commentaire et le langage dans lequel elle est mémorisée sont affichés. Transitions Cette option de menu ouvre pour tous les programmes structurés SFC ou blocs fonctionnels, la liste de toutes les transitions appartenant au fichier chargé. Le nom de la transition, son commentaire et le langage dans lequel elle est mémorisée sont affichés. Option de menu ’Chercher’ Cette nouvelle option de menu regroupe toutes les instructions, dispersées jusqu'à présent dans les différents éditeurs, pour recherche et remplacement, liste des renvois et aide aux renvois y compris passage au renvoi précédent ou suivant dans la liste des renvois. Du point de vue fonctionnel, les instructions connues jusqu'à présent n'ont toutefois pas subi de modifications. Fig. 11-13: Option de menu ’Chercher’ DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-20 Système global Guide de programmation SPS - 18VRS Chercher Correspond à l'instruction Quick <Ctrl>+<Q><F> de l'éditeur respectivement actuel. Chercher & Remplacer Correspond à l'instruction Quick <Ctrl>+<Q><A> de l'éditeur respectivement actuel. Répéter Correspond à l'instruction <Ctrl>+<L>de l'éditeur respectivement actuel et permet de répéter la dernière recherche ou la dernière opération rechercher et remplacer de l'éditeur actuel. GOTO Correspond à l'instruction <Ctrl>+<G>, GOTO ligne …/GOTO Réseau .. de l'éditeur actuel. Dernière position... Correspond à l'instruction Quick <Ctrl>+<Q><P>, GOTO position précédente du curseur dans l'éditeur actuel. Liste des renvois / Aide aux renvois Pour une meilleure orientation, la recherche de noms, variables et fonctions est assistée à l'intérieur des programmes, blocs fonctionnels et fonctions. A côté du support disponible en tout temps pour la variable marquée par le curseur, on a implémenté à des fins de clarté et de documentation une assistance conviviale sous forme de tableau avec prédéfinition. Liste de renvois <Alt>+<L> Avec la liste des renvois, l'installation d'une fenêtre est prévue pour prédéfinition des éléments qui sont contenus dans la colonne 1 du tableau. Le classement peut être alphabétique ou absolu (entrées, sorties, marqueurs…). On peut pour affichage sélectionner tous les éléments; les éléments qui, jusqu'à présent, n'ont été que déclarés sans être utilisés sont sélectionnés comme les I/O (entrées/sorties) rapides. Fig. 11-14: Fenêtre de sélection pour liste de renvois DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-21 Guide de programmation SPS - 18VRS Fig. 11-15: Liste de renvois, variables symboliques classées dans l'ordre alphabétique L'affichage suivant est effectué: Nom Critère de sélection, Type Information sur le type, Référence Lieu de l'apparition (niveau programme) Trans/Etap. Etape (S) ou Transition (T) de l'apparition, Action Action de l'apparition, Position Réseau (N) de l'apparition, (A présent: ‘*N’, si plusieurs fois dans un réseau) Utilisation Nature de l'utilisation, Lecture/Ecriture/Edition/ Action booléenne, (pictogramme du langage de programmation) Lorsqu'on quitte la liste des renvois, la dernière version est mémorisée. Au lieu d'une nouvelle création, cette version sera utilisée tant que le fichier ne subit aucune modification Aide aux renvois <Alt>+<S> ⇒ Positionner le curseur sur le nom voulu. ⇒ Activer la combinaison de touches <Alt>+<S> (Aide aux renvois) Une fenêtre où sont indiqués les emplacements où le nom apparaît, est alors ouverte. Si le curseur ne se trouve sur aucun nom logique, une fenêtre de sélection est alors ouverte pour entrée du nom. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-22 Système global Guide de programmation SPS - 18VRS Fig. 11-16: Aide aux renvois à partir des différents éditeurs, <Alt>+<S>, Curseur sur terme recherché HM100 L'affichage suivant est effectué: Nom Nom symbolique des variables, du bloc fonctionnel ou de la fonction Type Type de la colonne 1, Abs_Var Référence absolue à la colonne 1, Trans/Etap. Etape (S) ou Transition (T) de l'apparition, Action Action de l'apparition, Position Réseau (N) de l'apparition, (A présent: ‘*N’, si plusieurs fois dans un réseau) Utilisation Nature de l'utilisation, Lecture/Ecriture/Action booléenne, (pictogramme du langage de programmation respectif) Renvoi précédent <Alt>+<F7> Si une liste de renvois existe, l’enregistrement qui se trouve dans la liste précédente de la liste sera sélectionné après activation de <Alt>+<F7> ou de l'option de menu correspondante, avec branchement correspondant. Renvoi suivant <Alt>+<F8> Si une liste de renvois existe, l'enregistrement qui se trouve dans la liste suivante de la liste sera sélectionné après activation de <Alt>+<F8> ou de l'option de menu correspondante, avec branchement correspondant. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-23 Guide de programmation SPS - 18VRS Mémoire tampon (Editeur de texte) ) <Alt>+<B> L'éditeur de texte (mémoire tampon) permet le stockage de blocs émanant d'un autre éditeur quelconque. Ces blocs peuvent être édités sans aucune réserve syntaxique. A partir de la version 17, l'archivage (et la relecture) de fichiers complets est possible. Fig. 11-17: Editeur de texte avec fichier archivé Couper <Shift>+<Delete> Copier <Ctrl>+<Insert> <Ctrl>+<K3> Insérer <Shift>+<Insert> <Ctrl>+<K4> Afficher <Alt>+<B> Déplacement du bloc marqué dans l'éditeur de texte Copie du bloc marqué dans l'éditeur de texte Insertion du bloc marqué dans l'éditeur de texte Passage à l'éditeur de texte Les raccourcis clavier: <Shift>+<Delete>, <Ctrl>+<Insert>, <Shift>+<Insert> ne sont possibles que sur certains claviers seulement. ATTENTION Pour la copie à partir des éditeurs graphiques (LD/FBD), les réseaux sont convertis en langage texturé correspondant (IL). Lorsqu'un bloc doit être lu à un autre endroit (autre programme, FB, action) un contrôle de syntaxe analogue à celui qui a lieu lors de la lecture du bloc est effectué. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-24 Système global Guide de programmation SPS - 18VRS Exemple: Un réseau peut par exemple être marqué dans le diagramme à contacts en tant que bloc puis copié dans l'éditeur de texte avec la combinaison de touches <Ctrl>+<Insert> (alternativement à la combinaison de touches <Ctrl>+<K><3>) .23 Lmarqueur a2 Fig. 11-18: Réseau LD marqué Après conversion du graphique en équivalent IL, le texte suivant se trouve dans l'éditeur de texte et peut être édité librement. Editeur de texte /'L $1'marqueur 67D Fig. 11-19: Réseau sous forme IL dans l'éditeur de texte Editeur de texte /'L $1'marqueur 67D Fig. 11-20: IL modifiée dans l'éditeur de texte Lorsque le bloc modifié est inséré à l'emplacement désiré, un contrôle syntaxique du bloc à lire a lieu, analogue au contrôle effectué lors de la lecture du bloc, ainsi que la conversion dans le format graphique correspondant. )%' ! L marqu. D Fig. 11-21: IL modifié transféré de l'éditeur de texte à l'éditeur FBD Les principales instructions de l'éditeur de texte sont regroupées dans le menu local. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-25 Fig. 11-22: Menu local de l'éditeur de texte Imprimer <Alt>+<P> Imprime le contenu de l'éditeur de texte (si actif) Instructions bloc Déplacement rapide du curseur Instructions Quick Instructions bloc 11.4 Menu compilation Le menu compilation (protégé par un mot de passe, voir Chap. 11.8, Page 11-54 ff) permet la traduction du programme, du bloc fonctionnel actuel ou de la fonction actuelle et il exécute pour le programme un 'Make' (Traduction des fichiers nécessaires) ou un 'Build' (Traduction intégrale) avec le link (lien) suivant: La traduction peut être influencée par la prédéfinition dans l'option 'Paramètres du compilateur'.(voir page 11-58) Fig. 11-23: Fenêtre d'option ‘Paramètres du compilateur’ DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-26 Système global Guide de programmation SPS - 18VRS Avec le bouton 'Gestion de segments active', un LD ou un réseau FBD ou son équivalent IL est défini en tant que 'plus petite unité modifiable'. Si la gestion de segments est inactive, c'est le programme, le bloc fonctionnel ou la fonction qui sera considéré comme étant la plus petite unité modifiable. Plus les dimensions de l'unité sont faibles, plus vite seront effectuées les modifications, la mémorisation et la traduction. Toutefois, comme les besoins de gestion augmentent, il faut alors s'attendre à une augmentation du temps de cycle. L'affectation prédéfinie est mémorisée lorsqu'on quitte le système de programmation. Les opérations ci-après mentionnées ne peuvent fonctionner correctement que si tous les composants, c'est-à-dire le programme, les blocs fonctionnels et les fonctions sont en concordance les uns avec les autres au niveau de leurs interfaces (ordre des entrées et sorties, noms, valeurs initiales des branchements). Normalement, il est naturel qu'un bloc fonctionnel soit développé au fur et à mesure, c'est-à-dire qu'il recevoive une entrée ou sortie supplémentaire, une autre ou une nouvelle valeur initiale entre autres. Comme l'unité à utiliser et l'unité utilisée ne concordent plus, un message d'erreur est alors émis lors de la traduction. L'adaptation de chaque côté est possible au moyen de l'éditeur interfaces. Editeur d'interfaces Chapitre 4 Editeur d'importation Traduction du fichier de travail / Compiler <Alt>+<F9> Après activation de la combinaison de touches <Alt>+<F9> ou en utilisant le menu principal <F10> / Fichier de travail, le système de programmation procède à la traduction du fichier actuel (PR/FB/FK). Dans le cas d'un programme, tous les blocs fonctionnels et fonctions sont ensuite reliés (connexion par link). Le résultat est affiché et doit être validé en appuyant sur une touche. L'opération de traduction peut être interrompue au moyen de <Esc>. Traduction, fichiers nécessaires / Make <F9> Après activation de la touche fonction <F9> ou de l'option du menu principal <F10> / Compiler, le système de programmation traduit les fichiers appartenant au programme SPS actuel. Si la traduction est démarrée à partir d'un des blocs fonctionnels utilisés ou d'une des fonctions utilisées, le nom du programme est connu au système de programmation et un traitement intégral est alors exécuté automatiquement à partir du niveau programme. Dans le cas des fichiers utilisés par le programme et traduits à une période ultérieure, un contrôle est effectué afin de vérifier si la source est plus récente que le résultat de la traduction. Ceci signifie que des modifications effectuées sur la source n'ont pas encore été prises en considération lors de la traduction. Les nouvelles traductions nécessaires sont alors effectuées en fonction de la place où se trouve la modification: dans la section déclaration et/ou dans la section implémentation. Ensuite, l'ensemble du programme est relié. Si une erreur survient ou si la touche <Esc> est activée, la traduction est interrompue. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-27 Guide de programmation SPS - 18VRS Fig. 11-24: Traduction du fichier de travail, des fichiers nécessaires (Make) et du programme complet (Build) ATTENTION Si à la place de la touche <F9>, on a sélectionné la combinaison de touches <Ctrl>+<F9>, le Make décrit cidessus est suivi du chargement et du démarrage du programme (voir Chapitre 0 Démarrage/télécharger <Ctrl>+<F9>, page 11-28). Traduction intégrale / Build Nouvelle traduction de tous les fichiers appartenant au programme SPS et liaison de ces fichiers par link. Si une erreur survient ou si la touche <Esc> est activée, la traduction sera interrompue. Fig. 11-25: Traduction intégrale / Build DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-28 Système global Guide de programmation SPS - 18VRS Modifications online Si un programme fonctionne sur la commande (ETAT = 1), la possibilité est alors donnée de procéder à des modifications online. L'opération de modification n'englobe toujours que le réseau actuel et elle est déclenchée via la ligne de pied '0 – Online Edit, sur le réseau existant. En activant la touche <Enter>, il est en outre possible d'insérer un nouveau réseau ou d'effacer un réseau via <Ctrl>+<Y>. Le réseau en cours de traitement est exclu de l'affichage d'état et repris dans le mode Edit. Une déclaration a posteriori d'identificateurs n'est actuellement pas encore permise. Le curseur ne peut se déplacer que sur le réseau. La procédure de modification est déclenchée par activation de la combinaison de touches <Ctrl>+<F9>. Si on active la touche <Esc>, le système demande si la modification doit être transmise ou non à la SPS ou si on désire que la modification soit poursuivie dans le segment actuel. N.B. Si la gestion des segments est active (Options/Compilateur), seul le réseau modifié sera traduit et transmis, si la gestion est inactive tout le fichier actuel sera complètement traduit et transmis. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-29 11.5 Mise en route / Démarrage Cette option du menu contient le chargement du programme SPS traduit et lié avec démarrage consécutif et aides fondamentales à la mise en route. Programme → Commande <Ctrl>+<F9> Reset Commande Simulation IO On/Off Affichage d'état On/Off <Shift>+<F9> Variables à plusieurs éléments <Shift>+<F3> Etapes actives Transitions actives Actions actives Observer On/Off <Ctrl>+<F8> Ajouter <Ctrl>+<F7> Evaluer/Modifier <Ctrl>+<F4> Chargement de l'ensemble du programme dans la commande Reset de toute la commande, valable seulement après erreur de système Activation / Désactivation des réseaux contenus dans Edition/Simulation IO. Activation / Désactivation de l'affichage d'état Affichage de variables à plusieurs éléments Tableaux d'exécution Etapes Tableaux d'exécution Transitions Tableaux d'exécution Actions Activation / Désactivation de Etat des variables contenues dans la liste Observer. Addition d'une autre variable dans la liste Observer Affichage de la valeur et modification unique de variables. Fig. 11-26: Menu Mise en route DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-30 Système global Guide de programmation SPS - 18VRS Programme →Commande <Ctrl>+<F9> Cette option de menu permet le chargement et le démarrage du programme avec mot de passe valide, après traduction de l'ensemble du programme. Le déclenchement du téléchargement est possible à partir de chaque niveau FB et FK à l'intérieur du programme SPS. Le passage est alors effectué dans le mode 'Etat'. Alternativement à la sélection via le menu principal <F10>, il est également possible d'utiliser le raccourci clavier <Ctrl>+<F9> Si le système de programmation constate qu'un état de traduction actuel n'existe pas encore, une 'traduction des fichiers nécessaires' (Make) sera alors amorcée automatiquement . Reset Commande Le Reset Commande permet une remise à zéro de la commande après une erreur de système. Si une erreur de système n'existe pas, cette commande sera ignorée. Affichage d'état <Shift>+<F9> Cette option du menu permet la déconnexion de l'affichage d'état avec passage au mode Edit (Nom utilisateur / mot de passe doivent être disponibles) ou au mode Affichage. Si le programme n'a pas été modifié, il est toujours possible dans les deux cas de retourner à l'affichage d'état. L'affichage d'état offre à l'utilisateur l'image habituelle connue dans les éditeurs pour le programme actuel. La ligne de pied active permet alternativement à l'affichage d'état <Shift>+<F9>: • de déconnecter l'affichage d'état et de passer dans le mode Edit. (Mot de passe!) La SPS continue alors à fonctionner avec l'ancien programme tandis que l'utilisateur effectue déjà des modifications dans le nouvel état. • d'afficher des variables / d'afficher la valeur de variables. Variables à plusieurs éléments <Shift>+<F3> Pour les variables à plusieurs éléments (ARRAY, STRUCT, STRING), on a via cette option de menu ou via le raccourci clavier <Shift>+<F3> la possibilité de faire apparaître une fenêtre affichage avec la structure interne des variables. Avant d'ouvrir cette fenêtre, le curseur doit être positionné sur la variable désirée. Si le curseur n'est pas pointé sur une telle variable, une fenêtre s'ouvrira pour l'introduction du nom. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-31 Fig. 11-27: Sélection d'une variable à plusieurs éléments (Type de données micrologiciel, structure) Fig. 11-28: Affichage d'une variable à plusieurs éléments Avec les structures ou tableaux à imbrications multiples STRING compris, il est nécessaire de limiter la quantité de données affichées directement et de sélectionner des éléments séparés. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-32 Système global Guide de programmation SPS - 18VRS Fig. 11-29: Indication de la position d'un élément de tableau Dans le cas des tableaux multidimensionnels, on ne peut afficher que des colonnes séparées (sélectionnables). Etapes, Transitions, Actions actives Les fenêtres peuvent être ouvertes alternativement, elles se recouvrent. Ces fenêtres affichent l'ordre actuel dans lequel sont exécutées les étapes, transitions ou actions. Les fenêtres sont conservées même en cas de passage vers un autre éditeur et sont actualisées. Le passage entre éditeur et fenêtre d'affichage s'effectue avec la touche <F4>. Fig. 11-30: Tableau des transitions dans l'éditeur SFC DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-33 Observation de variables Observer on/off <Ctrl>+<F8> Activation et désactivation de la fenêtre Observer (après désactivation les variables enregistrées sont conservées dans la fenêtre). Ajouter <Ctrl>+<F7> Entrée des variables désirées dans la fenêtre d'entrée en les ajoutant aux autres dans la fenêtre Observer. IL EST PREFERABLE D'UTILISER: le curseur en le positionnant sur la variable, puis: activer <Ctrl>+<F7> la variable est alors insérée dans la fenêtre Observer. Edition de liste <Insert> Insertion d'une nouvelle variable <Delete> Effacement de la variable actuelle <Enter> 3-Mémoriser Copie du nom actuel de la variable dans la fenêtre d'entrée Archivage de la liste complète 4-Charger Chargement d'une liste archivée 5-Effacer Effacement d'une liste archivée <Esc> Fin de l'édition de liste Grâce à la fonction Observer, il est possible d'examiner la valeur de variables en cours d'exécution du programme indépendamment de l'éditeur actuel. Il est possible d'entrer des variables symboliques et absolues à un élément comme des variables STRING . Si l'une des variables indiquées existe dans le programme chargé, la valeur numérique de cette variable est immédiatement affichée après son entrée, dans la fenêtre Observer Si la variable n'existe pas, le texte: ’ identificateur inconnu’ sera alors affiché Fig. 11-31: Observation de variables Dans le cas de l'utilisation de programmes avec blocs fonctionnels sousjacents, il est possible d'afficher des variables à partir de toutes les unités utilisées dans le programme (également des unités utilisées seulement localement dans FB). Dans ce contexte, ces variables sont, conformément à la disposition dans la structure de programme SPS, qualifiées en supplément avec tous les noms d'utilisation des FB supérieurs. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-34 Système global Guide de programmation SPS - 18VRS Le format d'affichage de la valeur des variables (binaire, octal, décimal, hexadécimal) peut être (séparé par une virgule) défini séparément pour chaque variable en indiquant le système numérique (2/8/10/16, S pour structures, y compris le nom des éléments de structure). Le format standard est hexadécimal. En supplément, le type est affiché pour chaque variable. Dans la fenêtre Observer, il est théoriquement possible d'entrer un nombre de variables supérieur à celui des variables visibles. Ceci est judicieux, puisque la liste mémorisée peut également être utilisée pour l'analyse logique (diagnostic). Evaluer/Modifier <Ctrl>+<F4> La forme la plus simple pour influencer une variable est représentée par la possibilité d'intervenir une fois sur la valeur de cette variable. (Combinaison de touches <Ctrl>+<F4>) L'appel s'effectue via: ⇒ Sélection de la variable désirée au moyen du curseur, puis ⇒ avec la combinaison de touche <Ctrl>+<F4> modification du nom de la variable. ⇒ Confirmation avec <Enter> Type et valeur actuelle sont affichés. La valeur actuelle peut être réécrite avec une nouvelle valeur (appropriée au type). Fig. 11-32: Intervention unique pour influencer des variables Nouveau dans Version 18 En utilisant des variables système, le forçage d'action (voir Chapitre 7) est toujours possible et le forçage d'étapes en mode manuel permis (voir Chapitre 6). DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-35 11.6 Menu Diagnostic Les fonctions suivantes qui se trouvent dans le menu Diagnostic viennent compléter le menu Mise en route. Messages diagnostic Alarme SPS • Affichage global d'erreurs de système et diagnostics • Avertissement si Simulation IO est sur On • Avertissement en cas de ErrorFlg=TRUE • Avertissement en cas de déconnexion d'éléments enfichables, postes, boucles Information SPS • Temps de cycle • Mémoire SPS disponible • Informations sur le programme se trouvant dans la SPS • Informations sur le programme se trouvant sur le support de stockage (archive) de la SPS Information projet • Données du projet chargé • Commande cible • Mémoire de données utilisée • Composants de commande utilisés Boucles, FB/FK/Registres d'horloge Analyse logique • Analyse logique assistée par évènement Messages diagnostic Les erreurs de système CNC sont affichées avec un texte bref dans la ligne supérieure de la boîte. L'option de menu permet ensuite l'affichage d'un message erreur plus détaillé. Fig. 11-33: Menu Diagnostic, spécial: Messages de diagnostic Si on utilise la fonction Messages de diagnostic (accessible le plus facilement par la fonction <F10>, une brève explication sur l'erreur actuelle apparaît alors (dans la mesure où la CNC supporte cette possibilité). DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-36 Système global Guide de programmation SPS - 18VRS Après validation, le menu affiche les messages de diagnostic sur la commande. S'il n'y a pas d'erreur, seuls les messages de diagnostic seront émis. Alarme SPS Cette option de menu fournit des informations complémentaires sur: • l'état de la Simulation IO (ON ou OFF) Si la simulation IO est allumée, un avertissement est émis. • le niveau des erreurs du projet Le système affiche l'ErrorFlg du programme et en supplément, si l'utilisateur se trouve dans un FB/FK, ErrorFlg, ErrorNr, ErrorTyp du fichier chargé actuellement. Un avertissement est émis si une erreur apparaît (ErrorFlg=TRUE). • Etat de la gestion IO en général: un avertissement est également émis lorsque des éléments enfichables, des postes ou des boucles entières sont déconnectés. Information SPS Cette option de menu comprend une courte information sur le système SPS au moment actuel. Fig. 11-34: Information SPS Temps de cycle Le procédé de traduction supporté par le compilateur entraîne des différences réelles du temps de traitement, d'actualisation de sorties en actualisation de sorties. Le temps de traitement dépend par exemple du nombre de transitions actives, du nombre d'étapes actives, de la profondeur d'imbrication des blocs fonctionnels, entre autres nombreux facteurs possibles. Si on utilise cette fonction (au mieux via la touche fonction <F10>), on fait apparaître le temps de cycle minimal apparu jusqu'à présent, le temps de cycle actuel et le temps de cycle maximal apparu depuis le démarrage du programme. Le temps de cycle minimal peut dans le cas de programmes relativement importants être considérablement plus faible que le temps de cycle actuel ou maximal. C'est ainsi par exemple que l'indication '2ms' (en fait il faudrait dire inférieur à 2 ms) peut être réduite à quelques actions à exécuter dans l'étape initiale ou à une étape d'attente sans action active. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-37 Guide de programmation SPS - 18VRS On peut partir du principe que toutes les sections du déroulement de process ne se comportent pas de la même façon critique par rapport au temps si bien que dans chaque section seul le temps de cycle actuel doit être inférieur au temps de cycle admissible. Mémoire Matériel Version micrologicielle On obtient ici des informations sur la mémoire disponible et la mémoire encore disponible dans la SPS. Affichage de • Désignation de l'appareil par ex.MTC200-R, MT-CNC, ISP200-R • Composants 1 (SPS) par ex. MTS-P, MPU, MTS-R • Composants 2 (CNC) par ex. MTC-P, MPU, MTS-R Indication de la version micrologicielle de la SPS Programme dans Commande Affichage du nom de l'installation, du programme, de la longueur du programme, date de création, heure, nom de l'utilisateur, date de chargement et heure ainsi qu'état de la gestion des segments. Programme archivé dans la SPS Affichage du nom de l'installation, du programme, de la longueur du programme, date de création, heure, nom de l'utilisateur, date et heure du chargement du programme archivé dans la SPS. Information projet Fig. 11-35: Informations sur le projet qui se trouve dans l’ordinateur Sous cette option de menu, des informations sont disponibles sur le projet actuellement chargé (programme avec les blocs fonctionnels, fonctions et types de données utilisés). Les données sont obtenues à partir de la traduction (fichiers nécessaires <F9> ou traduction intégrale). Un couplage avec la commande ou un chargement du programme dans la commande <Ctrl>+<F9> ne sont pas nécessaires dans ce contexte. Projet chargé Affichage des informations (nom du projet), numéro de l'installation SPS, nom du programme, longueur totale du projet, dernière modification le (avec classement séparé en fonction de la date et de l'heure) et affichage de la gestion des segments (options/paramètres du compilateur). Commande cible Ici sont affichées les commandes INDRAMAT sur lesquelles le projet actuel peut fonctionner. (Les FB micrologiciels, FK micrologicielles ou types de données micrologiciels utilisés et non implémentés sur les commandes entraînant ici une limitation) Mémoire de données utilisée Toutes les SPS INDRAMAT utilisent une gestion mémoire dynamique, c'est-à-dire que la commande met, en fonction du type, la mémoire cor- DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-38 Système global Guide de programmation SPS - 18VRS recte demandée à disposition. La valeur affichée est respectivement arrondie à n*8 octets. (Exception: pour 0 octet, 8 octets sont également affichés) L'affichage commence avec les variables à adressage absolu dans la zone VAR...END_VAR, ou VAR RETAIN...END_VAR. Ensuite sont affichées les variables binaire et autres variables BYTE-, WORD-, INT- ....affectées par le compilateur dans la zone VAR…END_VAR . qui sont suivies par les variables binaires et autres variables BYTE-, WORD-, INT- ....affectées par le compilateur dans la zone VAR RETAIN…END_VAR.. En conclusion, on trouve la place de mémoire nécessaire pour les chaînes de caractères (STRING). Composants de commande utilisés Nombre de FB/FK définis par utilisateur: Nombre des différents FB et FK, le nombre des appels de chaque FB/FK étant libre. Nombre des registres d'horloge utilisés: Nombre des paliers temporels utilisés au total et des actions évaluées dans le temps. Variables Entrée/Sortie boucle 1 PLC: Type de la boucle et nombre des octets entrée et sortie (éléments enfichables) qui sont utilisés dans la boucle1 D'autres boucles jusqu'à un nombre maximal de 4 externes et 4 internes peuvent être validées. Analyse logique La fonction Analyse logique permet l'enregistrement des modifications d'état des variables utilisées dans le programme. Elle utilise et engendre deux fichiers: Liste de variables Fichier de protocoles • La liste de variables comprend les noms complets des variables à analyser. Les valeurs d'analyse sont archivées dans ce fichier. Il peut être mémorisé et chargé plus tard. • Elle peut être créée dans l'option de menu ‘DEMARRAGE / OBSERVER’ (voir Chap. ‘Observation de variables’, Page 11-32) puis chargée ici, ou bien par entrée directe du nom des variables. (0-Edit avec ETAT = On, voir Fig. 11-32: Intervention unique pour influencer des variables) • • • Les protocoles peuvent être enregistrés et affichés sous différents modes. La fonction zoom permet à l'utilisateur un agrandissement des parties qui l'intéressent. L'analyse doit être déclenchée et évaluée dans l'interface de programmation SPS. Les interfaces de programmation SPS ou la déconnexion de l'ordinateur sont possibles en cours d'analyse. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-39 L'établissement du protocole peut s'effectuer conditionnellement, c'est-àdire que l'enregistrement peut être déclenché avec indication d'une condition de déclenchement (trigger). Accès à l'éditeur de protocoles Le travail dans l'éditeur de protocoles peut s'effectuer soit avec la liste de variables dressée (DEMARRAGE / OBSERVER, voir Chap. ‘Observation de variables’, Page 11-32) ou démarrer par entrée directe du nom des variables. L'entrée directe présuppose qu'un programme est en fonctionnement sur la SPS et la présence du mode ETAT. Fig. 11-36: Entrée / Modification de variables dans la liste de variables actuelle Edition de liste <Insert> Insertion d’une nouvelle variable <Delete> Effacement de la variable actuelle <Enter> 3-Mémoriser Copie du nom de la variable actuelle dans la fenêtre d'entrée. Archivage de la liste complète 4-Charger Chargement d'une liste archivée 5-Effacer Effacement d'une liste archivée <Esc> Fin de l'édition de liste Représentation du protocole Le protocole comprend au maximum 8 variables sous la forme d’un graphe en ligne. Les noms des différentes variables sont affichés les uns en dessous des autres sur le côté gauche de l'écran en en-tête du protocole. Variables binaires sont affectées de '0' ou '1'. Variables numériques La valeur correspondant à la position du curseur est affichée dans l'entête du protocole. Graphe en ligne Ce graphe indique en supplément la valeur '= 0' et 'supérieure à 0' pour les variables numériques. Si le protocole dépasse les limites de l'écran, il est possible de se déplacer par déroulement latéral. Pour ce faire, il faut déplacer la barre de défilement latéral au moyen des touches de direction du curseur de défilement. L'en-tête du protocole n'est pas modifié par le déroulement. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-40 Système global Guide de programmation SPS - 18VRS Fig. 11-37: Protocole terminé avant le début du nouvel enregistrement (l'écran est vide lorsqu'un protocole terminé existe) Instructions de pied de page Démarrage de l'enregistrement Lors du démarrage de l'enregistrement, la liste de variables est transférée dans la SPS. C'est là et uniquement là qu'est dressé le protocole. La communication est ainsi beaucoup plus simple. L'enregistrement commence immédiatement après déclenchement de la fonction avec les options définies ou prédéfinies. L'état de l'enregistrement est affiché sur le PC par une flèche mobile. Lorsque le protocole est complet dans la SPS, c'est-à-dire lorsque le nombre défini des inscriptions est atteint ou lorsque l'enregistrement est terminé, le protocole est alors chargé dans le PC et affiché sous forme formatée conformément à la base temporelle définie. Si le mode d'enregistrement a été défini comme étant réitératif, un nouvel enregistrement est immédiatement amorcé. Avec les touches de direction, il est possible de déplacer le protocole. Une conversion du formatage est possible avec une nouvelle base temporelle. Après démarrage de l'enregistrement, on peut quitter la fonction Analyse logique. Lorsque le protocole est complet dans la SPS, un message apparaît indiquant: Protocole complet et le système attend alors une validation avec une touche quelconque. Lors de l'accès suivant dans l'éditeur de protocoles, ce protocole sera affiché. Fin de l'enregistrement L'enregistrement dans la SPS est terminé et le protocole enregistré jusque là est affiché. On peut alors mettre fin au protocole lorsque la condition de déclenchement est donnée ou si le nombre d'inscriptions sélectionné est trop important. Un nouveau redémarrage d'enregistrement peut alors suivre. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-41 Guide de programmation SPS - 18VRS Mémorisation d'un protocole Si un protocole se trouve dans l'éditeur, il peut être mémorisé sous un nom choisi librement. Chargement d'un protocole Un nombre quelconque de protocoles peut être lu dans l'éditeur de protocoles (même s'il s'agit de protocoles établis dans d'autres sources SPS). L'affichage s'effectue avec la base temporelle sélectionnée en dernier. Une conversion de formatage est toujours possible. N.B. La liste de variables actuelle est surchargée par la liste contenue dans le protocole. Mise au point de la base temporelle Fig. 11-38: Sélection de la base temporelle Comme l'établissement de protocole dans la SPS est piloté en fonction des évènements, les inscriptions dans le protocole ne sont pas effectuées suivant une grille temporelle fixe. Pour pouvoir effectuer une linéarisation sur un axe temporel, il faut sélectionner une base temporelle pour la plus petite unité représentable. Dans la figure représentée ci-après, on a sélectionné en tant que plus petite unité une base temporelle de 1000 ms. Fig. 11-39: Affichage du protocole – Base temporelle 1000 ms DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-42 Système global Guide de programmation SPS - 18VRS Si aucune base temporelle n'a été choisie ( 0 – aucune), un diagramme d'impulsions avec une modification d'affectation par cycle est alors affiché. Dans l'en-tête du protocole, le temps de l'entrée se trouvant sous le curseur (voir ci-dessus) est alors affiché. Si la valeur d'une variable se modifie plusieurs fois à l'intérieur de la grille temporelle, la valeur de la variable pour cette grille temporelle est alors représentée par un champ plein ('¦') comme étant non déterminée. Si pour des raisons de place de mémoire, le protocole ne peut pas être représenté sous une base temporelle sélectionnée, le message d'erreur suivant sera alors émis: 'Mémoire insuffisante, sélectionner une base temporelle plus grande' La mémoire temporelle '10ms' permet dans ce contexte une résolution jusqu'aux différents pics de tension aux sorties. Nombre d’enregistrements dans le protocole et position du point de déclenchement Fig. 11-40: Nombre d’enregistrements dans le protocole et position du point de déclenchement La définition est possible par entrée directe des valeurs numériques ou par déplacement de la marque sur la barre. Pour passer d'un champ à l'autre de la boîte, il faut utiliser les touches <CursorUp>, <CursorDown> ou <Tab>. L'établissement d'un protocole dans la SPS est effectué en fonction des évènements, c'est-à-dire qu'un enregistrement dans le protocole n'est effectué que si la valeur de la variable à protocoler s'est modifiée ou si la condition de déclenchement Marqueur %M0.0 est apparue. Ce mode d'établissement de protocole garantit une sollicitation minimale de la mémoire si les enregistrements couvrent une longue période tout en minimisant le temps nécessaire au transfert de données entre SPS et PC. La position du trigger peut être définie en continu. Les valeurs 200 ou 100 sont prédéfinies de façon standard Si la place dans la SPS n'est pas suffisante pour protocoler le nombre d'enregistrements défini, ce nombre est alors limité automatiquement au nombre maximal possible. La position du trigger est corrigée en fonction de cette limitation. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-43 Guide de programmation SPS - 18VRS Mode d’enregistrement Fig. 11-41: Mode d’enregistrement En mode d’enregistrement, on peut choisir entre enregistrement unique et enregistrement réitératif. Si on a choisi le mode réitératif, le système procède automatiquement à un nouvel enregistrement dès que le protocole est terminé. Dès que le nouvel enregistrement est terminé, l'ancien protocole est alors rejeté. Touches de direction et touches particulières Menu local DOK-CONTRL-SPS*PRO*V18-AW01-FR-P En supplément aux instructions énumérées pour le pied de page, l'éditeur reconnaît les touches suivantes pour un déplacement du curseur. • <CursorLeft> Curseur de défilement pour sauter d'une colonne vers la gauche. • <CursorRight> Curseur de défilement pour sauter d'une colonne vers la droite. • <PageUp> Curseur de défilement pour sauter d'une colonne vers la gauche. • <PageDown> Curseur de défilement pour sauter d'une page vers la droite. • <Home> Curseur de défilement pour aller au début du protocole • <End> Curseur de défilement pour aller à la fin du protocole Comme tous les autres éditeurs, l'éditeur de protocole dispose d'un menu local accessible via la combinaison de touches <Alt>+<F10>. 11-44 Système global Guide de programmation SPS - 18VRS Fig. 11-42: Menu local, éditeur de protocole Effacement du protocole L'éditeur de protocoles conserve en mémoire le protocole actuel sous la forme comprimée d'environ 5 Ko de l'enregistrement piloté en fonction des évènements, même lorsqu'on quitte la fonction Analyse logique. Lorsqu'on accède à nouveau dans l'éditeur, le protocole actuel est immédiatement affiché. En cas de problème de place de mémoire, ces 5 Ko peuvent être récupérés en effaçant le protocole. La mémoire beaucoup plus importante allouée pour la représentation formatée du protocole est toujours entièrement libérée lorsqu'on quitte l'éditeur de protocoles. Instructions bloc Le menu bloc est directement accessible via le raccourci clavier <Ctrl>+<K> . • <Ctrl>+<K><A> Début de bloc • <Ctrl>+<K><B> Fin de bloc • <Ctrl>+<K><1> Définir marque 1 • <Ctrl>+<H><K> Désactiver / activer bloc Lors de représentations avec allongement important (faible base temporelle), il est judicieux de poser une marque dans le protocole à titre d'orientation. Sa position est affichée sur la barre position dans la couleur de la marque. Par ailleurs, si une marque a été posée, la valeur absolue du temps différentiel entre marque et position actuelle du curseur est calculée dans l'entête du protocole relatif à l'information temporelle. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-45 Guide de programmation SPS - 18VRS Fig. 11-43: Préparation du ZOOM par marquage de bloc dans la zone voulue Le marquage d'un bloc est une condition préliminaire au zooming, c'est-àdire à l'agrandissement avec la LOUPE d'une zone marquée à l'échelle temporelle désirée (max. 2ms). Le zooming est applicable plusieurs fois. Instructions Quick Le menu Quick est directement accessible via le raccourci clavier <Ctrl>+<Q>…. • <Ctrl>+<Q><S> Curseur vers le bord gauche (comme <Home>) • <Ctrl>+<Q><D> Curseur vers le bord droit (comme <End>) • <Ctrl>+<Q><P> Curseur vers la dernière position • <Ctrl>+<Q><T> Curseur vers le trigger • <Ctrl>+<Q><1> Curseur Saut vers la marque 1 11.7 Menu projet Les fonctions appartenant à cette option de menu sont des fonctions générales. Documentation Strukture <Alt>+<F4> Affectation IO <Alt>+<I> Archivage Regroupement et impression des composants de la documentation, Création d'un texte de pied de page pour la documentation Structure du programme actuel Appel de l'éditeur IO Archivage sur un support de stockage, récupération, gestion des archives pour données, projets et groupes de données (nouveauté à partir de la Version 4,17) Archivage, récupération et effacement des données RETAIN émanant de la commande. Archivage des commentaires DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Extraction / réinsertion de commentaires (lors de traduction) 11-46 Système global Guide de programmation SPS - 18VRS Fig. 11-44: Menu projet Documentation L’interface de programmation SPS permet la documentation des programmes SPS à trois niveaux: 1. Documentation dans l'editeur séparé actuel <Alt>+<P> (voir ‘Menus locaux’ des éditeurs) 2. Documentation du fichier de travail qui est chargé actuellement. 3. Documentation de l'ensemble du programme avec FB/FK/TY utilisés. Par ailleurs et en supplément, une documentation des programmes SPS est également possible à partir de l'interface CNC. La fenêtre de sélection de base est identique pour les points 2 et 3 et elle est explicitée ci-après. Pour le point 1, elle est réduite au minimum nécessaire. Ensemble de la documentation Les options de menu suivantes permettent, en outre, d'exercer une influence sur le contenu de la documentation: Paramètres généraux Représentation des adresses de variables absolues avec I/Q ou E/S, soit %E1.1.3 au lieu de %I1.1.3 et inversement. En remplacement reprise du commentaire de déclaration dans l'implémentation, pour le cas où il n'existe pas de commentaire d'implémentation. Paramètres de l'écran Dimension des éléments LD/FBD, Type de la représentation des commentaires Projet/Renvoi Prédéfinition des critères de triage Le regroupement des composants de la documentation est effectué dans la fenêtre de sélection représentée ci-après. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-47 Guide de programmation SPS - 18VRS Fig. 11-45: Fenêtre de sélection pour documentation de l'ensemble du programme Sous les différentes options de sélection, il est possible de choisir les paramètres préliminaires suivants: Composants Sommaire Affectation E/S Liste d'importation Arbre importation Déclaration Renvoi Organigramme séquentiel Transitions Etapes Implémentation/Actions/ (des chapitres imprimés!) (Tableau IO des postes connectés) (Editeur importation) (Structure de PR/FB/FK/TY) (Editeur de déclaration, prédéfinissable!) (Liste de renvoi, prédéfinissable!) } } } si existantes dans fichier Simulation IO Données de process Commentaires } } Impression supprimée des commentaires de variables sous les réseaux Alternativement, il est possible de définir les langages de la documentation Documentation en ( ) Langage initial (*) LD ( ) FBD ( ) IL (langage des entrées) Si une conversion dans les langages désirés sus-mentionnés n'est pas possible, il est possible d'utiliser en remplacement le langage suivant: Langage de substitution (*)langage initial (langage dans lequel les entrées ont été effectuées) ( ) IL Lignes de pied de page L'utilisateur a la possibilité de définir lui-même des textes en pied de page ou de sélectionner des fichiers de texte de pied de page déjà existants (Bouton Lignes de pied de page dans la fenêtre ou option de menu 'Projet/Documentation/ligne de pied de page). La sortie directe de la documentation peut s'effectuer sous la forme d'un fichier d'impression (nom du fichier et lecteur\répertoire peuvent être DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-48 Système global Guide de programmation SPS - 18VRS choisis librement) ou bien directement sur imprimante (interface de l'unité de sortie et type d'imprimante peuvent être choisis librement). Unité de sortie Nom de fichier Type d'imprimante Lignes de pied de page Installer (*) Fichier Caractères ASCII et caractères de contrôle imprimante, 120 caractères par ligne ( ) LPT1...LPT3 Sortie directe via pilote adjacent Nom du fichier impression, dérivé de façon standard du nom du fichier actuel, définissable via entrée directe ou fenêtre history. LASER90 DRUCK60 PCL100 Elles permettent de passer entre les différents textes de pied de page rédigés par l'utilisateur. mémorise les paramètres prédéfinis pour d'autres opérations Textes de pied de page Fig. 11-46: Création de fichiers de texte de pied de page par l'utilisateur. Pour l'édition d'un texte de pied de page, il faut entrer le nom désiré. Pour un nouveau texte, on entre tout d'abord dans une boîte où le contenu d'un texte standard est affiché. Ensuite on peut modifier ce texte. L'édition est supportée par Instructions ‘#’ par fenêtre de sélection #_VPARAMETER___________# Nom du fichier (actualisé automatiquement) #_DATE__# Date actuelle #_TIME_# Heure actuelle #_FDATE__# Date de la création du fichier #_FTIME# Heure de la création du fichier #_P# Numéro de la page La longueur proposée tient compte du nombre maximal possible de caractères. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-49 Guide de programmation SPS - 18VRS Structure , Structure de programme <Alt>+<F4> La structure de programme <Alt>+<F4> est le centre de toutes les opérations de chargement, en cas de changement de fichier de travail, de traduction et de chargement dans la SPS etc. Après mise en place de la structure, il est possible d'accéder à chaque fichier utilisateur sous n'importe quel mode de fonctionnement Si on active ensuite le raccourci clavier <Alt>+<F4>, il est possible de se déplacer à n'importe quel endroit du fichier. Le curseur bloc doit être utilisé pour le fichier désiré. Si on active <Ctrl>+<Enter>, le passage à ce fichier s'effectue dans le menu édition Abréviations utilisées: FB Bloc fonctionnel utilisateur fb Bloc fonctionnel micrologiciel Fb Bloc fonctionnel protégé FK Fonction utilisateur fk Fonction micrologicielle Fk Fonction protégée TY Type de données utilisateur ty Type de données micrologiciel Ty Type de données, protégé Fig. 11-47: Structure de programme Ci-après, on a procédé à une interprétation de la structure. Explications: fb TON TIMER FB micrologiciel-FB TON, Nom d’affectation TIMER FB CLOCK ----- fb TON clock1 TIMER FB CLOCK ----- fb TON clock2 TIMER Fb OVGY0_00 FB utili.CLOCK, utilisé deux fois Nom d'affectation 1: clock1 Nom d'affectation 2: clock2 chaque affectation a les mêmes FB/FK.utilisés.. FB protégé OVGY0_00, Aucun nom d'affectation, c'est-à-dire seulement importé, non déclaré, Les fonctions n'ont pas de nom d'affectation étant donné qu'elles ne possèdent pas de variables internes (statiques). DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-50 Système global Guide de programmation SPS - 18VRS Via les instructions de pied de page, il est possible: • de commuter du mode ETAT à EDIT/AFFICHAGE et • d'inhiber l'affichage des blocs fonctionnels micrologiciels et fonctions micrologicielles. ATTENTION Si, dans le cadre d'un tel projet, il n'est plus possible de retrouver certains FB ou certaines FK ou encore certains TY (à la suite par exemple d'un effacement par inadvertance), le nom de ces FB,FK ou TY sera alors affiché en couleur à la place correcte dans la structure. FB,FK,TY doivent alors ou être recréés ou bien regénérés à partir d'un projet antérieur. Un menu local, appelable par le raccourci clavier <Alt>+<F10> est par ailleurs implémenté dans la représentation de la structure. Cette structure de programme comprend les points suivants: Imprimer <Alt>+<P> Instructions Quick Impression de la structure du programme Déplacement rapide du curseur dans l'arborescence Affectation IO <Alt>+<I> C'est dans cet éditeur qu'est effectuée l'entrée de l'affectation correspondant au programme des postes avec canaux d'entrées et de sorties (éléments enfichables) et leur type ainsi que leur classement en correspondance avec une des boucles. Pour une représentation plus détaillée, voir: Editeur IO → Chapitre 3 L'affectation IO définie constitue la base de l'utilisation de variables d'entrées et de sorties absolues dans la section déclaration et implémentation, c'est-à-dire que seuls les canaux entrées et sorties convenus peuvent ensuite être utilisés. Une modification ultérieure de cette affectation après avoir quitté cet éditeur est toujours possible, avec prise en compte automatique des entrées et sorties déjà utilisées dans la section implémentation ou déclaration, mais elle n'est possible que dans cet éditeur. Archivage L'archivage offre la possibilité de stocker certains fichiers, un projet complet ou un jeu de fichiers sélectionné avec leurs commentaires, pour pouvoir ensuite les récupérer à nouveau. (nouveau dans Version 17) (sur disque dur, disquette, serveur ou s'il s'agit de projets dans la SPS) Pour l'édition des archives (Effacement/Renommage), on dispose d'un gestionnaire d'archives (nouveau dans la version 17). L'archivage des données RETAIN reste possible sans modification. Fig. 11-48: Option de menu ’Archivage’ DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-51 Archiver Fig. 11-49: Archivage de fichiers Liste de sélection Archive cible Définition de l'archive cible (Lecteur ou SPS) L'archive cible qui a été sélectionnée en dernier est conservée lors de l'appel d'archivage suivant. Champ de sortie Projet Affiche le projet dont on a stocké des fichiers. Si ce projet concorde avec le projet dans la commande, une remarque supplémentaire (actuelle dans SPS) sera affichée. Si cette remarque n'apparaît pas, cette archive ne pourra pas être restaurée automatiquement sur l'interface, ceci signifie qu'après sa récupération, un nouveau téléchargement sera nécessaire. Champ d'entrée Nom Entrée d'un nom d'archive (si archive cible est un lecteur) Dans la liste qui se trouve en dessous, les archives déjà existantes sur la cible sont affichées. Si on active ici <Space>, l'identificateur actif est alors repris dans le champ d'entrée Nom. Le paramètre prédéfini est ici le nom du fichier de travail chargé. Champ d'entrée Version Entrée d'une version (si archive cible est un lecteur) , La version d'un nom déjà existante sur la cible est affichée dans la liste qui se trouve en dessous. Si on active ici <Space>, l'identificateur actif est alors repris dans le champ d'entrée Version. Le paramètre prédéfini est la date actuelle (par exemple 970117). Liste de sélection Contenu Affiche tous les fichiers qui se trouvent dans le projet d'archive; tous les fichiers contenus dans l'archive étant marqués. De façon standard, le fichier de travail et tous les fichiers qui y ont été importés, sont marqués. Avec <Space>, il est possible de marquer/démarquer certains fichiers, mais l'intégralité des importations n'est alors plus donnée. La concordance de l'archive avec le projet dans la commande est alors également désactivée. Champ de boutons Connexité Affiche l'intégralité des importations. Peut être déconnecté avec <Space> dans la liste du contenu. Si connecté, toutes les importations des fichiers marqués actuellement seront marquées. Champ de boutons Comprimer Permet de comprimer l'archive. De façon standard sur ON. La compression augmente le temps d'archivage en particulier en cas de Archiver sur disque dur. Champ d'entrée de texte Commentaire On peut ici entrer un commentaire sur l'archive. De façon standard, le système reprend le commentaire du projet. Bouton OK Démarrage de l'archivage. Si 'Connexité' est OFF, toutes les importations seront, après demande, redéterminées et marquées. Si des fichiers importés font défaut dans le projet, un avertissement indiquant que l'archive DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-52 Système global Guide de programmation SPS - 18VRS est incomplète sera émis. S'il y a concordance avec le programme en fonctionnement dans la commande, des informations pour la restauration automatique d'un projet sur l'interface seront également archivées sans téléchargement (auparavant Archive SPS). Bouton Interruption Modifications lors de stockage à partir du gestionnaire de fichiers (Option de menu / Gestionnaire de fichiers Interruption de l'archivage. Le contenu dépend du fichier actif ou des fichiers marqués dans le gestionnaire de fichier. Ces fichiers et tous les fichiers qui y ont été importés sont marqués au début. Récupérer Fig. 11-50: Option de menu ‘Récupérer' Liste de sélection Source Définition de l'archive source (Lecteur ou SPS) L'archive source qui a été sélectionnée en dernier est conservée lors de l'appel d'archivage suivant. Champ de sortie Projet Affiche le projet où les fichiers doivent être copiés. La remarque supplémentaire ‘identique avec SPS’ souligne que l'archive concorde avec le programme et qu'une restauration automatique sur l'interface de la commande est possible sans téléchargement. Après activation du bouton OK, la réponse affirmative à la question: Archive identique avec SPS, voulez-vous restaurer automatiquement? entraîne le démarrage de la procédure. Champ d'entrée Nom Affiche toutes les archives disponibles (si source est un lecteur). L'archive source qui a été sélectionnée en dernier est conservée lors de l'appel d'archivage suivant. Cham d'entrée Version Affiche toutes les versions du nom (si source est un lecteur). La version qui a été sélectionnée en dernier est conservée lors de l'appel d'archivage suivant. Liste de sélection Contenu Affiche tous les fichiers qui sont contenus dans l'archive; tous les fichiers compris dans l'archive étant marqués. De façon standard, tous les fichiers sont marqués. Avec <Space>, il est possible de marquer / démarquer certains fichiers, mais l'extraction de l'archive est alors incomplète. Si l'archive concorde avec le projet dans la commande, une remarque supplémentaire sera affichée ici, la concordance est désactivée avec <Space>. Champ d'entrée de texte Commentaire Commentaire archive qui sera copié en tant que commentaire de projet si on appuie sur 'OK' DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Bouton OK Bouton Interruption Système global 11-53 Démarrage de l'archivage. Un programme existant éventuellement dans un projet est chargé après récupération correcte; si plusieurs programmes existent, une liste de sélection sera ouverte. S'il y a concordance avec le projet dans la commande, le projet sera, après requête, automatiquement restauré sur l'interface (auparavant Archive SPS Récupérer) Interruption de l'archivage. Modifications lors de la récupération du gestionnaire de fichiers La cible de l'archivage est le projet affiché dans le gestionnaire de fichiers. Récupération de fichiers INDRAMAT Au moyen de cette option de menu, les fichiers particuliers INDRAMAT peuvent être extraits séparément, c'est-à-dire fichier par fichier, si le nom a été défini par <sans>. Fig. 11-51: Récupération de fichiers INDRAMAT Gestionnaire des archives Fig. 11-52: Option de menu 'Gestionnaire des archives' Fonction Bouton Effacer Bouton Renommage Bouton Interruption DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Le gestionnaire des archives permet la manipulation d’archives complètes, dont entre autre leur surpression et leur renommage. La place d'archivage est définie dans ce contexte en tant que source (elle peut être également représentée par la SPS) où peuvent se trouver différentes archives. Efface l'archive qui se trouve sur le lecteur ou dans la SPS. Renomme l'archive et/ou la version d'une archive sur lecteur. Terminer les opérations dans le gestionnaire de fichiers. 11-54 Système global Guide de programmation SPS - 18VRS Données RETAIN Sauvegarder à partir de la SPS Récupération de données contenues dans le segment rémanent de la SPS et sauvegarder dans le PC. Charger dans SPS Les données sauvegardées dans le PC sont transmises sans contrôle dans la SPS. Effacement de l'archive Les données sauvegardées dans le PC sont effacées. Archivage des commentaires Ecriture Commentaire Cette option de menu permet d'extraire des commentaires du fichier chargé et des fichiers utilisés par ce fichier pour traduction. La correspondance des fichiers est alors contrôlée. L'archivage s'effectue de façon standard sur ..\PRINT\nom fichier.fra en contexte de programmation français L'extension peut être choisie librement. Les noms des fichiers ne peuvent pas être influencés. Après extraction des commentaires, les fichiers ne doivent plus être modifiés. Lecture Commentaire Avec cette option de menu, les anciens commentaires dans les fichiers sont remplacés par les commentaires traduits. L'extension des fichiers de commentaires doit autant que possible correspondre au code cible standard du pays. *.esp, *.fra, *.ger, *.ita, *.usa... Elle peut toutefois être choisie librement. Les noms eux-mêmes ne doivent pas être modifiés et doivent correspondre au PR/FB/FK/TY correspondant. Définir également le langage du système de programmation conformément au nouveau code du pays. (Des commentaires pour FB, FK et TY standard sont alors extraits de la la bibliothèque active!) La correspondance des fichiers est alors contrôlée. S'il n'existe aucun nouveau commentaire (commentaire traduit) ou si le fichier a déjà été converti, le système l'ignore lors de l'adaptation. Si une ou plusieurs lignes de commentaire s'avèrent être trop longues, le nouveau commentaire peut être manipulé dans une fenêtre additionnelle, abrégé automatiquement ligne par ligne ou adapté automatiquement pour tous les autres fichiers. Alternativement, un fichier archivé en format ASCII peut également servir de base de traduction. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-55 Guide de programmation SPS - 18VRS 11.8 Options dans le système global Sous l'option de menu 'Options' sont regroupés les paramètres de prédéfinition du système de programme et des langages de programmation. Généralités Sortie acoustique Sauvegarde automatique Commentaires de déclaration Affichage de variables Représentation de variables abs. Définition du langage de programmation Redémarrage à la dernière position d'entrée Ecran LD/FBD Coupure de noms Coupure de nombres Couleurs Traitement des actions Sorties de test Variables RETAIN Gestion des segments Mémoire Mot de passe: Commutation %I/%Q ou %E/% Fenêtre de sélection// LD/FBD/IL mémoriser oui/non Dimension des éléments, commentaire, respectivement pour mode standard et représentation succincte Limitation du nombre de caractères Limitation du nombre de caractères Chargement de palettes de couleurs Enregistrement de palettes de couleurs Installation Compilateur Activation / Désactivation du Beep ON/OFF, à intervalle de x minutes Reprendre commentaires de déclaration automatiquement dans implémentation ON/OFF Nom symbolique / Adresse absolue Sélection du type de mémoire Installation des couleurs des différents composants après flanc descendant ON/OFF Contrôle des doubles affectations pour adresses absolues ON/OFF initialiser après téléchargement 1 x plus petite unité: POU / Réseau automatique// Mémoire conventionnelle / disque Entrée mot de passe utilisateur Validation et effacement du mot de passe Option 'Généralités' Fig. 11-53: Fenêtre d'option ‘Généralités’ DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-56 Système global Sortie acoustique Sauvegarde automatique Guide de programmation SPS - 18VRS Cette option permet l'activation et la désactivation du 'Bip' Cette option permet en commun avec 'Requête lors de la sauvegarde’ la mémorisation automatique de l'état intermédiaire obtenu. (Le fichier BAK est alors réécrit!). Sauvegarde automatique: 0 1 Requête lors de la sauvegarde: Commentaire de déclaration dans l'implémentation Sauvegarder de, 60 minutes – Ecart entre sauvegardes on / off Dans les lignes IL sans propre commentaire, le commentaire de déclaration des variables est affiché (conformément à l'éditeur LD sur les variables, voir option 'Ecran' ou dans la fenêtre <Ctrl>+<F6>. Section déclaration Liste d'instructions (par analogie LD/FBD) Identificateur AT relais_1 %Q1.2.3 Repère Opération TYPE := Commentaire (*commentaire de déclaration*) Opérande Commentaire LD relais_1 (*commentaire de déclaration*) AND relais_1 (*commentaire d'implémentation 1*) AND relais_1 (*Commentaire d'implémentation 2) ST relais_1 (* *) Le 'commentaire de déclaration' a été défini dans la section déclaration. Dans la ligne IL 1, aucun commentaire n'a été inscrit si bien que c'est le commentaire de la section déclaration qui est affiché. Dans la ligne 2 et 3, un commentaire a été inscrit respectivement dans chaque ligne IL. Si ce commentaire est effacé de la ligne IL, le commentaire de déclaration repris réapparaît alors automatiquement. Un commentaire vide est engendré dans la ligne 4 si un caractère espace a été entré dans la ligne IL. En LD et en FBD, le commentaire apparaît si le curseur se trouve sur la variable concernée et si la ligne de pied de commentaire a été activée par le raccourci clavier <Ctrl>+<F6> ou si le curseur se trouve au-dessus du nom de la variable quand une place suffisante a été allouée via l'option 'Option/Paramètres de l'écran (commentaire américain). <Shift>+<F2> Affichage de variables symbolique ou absolu Cette option permet de commuter au niveau 'Programme' entre l'adresse absolue (si existante) et le nom symbolique des variables. Représentation de variables absolues Cette option de menu permet une commutation à l'intérieur de programmes entre: %I et %E ou %Q et %A. et inversement (%I1.2.3 ← → %E1.2.3).. Cette option est également valide dans la documentation. Sélection du langage de programmation Sélection A chaque appel d'éditeur, le système demande à l'utilisateur quel devra être langage de programmation (LD,FBD, IL) utilisé. (fenêtre de sélection du langage) LD/FBD/IL Le langage de programmation défini est immédiatement sélectionné lors de l'appel de l'éditeur. La fenêtre de sélection du langage est alors sans objet. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-57 Guide de programmation SPS - 18VRS Si la sélection opérée est admissible, on peut alors commuter entre IL/LD ou FBD. Si la sélection n'est pas admise, aucune fenêtre de permutation ne peut apparaître. Dernière position d'entrée Lorsqu'on quitte l'interface de programmation, les données nécessaires pour un nouvel accès sont enregistrées jusqu'à la dernière position d'entrée. Après appel, l'utilisateur se retrouvera à l'emplacement qu'il occupait lorsqu'il a quitté l'interface. Option ’Ecran’ Fig. 11-54: Fenêtre d'option ‘Ecran’ Fonction Zone de paramétrage Règle les paramètres pour l'affichage dans les éditeurs. Sélection du jeu de paramètres qui doit être mis au point. • Diagramme à contacts standard // Diagramme à contacts comprimés • FBD Standard // FBD comprimé • Autres éditeurs Paramètres de mise au point Colonnes de l'éditeur: Nombre des colonnes curseur Largeur de grille: Nbre de caractères dans 1 colonne Lignes pour nom: Nombre de lignes d'un identificateur Lignes pour commentaire: Couper nom: Nombre de lignes pour commentaire sur un identificateur Stratégie permettant de couper un nom trop long. Coupure de nombres: Stratégie permettant de couper une/un valeur/nombre d'état affiché(e). Documentation La documentation utilise les jeux de paramètres standard. Boutons Ok: Appliquer Standard: DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Appliquer les paramètres dans les éditeurs actuels. les appliquer dans les éditeurs actuels. sans quitter la fenêtre Restaurer les paramètres standard de la zone de paramétrage sélectionnée. Interruption: Restaurer les paramètres avant intervention dans la fenêtre et quitter la fenêtre. <Ctrl>+<F2> Sauter entre jeux de données (LD ↔ LD comprimé) 11-58 Système global Guide de programmation SPS - 18VRS Option ’Couleurs’ L'option de menu Couleurs permet de charger, mémoriser et modifier la palette des couleurs. Les configurations suivantes peuvent être chargées en tant que palettes standard: • Moniteur couleur color Ecran VGA • Hercules hercules Ecran Hercules • Moniteur monochrome nb 16 nuances de gris • Notebook notebook noir/blanc Fig.11-55: Fenêtre pour chargement, modification et mémorisation de palettes de couleurs Option ’Compilateur’ Fig. 11-56: Fenêtre d'option ‘Généralités’ Suppression du traitement d'action après flanc descendant N.B. A partir de la version 18, les actions complexes sont toujours retraitées! (Voir Chapitre 7) DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS - 18VRS Système global 11-59 Sorties test Contrôle afin de voir si un accès en écriture est effectué plusieurs fois sur des variables de sorties (VAR_OUTPUT). VARIABLE RETAIN Initialisation unique Toutes les variables RETAIN sont initialisées une fois au cours du prochain téléchargement. (comme en démarrage à froid!) Gestion de segments Si ce bouton est posé, la plus petite unité modifiable est alors le réseau et non plus un fichier (PR/FB/FK). Lors de modifications online, seul le réseau modifié et non plus le fichier complet est alors transféré dans la commande (Réduction des temps de modification). Cet avantage entraîne cependant des besoins de gestion plus complexes et par conséquent une faible augmentation du temps de cycle SPS. Si le temps de cycle doit être minimisé à la fin, avant le paramétrage final de l'installation, il faut désactiver ce bouton et transférer le programme à nouveau dans la commande après traduction intégrale. Option 'Mémoire' A partir de la version 16, l'interface de programmation SPS est livrée en version DPMI. Il n'y a ainsi plus qu'une mise au point: 'Mémorisation automatique/conventionnelle' Si après démarrage du programme, le système passe à la mise au point 'Mémorisation sur disque' ⇒ Modifier la mise au point suivant 'Mémorisation que/conventionnelle' ⇒ Quitter l'intervalle et relancer le programme automati- Si le système est à nouveau sur 'Mémorisation sur disque', ⇒ Contrôler si le paramétrage de l'autoexec.bat ou config.sys a été modifié et si la mémoire XMS disponible est suffisante Le Chapitre 'Consignes d'installation pour le système de programmation, page 11-7 comprend des informations assurant un paramétrage préliminaire adéquat. Fig. 11-57: Fenêtre d'option ‘Mémorisation’ L''opération suivante est réalisée: Le système est paramétré sur 'automatique' De cette façon, le système de programmation peut fonctionner sur chaque ordinateur. ⇒ Mémoriser ⇒ Quitter l'interface de programmation SPS <Alt>+<X>, ⇒ Relancement <F8> La modification est ensuite active. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-60 Système global Guide de programmation SPS - 18VRS Option 'Fenêtres' Fig. 11-58: Fenêtres, passage entre fenêtres Liste de fenêtres <Alt>+<0> La liste de fenêtres permet de survoler toutes les fenêtres ouvertes de l'éditeur et de l'affichage Le passage à une autre fenêtre déjà ouverte s'effectue par préréglage avec curseur de défilement et <Enter>. Par ailleurs, il est également possible d'effacer des fenêtres actives. Taille/Position <Ctrl>+<F5> Change haut/bas <F4> Déplacement de la position de fenêtres sélectionnées • <Ctrl>+<F7> Ajouter (Entrée Watch) • <Ctrl>+<F4> Evaluer/Modifier • <Shift>+<F3> Variable à plusieurs éléments • <Alt>+<S> Aide aux renvois Permet le passage entre la fenêtre supérieure (éditeur) et la fenêtre inférieure (observation). • Etapes actives • Transitions actives • Actions actives • Observation On/Off <Ctrl>+<F6> Option ’Mot de passe’ Le système de programmation est intégré dans la gestion des mots de passe. L'entrée d'un nouvel utilisateur ou l'extension de la compétence d'un utilisateur déjà enregistré n'est possible que dans le menu central. L'option de menu 'Mot de passe' donne la possibilité par entrée d'un nom utilisateur et d'un mot de passe de modifier ou d'élargir les possibilités d'accès de cet utilisateur au programme SPS. Par ailleurs l'effacement du nom d'un utilisateur et de son mot de passe est également prévu de façon telle que seuls un affichage d'état et une observation soient possibles. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-61 Guide de programmation SPS - 18VRS Fig. 11-59: Entrée d'un mot de passe Mot de passe / Compétence Possibilités Mot de passe invalide Affichage de l'état, si programme concorde dans SPS et PC, aucune modification en ligne possible. Affichage du programme si différences entre SPS et PC existent, aucun état, aucune possibilité d'édition. Mot de passe permis 'Programme SPS' Toutes les fonctions qui permettent une modification du programme SPS existant sont permises, aucun téléchargement. Mot de passe permis 'Activer SPS' Permet le transfert d'un programme dans la commande. Modification online d'un programme en cours présuppose en outre la compétence 'Programme SPS'. 11.9 Aide Cette option du menu est toujours accessible via la touche <F10>/Aide ou le raccourci clavier <Alt>+<H> . Les sous-options suivantes sont accessibles: Menu Permet un survol de la structure actuelle du menu et de toutes les sousoptions de menu. Une aide additionnelle existe pour les différents points. Index Sommaire grossièrement structuré Touches Mot clé Pour aide Aide Syntaxe <Ctrl>+<F1> Aide ´Déclaration <Shift>+<F1> Aperçu des touches particulières/raccourcis clavier particuliers concrétisé dans chaque fenêtre éditeur avec <Alt>+<H> . Affichage des mots clés et caractères particuliers du système de programmation. Informations suivantes Aide contextuelle sur le terme actuel marqué par le curseur. Le terme en question peut être un mot clé qui a été inscrit dans un champ de commentaire ou bien être engendré automatiquement lorsque le curseur se trouve à l'intérieur d'une fonction ou d'un FB. Affiche les interfaces respectives pour le bloc fonctionnel marqué par le curseur, la fonction marquée ou pour un type de données. Dans le cas d'une variable, la caractéristique est indiquée par la variable marquée par le curseur. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-62 Système global Guide de programmation SPS - 18VRS Service Instructions de service que l'utilisateur peut également utiliser à l'occasion. Les possibilités d'aide suivantes sont accessibles: <F1> <Ctrl>+<F1> Aide sur l'option de menu sur laquelle se trouve le curseur. Aide dans la fenêtre d'un éditeur sur l'éditeur actuel Aide contextuelle sur le terme actuel marqué par le curseur. Le terme en question peut être un mot clé qui a été inscrit dans un champ de commentaire ou bien être engendré automatiquement lorsque le curseur se trouve à l'intérieur d'une fonction ou d'un FB. <Enter> <Alt>+<S> Accès, appel d''une autre aide sur le terme suivant recherché. Dans une fenêtre d'aide quelconque: Rechercher une chaîne de caractères définie dans les termes de recherche. <Ctrl>+<L> Poursuite de la recherche <Alt>+<F1> Retour en arrière d'une fenêtre d'aide dans la pile <Shift>+<F1> Affiche les interfaces respectives pour le bloc fonctionnel marqué par le curseur, la fonction marquée ou pour un type de données. Dans le cas d'une variable, la caractéristique est indiquée par la variable marquée par le curseur. (Aide déclaration) <Esc> Quitter l'aide S'il s'agit d'un fb/fk/ty standard, l'aide apparaît avec: <Ctrl>+<F1> <Shift>+<F1> Service l'explication contenue dans l'aide plus un exemple. le commentaire contenu dans la bibliothèque et l'interface. • Service CNC altU Passage au moniteur CNC et activation de la fonction service CNC. Si ce faisant des adresses /fonctions qui ne sont pas supportées (n'existent pas) dans la structuration disponible de la CNC sont concernées, elles sont alors bloquées techniquement par le logiciel. L'utilisateur CNC/SPS n'utilise cette fonction qu'en cas exceptionnel • Service Connection libre ou Via cette option de menu, les possesseurs de fichiers verrouillés de fichiers avec état Lecture_seulement peuvent effectuer une connexion libre avec le service. (mot de A condition que le code de libération de la connexion soit connu passe du groupe de fichiers) teur La connexion est valide pour le groupe de fichiers tout entier. Elle peut être à nouveau effacée dans la même fenêtre. mais elle sera quoi qu'il en soit effacée automatiquement lorsque l'utilisaquittera le système de programmation. • Instructions de service Certaines modifications ne faisant pas partie des possibilités offertes de façon standard peuvent être effectuées au moyen du fichier INDRAMAT PCLSCP. Dat en MT_TEXTE. Sans ce fichier, l'option de ce menu est inactive (en grisé). • Interface PLC Commutation entre l'interface PLC interne et externe. • Version altV Sous cette option de menu sont affichés les numéros de version du système de programmation et de l'interface principale. DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Système global 11-63 Guide de programmation SPS - 18VRS 11.10 Touches dans le système global Touche (s) Touches générales <F1> Aide, éditeur/Option de menu <F2> Mémoriser fichier de travail <F3> Charger fichier de travail <F4> Basculer entre fenêtre supérieure et inférieure <F6> Entrée d'un commentaire sur l'élément actuel <F9> Traduction, fichiers nécessaires / Make <F10> Passage au menu principal <Ctrl>+<F1> Aide syntaxique sur la position actuelle du curseur <Ctrl>+<F2> Mode standard/ Eng. LD/FBD, SFC <Ctrl>+<F4> Evaluer/Modifier (Evaluate) <Ctrl>+<F6> Affichage de commentaires On/Off <Ctrl>+<F7> Observer (MISEENROUTE) On/Off <Ctrl>+<F8> Observer (MISEENROUTE) On/Off <Ctrl>+<F9> Démarrage/Mode test <Ctrl>+<K> Regroupement des instructions Bloc <Ctrl>+<Q> Regroupement des instructions Quick <Ctrl>+<U> GOTO éditeurs voisins (Sélection) <Ctrl>+<V> Affichage de version SPS/Menu principal <Shift>+<F1> Aide déclaration <Shift>+<F2> Représentation de variables symb./abs. <Shift>+<F3> Affichage de structures et tableaux <Shift>+<F9> Affichage d'état on / off Touche (s) Touches générales <Alt>+<F1> Retour en arrière d'une fenêtre d'aide dans la pile <Alt>+<F2> Transfert de données teleByte <Alt>+<F3> Retour d'une POE en arrière <Alt>+<F4> Structure de programme <Alt>+<F7> Goto renvoi précédent <Alt>+<F8> Goto renvoi suivant <Alt>+<F9> Traduction du fichier de travail, compile <Alt>+<F10> Menu local de l'éditeur actuel <Alt>+<A> Menu Fichier <Alt>+<B> Editeur de texte <Alt>+<C> Compilateur <Alt>+<D> Passage à l'éditeur de déclaration <Alt>+<E> Menu Edition <Alt>+<G> Menu Diagnostic <Alt>+<H> Touches de l'éditeur actuellement possibles <Alt>+<I> Passage à l'éditeur IO <Alt>+<J> Menu projet <Alt>+<K> Mot de passe: DOK-CONTRL-SPS*PRO*V18-AW01-FR-P 11-64 Système global Guide de programmation SPS - 18VRS Touche (s) Touches générales <Alt>+<M> Passage à l'éditeur d'importation <Alt>+<L> Liste des renvois <Alt>+<O> Menu Options <Alt>+<P> Sortie sur imprimante du contenu de l'éditeur <Alt>+<R> Menu démarrage / Mise en route <Alt>+<S> Aide aux renvois <Alt>+<X> Passage au menu principal <Alt>+<Z> Fonctions service DOK-CONTRL-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Glossaire 12-1 12 Glossaire Constante d’adresse Contante qui contient des informations sur l'adresse de types de données micrologiciels Utilisateur En liaison avec des programmes, blocs fonctionnels, fonctions, types de données définis et gérés par l'utilisateur. Fichier de travail Fichier qui est traité dans le système de programmation et de mise en route. Programme utilisateur, bloc fonctionnel utilisateur, fonction utilisateur, type de données utilisateur. Modes de fonctionnement dans le système de programmation et de mise en service Supports de données Micrologiciel Fonction Bloc fonctionnel Mode affichage, mode edit, affichage d'état, modification online Disquette, disque dur, lecteur réseau En liaison avec bloc fonctionnel, fonction, type de données Complément de l'équipement minimal en éléments standard requis dans la norme; ils peuvent être utilisés par l'utilisateur mais ne peuvent pas être modifiés. Nom du type de la fonction: Nom sous lequel la fonction est mémorisée. Le nom de la fonction est identique au nom de la sortie de la fonction. Le type de la fonction est identique au type de la sortie de la fonction. Nom du type du FB: Nom sous lequel le bloc fonctionnel est mémorisé. Nom d'application d'un FB/fb/Fb: Nom de l'application concrète du FB/fb (dans la DIN IEC 1131 également appelé nom d'instance, de copie, de cas, d'affectation. Programme global Programme SPS, projet. Contient le programme proprement dit et les blocs fonctionnels, fonctions et types de données utilisés par lui. Menu local Menu PopUP; Menu qui dans chaque éditeur ouvre l'accès aux autres fonctions éditeur. Appel via raccourci clavier <Alt>+<F10>. Particulier En liaison avec bloc fonctionnel, fonction, type de données Fichiers utilisateur développés par INDRAMAT; ces fichiers peuvent être utilisés par le client mais ne peuvent pas être représentés ou modifiés par lui. Standard: En liaison avec bloc fonctionnel, fonction, type de données Equipement minimal en éléments requis dans la norme; ils peuvent être utilisés par l'utilisateur mais ne peuvent pas être modifiés. DOK-MTC200-SPS*PRO*V18-AW01-FR-P 12-2 Glossaire Guide de programmation SPS 18VRS DOK-MTC200-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Index 13-1 13 Index A Accès périphérique direct en contournant la structure triphasée Définitions 2-13 Accès périphérique direct en évitant la structure triphasée 2-13 voir Accès périphérique direct en évitant la structure triphasée Déclaration 2-14 Implémentation 2-14 Mode d'action 2-13 Action 7-1 Action_Control 7-4 action_name.A 7-3 action_name.Q 7-3 action_name.X 7-3 Adresse de 2-8 Aide à la mise en route au niveau blocs d'action Affichage d'état dans l'éditeur de blocs d'actions 7-24 Forçage d'actions assisté par le système 7-24 Tableaux des actions, étapes et transitions 7-26 Aide à la mise en route au niveau blocs d'actions 7-24 Aide à la mise en route dans la liste d'instructions 8-13 Aide à la mise en route dans le diagramme à contacts 9-18 Aide à la mise en route dans le langage FBD 10-17 Aide à la mise en route dans l'éditeur de déclaration 5-23 Affichage d'informations sur l'état 5-23 Variables à plusieurs éléments <Shift>+<F3> 5-24 Listage de variables et d'éléments de variables avec noms et informations sur leur état 5-26 Aide à la mise en route dans l'éditeur d'importation 4-10 Aide à la mise en route dans l'éditeur IO 3-32 Aide à la mise en route pour le niveau de séquence Recherche de l'étape active suivante Aller à l' étape active suivante <Ctrl>+<Q><H> 6-33 Aide à la mise en route pour le niveau de séquence Recherche de l' étape active suivante 6-33 Aide à la mise en route pour le niveau d'exécution 6-32 Affichage de l'état dans la séquence 6-32 Tableaux des étapes et des transitions 6-33 Aide dans le système Aide Syntaxe 11-61 Aide dans le système global 11-61 Accès 11-62 Aide déclaration 11-61 Aide sur le terme actuel 11-62 Aide sur option de menu 11-62 Index 11-61 Menu 11-61 Mot clé 11-61 Pour aide 11-61 Rechercher une chaîne de caractères 11-62 Service 11-62 Touches 11-61 Aide dans l'éditeur de blocs d'actions 7-29 Aide déclaration 7-29 Aide sur le terme actuel 7-29 Aide sur l'éditeur actuel 7-29 Aide dans l'éditeur de déclaration 5-30 Aide déclaration 5-30 Aide sur le terme actuel 5-30 Recherche Texte 5-31 Aide dans l'éditeur de déclaration en relation avec l'éditeur actuel 5-30 Aide dans l'éditeur de listes d'instructions 8-16 Aide déclaration 8-16 Aide sur le terme actuel 8-16 Aide dans l'éditeur de listes d'instructions en relation avec l'éditeur actuel 8-16 Aide dans l'éditeur d'importation 4-10 DOK-MTC200-SPS*PRO*V18-AW01-FR-P 13-2 Index Guide de programmation SPS 18VRS Aide déclaration 4-10 Aide sur le terme actuel 4-10 Aide sur l'éditeur actuel Aide déclaration pour bloc fonctionnel utilisateur AOVRD 4-12 Aide déclaration pour fonction utilisateur SELECT 4-13 Aide déclaration pour type de données DWECHSEL 4-13 Chercher Texte 4-11 Aide dans l'éditeur d'importation en relation avec l'éditeur actuel 4-10 Aide dans l'éditeur FBD 10-20 Aide déclaration 10-20 Aide sur le terme actuel 10-20 Aide dans l'éditeur FBD en relation avec l'éditeur actuel 10-20 Aide dans l'éditeur IO 3-32 Chercher Texte 3-33 Aide dans l'éditeur LD 9-21 Aide déclaration 9-21 Aide en relation avec l'éditeur actuel 9-21 Aide sur le terme actuel 9-21 Aide dans l'éditeur SFC 6-36 Aide déclaration 6-36 Aide sur l'éditeur actuel 6-36 Aide dans l'éditeur SFC-Editor Aide sur le terme actuel 6-36 Architecture de la section déclaration Section déclaration d'un bloc fonctionnel 5-7, 5-10 Section déclaration d'une fonction 5-11, 5-12 Architecture de la section importation 4-2 B Bloc fonctionnel Voir Edition de diagrammes à contacts:Blocs fonctionnels dans diagramme à contacts Blocs d'actions 7-1 Blocs d'actions (ACTION BLOCK) et actions (ACTION) 7-1 Blocs d'actions et leur fonctionnement 7-2 Architecture d’un bloc d’action 7-2, 7-3 Marque d’identification Marque d’identification(qualificatif d’action, ACTION QUALIFIER) 7-2 Type d’action minimal 7-3 Architecture d’un bloc d’actions Noms d’actions et de variables 7-2 Mode général d'exécution des actions 7-7 Coordination dans le temps du retraitement des actions 7-7 Coordination dans le temps du traitement des actions 7-7 Définition du moment 'Etape est active' 7-7 Définition du moment 'Etape est inactive' 7-7 Qualificatifs d'action et leurs effets sur les différents types d'actions 7-9 Actions avec blocs fonctionnels contenant des structures SFC 7-17 D - non mémorisant, retardé 7-12 DS- retardé et mémorisant 7-14 L - non mémorisant, limité dans le temps 7-11 N-non mémorisant 7-9 P-impulsion 7-13 R-Remise à zéro 7-17 SD- mémorisé et retardé 7-15 SL- mémorisé et retardé 7-16 S-mémorisant 7-10 Structure d'un bloc d'actions Représentation du temps d'action 7-3 Traitement d'actions assisté par Action_Control 7-4 Diagrammes temporels 7-6 Marque d'identification AQ 7-5 Marques d'identification P0/P1 7-4 Variables système pour actions 7-5 Blocs fonctionnels Voir Edition de réseaux en langage FBD:Blocs fonctionnels en langage FBD Blocs fonctionnels (FUNCTION BLOCK) Architecture d’un bloc fonctionnel utilisateur 2-22 Blocs fonctionnels standard et micrologiciels 2-22 Exemple de bloc fonctionnel utilisateur 2-23 Bloc fonctionnel AOVR en FBD 2-24 DOK-MTC200-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Index 13-3 Bloc fonctionnel AOVR en IL 2-25 Bloc fonctionnel AOVR en LD 2-26 Représentation graphique (LD, FBD) 2-23 Tâche 2-23 Utilisation de fonctions et blocs fonctionnels dans des blocs fonctionnels 2-26 Blocs fonctionnels (FUNCTION BLOCK) 2-21 Voir Blocs fonctionnels (FUNCTION BLOCK) Blocs fonctionnels standard et Fonctions standard dans la bibliothèque 2-30 C Change haut/bas <F4> 11-60 Système global – Options Gestion de segments 11-59 Composants de l'adresse d'une variable 2-12 Configuration – Principe de base 3-2 Consignes d'installation pour le système de programmation 11-8 Constantes d'adresse 2-17 Contrôle syntaxique intégré en cours d'entrée 11-7 Source syntaxiquement correcte 11-7 Convention de types de données dans l'éditeur de déclaration 5-18 Convention de types de données dans l'éditeur déclaration Entrée d'un tableau avec des structures en tant qu'élément 5-21 Entrée d'un tableau avec variables élémentaires 5-20 Représentation ASCII d'un Array 5-21 Entrée d'une structure avec variables élémentaires 5-19 Représentation ASCII 5-20 Coordination dans le temps du retraitement des actions 7-38 Coordination dans le temps du traitement des actions 7-38 Couleurs Voir système global – Options:Couleurs Système global – Options 11-58 Couplage en parallèle Voir Eléments du diagramme à contacts:Eléments de clôturecouplés en parallèle Création d'un nouveau fichier Voir Menu Fichier<Alt>+<A>:Nouveau D Déclaration 5-1 Définition de types de données utilisateur 5-1 Définition de variables 5-1 Définition d'instances de blocs fonctionnels 5-1 Déclaration d'une chaîne d'étapes 6-42 Déclaration et initialisation 2-18 Détermination de la configuration matérielle, Tableaux IO 3-1 Diagramme à contacts Réseau 9-2 Diagramme à contacts – Architecture Lignes de liaison horizontales 9-2 Lignes de liaison verticales 9-2 Diagramme à contacts - Architecture 9-2 Diagramme à contacts, LD, LADDER DIAGRAM 9-1 E Système global – Options 11-57 Boutons 11-57 Documentation 11-57 Fonction 11-57 Paramètres de mise au point 11-57 Zone de paramétrage 11-57 Editeur de blocs d’actions - Options 7-27 Paramètres de l'écran 7-28 Autres éditeurs 7-28 Fonction 7-28 Zone de paramétrage 7-28 Paramètres du compilateur 7-28 Paramètres généraux 7-27 Commutation langage de détail 7-27 Représentation de variables absolues 7-27 Requête lors de la sauvegarde 7-27 DOK-MTC200-SPS*PRO*V18-AW01-FR-P 13-4 Index Guide de programmation SPS 18VRS Editeur de blocs d'actions – Options Paramètres de l'écran Réserve lors de l'utilisation de qualificatifs d'action limités dans le temps 7-36 Paramètres généraux Affichage de variables symbolique ou absolu <Shift>+<F2> 7-27 Editeur de déclaration - Options 5-28 Paramètres de l'écran 5-29 Autres éditeurs 5-29 Fonction 5-29 Zone de paramétrage 5-29 Paramètres généraux Requête lors de la sauvegarde 5-28 Editeur de déclaration – Options Paramètres généraux Affichage de variables symbolique ou absolu <Shift>+<F2> 5-28 Editeur de déclaration- Options Paramètres généraux 5-28 Commentaire de déclaration dans l'implémentation 5-28 Représentation de variables absolues 5-28 Sauvegarde automatique 5-28 Sortie acoustique 5-28 Editeur de listes d’instructions - Options 8-14 Paramètres de l'écran 8-15 Autres éditeurs 8-15 Fonction 8-15 Zone de paramétrage 8-15 Paramètres généraux 8-14 Commentaire de déclaration dans l'implémentation 8-14 Commutation langage de détail 8-14 Représentation de variables absolues 8-14 Requête lors de la sauvegarde 8-14 Sauvegarde automatique 8-14 Editeur de listes d'instructions – Options Paramètres généraux Affichage de variables symbolique ou absolu 8-14 Editeur de listes d’instructions- Options Paramètres généraux Sortie acoustique 8-14 Editeur de protocoles Voir Menu Diagnostic:Analyse logique:Accès à l'éditeur de protocoles Editeur des blocs d'actions Voir Edition de blocs d'actions Editeur FBD - Options 10-18 Paramètres de l'écran 10-19 Boutons 10-19 Documentation 10-19 Fonction 10-19 Paramètres de mise au point 10-19 Zone de paramétrage 10-19 Paramètres généraux Commentaire de déclaration dans l'implémentation 10-18 Représentation de variables absolues 10-18 Requête lors de la sauvegarde 10-18 Sauvegarde automatique 10-18 Sortie acoustique 10-18 Editeur FBD – Options Paramètres généraux Affichage de variables symbolique ou absolu 10-18 Paramètres généraux 10-18 Editeur IO - Options 3-31, 4-10 Paramètres généraux 3-31 Editeur LD - Options 9-19 Paramètres de l'écran Boutons 9-20 Documentation 9-20 Fonction 9-20 Paramètres de mise au point 9-20 Zone de paramétrage 9-20 Paramètres généraux Commentaire de déclaration dans l'implémentation 9-19 Représentation de variables absolues 9-19 Requête lors de la sauvegarde 9-19 Sauvegarde automatique 9-19 DOK-MTC200-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Index 13-5 Sélection du langage de programmation 9-19 Sortie acoustique 9-19 Editeur LD – Options Paramètres de l'écran 9-20 Paramètres généraux Affichage de variables symbolique ou absolu 9-19 Paramètres généraux 9-19 Editeur SFC Représentation ASCII 6-28 Editeur SFC – Entrée de séquences 6-6 chaîne d'étapes 6-6 Effacement d'étape(S), transitions (T) et branchements (V) Effacement d'étape(S) et de transitions (S) 6-18 Effacement d'étape(S), transitions (T), et branchements (V) Effacement de la branche où se trouve le curseur 6-20 Ouverture de la branche où se trouve le curseur 6-19 Effacement d'étapes (S), transitions (T) et branchements (V) 6-17 Entrée d'un SFC simple Instructions de pied de page 6-7 Insertions d'étapes (S), de transitions (T), de branchements (V) et de regroupements (Z) 6-12 Transitions 6-6 Variables booléennes en tant que transitions 6-6 Editeur SFC – Entrée d'organigrammes Entrée d'un SFC simple 6-7 Editeur SFC - Options 6-34 Paramètres de l'écran 6-35 Boutons 6-35 Documentation 6-35 Fonction 6-35 Paramètres de mise au point 6-35 Zone de paramétrage 6-35 Paramètres généraux Requête lors de la sauvegarde 6-34 Paramètres généraux 6-34 Affichage de variable 6-34 Sauvegarde automatique 6-34 Sortie acoustique 6-34 Editeurs de listes d'instructions – Options Paramètres de l'écran 8-15 Editieren von Kontaktplänen Funktionen im Kontaktplan Anwendungsbeispiel für Funktionen und Operationen 9-11 Edition de blocs d’actions 7-18 Effacement d'un bloc d'actions 7-20 Liste d'actions <Alt>+<N> 7-21 Modifications de texte dans un bloc d'actions 7-20 Niveau de détail de l'éditeur de blocs d'actions 7-23 Représentation ASCII de l'éditeur de blocs d'actions 7-23 Travail dans l'éditeur de blocs d'actions 7-18 Utilisation multiple d'actions 7-22 Instructions de pied de page 7-22 Utilisation multiple d'actions dans une étape 7-22 Edition de diagrammes à contacts 9-3 Blocs fonctionnels dans diagramme à contacts 9-14 FlipFlop, appel inconditionnel 9-14 Création de réseaux 9-3 Curseur bloc dans la colonne externe droite 9-3 Curseur bloc dans le réseau, travail dans le réseau actuel 9-3 Curseur sur variable de sortie au droit du bloc fonctionnel, de la fonction, de l'opérateur 9-3 Entrée d'éléments de diagramme à contacts, curseur sur une position quelconque 9-3 Entrée d'un diagramme à contacts avec symboles supplémentaires 9-7 Entrée d'un diagramme à contacts simple 9-4 Complément d'éléments de clôture supplémentaires 9-6 Contacts (Sélection) 9-6 Eléments de sortie (Sélection) 9-6 Modifications et extensions (possibles) à posteriori 9-6 Utilisation d'étiquettes intermédiaires (ZMarqueur) 9-6 Fonctions dans diagramme à contacts 9-10 Importation de la fonction FENETRE définie par utilisateur 9-11 Section déclaration de l'exemple 9-11 DOK-MTC200-SPS*PRO*V18-AW01-FR-P 13-6 Index Guide de programmation SPS 18VRS Modification de réseaux, curseur sur le rail de contact droit 9-3 Opérateurs de diagrammes à contacts 9-8 Représentation ASCII de l'éditeur LD 9-17 Edition de listes d’instructions 8-5 Blocs fonctionnels dans la liste d'instruction FlipFlop, appel inconditionnel d'un FB 8-10 Blocs fonctionnels dans la liste d'instructions Appel conditionnel d'un FB avec 'CALC/CALCN' 8-11 Appel conditionnel d'un FB par saut 8-11 Blocs fonctionnels dans la liste d'instructions 8-10 Entrée d'une liste d'instructions simple 8-5 Travaux préliminaire au niveau 'Bloc fonctionnel' 8-5 Travaux préliminaire au niveau 'Fonctions' 8-5 Travaux préliminaire au niveau 'Programme' 8-5 Fonctions dans la liste d'instructions Utilisation de fonctions 8-9 Fonctions dans la liste d'instructions 8-8 Représentation ASCII de l'éditeur de IL 8-12 Edition de réseaux en langage FBD 10-2 Création de réseaux 10-2 Curseur à la sortie d'une porte/d'un FB/d'une fonction, aucune entrée de variable, d'élément de clôture 10-3 Curseur à la sortie d'une porte/d'un FB/d'une fonction, variable, élément de clôture entrés 10-3 Curseur sur une porte 10-4 Curseur sur une variable 10-3 Entrée de réseaux FBD avec symboles supplémentaires 10-6 Entrée d'un réseau simple FBD 10-4 Fonctions en langage FBD Exemple d'application pour fonctions et opérations 10-10 Importation de la fonction FENETRE définie par utilisateur 10-10 Représentation ASCII dans l'éditeur 10-16 Travail dans segment 10-2 Edition d'une section de déclaration Fenêtre de sélection lors de la déclaration de variables 5-14 Fenêtre de sélection pour la convention de blocs fonctionnels 5-17 Fenêtres de sélection lors de la déclaration de variables 5-14 Fenêtre de sélection pour types de données dérivés 5-15 Fenêtre de sélection pour types de données standard 5-16 Edition d'une section déclaration 5-13 Convention pour l’affectation des blocs fonctionnels 5-16 Déclaration de variables 5-13 Edition d’une section d’importation 4-3 Editeur d'interfaces Possibilités d'adaptation – bloc fonctionnel, fonction, type de données 4-9 Editeur d'interfaces 4-6 Commentaire dans fichier de travail 4-8 Commentaire dans fichier importé 4-8 Représentation ASCII de l'éditeur d'importation 4-10 Edition d’une section importation Importation de blocs fonctionnels 4-4 Importation de fonctions 4-5 Importation de types de données 4-6 Editions de réseaux en langage FBD Blocs fonctionnels en langage FBD 10-13 FlipFlop, appel inconditionnel 10-13 Fonctions en langage FBD 10-9 Section déclaration de l'exemple 10-10 Opérateurs en langage FBD 10-7 Elément du diagramme à contacts Elements de clôture couplés en parallèle 9-29 Eléments du diagramme à contacts 9-24 Eléments de base dans diagramme à contacts 9-24 Equivalent IL 9-24 Symboles LD 9-24 Etiquettes intermédiaires 9-29 Représentation de blocs fonctionnels dans diagramme à contacts 9-28 Représentation de fonctions dans diagramme à contacts 9-27 Représentation des opérateurs dans diagramme à contacts 9-25 Eléments du langage FBD 10-23 Eléments de base du langage FBD 10-23 Eléments de clôture couplés en parallèle 10-26 DOK-MTC200-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Index 13-7 Etiquettes intermédiaires en langage FBD 10-26 Représentation de blocs fonctionnels en langage FBD 10-25 Représentation de fonctions en langage FBD 10-25 Représentation des opérateurs du langage FBD 10-24 Eléments SFC 6-1 Exécution d'actions – Modifications par rapport à la version 17 7-36 Traitement de la durée d'exécution en cas de conflits de qualificatifs d'action 7-36 Exécution d'actions – Modifications par rapport à la Version 17 Coordination dans le temps du retraitement des actions 7-38 Coordination dans le temps du traitement des actions 7-38 Exécution SFC – Particularités Programmes SPS existants et nouvel interpréteur de structures Cas de la désactivation du compilateur option 'Traitement après flanc descendant' 6-51 SFC avec boucle minimale, sans interruption 6-54 Utilisation de AQ-R pour l'initialisation d'actions 6-51 Utilisation de la réécriture de AQ 6-50 Utilisation de l'ordre d'exécution des actions 6-50 Utilisation multiple d'actions 6-51 Utilisation multiple d'actions dans des étapes consécutives sans interruption! 6-53 Remise à zéro du SFC 6-54 Traitement des SFC en mode manuel 6-54 F Fenêtre de chargement et de mémorisation avec possibilité d'exportation 11-6 Système global – Options 11-60 Liste de fenêtres <Alt>+<0> 11-60 Fonctions Voir Edition de réseaux en langage FBD:Fonctions en langage FBD Voir Edition de diagrammes à contacts:Fonctions dans diagramme à contacts Fonctions (FUNCTION) 2-19 Fonction définie par utilisateur 2-19 Fonction utilisateur 2-20 Fonctions standard et micrologicielles 2-19 Utilisation de fonctions à l'intérieur de fonctions 2-21 Forçage d'actions 7-24 FORWARD 6-29 G Système global – Options 11-55, 11-58 Dernière position d'entrée 11-57 Requête lors de la sauvegarde 11-56 Sauvegarde automatique 11-56 Section déclaration 11-56 Sortie acoustique 11-56 I Importation 4-1 Initialisation 2-11 Instructions - Bloc dans la liste IL Marquer le bloc <Shift>+<CursorUp>, <Shift>+<CursorDown> 8-21 Instructions bloc dans diagramme à contacts Déplacer le bloc <Ctrl>+<K><V> 9-32 Envoyer bloc dans éditeur de texte <Ctrl>+<K><3> 9-32 Marquer la fin du bloc 9-32 Marquer le début du bloc 9-32 Masquer le bloc <Ctrl>+<K><H> 9-32 Instructions bloc dans l'éditeur de blocs d'actions Déplacer le bloc <Ctrl>+<K><V> 7-33 Ecrire bloc <Ctrl>+<K><W> 7-33 Effacer un bloc <Ctrl>+<K><Y> 7-33 Envoyer bloc dans éditeur de texte <Ctrl>+<K><3> 7-33 Ligne en tant que bloc <Ctrl>+<K><L> 7-33 Lire bloc <Ctrl>+<K><R> 7-33 Marquer la fin du bloc <Ctrl>+<K><K> 7-33 Marquer le début du bloc 7-33 Masquer le bloc <Ctrl>+<K><H> 7-33 Récupérer bloc de l'éditeur de texte <Ctrl>+<K><4> 7-33 Instructions bloc dans diagramme à contacts DOK-MTC200-SPS*PRO*V18-AW01-FR-P 13-8 Index Guide de programmation SPS 18VRS Copier bloc <Ctrl>+<K><C> 9-32 Définir un réseau en tant que bloc <Ctrl>+<K><L> 9-32 Définir une branche pour effacement <Ctrl>+<K><T> 9-32 Effacer un bloc <Ctrl>+<K><Y> 9-32 Instructions Bloc dans diagramme à contacts Ecrire bloc sur disquette <Ctrl>+<K><W> 9-32 Envoyer bloc de l'éditeur de texte vers LD <Ctrl>+<K><4> 9-32 Instructions bloc dans la liste d’instructions 8-21 Copier bloc <Ctrl>+<K><C> 8-21 Déplacer le bloc<Ctrl>+<K><V> 8-21 Ecrire bloc sur disquette <Ctrl>+<K><W> 8-21 Ligne en tant que bloc <Ctrl>+<K><L> 8-21 Lire bloc d'une disquette <Ctrl>+<K><R> 8-21 Marquer la fin du bloc<Ctrl>+<K><K> 8-21 Marquer le début du bloc<Ctrl>+<K><B> 8-21 Masquer le bloc<Ctrl>+<K><H> 8-21 Masquer le bloc<Ctrl>+<K><Y> 8-21 Instructions bloc dans le diagramme à contacts 9-32 Instructions bloc dans l'éditeur de blocs d'actions Envoyer bloc dans éditeur de texte <Ctrl>+<K><3> 8-21 Envoyer bloc de éditeur de texte vers IL <Ctrl>+<K><4> 8-21 Instructions Bloc dans l'éditeur de blocs d'actions 7-32 Instructions bloc dans l'éditeur de déclaration 5-36 Copier bloc dans éditeur de texte <Ctrl>+<K><3> 5-37 Copier bloc éditeur de texte dans éditeur de déclaration<Ctrl>+<K><4> 5-37 Copier commentaire <Ctrl>+<K><C> 5-36 Début de bloc <Ctrl>+<K><B> 5-36 Déplacer bloc <Ctrl>+<K><V> 5-36 Ecrire bloc <Ctrl>+<K><W> 5-36 Effacer déclaration inutilisée <Ctrl>+<K><U> 5-37 Effacer un bloc <Ctrl>+<K><Y> 5-36 Fin de bloc <Ctrl>+<K><K> 5-36 Imprimer bloc <Ctrl>+<K><P> 5-37 Ligne en tant que bloc <Ctrl>+<K><L> 5-36 Ligne, commentaire en tant que début de bloc <Ctrl>+<K><T> 5-37 Lire bloc <Ctrl>+<K><R> 5-37 Marquage de bloc <Ctrl>+<K><H> 5-36 Trier AbsVar de bloc <Ctrl>+<K><A> 5-37 Trier variables de bloc <Ctrl>+<K><I> 5-37 Variables de PC vers SPS <Ctrl>+<K><D> 5-37 Variables de SPS vers PC <Ctrl>+<K><S> 5-37 Instructions bloc dans l'éditeur d'importation 4-15 Instructions bloc dans l'éditeur IO 3-35 Instructions bloc dans l'éditeur SFC 6-21, 6-39 Copier bloc (Cas A) après transition tH 6-26 Copier bloc (Cas C) après étape sA 6-27 Copier bloc (Cas D) à côté de la transition tA 6-27 Copier bloc <Ctrl>+<K><V> 6-26 Déplacer bloc (Cas A) après transition tH 6-25 Déplacer bloc (Cas C) après étape sA 6-26 Déplacer bloc <Ctrl>+<K><V> 6-25 Ecrire bloc <Ctrl>+<K><W> 6-21 Effacement d'un bloc marqué (Cas A) composé de sB, tB, sC et tC 6-24 Effacement d'un bloc marqué (Cas B) composé de sB, tB et sD 6-24 Effacement d'un bloc marqué (Cas C) composé de tE, sD, tF et sE 6-24 Effacement d'un bloc marqué (Cas D) composé de tA, sB, tB et tC 6-25 Effacer bloc <Ctrl>+<K><Y> 6-24 Lire bloc <Ctrl>+<K><R> 6-21 Marquer début de bloc <Ctrl>+<K><B> 6-21 Marquer un bloc (Cas A), commençant par l'étape sB et finissant par la transition tC 622 Marquer un bloc (Cas C), commençant par la transition tE et finissant par l'étape sE 623 Marquer un bloc (Cas C), commençant par l'étape sB et finissant par l'étape sC 6-22 Marquer un bloc (Cas D), commençant par la transition tE et finissant par la transition tF 6-23 Masquer le bloc <Ctrl>+<K><H> 6-21 Instructions bloc en langage FBD 10-29 Bloc ### Editeur de texte <Ctrl>+<K><3> 10-29 Bloc éditeur de texte → FBD <Ctrl>+<K><4> 10-29 Copier le bloc<Ctrl>+<K><C> 10-29 Définir un réseau en tant que bloc <Ctrl>+<K><L> 10-29 DOK-MTC200-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Index 13-9 Déplacer le bloc <Ctrl>+<K><V> 10-29 Ecrire bloc sur disquette <Ctrl>+<K><W> 10-29 Effacer un bloc <Ctrl>+<K><Y> 10-29 Lire bloc d'une disquette <Ctrl>+<K><R> 10-29 Marquer bloc<Shift>+<CursorUp><Shift>+<CursorDown> 10-29 Marquer la fin du bloc<Ctrl>+<K><K> 10-29 Marquer le début du bloc<Ctrl>+<K><B> 10-29 Masquer le bloc <Ctrl>+<K><H> 10-29 Instructions Quick dans diagramme à contacts Recherche d'une chaîne de caractères <Ctrl>+<Q><F> 9-33 Recherche et remplacment d'une chaîne de caractères <Ctrl>+<Q><A> 9-33 Restaurer ligne <Ctrl>+<Q><L> 9-33 Instructions Quick dans éditeur de blocs d'actions Recherche d'une chaîne de caractères <Ctrl>+<Q><F> 7-33 Instructions Quick dans éditeur de déclaration Recherche d'une chaîne de caractères <Ctrl>+<Q><F> 5-38 Instructions Quick dans éditeur d'importation Recherche d'une chaîne de caractères <Ctrl>+<Q><F> 4-16 Instructions Quick dans FBD Restaurer ligne <Ctrl>+<Q><L> 10-30 Instructions Quick dans la liste d’instructions 8-22 Recherche d'une chaîne de caractères <Ctrl>+<Q><F> 8-22 Recherche et remplacement d'une chaîne de caractères <Ctrl>+<Q><A> 8-22 Restaurer ligne <Ctrl>+<Q><L> 8-22 Instructions Quick dans le diagramme à contacts 9-33 Instructions Quick dans l'éditeur de blocs d'actions 7-33 Rechercher et Remplacer une chaîne de caractères <Ctrl>+<Q><A> 7-34 Instructions Quick dans l'éditeur de déclaration 5-38 Rechercher et Remplacer une chaîne de caractères <Ctrl>+<Q><A> 5-38 Instructions quick dans l'éditeur d'importation 4-15 Instructions Quick dans l'éditeur FBD Recherche d'une chaîne de caractères <Ctrl>+<Q><F> 10-30 Rechercher et Remplacer une chaîne de caractères <Ctrl>+<Q><A> 10-30 Instructions Quick dans l'éditeur IO 3-36 Instructions Quick dans l'éditeur SFC 6-40 Instructions Quick dans SFC Chercher et Remplacer une chaîne de caractères <Ctrl>+<Q><A> 6-40 Recherche d'une chaîne de caractères <Ctrl>+<Q><F> 6-40 Interface de programmation SPS 11-1 Menu principal SPS 11-2 Possibilités d'aide 11-2 Touches et combinaisons de touches 11-2 IPS200-P/R 3-25 ISP200-P/R 3-12, 3-19, 3-20, 3-22 J Jeu de caractères 2-3 Commentaires 2-3 Emploi des caractères espace 2-3 Identificateur (Nom) 2-3 Mots clés (Keyword) 2-3 L Langage en diagramme de blocs fonctionnels, FBD-FUNCTION BLOCK DIAGRAM 10-1 Langage FBD – Architecture d'un réseau 10-1 Le pointeur indique 2-9 Liste d'actions 7-21 Liste d'instructions – Eléments de base 8-2 Architecture de la liste d’instructions 8-2 Opérateurs et modificateurs Appel de bloc fonctionnel dans l'IL 8-4 Comparaisons 8-4 Comparaisons complexes 8-5 Instructions complexes de chargement et de transport 8-3 Instructions de chargement et de transport 8-3 Instructions Mise à 1 et Remise à zéro 8-3 Opérations arithmétiques 8-4 Opérations arithmétiques complexes 8-4 DOK-MTC200-SPS*PRO*V18-AW01-FR-P 13-10 Index Guide de programmation SPS 18VRS Opérations logiques 8-4 Sauts dans l'IL 8-4 Opérateurs et modificateurs 8-3 Liste d’instructions, IL, INSTRUCTION LIST 8-1 M Marquage d'une structure SFC (complète) en tant que bloc <Ctrl>+<K><A> 6-28 Système global – Options 11-59 Menu compilation 11-25 Menu Compilation Modifications online 11-28 Traduction du fichier de travail / Compiler <Alt>+<F9> 11-26 Traduction intégrale / Build 11-27 Traduction, fichiers nécessaires / Make <F9> 11-26 Menu Diagnostic 11-35 Alarme SPS 11-36 Analyse logique 11-38 Accès à l'éditeur de protocoles 11-39 Edition de liste 11-39 Fichier de protocoles 11-38 Instructions de pied de page 11-40 Chargement d'un protocole 11-41 Démarrage de l'enregistrement 11-40 Effacement du protocole 11-44 Fin de l'enregistrement 11-40 Instructions bloc 11-44 Instructions Quick 11-45 Mémorisation de l'enregistrement 11-41 Menu local 11-43 Mode d'enregistrement 11-43 Nombre d'enregistrements dans le protocole et position du point de déclenchement 11-42 Sélection de la base temporelle 11-41 Touches de direction et touches particulières 11-43 Liste de variables 11-38 Représentation du protocole 11-39 Graphe en ligne 11-39 Variables numériques 11-39 Variables binaires 11-39 Information Composants de commande utilisés 11-38 Information Commande cible 11-37 Information Mémoire de données utilisée 11-37 Information Projet 11-37 Projet chargé 11-37 Information SPS 11-36 Matériel 11-37 Mémoire 11-37 Programme archivé dans la SPS 11-37 Programme dans commande 11-37 Temps de cycle 11-36 Messages de diagnostic 11-35 Menu Edition 11-14 Actions <Alt>+<N> 11-19 Editeur de déclaration <Alt>+<D> 11-18 Editeur d'importation <Alt>+<M> 11-19 EXTRAS 11-16 Implémentation 2ms 11-18 Implémentation2ms Prolongation du temps de cycle par implémentation rapide 11-18 Liaison de données de process 11-16 Copie d'un état d'entrée sur une sortie de process 11-17 Copie d'un mot d'entrée sur un mot de sortie de process 11-17 Reset inconditionnel, conditionnel d'une sortie de process 11-16 Simulation IO 11-17 Implémentation, Sélection de langage 11-15 Mémoire tampon (Editeur de texte) ) <Alt>+<B> 11-23 Afficher <Alt>+<B> 11-23 Copier <Ctrl>+<Insert>, <Ctrl>+<K3> 11-23 Couper <Shift>+<Delete> 11-23 Imprimer <Alt>+<P> 11-25 DOK-MTC200-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Index 13-11 Insérer <Ctrl>+<Insert>, <Ctrl>+<K4> 11-23 Instructions Bloc 11-25 Instructions Quick 11-25 Option de menu 'Chercher' 11-19 Aide aux renvois <Alt>+<S> 11-21 Chercher 11-20 Chercher & Remplacer 11-20 Dernière position… 11-20 GOTO 11-20 Liste de renvois <Alt>+<L> 11-20 Renvoi précédent <Alt>+<F7> 11-22 Renvoi suivant <Alt>+<F8> 11-22 Répéter 11-20 Transitions 11-19 Menu Fichier <Alt>+<A> 11-9 Actualiser 11-13 Charger <F3> 11-9 Charger en format ASCII 11-10 EXIT <Alt>+<X> 11-14 Gestionnaire de fichiers 11-13 Bouton Afficher 11-14 Bouton Archiver 11-14 Bouton Copier 11-14 Bouton Effacer 11-14 Bouton Interrompre 11-14 Bouton Récupérer 11-14 Bouton Renommer 11-14 Bouton Restaurer 11-14 Bouton Test 11-14 Champ de boutons Type/nom 11-14 Fonction 11-13 Impression (de fichiers) 11-10 Paramétrage préliminaire 11-10 Composants 11-11 Documentation en 11-11 Installer 11-12 Langage de substitution 11-11 Nom de fichier 11-12 Type d'imprimante 11-12 Unité de sortie 11-12 Mémoriser en format ASCII 11-10 Mémoriser sous... 11-10 Nouveau 11-9 Retour <Alt>+<F3> 11-9 Sauvegarder <F2> 11-10 Menu Fichier<Alt>+<A> Protection 11-12 Fichier ouvert 11-13 Menu local Voir Touches dans l'éditeur de déclaration:Touches accessibles via le menu local dans l'éditeur de déclaration Menu local dans Editeur IO (Pop_Up-Menü) 3-34 Menu local dans l'éditeur de blocs d'actions 7-32 Menu local dans l'éditeur d'importation Voir Touches dans l'éditeur d'importation:Touches accessibles via le menu local dans l'éditeur d'importation Menu local dans l'éditeur FBD 10-28 Menu local dans l'éditeur IL 8-20 Menu local dans l'éditeur LD 9-31 Menu local dans l'éditeur SFC 6-39 Menu principal SPS Voir Interface de programmation SPS Menu projet 11-45 Archivage 11-50 Archiver 11-51 Bouton Interruption 11-52 Bouton OK 11-51 Champ de boutons Comprimer 11-51 Champ de boutons Connexité 11-51 Champ de sortie Projet 11-51 Champ d'entrée de texte Commentaire 11-51 Champ d'entrée Nom 11-51 Champ d'entrée Version 11-51 Liste de sélection Archive cible 11-51 Liste de sélection Contenu 11-51 DOK-MTC200-SPS*PRO*V18-AW01-FR-P 13-12 Index Guide de programmation SPS 18VRS Récupérer 11-52 Données RETAIN 11-54 Chargement dans SPS 11-54 Effacement de l'archive 11-54 Sauvegarder à partir de la SPS 11-54 Gestionnaire des archives 11-53 Bouton Effacer 11-53 Bouton Interruption 11-53 Bouton Renommage 11-53 Fonction 11-53 Récupérer Bouton Interruption 11-53 Bouton OK 11-53 Champ de sortie Projet 11-52 Champ d'entrée de texte Commentaire 11-52 Champ d'entrée Nom 11-52 Champ d'entrée Version 11-52 Liste de sélection Contenu 11-52 Liste de sélection Source 11-52 Archivage des commentaires 11-54 Ecriture Commentaire 11-54 Documentation 11-46 Ensemble de la documentation 11-46 Paramètres de l'écran 11-46 Paramètres généraux 11-46 Prédéfinitions 11-46 Composants 11-47 Documentation en 11-47 Installer 11-48 Langage de substitution 11-47 Lignes de pied de page 11-47, 11-48 Nom de fichier 11-48 Type d’imprimante 11-48 Unité de sortie 11-48 Renvoi 11-46 Textes de pied de page 11-48 Menu Projet Affectation IO <Alt>+<I> 11-50 Archivage Archiver Modifications lors du stockage à partir du gestionnaire de fichiers 11-52 Récupération Récupération de fichiers INDRAMAT 11-53 Structure , Structure de programme <Alt>+<F4> 11-49 Mise en route / Démarrage Affichage d'état <Shift>+<F9> 11-30 Mise en route / Démarrage 11-29 Etapes, Transitions, Actions actives 11-32 Evaluer/Modifier <Ctrl>+<F4> 11-34 Observation de variables 11-33 Programme ### Commande <Ctrl>+<F9> 11-30 Reset Commande 11-30 Variables à plusieurs éléments <Shift>+<F3> 11-30 Modèle logiciel, 2-1 Modes de fonctionnement des SFC 6-47 Activités dans et entre les modes de fonctionnement d'une chaîne d'étapes 6-48 Erreur de commutation entre les modes de fonctionnement SFC 6-48 Modes de fonctionnement SFC 6-43 Variables système SFC 6-44 Modificateurs Voir Liste d'instructions – Eléments de base:Opérateurs et modificateurs Système global – Options 11-60 Mot de passe: Voir Système global – Options:Mot de passe O Opérateur Voir Liste d'instructions – Eléments de base: Opérateurs et modificateurs Opérateurs Voir Edition de réseaux en langage FBD:Opérateur en langage FBD Voir Edition de diagrammes à contacts:Opérateurs de diagrammes à contacts Options dans le système global Voir Système global - Options DOK-MTC200-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Index 13-13 Options dans l'éditeur de blocs d'actions Voir Editeur de blocs d'actions - Options Options dans l'éditeur de déclaration Voir Editeur de déclarations - Options Options dans l'éditeur de listes d'instructions Voir Editeur de listes d'instructions Options Options dans l'éditeur FBD Voir Editeur FBD - Options Options dans l'éditeur LD Voir Editeur LD - Options Organigramme - Eléments de base 6-2 Organigramme – Eléments de base Etapes (STEP) 6-2 Etape initiale 6-2 Organigramme séquentiel Niveaux de détail 6-30 Organigramme séquentiel - Eléments de base Lois d'exécution 6-4 Organigramme séquentiel – Eléments de base Lignes fléchées 6-3 Lois d'exécution Exécution avec branchement alternatif 6-4 Exécution avec branchement parallèle 6-5 Exécution du regroupement des séquences d'évolution parallèles 6-5 Séquence composée d'étape/transition/étape 6-4 Séquences alternatives 6-3 Séquences parallèles 6-4 Transitions (TRANSITION) 6-2 Organigramme séquentiel – Niveaux de détail Actions des étapes 6-32 Conditions pour la poursuite de commutation des transitions Remplissage de la transition en FBD 6-31 Remplissage de la transition en IL 6-31 Remplissage de la transition en LD 6-31 Liste de transitions 6-31 Organigramme séquentiel – Niveaux de détails Conditions pour la poursuite des transitions 6-30 Utilisation multiple de transitions 6-32 Doubler 6-32 Nouvelle transition 6-32 Renommer 6-32 Organigramme séquentiel (SFC) SEQUENTIAL FUNCTION CHART 6-1 P POINTER 2-27 Pointeur 2-8 Programmation par chaîne d'étapes 6-43 Programme (PROGRAM) Programme écrit par utilisateur - Exemple 2-28 Utilisation de fonctions et de blocs fonctionnels dans des programmes 2-28 Programme(PROGRAM), 2-27 Voir Programme (PROGRAM) Q Quick-Kommandos im Funktionsbausteinsprachen-Editor 10-30 R Représentation ASCII de l'éditeur de listes d'instructions 8-12 Représentation ASCII de l'éditeur FBD Voir Edition de réseaux en langage FBD Représentation ASCII de l'éditeur LD Voir Edition de diagrammes à contacts:Représentation ASCII de l'éditeur LD Représentation ASCII de l'éditeur SFC 6-28 Déclaration des étapes 6-29 Déclaration des transitions 6-29 Enchaînement des étapes et transitions 6-29 Mot clé ‘FORWARD’ 6-29 Représentation de données Représentation numérique 2-3 Représentation de programmes, blocs fonctionnels, fonctions et types de données en format ASCII 2-31 Blocs fonctionnels 2-31 Fonctions 2-31 DOK-MTC200-SPS*PRO*V18-AW01-FR-P 13-14 Index Guide de programmation SPS 18VRS Programme 2-31 Types de données 2-31 Représentation de variables à plusieurs éléments 2-14, 2-15 Voir Représentation de variables à plusieurs éléments Chaînes de caractères 2-14 Tableaux 2-16 Représentation de variables à un élément 2-11 voir Représentation de variables à un élément Représentation des données 2-3 Représentation de chaînes de caractères 2-4 Représentation temporelle 2-4 Réseau Voir Langage FBD – Architecture d'un réseau Voir Diagramme à contacts - Architecture Réseau FBD simple Voir Edition de réseaux en langage FBD:Entrée d'un réseau FBD simple Réseau LD simple Voir Edition de diagrammes à contacts: Entrée d'un diagramme à contacts simple S Section déclaration - Architecture 5-2 Section déclaration d'un bloc fonctionnel Représentation ASCII 5-10 Section déclaration d'un bloc fonctionnel Déclaration de variables de sortie VAR_OUTPUT ... END_VAR 5-8 Déclaration de variables d'entrée VAR_INPUT ... END_VAR 5-8 Déclaration de variables drapeaux et d'affectation de blocs fonctionnels VAR ... END_VAR 5-8 Déclaration de variables externes dans bloc fonctionnel 5-9 Déclaration de variables globales dans le programme 5-9 Déclaration d'indicateurs de retenue VAR_INPUT ... END_VAR 5-8 Section déclaration d'un programme 5-3 Représentation ASCII 5-6 Section déclaration d'un programme Déclaration de marqueurs de retenue et d'affectation de blocs fonctionnels VAR RETAIN ... END_VAR 5-4 Déclaration de variables de sortie VAR_OUTPUT ... END_VAR 5-3 Déclaration de variables drapeaux et d'affectation de blocs fonctionnels VAR ... END_VAR 5-4 Liaison à des adresses absolues 5-5 Section déclaration d'une fonction Représentation ASCII 5-12 Section déclaration d'une fonction Déclaration de variables de sortie VAR_OUTPUT ... END_VAR 5-11 Déclaration de variables d'entrée VAR-INPUT ... END_VAR 5-11 Déclaration d'indicateurs de retenue VAR_RETAIN ... END_VAR 5-12 Section déclaration – Architecture Section déclaration d'un programme Déclaration de variables d'entrée VAR_INPUT ... END_VAR 5-3 Section déclaration d'une fonction Déclaration de variables drapeaux VAR ... END_VAR 5-12 SFCnom 6-46 SFCnom.ERRORFLG 6-48 SFCnom.ERRORNR 6-48 SFCnom.ERRORTYP 6-48 SFC-Variables système Etape 6-44 Structure de programme Voir Menu Projet:Structure, Structure de programme <Alt>+<F4> Synax ISP200/ VM ISP200 3-24 Système global 11-1 Menu central 11-1 Système global - Options Généralités Commentaire de déclaration dans l'implémentation 11-56 Système global - Options 11-55 Système global – Options Compilateur Variable RETAIN Initialisation unique 11-59 Fenêtres DOK-MTC200-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Index 13-15 Taille/Position <Ctrl>+<F5> 11-60 Généralités Affichage de variables symbolique ou absolu 11-56 Généralités Représentation de variables absolues 11-56 Sélection du langage de programmation 11-56 Système global –Options Généralités Liste d'instructions (par analogie LD/FBD) 11-56 T Tableau IO DPM01 (Profibus DP Master) 3-19 Architecture 3-19 Edition 3-19 Représentation ASCII 3-20 Tableau IO DPM01 (Profibus DP-Slave) Représentation ASCII 3-21 Tableau IO DPS (Profibus DP-Slave) 3-20 Tableau IO DPS1 (Profibus DP-Slave) Architecture 3-20 Edition 3-21 Tableau IO CLC-P02 (Synax/ GPS) 3-24 Architecture 3-24 Edition 3-24 Représentation ASCII 3-24 Tableau IO de la boucle SERCOS 3-28 Edition 3-28 Représentation ASCII 3-30 Sélection de modules RECO2 3-28 Tableau IO de l'esclave à fibres optiques (LWL-Slave), MT-CNC 3-7 Architecture 3-7 Edition 3-7 Tableau IO de l'esclave à fibres optiques , MT-CNC Représentation ASCII 3-7 Tableau IO des SIO-3 (Ports série), MT-CNC 3-23 Représentation ASCII 3-23 Tableau IO DNM01 (DeviceNet-Master) 3-22 Architecture 3-22 Edition 3-22 Représentation ASCII 3-23 Tableau IO du bus RECO 3-26 Tableau IO du bus RECO Architecture 3-26 Tableau IO du Bus RECO Edition 3-26 Sélection de modules RECO2 3-26 Tableau IO du Maître à fibres optiques 3-3 Architecture 3-3 Edition 3-3 Tableau IO du RECO-Bus Représentation ASCII 3-27 Tableau IO IBM1 (IBS-Master G3) 3-7 Architecture 3-7 Edition 3-8 Représentation ASCII 3-10 Tableau IO IBM1 (IBS-Masters G3) Création de nouveaux postes dans la liste de sélection Interbus-S. 3-10 Tableau IO IBM2 (IBS-Master G4) 3-12 Architecture 3-12 Formes des bornes 3-12 Edition 3-12 Modification du comportement au démarrage 3-18 Représentation ASCII 3-16 Tableau IO IBM2 (IBS-Masters G4) Création de nouveaux postes dans la liste de sélection Interbus-S. 3-17 Tableau IO PEA3/4 3-25 Architecture 3-25 Connexion directe PC104 3-25 Edition 3-25 Représentation ASCII 3-25 DOK-MTC200-SPS*PRO*V18-AW01-FR-P 13-16 Index Guide de programmation SPS 18VRS Technique des fenêtres 11-3 Fenêtre de sélection 11-5 Fenêtre d'éditeur 11-5 En-tête 11-6 Pied 11-6 Fenêtre d'option pour paramétrage 11-3 Fenêtre menu pour sélection des instructions 11-3 Touche dans l'éditeur de déclaration Touches d’effacement 5-34 Touche dans l'éditeur LD Accès 9-30 Touches de direction 9-30 Touches dans éditeur d'importation Accès 4-14 Touches d'effacement 4-14 Touches dans le système global 11-63 Touches dans l'éditeur de blocs d'actions 7-31 Accès 7-31 Instructions curseur 7-31 Touches d'effacement 7-31 Touches dans l'éditeur de déclaration 5-34 Accès 5-34 Instructions curseur 5-34 Touches accessibles via le menu local dans l'éditeur de déclaration 5-35 Touches dans l'éditeur de listes d'instructions 8-19 Touches dans l'éditeur d'IL Accès 8-19 Touches d'effacement 8-19 Touches dans l'éditeur d'importation 4-14 Instructions curseur 4-14 Touches accessibles via le menu local dans l'éditeur d'importation 4-14 Touches dans l'éditeur FBD 10-27 Accès 10-27 Instructions curseur 10-27 Touches d'effacement 10-27 Touches dans l'éditeur IL Instructions curseur 8-19 Touches dans l'éditeur IO 3-34 Touches dans l'éditeur LD 9-30 Touches d’effacement 9-30 Touches dans l'éditeur SFC 6-38 Accès 6-38 Instructions curseur 6-38 Touches d'effacement 6-38 Traitement de la durée d'exécution en cas de conflits de qualificatifs d'action 7-36 Traitement SFC - Particularités 6-49 Traitement SFC – Particularités Avantages du nouvel interpréteur de structures 6-49 Calcul de l'état des étapes SFC (mode automatique) 6-49 Implémentation du mode automatique 6-49 Programmes SPS existants et nouvel interpréteur de structures 6-50 Traitement SFC – Particularités du nouvel interpréteur de structures 6-49 Types de données 2-5 Adresse de Voir Adresse de Initialisation Voir Initialisation Pointer Voir Pointeur Types dérivés Voir Types de données dérivés Types élémentaires voir Types élémentaires de données Types de données dérivés 2-7 Structures 2-7 Tableaux 2-7 Types élémentaires de données 2-5 Caractère (CHAR) 2-6 Chaîne de caractères (STRING) 2-6 Séquences de bits 2-6 U Unités d'organisation de programme 2-19 Fonctions (FUNCTION) voir Fonctions (FUNCTION) DOK-MTC200-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Index 13-17 Variables globales dans programmes et variables externes dans FB Voir Variables globales dans programmes et variables externes dans FB Unités organisationnelles de programme Blocs fonctionnels standard et Fonctions standard dans la bibliothèque Voir Blocs fonctionnels standard et Fonctions standard dans la bibliothèque Représentation de programmes, blocs fonctionnels, fonctions et types de données en format ASCII Voir Représentation de programmes, blocs fonctionnels, fonctions et types de données en format ASCII V Variables 2-11 Constante d'adresse Voir Constante d'adresse Déclaration et initialisation voir Déclaration et Initialisation Variables globales dans programmes et variables externes dans FB 2-29 Bloc fonctionnel 2-30 Déclaration de variables externes 2-30 Déclaration de variables globales 2-29 Variables système SFC 6-44 Action 6-45 Chaîne d'étapes 6-44 Entrée et utilisation 6-45 Actions système 6-47 Modèle de la chaîne d'étapes 6-46 Nom de la structure SFC actuelle ’SFCnom’ 6-46 Pointeur sur jeu de données de l'étape actuelle 6-46 Types de données sans utilisation de la commutation mode de fonctionnement 6-45 Variables système et types de données système 6-45 Transition 6-45 Type d'action minimal 6-45 Type d'étapeminimal 6-44 Type SFC minimal 6-44 DOK-MTC200-SPS*PRO*V18-AW01-FR-P 13-18 Index Guide de programmation SPS 18VRS DOK-MTC200-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Répertoire des figures 14-1 14 Répertoire des figures Fig. 2-1: Structure d'un programme suivant le modèle logiciel EN 61131-32-1 Fig. 2-2: Combinaison des éléments langage SPS 2-2 Fig. 2-3: Type de données défini par l'utilisateur (STRUCT) 2-7 Fig. 2-4: Type de données défini par l'utilisateur (ARRAY of BOOL) 2-8 Fig. 2-5: Type de données défini par l'utilisateur (ARRAY of STRUCT), Le Type de données OUTILLAGE (Fig. 2-3: Type de données défini par l'utilisateur (STRUCT)) doit être importé auparavant.2-8 Fig. 2-6: Mode d'accès périphérique direct 2-13 Fig. 2-7: Déclaration de la fonction SELECT 2-20 Fig. 2-8: Implémentation de la fonction SELECT 2-21 Fig. 2-9: Déclaration du bloc fonctionnel AOVR 2-23 Fig. 3-1: Création d'un programme 'PR', bloc fonctionnel 'FB', d'une fonction 'FK' ou d'un type de donnée 'TY' 3-1 Fig. 3-2: Fenêtre de sélection 'Editeur IO' 3-2 Fig. 3-4: Connexion du maître à fibres optiques LWL avec des postes possibles 3-3 Fig. 3-5: Esclave à fibres optiques avec poste MTC-M 3-7 Fig. 3-6: IBM1, Interbus Master G3 3-8 Fig. 3-7: IBM1, IBS-Editor G3, Travail avec liste de sélection 3-9 Fig. 3-9: Extension de la liste de sélection Interbus-S 3-11 Fig. 3-10: IBM2, Entrée Offline 3-13 Fig. 3-11: Décisions de l'utilisateur pour la poursuite 3-15 Fig. 3-12: Extension de la liste de sélection Interbus-S 3-18 Fig. 3-13: DPM01 Profibus DP-MASTER avec carreau de mémoire 3-20 Fig. 3-14: DPM01 Profibus DP-Slave avec carreau de mémoire 3-22 Fig. 3-15: DNM01 DeviceNet-Master mit carreau de mémoire 3-23 Fig. 3-16: CLC-P02 avec carreau de mémoire 3-25 Fig. 3-17: PEA3/4, connexion directe PC104-EA 3-26 Fig. 3-18: Editeur IO pour Bus RECO 3-27 Fig. 3-19: Editeur IO pour Bus RECO 3-29 Fig. 3-20: Fenêtre d'options 'Paramètres généraux' 3-32 Fig. 3-21: Affichage d'état dans l'éditeur IO 3-33 Fig. 3-22: <F1> Aide sur l'éditeur 3-34 Fig. 3-23: <Ctrl>+<F1> - Aide sur le terme 3-34 Fig. 3-24: <Alt>+<S>, Rechercher ... ‘Variable’ 3-34 Fig. 3-25: Menu local dans l'éditeur IO 3-35 Fig. 4-1: Création d'un programme 'PR', d'un bloc fonctionnel 'FB', d'une fonction 4-1 Fig. 4-2: Section importation du programme TEST_PLC 4-2 Fig. 4-3: Section importation en cas de création d'un nouveau programme. 4-3 Fig. 4-4: Importation d'un bloc fonctionnel utilisateur 4-4 Fig. 4-5: Importation d'une fonction utilisateur, fenêtre de sélection 4-5 Fig. 4-6: Importation d'un type de données utilisateur, fenêtre de sélection4-6 DOK-MTC200-SPS*PRO*V18-AW01-FR-P 14-2 Répertoire des figures Guide de programmation SPS 18VRS Fig. 4-7: Passage à l'éditeur d'interfaces avec 1-S_Edit pour le clignotant FB BLINKER utilisé dans le programme 4-7 Fig. 4-8: Comparaison de la section déclaration du FB BLINKER au moment de l'importation (à gauche) et sous l'état actuel (à droite).4-7 Fig. 4-9: <F1> Aide dans l'éditeur actuel 4-11 Fig. 4-10: <Ctrl>+<F1>, Aide sur le terme, le curseur se trouve sur FUNCTION 4-11 Fig. 4-11: <Alt>+<S>, Rechercher 4-12 Fig. 4-12: <Shift>+<F1>, Aide déclaration pour bloc fonctionnel utilisateur AOVRD 4-12 Fig. 4-13: <Shift>+<F1>, Aide déclaration pour fonction utilisateur SELECT 4-13 Fig. 4-14: <Shift>+<F1>, Aide déclaration pour type de données DWECHSEL 4-13 Fig. 4-15: Menu local dans l'éditeur d'importation 4-14 Fig. 4-16: Recherche d'un texte (chaîne de caractères) 4-16 Fig. 5-1: Création d'un programme 'PR', bloc fonctionnel 'FB', d'une fonction 'FK' ou d'un type de données 'TY' 5-1 Fig. 5-2: Section déclaration du programme EXEMPLE 5-2 Fig. 5-3: Section déclaration d'un bloc fonctionnel 5-7 Fig. 5-4: Section déclaration d'une fonction 5-10 Fig. 5-5: Section déclaration du programme EXEMPLE 5-13 Fig. 5-6: Fenêtre de sélection 'Constantes d'adresse' 5-15 Fig. 5-7: Fenêtre de sélection 'Types de données dérivés' 5-15 Fig. 5-8: Fenêtre de sélection 'Types de données standard' 5-16 Fig. 5-9: Convention pour blocs fonctionnels 5-16 Fig. 5-10: Fenêtre de sélection 'Types de blocs fonctionnels'' 5-18 Fig. 5-11: Fenêtre de déclaration d'un type de données utilisateur 5-19 Fig. 5-12: Fenêtre de déclaration d'un type de données utilisateur 5-20 Fig. 5-13:Importation d'OUTILLAGE dans le type de données utilisateur ECHANGEUR 5-22 Fig. 5-14: Type de données utilisateur ECHANGEUR Fig. 5-15: 5-22 <Shift>+<F1>, Aide pour OUTILLAGE dans type de données ECHANGEUR 5-23 Fig. 5-16: Editeur de déclaration, informations sur l'état 5-24 Fig. 5-17: Sélection d'une variable à plusieurs éléments 5-24 Fig. 5-18: Affichage d'une variable à plusieurs éléments 5-25 Fig. 5-19: Affichage de la structure (en tant qu'élément de tableau) 5-25 Fig. 5-20: Variable en tant que bloc (avec info sur le type) 5-26 Fig. 5-21: Archivage du fichier ASCII 5-26 Fig. 5-22: Traitement du fichier ASCII dans l'éditeur de texte 5-27 Fig. 5-23: Fenêtre d'options ‘Paramètres généraux’ 5-28 Fig. 5-24: Fenêtre d'option ‘Paramètres de l'écran’ 5-29 Fig. 5-25: <F1> Aide en relation avec l'éditeur actuel 5-30 Fig. 5-26: <Ctrl>+<F1>, Aide contextuelle (le curseur se trouve sur le terme iDEA) 5-31 Fig. 5-27: Recherche d'un terme prédéfini 5-31 DOK-MTC200-SPS*PRO*V18-AW01-FR-P Répertoire des figures 14-3 Guide de programmation SPS 18VRS Fig. 5-28:<Shift>+<F1>, Aide déclaration sur l'Identificateur PO1S avec passage à l'information sur le type <T> 5-32 Fig. 5-29: <Shift>+<F1>, Aide déclaration sur le type de données iPROC5-32 Fig. 5-30: <Shift>+<F1>, aide déclaration sur l'Identificateur S_Cycles avec passage à l'information sur le type <T> 5-33 Fig. 5-31: <Shift>+<F1>, Aide déclaration sur le type de données CTUD_INT 5-33 Fig. 5-32: Menu local dans l'éditeur de déclaration 5-35 Fig. 5-33: Recherche et remplacement d'un texte (chaîne de caractères)5-38 Fig. 6-1: Création d'un programme ‘PR’ ou d'un bloc fonctionnel ‘FB’ en utilisant des éléments SFC. 6-1 Fig. 6-2: Déclaration des variables utilisées en tant que condition pour la poursuite de la commutation 6-7 Fig. 6-3: SFC avec étape d'initialisation, transition et saut à l'étape initiale6-8 Fig. 6-4: Séquence du chemin principal 6-9 Fig. 6-5: Branchement alternatif 6-9 Fig. 6-6: Fin de la séquence alternative. 6-10 Fig. 6-7: Fin de l'alternative 6-11 Fig. 6-8: Renvoi 6-11 Fig. 6-9: Structure SFC pour archivage ASCII 6-28 Fig. 6-10: Préparation au remplissage de la transition Accès avec la combinaison de touches <Ctrl>+<Enter> 6-30 Fig. 6-11: Liste de transitions 6-31 Fig. 6-12:Affichage de l'état, des étapes et des transitions 6-32 Fig. 6-13: Tableau des transitions dans l'éditeur SFC 6-33 Fig. 6-14: Fenêtre d'options ‘Paramètres généraux’ 6-34 Fig. 6-15: Fenêtre d'option ‘Paramètres de l'écran’ 6-35 Fig. 6-16: <F1> Aide en relation avec l'éditeur actuel 6-36 Fig. 6-17: <Ctrl>+<F1> - Aide sur le terme 'Transition' 6-37 Fig. 6-18: Aide sur le terme 'Action' 6-37 Fig. 6-19: Menu local dans l'éditeur SFC 6-39 Fig. 6-20: Recherche et remplacement d'un texte (chaîne de caractères)6-40 Fig. 6-21: Données système permanentes et définies par l'utilisateur de la chaîne d'étapes. 6-43 Fig. 6-22:Données système permanentes et définies par l'utilisateur de l'étape 6-43 Fig. 6-23:Données système permanentes et définies par l'utilisateur de la transition 6-44 Fig. 6-24: Données système permanentes et définies par l'utilisateur de l'action 6-44 Fig. 6-25: Importation des types de données utilisateur pour éléments SFC 6-45 Fig. 6-26: Fig. 6-27: Fig. 6-28: Déclaration de la chaîne d'étapes– Affectation des types de données SFC 6-45 Edition des actions système via la liste d'action Passages entre les modes de fonctionnement d'une chaîne d'étapes 6-47 Fig. 7-1: Création d'un programme 'PR' ou d'un bloc fonctionnel 'FB' DOK-MTC200-SPS*PRO*V18-AW01-FR-P 6-46 7-1 14-4 Répertoire des figures Guide de programmation SPS 18VRS Fig. 7-2: Données système permanentes et définies par l'utilisateur de l'action 7-3 Fig. 7-3: Accès à l'éditeur de blocs d'actions à partir de l'éditeur SFC 7-18 Fig. 7-4: Entrée de blocs d'actions avec commentaire 7-19 Fig. 7-5: Négation d'une variable binaire dans un bloc d'actions 7-20 Fig. 7-6: Liste d'actions 7-21 Fig. 7-7: Utilisation multiple d'actions (dans l'exemple CLEAR_ERR) 7-22 Fig. 7-8: Accès à l'action CLEAR_ERR après <Ctrl>+<Enter> 7-23 Fig. 7-9: Exemple pour blocs d'actions 7-23 Fig. 7-10: Affichage d'actions activées 7-25 Fig. 7-11: Action forcée, <Ctrl>+<F4> préparé pour arrêt 7-25 Fig. 7-12: Tableau d'actions dans l'éditeur des blocs d'actions 7-26 Fig. 7-13: Tableau d'actions avec actions forcées et activées normalement 7-26 Fig. 7-14: Fenêtre d'options 'Paramètres généraux'' 7-27 Fig. 7-15: Fenêtre d'option ‘Paramètres de l'écran’ 7-28 Fig. 7-16: <F1> Aide sur l'éditeur actuel 7-29 Fig. 7-17: <Ctrl>+<F1> - Aide contextuelle 7-30 Fig. 7-18: Cherche le terme TIME dans l'aide 7-30 Fig. 7-19: Menu local de l'éditeur de blocs d'actions 7-32 Fig. 7-20: Recherche et remplacement d'un texte (chaîne de caractères)7-34 Fig. 8-1: Création d'un programme 'PR', bloc fonctionnel 'FB' ou d'une fonction 'FK' dans la liste d'instructions' 8-1 Fig. 8-2: Liste d'instructions 8-2 Fig. 8-3: Section déclaration pour la Fonction SELECT 8-6 Fig. 8-4: Editeur IL, Fenêtre de sélection pour opérations 8-7 Fig. 8-5: Editeur IL pour l'entrée de la fonction SELECT 8-8 Fig.8-6: Section déclaration de l'exemple 8-10 Fig. 8-7: Section déclaration pour exemple FB, importation du FB 'RS' n'est pas nécessaire, vu qu'il s'agit d'un FB-micrologiciel. 8-11 Fig. 8-8: Extrait de l'éditeur IL pour écriture ASCII. 8-13 Fig. 8-9: Liste d'instructions, informations d'état 8-14 Fig. 8-10: Fenêtre d'options 'Paramètres généraux' 8-15 Fig. 8-11: Fenêtre d'options ‘Paramètres de l'écran’ 8-16 Fig. 8-12: <F1> Aide sur l'éditeur actuel 8-17 Fig. 8-13: <Ctrl>+<F1> - Aide contextuelle 8-18 Fig. 8-14: Aide sur le terme INT 8-18 Fig. 8-15: <Shift>+<F1>, Aide déclaration sur l'opérande QOVR 8-19 Fig. 8-16: <Shift>+<F1>, Aide déclaration sur la fonction utilisateur BYTE_INT 8-19 Fig. 8-17: Menu local de l'éditeur IL 8-21 Fig. 8-18: Recherche et remplacement d'un texte (chaîne de caractères)8-23 Fig. 9-1: Création d'un programme 'PR', bloc fonctionnel 'FB' ou d'une fonction 'FK' ' 9-1 Fig. 9-2: Diagramme à contacts 9-2 Fig. 9-3: Section déclaration de l'exemple (extrait) 9-4 DOK-MTC200-SPS*PRO*V18-AW01-FR-P Répertoire des figures 14-5 Guide de programmation SPS 18VRS Fig. 9-4: Exemple de diagramme à contact avec affichage du commentaire de déclaration (<Ctrl>+<F6>) pour 'Aimant1' 9-5 Fig. 9-5: Exemple Diagramme à contacts, Commentaire de déclaration avec Aimant1 réécrit après activation de la touche <F6>. 9-5 Fig. 9-6: Section déclaration pour la Fonction SELECT 9-7 Fig. 9-7: Diagramme à contacts pour la Fonction SELECT 9-8 Fig. 9-8: Déclaration pour la fonction BSP_OP 9-9 Fig. 9-9: Fonction BSP_OP, Fenêtre de sélection 'Operateurs' 9-9 Fig. 9-10: Fonction BSP_OP, complétée 9-10 Fig. 9-11: Déclaration a posteriori d'une variable 9-12 Fig. 9-12: La variable manquante est inscrite a posteriori 9-12 Fig. 9-13: Fonction complète dans éditeur LD 9-13 Fig. 9-14: Fonction complète dans éditeur LD après simplification 9-13 Fig. 9-15: Section déclaration pour exemple FB, importation du FB RS n'est pas nécessaire, vu qu'il s'agit d'un FB-micrologiciel. 9-14 Fig. 9-16: Entrée du FB 'ff75' au moyen de fenêtres de sélection 9-15 Fig. 9-17: Sélection des entrées et sorties du FB à connecter. 9-15 Fig. 9-18: Sélection du nom de variable pour le relais 9-16 Fig. 9-19: Fin du réseau – Appel inconditionnel 9-16 Fig. 9-20: Fin du réseau – Appel conditionnel 9-17 Fig. 9-21: Diagramme à contacts d'un programme, informations d'état9-18 Fig. 9-22: Fenêtre d'options ‘Paramètres généraux’ 9-19 Fig. 9-23: Fenêtre d'option ‘Paramètres de l'écran’ 9-20 Fig. 9-24: <F1> Aide sur l'éditeur actuel 9-21 Fig. 9-25: <Ctrl>+<F1> - Aide contextuelle 9-22 Fig. 9-26: Aide sur le terme 'Fonction utilisateur'' 9-22 Fig. 9-27: <Shift>+<F1>, Aide déclaration sur opérande 'Set' avec indication du type 9-23 Fig. 9-28: <Shift>+<F1>, Aide déclaration pour bloc fonctionnel 'ff75: RS' 9-23 Fig. 9-29: Menu local de l'éditeur LD Fig. 9-30: res) Fig. 10-1: Recherche et remplacement d'un texte (Chaîne de caractè9-33 Création d'un programme 'PR', bloc fonctionnel 'FB' ou d'une fonction 'FK' ' 10-1 Fig. 10-2: Réseau en langage FBD 10-2 Fig. 10-3: Section déclaration pour l'exemple 10-4 Fig. 10-4: Exemple FBD avec affichage du commentaire de déclaration (<Ctrl>+<F6>) pour 'Aimant1' 10-5 Fig. 10-5: Exemple FBD, Commentaire de déclaration avec Aimant1 réécrit après activation de la touche <F6>. 10-5 Fig. 10-6: Section déclaration pour la Fonction SELECT 10-6 Fig. 10-7:Commentaire dans la fonction SELECT 10-7 Fig. 10-8: Déclaration pour la fonction BSP_OP 10-8 Fig. 10-9: Fonction BSP_OP, Fenêtre de sélection 'Opérateurs' 10-8 Fig. 10-10: Fonction BSP_OP, complétée 10-9 Fig. 10-11: Déclaration a posteriori d'une variable omise DOK-MTC200-SPS*PRO*V18-AW01-FR-P 9-31 10-11 14-6 Répertoire des figures Guide de programmation SPS 18VRS Fig. 10-12: La variable manquante est inscrite a posteriori 10-11 Fig. 10-13: Fonction complète dans éditeur FBD 10-12 Fig.10-14: Fonction complète dans éditeur FBD après simplification 10-12 Fig. 10-15: Section déclaration pour exemple FB, importation du FB RS n'est pas nécessaire, vu qu'il s'agit d'un FB-micrologiciel. 10-13 Fig. 10-16: Entrée du FB 'ff75' au moyen de fenêtres de sélection 10-14 Fig. 10-17: Sélection des entrées et sorties du FB à connecter 10-14 Fig. 10-18: Sélection du nom pour l'entrée de la bascule bistable (FlipFlop) 10-15 Fig. 10-19: Fin de la connexion du FlipFlop 10-15 Fig. 10-20: Fin du réseau – Appel conditionnel 10-16 Fig. 10-21: Programme en FBD, informations d'état 10-17 Fig. 10-22: Fenêtre d'options ‘Paramètres généraux’ 10-18 Fig. 10-23: Fenêtre d'option 'Paramètres de l'écran' 10-19 Fig. 10-24: <F1> Aide sur l'éditeur actuel 10-20 Fig. 10-25: <Ctrl>+<F1> - Aide contextuelle 10-21 Fig. 10-26: Cherche Aide sur le terme INT 10-21 Fig. 10-27: <Shift>+<F1>, Aide déclaration sur l'opérande 'rayon' 10-22 Fig. 10-28: <Shift>+<F1>, Aide déclaration sur la fonction SELECT 10-22 Fig. 10-29: Menu local de l'éditeur FBD 10-28 Fig. 10-30: Recherche et remplacement d'un texte (chaîne de caractères)10-30 Fig. 11-1: Menu principal SPS 11-1 Fig.11-2: Fenêtre menu pour sélection des instructions 11-3 Fig. 11-3: Fenêtre d'option pour paramétrage 11-4 Fig. 11-4: Fenêtre de sélection 11-5 Fig. 11-5: Fenêtre d'éditeur avec menu local 11-5 Fig. 11-6: Fenêtre de mémorisation, interne 11-6 Fig. 11-7: Fenêtre de mémorisation, externe 11-7 Fig. 11-8: Option de menu Travail avec fichier 11-9 Fig. 11-9: Fenêtre de sélection pour documentation 'Fichier de travail'11-11 Fig. 11-10: Protection de fichiers, attributs de fichiers, mot de passe 11-12 Fig. 11-11: Gestionnaire de fichiers 11-13 Fig. 11-12: Fenêtre de sélection 'Edition'' 11-15 Fig. 11-13: Option de menu 'Chercher' 11-19 Fig. 11-14: Fenêtre de sélection pour liste de renvois 11-20 Fig. 11-15: Liste de renvois, variables symboliques classées dans l'ordre alphabétique 11-21 Fig. 11-16: Aide aux renvois à partir des différents éditeurs, <Alt>+<S>, Curseur sur terme recherché HM100 11-22 Fig. 11-17: Editeur de texte avec fichier archivé 11-23 Fig. 11-18: Réseau LD marqué 11-24 Fig. 11-19: Réseau sous forme IL dans l'éditeur de texte 11-24 Fig. 11-20: IL modifiée dans l'éditeur de texte 11-24 Fig. 11-21: IL modifié transféré de l'éditeur de texte à l'éditeur FBD 11-24 Fig. 11-22: Menu local de l'éditeur de texte 11-25 DOK-MTC200-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Répertoire des figures 14-7 Fig. 11-23: Fenêtre d'option ‘Paramètres du compilateur’ 11-25 Fig. 11-24: Traduction du fichier de travail, des fichiers nécessaires (Make) et du programme complet (Build) 11-27 Fig. 11-25: Traduction intégrale / Build 11-28 Fig. 11-26: Menu Mise en route 11-29 Fig. 11-27: Sélection d'une variable à plusieurs éléments (Type de données micrologiciel, structure) 11-31 Fig. 11-28: Affichage d'une variable à plusieurs éléments 11-31 Fig. 11-29: Indication de la position d'un élément de tableau 11-32 Fig. 11-30: Tableau des transitions dans l'éditeur SFC 11-32 Fig. 11-31: Observation de variables 11-33 Fig. 11-32: Intervention unique pour influencer des variables 11-34 Fig. 11-33: Menu Diagnostic, spécial: Messages de diagnostic 11-35 Fig. 11-34: Information SPS 11-36 Fig. 11-35: Informations sur le projet qui se trouve dans l'ordinateur 11-37 Fig. 11-36: Entrée / Modification de variables dans la liste de variables actuelle 11-39 Fig. 11-37: Protocole terminé avant le début du nouvel enregistrement (l'écran est vide lorsqu'un protocole terminé existe) 11-40 Fig. 11-38: Sélection de la base temporelle 11-41 Fig. 11-39: Affichage du protocole – Base temporelle 1000 ms 11-42 Fig. 11-40: Nombre d'enregistrements dans le protocole et position du point de déclenchement 11-42 Fig. 11-41: Mode d'enregistrement 11-43 Fig. 11-42: Menu local, éditeur de protocole 11-44 Fig. 11-43: Préparation du ZOOM par marquage de bloc dans la zone voulue 11-45 Fig. 11-44: Menu projet 11-46 Fig. 11-45: Fenêtre de sélection pour documentation de l'ensemble du programme 11-47 Fig. 11-46: Création de fichiers de texte de pied de page par l'utilisateur.11-48 Fig. 11-47: Structure de programme 11-49 Fig. 11-48: Option de menu 'Archivage' 11-50 Fig. 11-49: Archivage de fichiers 11-51 Fig. 11-50: Option de menu ‘Récupérer' 11-52 Fig. 11-51: Récupération de fichiers INDRAMAT 11-53 Fig. 11-52: Option de menu 'Gestionnaire des archives' 11-53 Fig. 11-53: Fenêtre d'option ‘Généralités’ 11-56 Fig. 11-54: Fenêtre d'option ‘Ecran’ 11-57 Fig.11-55: Fenêtre pour chargement, modification et mémorisation de palettes de couleurs 11-58 DOK-MTC200-SPS*PRO*V18-AW01-FR-P Fig. 11-56: Fenêtre d'option ‘Généralités’ 11-59 Fig. 11-57: Fenêtre d'option ‘Mémorisation’ 11-60 Fig. 11-58: Fenêtres, passage entre fenêtres 11-60 Fig. 11-59: Entrée d'un mot de passe 11-61 14-8 Répertoire des figures Guide de programmation SPS 18VRS DOK-MTC200-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Services d'assistance à la clientèle - Sales & Service Facilities Services d'assistance à la clientèle - Sales & Service Facilities Allemagne – Germany Région Est Région Centre Germany Centre V/S Service INDRAMAT GmbH Bgm.-Dr.-Nebel-Str. 2 D - 97816 Lohr am Main Tél. : Téléfax: +49 (0)9352/40-0 +49 (0)9352/40-4885 S: Région Sud Germany South V/S Service Région Ouest Germany East V/S Service Germany West Région Nord V/S Service Germany North INDRAMAT GmbH Beckerstraße 31 D - 09120 Chemnitz INDRAMAT GmbH Harkortstraße 25 D - 40849 Ratingen INDRAMAT GmbH Kieler Straße 212 D - 22525 Hamburg Tél. : Téléfax: Tél. : Téléfax: Tél. : Téléfax: +49 (0)371/35 55-0 +49 (0)371/35 55-333 +49 (0)2102/43-0 +49 (0)2102/41 315 V/S +49 (0)40/85 31 57-0 +49 (0)40/85 31 57-15 Herzig Code tél. 224 V: A. Proft, Code tél. -16 V:K.Weinkauf, Code tél. -30 Région Sud-Ouest INDRAMAT Service-Hotline Germany South-West V/S INDRAMAT GmbH Ridlerstraße 75 D-80339 München INDRAMAT GmbH Böblinger Straße 25 D-71229 Leonberg Tél. : +49 (0)89/540138-30 Téléfax: +49 (0)89/540138-10 Tél. : +49 (0)7152/9 72-6 Téléfax: +49 (0)7152/9 72-727 K. Riedl, ligne directe. -30 V:P. Eicher, ligne directe -47 V:Kwiedor, ligne directe -46 voir Annuaire tél. INDRAMAT K. Stamer, ligne directe -710 S:Konow, ligne directe. -711 V: Service INDRAMAT GmbH Téléphone: +49 (0)172/660 04 06 ou Tél. : +49 (0)171/333 88 26 KRE-Hotline pour PIECES DE RECHANGE:seulement les jours ouvrés de 15 à 18 heures Services d'assistance à la clientèle en Allemagne Service agencies in Germany DOK-MTC200-SPS*PRO*V18-AW01-FR-P Service Services d'assistance à la clientèle - Sales & Service Facilities Guide de programmation SPS 18VRS Europa - Europe Austria V/S Service Austria V/S Service Belgium V/S Service Denmark V/S Mannesmann Rexroth Ges.m.b.H. Geschäftsbereich INDRAMAT Hägelingasse 3 A - 1140 Wien Mannesmann Rexroth G.m.b.H. Geschäftsbereich INDRAMAT Industriepark 18 A - 4061 Pasching Mannesmann Rexroth N.V.-S.A. Geschäftsbereich INDRAMAT Industrielaan 8 B-1740 Ternat BEC AS Zinkvej 6 DK-8900 Randers Tél. : Téléfax: Tél. : Téléfax: Tél. : Téléfax: Tél. : Téléfax: +43 (0)1/9852540-400 +43 (0)1/9852540-93 +43 (0)7221/605-0 +43 (0)7221/605-21 +32 (0)2/5823180 +32 (0)2/5824310 Service +45 (0)87/11 90 60 +45 (0)87/11 90 61 Manfred Taschl Ligne directe -63 Hviezdoslavova 5 CS - 627 00 Brno Tél: England V/S Service Mannesmann Rexroth Ltd. INDRAMAT Division 4 Esland Place, Love Lane GB - Cirencester, Glos GL7 1YG Tél. : Téléfax: +44 (0)1285/658671 +44 (0)1285/654991 Finland V/S Service Rexroth Mecman OY Ansatie 6 SF-017 40 Vantaa Tél. : Téléfax: +358 (0)9/84 91 11 +358 (0)9/84 91 13 60 France Service Mannesmann Rexroth S.A. Division INDRAMAT Parc des Barbanniers 4, Place du Village F-92632 Gennevilliers Cedex Tél. : Téléfax: Hotline: Code tél. 1252 V: V/S France V/S Service Mannesmann Rexroth S.A. Division INDRAMAT 270, Avenue de Lardenne F - 31100 Toulouse +33 (0)141 47 54 30 +33 (0)147 94 69 41 +33 (0)6 08 33 43 28 Tél. : +33 (0)5 61 49 95 19 Téléfax: +33 (0)5 61 31 00 41 (Kw.1188-5) Téléphone: France V/S Service Italy V/S Service Italy V/S Service Italy V/S Service Mannesmann Rexroth S.A. Division INDRAMAT 91, Bd. Irène Joliot-Curie F - 69634 Vénissieux Cedex Mannesmann Rexroth S.p.A. Divisione INDRAMAT Via G. Di Vittoria, 1 I - 20063 Cernusco S/N.MI Mannesmann Rexroth S.p.A. Divisione INDRAMAT Via Borgomanero, 11 I - 10145 Torino Mannesmann Rexroth S.p.A. Divisione INDRAMAT Via del Progresso, 16 (Zona Ind.) I - 35020 Padova Tél.: +33 (0)4 78 78 53 65 Téléfax: +33 (0)4 78 78 52 53 Tél. : +39 (0)2/92 36 52 70 Téléfax: +39 (0)2/92 36 55 12Code tél, 1186 V: Tél. : Téléfax: Tél. : Téléfax: Italy Netherlands Italy V/S Service V/S Service +39 (0)11/7 71 22 30 +39 (0)11/7 71 01 90 V/S Service +39 (0)49/8 70 13 70 +39 (0)49/8 70 13 77 Netherlands Mannesmann Rexroth S.p.A. Divisione INDRAMAT Via de Nicola, 12 I - 80053 Castellamare di Stabbia NA Mannesmann Rexroth S.p.A. Divisione INDRAMAT Viale Oriani, 38/A I - 40137 Bologna Hydraudyne Hydrauliek B.V. Kruisbroeksestraat 1 P.O. Box 32 NL - 5281 RV Boxtel Hydrocare B.V. Kruisbroeksestraat 1 P.O. Box 32 NL - 5281 RV Boxtel Tél. : Téléfax: Tél. : Téléfax: Tél. : Téléfax: Tél. : Téléfax: +39 (0)81/8 72 30 37 +39 (0)81/8 72 30 18 Spain V/S Service Mannesmann Rexroth S.A. Divisiòn INDRAMAT Centro Industrial Santiga Obradors s/n E-08130 Santa Perpetua de Mogoda Barcelona Tél.: Téléfax: +34 937 47 94 00 +34 937 47 94 01 Switzerland - West V/S Service +39 (0)51/34 14 14 +39 (0)51/34 14 22 Spain V/S Goimendi S.A. División Indramat Jolastokieta (Herrera) Apartado 11 37 E - 20017 San Sebastian Tél.: Téléfax: +34 9 43/40 01 63 +34 9 43/39 17 99 Russia V/S Mannesmann Rexroth SA Département INDRAMAT Chemin de l`Ecole 6 CH-1036 Sullens Tschudnenko E.B. Arsenia 22 RUS - 153000 Ivanovo Rußland Tél.: Téléfax: Tél.: +41 (0)21/731 43 77 +41 (0)21/731 46 78 Service oder/or Téléfax: +7 093/223 96 33 +7 093/223 95 48 +7 093/223 46 01 Service Sweden +31 (0)411/65 19 51 +31 (0)411/65 14 83 V/S Service V/S +31 (0)411/65 19 51 +31 (0)411/67 78 14 Switzerland - East V/S Rexroth Mecman Svenska AB INDRAMAT Division Varuvägen 7 S - 125 81 Stockholm Mannesmann Rexroth AG Geschäftsbereich INDRAMAT Gewerbestraße 3 CH-8500 Frauenfeld Tél.: Téléfax: Tél.: Téléfax: Slowenia +46 (0)8/727 92 00 +46 (0)8/64 73 277 V/S DOMEL Elektromotorji in gospodinjski aparati d. d. Otoki 21 SLO - 64 228 Zelezniki Tél.: Téléfax: Service Turkey Service Service +41 (0)52/720 21 00 +41 (0)52/720 21 11 V/S Service Mannesmann Rexroth Hidropar A..S. Fevzi Cakmak Cad No. 3 TR - 34630 Sefaköy Istanbul Tél.: Téléfax: +90 212/541 60 70 +90 212/599 34 07 +386 64/61 73 32 +386 64/64 71 50 Services d'assistance à la clientèle en Europe (sans l'Allemagne) European Service agencies (without Germany) DOK-MTC200-SPS*PRO*V18-AW01-FR-P Guide de programmation SPS 18VRS Services d'assistance à la clientèle - Sales & Service Facilities A l'extérieur de l'Europe - outside Europe Argentina V/S Service Mannesmann Rexroth S.A.I.C. Division INDRAMAT Acassusso 48 41/7 RA - 1605 Munro (Buenos Aires) Tél.: +54 (0)1/756 01 40 +54 (0)1/756 01 36 Argentina V/S Service Australia V/S Service NAKASE Asesoramiento Tecnico Calle 49, No. 5764-66 RA - 1653 Villa Balester Provincia de Buenos Aires AIMS - Australian Industrial Machinery Services Pty. Ltd. Unit 3/45 Horne ST Campbellfield 3061 AUS - Melbourne, VIC Tél.: Téléfax: Tél.: Téléfax: +54 (0) 1/768 24 13 +54 (0) 1/768 36 43 +61 (0)3/93 59 02 28 +61 (0)3/93 59 02 86 Brazil Téléfax: V/S Service China V/S Service China V/S Service Basic Technologies Corporation Burlington Division 3426 Mainway Drive Burlington, Ontario Canada L7M 1A8 Mannesmann Rexroth (China) Ldt. Shanghai Office - Room 206 Shanghai Internat. Trade Centre 2200 Yanan Xi Lu PRC - Shanghai 200335 Mannesmann Rexroth (China) Ldt. Shanghai Parts & Service Center 199 Wu Cao Road, Hua Cao Minhang District PRC - Shanghai 201 103 Tél.: Téléfax: Tél.: Téléfax: Tél.: Téléfax: China +1 905/335 55 11 +1 905/335-41 84 V/S Service Mannesmann Rexroth (China) Ldt. A-5F., 123 Lian Shan Street Sha He Kou District PRC - Dalian 116 023 Tél.: Téléfax: +86 411/46 78 930 +86 411/46 78 932 Hongkong V/S Téléfax: Indonesia V/S Service Tél.: Téléfax: Japan +852 27/41 13 51/-54 +852 27/41 14 30 +852 27/86 07 33 V/S Rexroth Automation Co., Ltd. INDRAMAT Division 1F, I.R. Building Nakamachidai 4-26-44 Tsuzuki-ku, Yokohama-shi J - Kanagawa-ken 224-004 +62 21/4 61 04 87 +62 21/4 61 04 88 +62 21/4 60 01 52 Tél.: Téléfax: V/S Service Mannesmann Rexroth (India) Ltd. INDRAMAT Division Plot. 96, Phase III Peenya Industrial Area IND - Bangalore - 560058 Rexroth (China) Ldt. 19 Cheung Shun Street 1st Floor, Cheung Sha Wan, Kowloon, Hongkong oder/or +86 21/62 20 00 58 +86 21/62 20 00 68 India Service Tél.: PT. Rexroth Wijayakusuma Jl. Raya Bekasi Km 21 Pulogadung RI - Jakarta Timur 13920 +86 21/62 75 53 33 +86 21/62 75 56 66 Service Tél.: Téléfax: +91 (0)80/8 39 21 01 +91 (0)80/8 39 43 45 Korea V/S Service Mannesmann Rexroth-Seki Co Ltd. 1500-12 Da-Dae-Dong ROK - Saha-Ku, Pusan, 604-050 Tél.: Téléfax: +82 (0)51/2 60 06 18 +82 (0)51/2 60 06 19 +81 459/42-72 10 +81 459/42-03 41 Mexico V/S Service Tél.: Téléfax: +52 5 754 17 11 +52 5 754 36 84 +52 5 754 12 60 +52 5 754 50 73 +52 5 752 59 43 South Africa V/S Service Tél.: Téléfax: +27 (0)11/673 20 80 +27 (0)11/673 72 69 V/S Tél.: Téléfax: +86 10/65 05 03 80 +86 10/65 05 03 79 India V/S Service Mannesmann Rexroth (India) Ltd. INDRAMAT Division Plot. A-58, TTC Industrial Area Thane Turbhe Midc Road Mahape Village IND - Navi Mumbai - 400 701 Tél.: Téléfax: +91 (0)22/7 61 46 22 +91 (0)22/7 68 15 31 Korea V/S Service Seo Chang Corporation Ltd. Room 903, Jeail Building 44-35 Yeouido-Dong Yeoungdeungpo-Ku C.P.O.Box 97 56 ROK - Seoul +82 (0)2/7 80 82 08 +82 (0)2/7 80 82 09 +82 (0)2/7 84 54 08 Taiwan V/S Rexroth Uchida Co., Ltd. No.1, Tsu Chiang Street Tu Cheng Ind. Estate Taipei Hsien, Taiwan, R.O.C. Tél.: Téléfax: +886 2/2 68 13 47 +886 2/2 68 53 88 Services d'assistance à la clientèle à l'extérieur de l'Europe Service agencies outside Europe DOK-MTC200-SPS*PRO*V18-AW01-FR-P Service Mannesmann Rexroth (China) Ldt. 15/F China World Trade Center 1, Jianguomenwai Avenue PRC - Beijing 100004 Tél.: HYTEC Automation (Pty) Ltd. 28 Banfield Road,Industria North RSA - Maraisburg 1700 +55 (0)11/745 90 60 +55 (0)11/745 90 70 +55 (0)11/745 90 50 China Téléfax: Rexroth Mexico S.A. de C.V. Calle Neptuno 72 Unidad Ind. Vallejo MEX - 07700 Mexico, D.F. Service [ BR-09901-970 Diadema-SP ] Tél.: Canada V/S Mannesmann Rexroth Automação Ltda. Divisão INDRAMAT Rua Georg Rexroth, 609 Vila Padre Anchieta BR - 09951-270 Diadema-SP [ Caixa Postal 377 ] Service Services d'assistance à la clientèle - Sales & Service Facilities Guide de programmation SPS 18VRS A l'extérieur de l'Europe / USA - outside Europe / USA USA V/S Service USA V/S Service Mannesmann Rexroth Corporation INDRAMAT Division 5150 Prairie Stone Parkway USA -Hoffman Estates, IL 60192-3707 Mannesmann Rexroth Corporation INDRAMAT Division Central Region Technical Center USA - Auburn Hills, MI 48326 Tél.: Téléfax: Tél.: Téléfax: USA +1 847/6 45 36 00 +1 847/6 45 62 01 V/S +1 248/3 93 33 30 +1 248/3 93 29 06 USA V/S Service USA V/S Service Mannesmann Rexroth Corporation INDRAMAT Division Southeastern Technical Center 3625 Swiftwater Park Drive USA - Suwanee Georgia 30174 Mannesmann Rexroth Corporation INDRAMAT Division Northeastern Technical Center 99 Rainbow Road USA - East Granby, Connecticut 06026 Tél.: Tél.: +1 770/9 32 32 00 +1 770/9 32 19 03 +1 860/8 44 83 77 +1 860/8 44 85 95 Service Mannesmann Rexroth Corporation INDRAMAT Division Charlotte Regional Sales Office 14001 South Lakes Drive USA - Charlotte, North Carolina 28273 Tél.: +1 704/5 83 97 62 +1 704/5 83 14 86 Services d'assistance à la clientèle à l'extérieur de l'Europe / USA Service agencies outside Europe / USA DOK-MTC200-SPS*PRO*V18-AW01-FR-P Notes