35
UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003 1 Description de la programmation des PLC et Présentation d’un système de génération automatique pour les applications UNICOS Version 2.1 Genève, le 24/06/2003 Julien AUBINEAU CERN ORGANISATION EUROPEENNE POUR LA RECHERCHE NUCLEAIRE EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH Laboratiore Européen pour la Physique des Particules European Laboratory for Particle Physics

Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

Embed Size (px)

Citation preview

Page 1: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

1

Description de la programmation des PLC

et

Présentation d’un système de génération automatique

pour les applications

UNICOS

Version 2.1

Genève, le 24/06/2003

Julien AUBINEAU

CERN

ORGANISATION EUROPEENNE POUR LA RECHERCHE NUCLEAIREEUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH

Laboratiore Européen pour la Physique des ParticulesEuropean Laboratory for Particle Physics

Page 2: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

2

INTRODUCTION

1. PRESENTATION

1.1 La Structure UNICOS

1.1.1 L’architecture 1.1.2 Le Middleware

1.2 Les Objets

1.2.1 Les Objets « Inputs et Outputs » 1.2.2 Les Field Objets 1.2.3 Les spécifications

1.3 Le Premium

1.3.1 Répartition de la mémoire 1.3.2 La configuration matérielle 1.3.3 L’application 1.3.4 Les importations

1.4 Le Quantum

1.4.1 Répartition de la mémoire 1.4.2 La structure de l’application 1.4.3 Le Middleware 1.4.4 Les sections « Inputs et Outputs » - Full Quantum 1.4.5 La programmation de l’application 1.4.6 Les importations

2. DESCRIPTION DU SYSTEME DE GENERATION

2.1 La macro EXE

2.2 Le fichier Excel et ses macros

2.2.1 Génération pour Concept

Page 3: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

3

INTRODUCTION Ce document décrit la structure de programmation des applications UNICOS au sein des PLC utilisés. Décomposée en Objets de différents niveaux, la programmation d’une partie de l’application est très redondante. A cet effet, il est possible de créer un outil de génération automatique de sections de programme afin de faciliter l’utilisation des logiciels PLC Schneider. Apres avoir présenté l’environnement UNICOS, ce document décrit le fonctionnement du système de génération (sections de programmes, database) réalisées par les sections LHC/IAS/CR.

NB : Le but de ce document n’étant pas de faire une description du projet UNICOS, certains aspects ne seront pas abordés. Pour un complément d’informations, vous pouvez consulter les fichiers suivants :

- Description des objets UNICOS: \\Srv2_div\CRYO\UNICOS\development\Objects\IO OBJECTS\ IO OBJECTS.zip

- La documentation élaborée par GTD :

\\\Srv2_div\CRYO\UNICOS\documentation\TRAINING\TRAINING gtd.ppt

Page 4: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

4

1. PRESENTATION 1.1 La Structure UNICOS 1.1.1 L’architecture

L’architecture se décompose en trois couches :

- Supervision Layer : OWS, DS, EWS, - Control Layer : PCU, - Field Layer : FI.

Concernant les PLC, ils sont tous de marque Schneider. Les PCU sont des PLC Quantum et les FI sont des PLC PREMIUM.

SWITCH

OWS DS DS R

FI PCU

EWS

PCU

Page 5: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

5

1.1.2 Le Middleware

La communication entre automate est gérée par le « Middleware ». Le Middleware permet de gérer l’espace mémoire de chaque PLC et la communication entre les différents éléments de la structure (PLC (Schneider): Premium et Quantum, Serveur). Le Quantum est la partie intelligente du système. Il communique avec le Data Server (Redondé) et divers PLC. En ce qui concerne la gestion des entrées/sorties des installations, le projet Unicos propose deux solutions concernant les entrées/sorties autom ates :

Ø La solution Quantum - Premium : Cette solution consiste à utiliser des automates Premium

comme entrées/sorties déportées. La liaison entre les premium (module ETY 410) et quantum (module NOE 771) se fait via une connexion Ethernet. Les objets standards Input/Output sont alors implantés dans les Premium. Il est à noter que pour cette solution, un programme semblable au Middleware est dans le Premium. Il permet au Premium de communiquer au Quantum les variables et status nécessaires a l’application, mais aussi d’être autonome pour sa communication avec le Data Server. En effet, pour la supervision, l’ensemble des évènements et des status générés par les objets implantés dans le Premium est directement envoyé au Data Server sans passer pas le Quantum. Le Middleware, implanté dans le Quantum, gère alors la connexion entre les objets du Premium (entrées et sorties du Process) et l’application (objets Quantum : Field Objects). Il s’agit essentiellement de déplacer des zones mémoires et d’envoyer au Premium des Auto-Requests générés par l’application.

