1 E P I C SE P I C S SIS / LD2I Webinaire EPICS Pierre MATTEI Experimental Physics and Industrial Control System
2 SIS / LD2I Webinaire EPICS Pierre MATTEI Collaboration internationale : 1989 : Los Alamos (LANL) & Argonne (ANL) adopté par plus de 150 laboratoires open source North America USA (APS, SNS, JLAB, LCLS …) Canada (Triumf, CLS) Australia (AusSy) Asia China (HIRFL) Japan (KEK, JPARC) Europe Germany (DESY, BESSY) Great-Britain (Diamond) Switzerland (SLS, PSI in future) Italy (Infn) France (Spiral2, Ifmif/Eveda, ITER, Irfu )...
SIS / LD2I Webinaire EPICS Pierre MATTEI 3 Système de contrôle : basé sur un modèle client/serveur en réseau le serveur distribue ses variables aux programmes clients qui effectueront les opérations de supervision. Architecture C hannel A ccess : protocole de communication Serveurs CA Clients CA LAN
Le rôle du serveur (Input/Output Controller) est de rendre accessibles ses données : les Process Variables. Les programmes clients doivent accéder aux informations des Process Variables. La Process Variable (PV) représente la donnée élémentaire distribuée par le serveur (l’IOC). 4 Architecture Programmes Client IOC : Process Variables CAS CAC CAC : Channel Access Client CAS : Channel Access Server SIS / LD2I Webinaire EPICS Pierre MATTEI
Une Process Variable permet d’identifier un composant lié à un équipement donné de l’installation à décrire : −Par exemple un état, une lecture, une écriture... −Quelques exemples de noms de PV et les valeurs associées : LBE1:SOL2_PS:Irdk123.5 SRC:VAC_TP:OnCmdOFF LHE1:BPM2:Xpos Process Variable PV Names Process Variables SIS / LD2I Webinaire EPICS Pierre MATTEI
Un système de contrôle EPICS comprend un ou plusieurs IOCs (frontaux) IOC : Input Output Controller SIS / LD2I Webinaire EPICS Pierre MATTEI Device Support LAN I/O Hardware Composants logiciels de l’ IOC Real-time Database Sequencer Channel Access La DB pilote l’activité de l’IOC 6
La Base de Données EPICS SIS / LD2I Webinaire EPICS Pierre MATTEI la DB Epics est une collection de Records de différents types le record est un objet comportant : -un nom unique -un comportement défini par son type -des propriétés -une connexion sur des E/S (optionnel) -des liens vers d’autres records (optionnel) capteur vanne Liens type propriétés 7
Les Records SIS / LD2I Webinaire EPICS Pierre MATTEI 8 Ils sont donc actifs et ce qu’ils font dépend de leur type Ils peuvent être activés : -de manière cyclique -sur évènement -par une interruption Ils peuvent être classés en 4 types principaux : -Input : Analog In (AI), Binary In (BI), String In (SI) … -Algorithme : Calculation (CALC), Subroutine (GENSUB) - Output : Analog Out (AO), Binary Out (BO), String Out (SO) -Personnalisé : Profileur, Mesures de position (BPM), LLRF …
Quelques types de Records SIS / LD2I Webinaire EPICS Pierre MATTEI 9
Il s’agit d’un fichier ASCII chargé dans la mémoire de l’IOC au démarrage : Chaque record est « interprété » par l’ IOC : Les informations de la DB sont accessibles en lecture et en écriture (pour certaines) à travers un protocole de communication : le Channel Access La DB vue par l’IOC SIS / LD2I Webinaire EPICS Pierre MATTEI 10
11 Création des DBS SIS / LD2I Webinaire EPICS Pierre MATTEI A l’aide d’un éditeur de texte Avec l’assistant VDCT en mode graphique :
Le séquenceur SIS / LD2I Webinaire EPICS Pierre MATTEI 12 Il éxécute du code compilé écrit en langage SNL (State Notation Language) pour décrire des opérations séquentielles. Il peut permettre : -L’automatisation d’une procédure de démarrage (vide, RF, source …) -La calibration d’un instrument -…
13 Exemple SNL SIS / LD2I Webinaire EPICS Pierre MATTEI montéedescente« Pause »
14 Device/Driver Support SIS / LD2I Webinaire EPICS Pierre MATTEI Couche logicielle = interface Matériel / DBs Epics Cartes VME ( DAC, ADC, E/S binaires...) contrôleurs Moteur Oscilloscopes automates... A écrire pour du nouveau matériel Voir les disponibilités sur le site EPICS...
15 Device/Driver Support SIS / LD2I Webinaire EPICS Pierre MATTEI Le Site EPICS est hébergé par le laboratoire d’Argonne :
16 IOC : Channel Access Serveur SIS / LD2I Webinaire EPICS Pierre MATTEI Device Support LAN I/O Hardware Composants logiciels de l’ IOC Real-time Database Sequencer Channel Access La DB pilote l’activité de l’IOC
17 Channel Access : protocole de communication SIS / LD2I Webinaire EPICS Pierre MATTEI Permet aux applications clientes de visualiser/modifier les Process Variables de l’IOC Put Get Monitor L’IOC est aussi un client, il peut dialoguer avec d’autres serveurs Un client peut se connecter à plusieurs serveurs Le serveur peut avoir plusieurs clients Client IOC Client IOC 1un client envoie une requête UDP : “qui possède la variable... ?” 2un serveur répond en mode UDP : “je l’ai ” 3la connexion s’établit en mode TCP
18 Les applications Clientes SIS / LD2I Webinaire EPICS Pierre MATTEI Elles sont appelées Extensions sur le site Epics :
19 Les applications Clientes SIS / LD2I Webinaire EPICS Pierre MATTEI C’est la partie visible : Channel Access Client
20 Les plates-formes SIS / LD2I Webinaire EPICS Pierre MATTEI Les IOCs : Contrôleurs VME avec les OS temps réel vxWorks ou RTEMS target-IOC PCs Linux, Windows, Mac OSX Station UNIX (Solaris, HP UX) Aplications LabView Les postes Clients : PCs Linux, Windows, Mac OSX Host-based IOC
21 Poste de développement SIS / LD2I Webinaire EPICS Pierre MATTEI Exemple sur un poste Linux Les produits Epics sont distribués sous forme d’archives compressées
Poste de développement : base SIS / LD2I Webinaire EPICS Pierre MATTEI 22
Poste de développement : extensions SIS / LD2I Webinaire EPICS Pierre MATTEI 23
Poste de développement : support pour l’IOC SIS / LD2I Webinaire EPICS Pierre MATTEI 24
25 Poste de développement : une application IOC SIS / LD2I Webinaire EPICS Pierre MATTEI
26 Poste de développement : une application IOC SIS / LD2I Webinaire EPICS Pierre MATTEI
27 Conclusion(s) SIS / LD2I Webinaire EPICS Pierre MATTEI EPICS : - collaboration - architecture d’un système de contrôle distribué - collection d’outils logiciels manip. de labo grands appareils de physique produit évolutif : il intègre rapidement les nouvelles technologies : java, python, php... forum de discussion (tech-talk) + meeting annuel ...