ANF "Utilisation du framework EPICS pour le contrôle-commande de nos instruments"

Europe/Paris
Centre Paul Langevin

Centre Paul Langevin

24 Rue du Coin 73500 Aussois
Description

EPICS

EPICS (Experimental Physics and Industrial Control System) est un ensemble d'outils logiciels open-source pour réaliser des systèmes de contrôle distribués sur des installations comme les accélérateurs de particules, les télescopes ou d'autres grandes infrastructures scientifiques. Il est par exemple utilisé en France sur le projet ITER ou au GANIL à Caen.

En savoir plus : https://en.wikipedia.org/wiki/EPICS ; https://epics-controls.org/

Objectifs de l'école :

Cette école est une formation de base au développement d'un système de contrôle avec EPICS.

Son objectif est de former des développeurs EPICS dans les laboratoires au-delà des équipes spécialisées des très grands instruments, de façon à ce que la technologie EPICS bénéficie à des installations expérimentales de moindre envergure d'une part, et à ce que tous les laboratoires soient plus à même de contribuer au développement de très grands instruments d'autre part.

Elle vise aussi à créer un réseau d'échanges et d'entraide entre les participants.

A l’issue de la formation les stagiaires seront capables de :

  • Maitriser les concepts de base d'EPICS,
  • Concevoir et réaliser un système simple de contrôle-commande avec EPICS,
  • Interfacer des instruments ou automates usuels avec EPICS,
  • Identifier les compétences requises pour mettre en oeuvre un système complet (administration système, administration réseau, développement de drivers…).
  • Trouver des informations complémentaires pour progresser,

Programme général :

  • Axe 1 : Notions de base d'EPICS (protocole CA, base de données temps-réel distribuée, IOC, soft IOC, systèmes cibles, composants du développement : application, modules, extensions, drivers…, historique rapide et évolutions récentes et actuelles du développement open source d'EPICS, outils spécifiques pour le développement tels que CSS-Studio, cas d'utilisation, spécificités par rapport aux frameworks logiciels concurrents ou ressemblants)...
  • Axe 2 : Mise en place d'une application type capable de piloter différentes sortes d'appareils : un instrument par messages (typiquement SCPI sur RS232 ou Ethernet), un module d'entrées-sorties générales (typiquement NI DAQ), un automate (typiquement Siemens S7). Distribution du contrôle entre IOC "soft" et un IOC "real time". Mise en place d'autres composants usuels (typiquement : interface graphique utilisateur, archivage, gestion d'alarmes...).

Public :

Développeurs spécialistes des systèmes de contrôle-commande sur des instruments scientifiques ou des installations expérimentales de moyenne ou grande taille (ingénieurs des services instrumentation, électronique, informatique, accélérateurs…).

Prérequis :

Les stagiaires doivent posséder une bonne expérience dans le développement de systèmes programmables de contrôle-commande. A défaut (par exemple simple utilisateur EPICS désireux de participer au développement informatique), le participant doit justifier de solides connaissances en programmation, en instrumentation et en informatique système et réseau.

Formateurs :

Paul LOTRUS *, Olivier DELAHAYE **, Alexis GAGET *, Victor NADOT *, Stéphane TZVETKOV *.

* CEA / IRFU / LDISC (Laboratoire de Développement et Intégration de Systèmes de Contrôle, Saclay)
** Groupe Contrôle commande et Automatisme (GANIL, Caen)

Matériel nécessaire :

Les participants devront venir avec un ordinateur portable sur lequel ils auront préalablement installé une machine virtuelle (fichier image fourni). Des informations complémentaires seront envoyées aux participants suite au Comité de Sélection.

En effet, des TP sont prévus durant l'école afin que les participants puissent utiliser concrètement les logiciels et les techniques présentées. Le PC n'a pas besoin d'être spécialement performant, mais l'école ne pourra pas fournir un ordinateur aux participants.

Consignes sanitaires :

Les consignes sanitaires en vigueur à la date de l'ANF seront strictement appliquées. L'organisation de l'école prendra toutes les mesures nécessaires pour garantir la sécurité des participants.

Dans ce cadre, le pass vaccinal peut être demandé pour accéder à l'école.

Fichiers d'inscription
    • 1
      Historique EPICS

      Open source, Accélérateurs de particules, Communauté active (meeting, ICALEPCS, Codethon), v3, v4, v7, Où trouver la doc (site web, tech-talk), Où trouver la base

    • 2
      Principe de fonctionnement

      Channel Access, Base de données, Architecture distribuée, Clients de base (caget, pvget, camonitor, caput), Clients langage (Python, LabVIEW, C, Java, ...) et applications (Phoebus, Archivage, ...)

      Vocabulaire (IOC, Soft IOC, PV, CA server, CA client, Record, Processer)

    • 16:00
      Pause café
    • 3
      Notions de la base de données

      Variable (champs prédéfinis)

      AI/AI, BI/BO, Les champs communs à tous les PVs, SCAN, I/O Intr, SEVR

    • 4
      Mon premier IOC

      Créer un top (projet), créer une application, créer un IOC, explication de la structure et du cmd, caget, caput (sans détail)

    • 19:30
      Dîner
    • 5
      Base EPICS, support, extension

      Notions (CONFIGURE, RELEASE), ajouter un driver EPICS, caget, caput, camonitor…

    • 6
      TP mon premier IOC
    • 7
      Piloter du matériel en SCPI

      StreamDevice, autosave

    • 10:30
      Pause café
    • 8
      TP mon premier appareil

      Kameleon

    • 12:30
      Déjeuner
    • 9
      TP mon premier appareil

      Kameleon

    • 10
      Comprendre Channel Access

      Etablissement de la comm, beacon, wireshark ou tcpdump, CA Gateway, security

    • 15:30
      Pause café
    • 11
      Communiquer avec un automate

      Modbus/TCP, S7 PLC, OPC/UA

    • 12
      TP mon premier automate

      Modbus/TCP

    • 19:30
      Dîner
    • 13
      Davantage de type et champs EPICS

      waveform, alarm

    • 14
      Client GUI

      Créer un interface avec Phoebus (synoptique, courbe) Paramétrage réseau, vue alarme, solution Web

    • 10:30
      Pause café
    • 15
      TP GUI
    • 16
      Davantage de type et champs EPICS

      calc, FLNK, sub, conversion, PID

    • 12:30
      Déjeuner
    • 14:00
      Temps libre
    • 17
      Simplifier la programmation EPICS

      Macro, template

    • 18
      TP template
    • 16:30
      Pause café
    • 19
      IOC séquenceur

      SNL, Python

    • 19:30
      Dîner
    • 20
      Développer un driver EPICS
    • 10:00
      Pause café
    • 21
      TP
    • 22
      Echanges
    • 12:00
      Déjeuner : paniers pique-nique