Ø La solution Full Quantum : Cette solution consiste à utiliser un seul automate, le quantum. Les cartes d’entrées/sorties seront donc installées directement sur le rack contenant la CPU Quantum. Cette structure, plus simple, est mieux adaptée quand le PLC est à proximité de toute l’installation (armoire électrique et câblage électrique des entrées/sorties pouvant être regroupés, moins de CPU dans l’installation, donc coût moins élevé). Dans ce cas, le middleware est légèrement différent, la présence d’entrées/sorties ayant des répercussions sur l’organisation mémoire du Quantum. Toutefois, il est possible d’établir une liaison avec d’autres PLC (FI : Premium notamment) comme dans la première solution.

Page 6: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

6

1.2 Les Objets

La programmation des applications UNICOS est faite autour de différents types d’objets :

\\Srv2_div\CRYO\UNICOS\development\Objects\ 1.2.1 Les Objets « Inputs et Outputs »

Toutes les entrées/sorties de l’automates sont pris en charge par des objets bien précis. Pour cela, on y utilise uniquement les objets UNICOS « Inputs et Outputs ». Au nombre de quatre au total, ils permettent de connaître l’état des installations cryogéniques et de les commander :

- Les Inputs Objects : Analog Input Object et Digital Input Object, - Les Ouputs Objects : Analog Output Object et Digital Output Object.

Chacun de ces objets met à jour une partie des adresses mémoires qui sont communiquées cycliquement au Data Server et donc la supervision. Voici la représentation Graphique des Objets Input et Output au sein du Premium et leur connexion aux :

- Différentes zones mémoires de communication, - Carte d’entrées/sorties du Quantum.

Analog Input Object

WORD

REAL REAL REAL

BOOL BOOL BOOL BOOL BOOL

REAL

WORD BOOL BOOL

REAL WORD

WORD

REAL

REAL

WORD

Carte entrées Analogiques : Channel Quantum 300001-301000

REQUESTS FROM DS: Manual requests 422001-430001

BINARY & ANALOG STATUS:

Tables of 100 words containing objects status

400001-400801 Taille variable selon

application

Parameters: Non adressés

INPUT/ OUTPUT OBJECTS DATABASE FIELD OBJECTS DATABASE

• Analog Input Calculated • Analog Output Calculated • Digital Input Calculated • Digital Output Calculated • Local Objects • On Off Objects • Analog Objects • Analog Digital Objects • Controller Objects • Process Control Objects • Alarm Objects

• Analog Input Objects • Analog Output Objects • Digital Output Objects • Digital Input Objects

Page 7: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

7

Analog Output Object

REAL

BOOL BOOL

WORD

REAL WORDWORD

REAL

REAL

REAL

REAL REAL

BOOL BOOL BOOL BOOL

WORD

BOOL

WORD

BINARY & ANALOG BINARY & ANALOG

STATUS: Tables of 100 words

containing objects status400001-400801

taille variable selon application

REQUESTS FROM DS: Manual requests 422001-430001

REQUESTS FROM PCU: Auto requests Non adressés

Carte sorties Analogiques : Channel Quantu

Parameters: Non adressés

BOOL BOOL

BOOL

BOOL BOOL

BOOL

BOOL BOOL

WORD

Digital Input Object

BOOL

BOOL

WORD

BOOL

Carte entrées Digitales : Channel Quantum 100001-101108

REQUESTS FROM DS: Manual requests 422001-430001

BINARY & ANALOG STATUS:

Tables of 100 words containing objects status

400001-400801 Taille variable selon

application

Digital Output Object

BOOLBOOL

BOOL

WORD

WORD

BOOL

BOOL

BOOL BOOL

BOOL

BOOL BOOL

BOOL

BOOL REQUESTS FROM DS: Manual requests 422001-430001

REQUESTS FROM PCU: Auto requests Non adressés

BINARY & ANALOG STATUS:

Tables of 100 words containing objects status

400001-400801 Taille variable selon

application

Carte sorties Digitales : Channel Quantum 420101-421000

Page 8: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

8

1.2.2 Les Field Objets

De la même manière, chacun des Field Objets est directement connectée sur les deux zones mémoires que sont le « Binary & Analog Status » et le « Request From DS » (ces deux zones permettant l’échange de données avec la supervision en mettant à jour les animations sur PCVue et transmettant les ordres de l’opérateur). Les variables non connectées sur ces deux zones mémoires sont des variables non adressées au sein du Quantum (variables internes). L’ensemble des variables ici présentes est utilisé dans le programme de l’application, les variables adressées ayant donc un double rôle : elles sont utilises dans l’application et sont en plus échangées avec la supervision.

Voici une représentation de l’objet ON-OFF et de ses liens avec la mémoire du Quantum. Toutefois, certains objets plus complexes, comme le Controller ou le PCO, doivent communiquer un nombre d’informations plus importantes avec le système de supervision. A cet effet, le nombre de mots ou de réels réservés pour chacun de ces types d’objets sera donc plus important.

BOOL BOOL BOOL

WORD

BOOL BOOL BOOL BOOL BOOL

BOOL BOOL

BOOL BOOL BOOL BOOL

BOOL

PARAMETER_ONOFF

BOOL BOOL BOOL BOOL BOOL

BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL

WORD

BOOL

WORD

BOOL BOOL BOOL BOOL BOOL BOOL

BOOL

REQUESTS FROM DS: Manual requests 422001-430001

BINARY & ANALOG STATUS:

Tables of 100 words containing objects status

400801-414000 Taille variable selon

application

Page 9: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

9

Voici une représentation de l’objet CONTROLLER et de ses liens avec la mémoire du Quantum. Connaissant donc les équipements de l’application à implémenter, le fonctionnement de chaque objet ainsi que l’organisation mémoire qui en résulte, il est donc possible, à partir de spécifications détaillées décrivant les objets à utiliser, de créer un système de génération automatique permettant de paramétrer entièrement la structure et la database reliant le Quantum à la Supervision.

BOOL

BOOL

WORD

BOOL

BOOL

BOOL

BOOL

BOOL

BOOL

REAL

REAL REAL REAL

REAL

REAL

REAL

REAL

REAL

REAL

REAL

PARAMETER_PARAMETER_

PARAMETER_

REAL REAL REAL REAL REAL

REAL REAL

BOOL BOOL BOOL

BOOL BOOL

BOOL

WORD

BOOL BOOL BOOL BOOL BOOL BOOL

BOOL

REAL REAL REAL REAL

REAL

BOOL BOOL

BOOL

BOOL

STATUS_PID

REAL

WORD

REAL REAL REAL

REAL REAL

REQUESTS FROM DS: Manual requests 422001-430001

BINARY & ANALOG STATUS:

Tables of 100 words containing objects status

400801-414000 Taille variable selon

application

BINARY &

ANALOG

STATUS

Page 10: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

10

1.2.3 Les spécifications

Voici un exemple de spécification développé par IAS. Ces spécifications décrivent la manière de paramétrer les objets de l’application Hall180. Ces fichiers Excel sont composés de différents feuillets représentant l’ensemble des objets à programmer.

Ce document décrit l’ensemble des Fields Objects présents dans l’application.

Ce document décrit l’ensemble des Inputs/Outputs Objects présents dans l’application.

Page 11: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

11

Concernant la description des Objets, les feuillets se présentent sous la forme suivante : Inputs Objects : Analog Inputs

Lien avec les schémas électriques Description et NOM (Ce nom est systématiquement associé avec les noms de l’ « Equipment » et « Location » afin de différencier des objets identiques dans des applications différentes.

ADR

Paramètres propres à chaque objet, présents dans le Quantum

Paramètres propres à chaque objet, présents dans le système de supervision.

Page 12: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

12

Field Objets : ON-OFF

Liens avec d’autres objets (DI et DO dans le cas du ON-OFF) Description et NOM

Paramètres propres à chaque objet, présents dans le Quantum Ains i que de paramètres de supervision.

Page 13: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

13

1.3 Le Premium 1.3.1 Répartition de la mémoire

La mémoire des Premium est structurée de la façon suivante. Le Middleware rafraîchit régulièrement les zones mémoires d’échange, afin d’établir la communication entre les différents éléments (PLC (Schneider): Quantum, Serveur).

BINARY & ANALOG STATUS: Tables of 96 words containing objects status

RESERVED

BUFFER PORT: previous storage of data (EVENTS OR STATUS) to transmit, trough one of the 8 ports

REQUESTS FROM PCU: Auto requests

BINARY & ANALOG STATUS (IMAGE AREA) Necessary to detect the changes by comparing with current states

REQUESTS FROM DS: Manual requests

EVENT BUFFER: 50 tables

RESERVED

DS/PCU

DS

PCU

Page 14: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

14

1.3.2 La configuration matérielle

Voici un exemple de configuration développée pour une application partie Premium : Cette configuration dispose de :

o 1 Processeur TSX P 57453 o 1 Coupleur TCP/IP ETY 410 o 4 modules DEY 64D2K soit 256 entrées digitales o 5 modules AEY 1600 soit 80 entrées analogiques o 2 modules ASY 800 soit 16 sorties analogiques o 1 coupleur Profibus DP PBY 100 maître accédant à :

- 32 entrées analogiques - 80 entrées digitales - 8 sorties digitales

o 1 module DSY 64T2K soit 64 sorties digitales o 2 alimentations PSY 1610 : 24 VCC non isolées 16 W

1.3.3 L’application

Page 15: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

15

Comme ces noms l’indiquent, ces deux icônes permettent de configurer les modules présents dans le Premium ainsi que ses capacités mémoires. Cette partie doit être correctement configurée avant élaboration de l’application.

Les sections de programmes présentées ici constituent le Middleware. Ce sont ces sections qui, cycliquement, communiquent les status de l’ensemble des objets utilises dans l’application et permettent de recevoir :

Les auto-requests issus du PCU Les manual-requests issus de la supervision (via le Data Server)

Mis à part quelques paramètres à configurer, l’ensemble des Premium est pourvu du même Middleware, ce qui constitue, avec les DFB, la « Baseline » de chaque application Premium.

Les DFB : Ce sont les blocs de programme contenant le fonctionnement des objets Inputs et Outputs. Le symbole situe à gauche signifie que chacun des objets a été instancié (utilisé) au moins une fois dans l’application.

Ces icônes permettent d’accéder au contenu de la mémoire du Premium. On peut ainsi y observer la répartition mémoire définie précédemment ainsi que la correspondance entre adresse mémoire et symbole des objets utilises.

Ces sections de programme représentent un module d’entrée ou de sortie. G énéralement, elles contiennent chacune la programmation de 16 objets et sont programmées en langage ST (Structured Text).

La ou les dernières sections de programme, pour chaque type

d’objets, contiennent les objets en connexion avec les entrées ou sortiesissues de la carte Profibus DP.

Cette organisation donne une image des objets utilisés dans le

programme et permet d’établir un lien visuel avec l’utilisation des cartes d’entrées/sorties du PLC Premium. La défaillance d’une carte est plus rapidement détectée par le dysfonctionnement d’objets contenus dans la même section.

Page 16: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

16

L’utilisation des DFB, en langage ST (Structured Text), se fait de la manière suivante pour chacun des types d’objets ( « Vue Repères » et « Vue Symboles ») :

Atvac_180_1pe1(%IW6.0,%I6.0.ERR,%MW6.0.2:X13,%MW9200,%MF9300,0.0,10.0,%KW6.0.2,%KW6.0.1,0.025,%MF16350,%MW16200,%MF1682,%MF1684,%MW1498);

Atvac_180_1pe1( Atvac_180_1pe1_hfpos , Atvac_180_1pe1_ioerror,

Atvac_180_1pe1_iosimu, Atvac_180_1pe1_manreg01, Atvac_180_1pe1_mposr, 0.0,10.0, Atvac_180_1pe1_pminsca, Atvac_180_1pe1_pmaxsca, 0.025,Atvac_180_1pe1_sreal, Atvac_180_1pe1_sword, Atvac_180_1pe1_posst, Atvac_180_1pe1_hfst, Atvac_180_1pe1_stsreg01);

Appel de la DFB Analoginput2, configuration de l’objet

Atvac_180_1pe1 (Aiobjects1)

Page 17: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

17

1.3.4 Les importations

Le logiciel PL7 offre la possibilité d’importer des fichiers contenant une section de programme ou la définition des variables à créer. Il est ainsi possible d’importer des sections élaborées au sein d’un fichier texte (extension .ST).

Connaissant la manière d’organiser la mémoire du Premium

ainsi que l’ensemble des objets à implanter, il nous est possible de créer ce genre de fichiers à importer pour automatiser la programmation des objets à implémenter. Voici un exemple de fichier de section exporté d’une application existante :

[HEADER]DATE = date #2003-06-24STANDARD = 'PLCopen v0.1 1993'SENDER = 'Schneider Automation S.A. PL7 PRO V4.0'[APPLICATION]NAME = 'Project'DATE = date_and_time#2003-06-24-16:36:20VERSION = '0.24'[SOURCE_UNIT]SU_TYPE = PROGNAME = 'Aiobjects1'LANGUAGE = STBODY =ADDRESS = MAST MAINVAR_GLOBAL CONSTANTKip1 AT %KD5 : DWORD (*ip_ds1 : 137.138.27.22*) :=(-1987437802,DBL,DBL)Kip2 AT %KD7 : DWORD (*ip_ds2 : 137.138.27.30*) :=(-1987437794,DBL,DBL)ATVAC_180_AI3_0_Pminsca AT %KW7.0.2 : WORD;ATVAC_180_AI3_0_Pmaxsca AT %KW7.0.1 : WORD;ATVAC_180_1TT1_Pminsca AT %KW7.1.2 : WORD;ATVAC_180_1TT1_Pmaxsca AT %KW7.1.1 : WORD;ATVAC_180_1TT2_Pminsca AT %KW7.2.2 : WORD;

Page 18: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

18

1.4 Le Quantum 1.4.1 Répartition de la mémoire

La mémoire des Quantum est structurée de la façon suivante. Le Middleware rafraîchit régulièrement les zones mémoires d’échange, afin d’établir la communication entre les différents éléments (PLC (Schneider): Quantum, Serveur).

BINARY & ANALOG STATUS Tables of 100 words containing objects status

SAMPLED OUTPUT ORDERS TO FIELD INTERFACE

OUTPUT ORDERS TO FIELD INTERFACE Tables of 100 words containing objects status

REQUESTS FROM DATA SERVER Manual requests

BINARY & ANALOG STATUS INPUTS FROM OTHER PCUs: Auto requests

SAMPLED REQUESTS FROM FIELD INTERFACE

REQUESTS FROM FIELD INTERFACE

DS

FI

DS

FI

PCUs

500ms +/-

500ms +/-

BINARY & ANALOG OUTPUTS Cryo

BINARY INPUTS Cryo

ANALOG INPUTS Cryo

Page 19: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

19

De plus, une partie de la mémoire non-adressée est utilisée pour la gestion des évènements liés à l’application. Ces événements sont créés lors de chaque changement constaté dans la table des status binaire et analogique entre le cycle exécuté et le cycle précédent. Ces évènements constituent également des tables qui sont transmises au data server. Cette partie de la mémoire permet notamment un stockage des évènements lors d’une interruption de communication avec le Data Server (Une fois pleine, il y a reecriture sur les evenements les plus anciens, les tables sont transmises lors du retablissement de la communication).

1.4.2 La structure de l’application

L’ensemble des applications UNICOS sur Quantum (logiciel Concept de Schneider) se présente sous cette forme. Les groupes dédiés au Middleware : CHRONOS, COMMUNICATIONS, CYCLE_MANGER. Les groupes dédiés à la programmation des objets d’entrées/sorties : INPUTS_MANAGER, OUTPUTS_MANAGER. Le groupe dédié a la programmation de l’application : USER_APPLICATION

Toute la partie Middleware varie très peu d’une application a une autre sur Quantum. Seuls quelques paramètres d’initialisation sont mettre à jour, et cela en rapport direct avec l’implémentation.

DS EVENT FRAME Tables of 100 words containing events.

Page 20: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

20

1.4.3 Le Middleware

Middleware

Middleware

Page 21: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

21

1.4.4 Les sections « Inputs et Outputs » - Full Quantum

Les sections de programme présentes sur cette page sont les sections d’instanciation des inputs et outputs objets. Le langage utilisé est « Structured text », voici un exemple pour quelques objets :

Page 22: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

22

Digital Outputs Analog Outputs

Cette programmation est très redondante, tous ces objets sont systématiquement instanciés de la même façon, leurs paramètres respectifs étant décrits dans les spécifications. A cet effet, il est donc possible de générer automatiquement ces sections de programmes.

Page 23: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

23

1.4.5 La programmation de l’application

USER APLLICATION : L’intelligence du système. Ce sont dans tous ces groupes et sections de programme que la logique de programmation est insérée. L’ensemble des Field objets y est présent. De la même façon que les objets INPUTS/OUTPUTS, les sections de programme de certains Field Objets ont une structure très basique. A cet effet, il est également possible de les générer automatiquement (toutefois, le langage sera le « Structured Text », plus facile a mettre en place dans le cadre d’une génération a partir des spécifications).

Un Objet Local sera programmé de cette manière : En langage ST

En langage FBD

Page 24: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

24

1.4.6 Les importations

Le logiciel Concept permet d’importer des sections de programme et de créer les symboles liés aux adresses mémoires. Connaissant la manière d’organiser la mémoire du Quantum ainsi que l’ensemble des sections à implanter, il nous est possible de créer ce genre de fichiers à importer pour automatiser la programmation des objets à implémenter. Par cette icône , il est possible d’accéder à l’organisation mémoire du Quantum.

Importation d’un fichier permettant la création des variables du Quantum (adressées et internes) Importation d’un fichier permettant l’insertion d’une ou plusieurs sections de programme (instanciation des objets et création des variables associées)

Page 25: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

25

2. DESCRIPTION DU SYSTEME DE GENERATION

Le système se présente sous la forme de plusieurs macros et de fichiers de templates :

- Macro exe : Recopie du fichier Excel de spécifications dans un fichier Excel template. Obtention d’un fichier Excel de génération.

- Macro vba : Création des sections et variables avec les informations du fichier Excel de génération et des différents fichiers templates.

- Fichiers textes : Modèles utilisés par la macro vba afin de générer : les fichiers Template PL7 les fichiers Template Concept le fichier de création de variables

Chaque fichier généré contient une ou plusieurs sections Concept PL7 contenant généralement 4, 8 ou 32 (possibilité de changer cette quantité manuellement) objets pour les Inputs/Outputs objets, et un seul objet pour les Local, On-Off et Analog Objets, ainsi que les symboles associés aux variables utilisées.

La macro génère également l’ensemble de la database, c’est à dire qu’elle génère un fichier à importer

contenant l ‘ensemble des variables à créer et leurs positions mémoires. Nous obtenons également les fichiers nécessaires à la supervision.

Page 26: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

26

Représentation Schématique :

Fichiers d’importation PVSS

Application + Templates Excel

Fichier de Génération

Templates Concept

Spécifications

Templates Variables Templates PL7

Fichiers d’importation PLC Premium Concept

Page 27: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

27

2.1 La macro EXE

La macro EXE est une application qui permet de créer un fichier Excel à partir d’une spécification rédigée et d’un template Excel de génération. La macro recopie les informations présentes sur ces deux documents d’origine afin d’en créer un troisième disposant de macros vba et des objets à générer.

Dans un premier temps, vous devez sélectionner le type de génération : QUANTUM ou PREMIUM. Cette sélection permet ainsi de compléter le champ « Fichier Template » de manière automatique (Localisation du présent exécutable + nom du fichier Template) Fichier de spécifications : Field Objects ce champ doit contenir le chemin pour accéder au fichier Excel de

spécification des objects Fichier de Génération : NOM + .xls ce champ doit contenir le chemin ou sera créer le nouveau

document Excel contenant les informations des spécifications ainsi que les macros de génération. Vous devez également indiquer un nom pour ce fichier (par défaut, un nom sera créé, constitué de l’entête « Generation_ » suivi du nom du fichier de spécifications des Fields Objets.

Fichier Template ce champ doit contenir le chemin pour accéder au fichier Excel de

Templates. Ce fichier est le modèle utilisé contenant toutes les macros vba excel. Ce fichier est copié et ensuite complété par les informations des spécifications afin de créer un document générateur. Par défaut, le chemin pour accéder a ce fichier est déterminé automatiquement et est le même que celui de la présente application « UNICOS_GENERATION_V1 », complété par le nom PLC + « _Generator » (nom dudit fichier template).

Les boutons de commande permettent donc de lancer la création du nouveau fichier, de l’ouvrir une fois la

création terminée. La partie inférieure de la fenêtre ci-dessus vous tient au courant de l’évolution des opérations. Vous avez également la possibilité d’inverser l’opération. C’est à dire partir du fichier de génération et

créer une spécifications (utile dans le cas de nombreuses modifications au sein du fichier de génération). NB : Lors de la création de fichiers Excel, si un fichier comportant un nom identique est déjà existant, un

message vous avertit afin d’eviter d’écraser ce fichier.

Page 28: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

28

2.2 Le fichier Excel et ses macros Ce fichier de génération se présente presque sous la forme de la spécification d’origine. Toutefois, il dispose d’informations complémentaires. Tout d’abord, il dispose de deux feuillets supplémentaires permettant de prendre en compte l’organisation mémoire du PLC.

Ces données sont déterminées par l’application « UNICOS_GENERATION_V1» au moment de la création du fichier.

Dans la colonne de droite est inscrit le nombre exact d’objets présents sur chacun des feuillets. Dans la colonne de gauche est inscrite le nombre d’objets que l’on souhaite paramétrer au sein de la mémoire du Quantum et donc de la supervision : Ceci permet de créer des espaces supplémentaires et des décalages à différents endroits de la mémoire (des espaces vides permettent ainsi l’ajout d’objets ultérieurement sans à devoir reconfigurer toute la structure mémoire). Un surdimensionnement est déjà effectuée pour les objets Input/Output.

Ces données sont configurées par défaut. Elles respectent l’organisation mémoire pour l’utilisation du MiddleWare. Les chiffres en rouge indique l’adresse de début de zone mémoire, le chiffre en bleu indique l’adresse de fin. Les Chiffres en gris sont des adresses intermédiaires permettant d’évaluer le remplissage de la zone.

Nom du PLC(s) Premium de communication. Nombre de Tables à configurer dans la section INIT2 du Quantum.

Fonctions de contrôle de configuration des objets. Boutons de génération des variables Concept et PVSS, é partir des paramètres définis pour chaque objet, il génère des fichiers à importer.

Informations supplémentaires à renseigner pour une génération complète des fichiers de supervisions

Page 29: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

29

Le feuillet Memory, à partir des informations de configuration, définit une répartition des zones mémoires. Chaque objet reçoit et envoie des informations, et donc doit mettre à jour ces informations dans des zones mémoires différentes. Ce feuillet définit en détail l’organisation de la mémoire pour l’ensemble des objets. Chaque adresse mémoire d’objet est configurée à partir de ces informations. Ci-dessous, voici un exemple de configuration des adresses mémoires pour l’ensemble des objets Input/Output,.

Page 30: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

30

Pour le Premium, la répartition des variables Objets se fait de la manière suivante :

DI DO AI AO nb of tables DI DO AI AO

Number 100 100 50 50 96 words Number 100 100 50 50 REF debut fin debut fin debut fin debut fin REF debut fin debut fin debut fin debut fin

Digital BOOL 1202 1202 1207 1

1298 1298 1397 4 438099 438099 438198 1398 1497 438199 438298 1498 1547 438299 438348

Binary Status WORD

1548 1597 438349 438398 1682 1682 1880 5 438483 438483 438681

Vers DS

Analog Status REAL 2161 1882 2080 438962 438683 438881 444000

Binary Request %MW 8202 8202 8301 3 418003 418003 418102 En provenance

de PCU Analog Request %MF 8500 8302 8401 418300 418103 418201 422000

9000 9000 9099 9100 9199 N_tables: 10 9200 9249 Bin_anal_border: 5

Binary Request WORD

9250 9299 9300 9300 9398 _Target_Length 3

En provenance

de DS

Analog Request REAL 9500 9400 9499 DI DO AI AO Number 100 100 50 50 REF debut fin debut fin debut fin debut fin

Sword 16000 16000 16099 Sword 16100 16199

Sarrword 16200 16249 Results

DFB Sword

%MW

16250 16348 Results

DFB Sreal %MF

16350 16350 16450

Paramètres du Middleware

Page 31: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

31

2.2.1 Génération pour concept

Dans un premier temps, vous devez créer l’ensemble des variables dans la mémoire du Quantum. Pour

cela, il suffit d’exécuter une macro par le bouton présent sur le feuillet Configuration. Une fenêtre va alors s’ouvrir vous permettant d’indiquer le répertoire ou le fichier Database sera créé (vous pouvez inscrire un répertoire n’existant pas, la macro le créera afin d’y stocker le fichier généré). De plus, vous devez mentionner ou se trouve le répertoire des fichiers template de création de variable (par défaut, ce chemin sera le même que celui du fichier de génération sur lequel vous étés en train de travailler, il est donc conseillé de regrouper tous ces éléments au sein du même répertoire afin de ne pas rechercher systématiquement à l’aide du browser le répertoire des templates sur votre disque dur).

Une fois ces informations renseignées dans la fenêtre, vous pouvez lancer la première opération de génération et ainsi créer le mapping de la mémoire du Quantum.

Le fichier généré contiendra les informations suivantes, définissant, pour chacun des objets présents dans le fichier Excel, les variables et leurs types : - internes ou adressées, - variables ou constantes, - BOOL, WORD, REAL, INT, … - valeur initiale ou non. Il ne vous reste qu’à importer ce fichier sur Concept.

N;ATVAC_180_1PT1_AuMoSt;BOOL;;; N;ATVAC_180_1PT1_FoDiPro;BOOL;;; N;ATVAC_180_1PT1_FoMoSt;BOOL;;; N;ATVAC_180_1PT1_HFPos;REAL;;; N;ATVAC_180_1PT1_HFSt;REAL;402003;; N;ATVAC_180_1PT1_IoError;BOOL;;; N;ATVAC_180_1PT1_IoErrorW;BOOL;;; N;ATVAC_180_1PT1_IoSimu;BOOL;;; N;ATVAC_180_1PT1_IoSimuW;BOOL;;; N;ATVAC_180_1PT1_AuInHFMo;BOOL;;; N;ATVAC_180_1PT1_ManReg01;WORD;422501;; N;ATVAC_180_1PT1_MPosR;REAL;423301;; N;ATVAC_180_1PT1_MPosRSt;REAL;;; C;ATVAC_180_1PT1_PDeBand;REAL;;0.025; C;ATVAC_180_1PT1_PFiPe;INT;;1; C;ATVAC_180_1PT1_PMaxRan;REAL;;1000.0; C;ATVAC_180_1PT1_PMaxSca;REAL;;100.0; C;ATVAC_180_1PT1_PMinRan;REAL;;5.0E -04; C;ATVAC_180_1PT1_PMinSca;REAL;;0.0; N;ATVAC_180_1PT1_PosSt;REAL;402001;;

Page 32: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

32

Chaque Feuillet objet se présente de la façon suivante : Concernant le fonctionnement des différentes macros, il n’est pas nécessaire de rentrer dans le détail. Cependant, certaines précisions peuvent être apportées :

• Un browser vous permet de définir l’emplacement de chacun des fichiers à traiter (fichiers Templates, Fichiers Générés). En effet, les fichiers générés ay ant des noms très similaires, il est important de ne pas les placer n’importe où. Par défaut, les emplacements de fichiers sont déterminés automatiquement et mémorisés sur chacun des feuillets objets.

• La génération de fichiers (à importer sur PL7) se fait par sections de programme. Il existe

deux modes de sélection: - Soit le mode de sélection Standard où chaque fichier généré sera composé d’une section

de programme contenant 8, 16 ou 32 objets I/O (selon le type d’objet). - Soit le mode de sélection Manuel où le nombre d’objet généré dans le fichier est défini

manuellement par les numéros de ligne (aucune limitation en quantité, cela peut également permettre de créer des sections avec un nombre d’objets peu important).

• Si votre programme Premium dispose d’un nombre élevé de sections, il faudra donc générer

autant de fichiers à importer sur PL7 (NB: Chaque fichier contient les symboles correspondant aux variables).

• Concernant la génération en mode standard (par sections) sur un feuillet, vous pouvez

générer plusieurs sections (et donc plusieurs fichiers) en une seule opération. Il vous suffit d’indiquer les numéros de la première et dernière sections à créer, ou tout simplement choisir la génération de toutes les sections.

Si aucune information n’est manquante, les opérations de générations peuvent être lancées.

Génération des sections AI pour importation sur le logiciel PL7 et Concept.

Ouverture de fenêtres de génération.

Page 33: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

33

Génération AI Premium object sur PL7 Configuration du contenu du fichier généré Input/Output, le fichier peut contenir :

- - une seule section constituée d’un nombre d’objets à déterminer par une sélection manuelle (numéro de ligne Excel)

- - Plusieurs sections de « n » objets (ce nombre « n » dépend du type d’objets Input/Output, et plus particulièrement du nombre de canaux par carte selon le type d’objet Input/Output)

- -Toutes les sections complètes présentes sur le feuillet, avec pour chaque section, un nombre « n » d’objet A noter que le nombre « n » est automatiquement configure et est différent selon le type d’objet.

- Configuration du répertoire de stockage des fichiers générés. Un browser est votre disposition, vous pouvez également y indiquer un répertoire qui n’existe pas, il sera créé par l’application Configuration du répertoire ou les DFB de votre application Concept sont stockes. Les fichiers générés doivent détenir cette information pour leur importation. Configuration du répertoire contenant les fichiers templates de génération de sections (par défaut, ce chemin est identique à celui du fichier Excel de génération sur lequel vous travaillez.

Il suffit alors de cliquer sur « OK » et la génération des fichiers peut se lancer. Une fenêtre permettant de suivre l’évolution de génération s’ouvre alors :

Une fois terminée, une nouvelle fenêtre s’ouvre indiquant la localisation du fichier créé ainsi que son

contenu. Il ne vous reste qu’à importer ces fichiers de section sur PL7.

Page 34: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

34

Génération AI Premium object sur Concept Configuration du contenu du fichier généré Input/Output, le fichier peut contenir :

- - une seule section constituée d’un nombre d’objets à déterminer par une sélection manuelle (numéro de ligne Excel)

- -Toutes les sections complètes présentes sur le feuillet, avec pour chaque section, un nombre « n » d’objet A noter que le nombre « n » est automatiquement configure et est différent selon le type d’objet.

- Configuration du répertoire de stockage des fichiers générés. Un browser est votre disposition, vous pouvez également y indiquer un répertoire qui n’existe pas, il sera créé par l’application Configuration du répertoire ou les DFB de votre application Concept sont stockes. Les fichiers générés doivent détenir cette information pour leur importation. Configuration du répertoire contenant les fichiers templates de génération de sections (par défaut, ce chemin est identique à celui du fichier Excel de génération sur lequel vous travaillez.

Il suffit alors de cliquer sur « OK » et la génération des fichiers peut se lancer. Une fenêtre permettant de suivre l’évolution de génération s’ouvre alors :

Une fois terminée, une nouvelle fenêtre s’ouvre indiquant la localisation du fichier créé ainsi que son

contenu. Il ne vous reste qu’à importer ce fichier de section sur Concept et vous disposerez ainsi des variables identiques dans le Quantum et le Premium.

Page 35: Description de la programmation des PLC et Présentation d ...hervetange.free.fr/PLC/UNICOS_AB-CO-IS.pdf · Description des programmes PLC et Mise en place d’un système de

UNICOS : Génération automatique des applications AB/CO/IS Description des programmes PLC et Mise en place d’un système de génération 6/25/2003

35

Génération LOCAL object sur Concept La procédure pour la génération des sections Field Objets est la même. Chaque section ne contient par

contre qu’un seul objet. La configuration de la fenêtre de génération est identique a celle des objets input/output, mise à part la « non » génération des spares (les variables spares étant créées lors de la génération de la database, l’instanciation des spares n’est pas nécessaires, celle ci pourra toutefois se faire ultérieurement par une simple importation lors de l’utilisation de ces objets dans l’application).