
Organisation et architecture du contrôle commande Spiral2
L. Philippe pour la collaboration Ganil / Caen, France - CEA-IRFU / Saclay, France - CNRS-IPHC / Strasbourg, France - CNRS-LPSC / Grenoble, France
Une architecture en couches
L’environnement Epics pour le CC Spiral2
Le système informatique pour le contrôle commande de Spiral2 - résultat de la
collaboration entre IRFU, LPHC, Ganil - sera développé dans l’environnement EPICS.
EPICS est un ensemble d’outils et d’applications permettant la réalisation d’un système
de contrôle commande sur un modèle clients/serveurs.On appelle Input/Output
Controller (IOC)un serveur "EPICS", la communication clients/IOCs est assurée par le
protocole Channel Access (CA) également "EPICS".
Les clients sont des applications dédiées au réglage de la machine, certaines applications
basiques sont disponibles en standard sous EPICS (EDM, StripTool), des applications plus
spécifiques seront développées en JAVA.
Les IOCs sont dédiés au pilotage d’équipements et processus temps réel. Ils
s’exécutent dans un châssis VME ou un PC Linux et la communication entre un IOC
et ses équipements est assurée soit en direct soit par une liaison Modbus/TCP.
Le protocole Channel Access permet de faire abstraction des contraintes
matérielles et géographiques. De cette manière, pour accéder à un paramètre, un
client n’a besoin que du nom de celui-ci.Le protocole Channel Access se charge
d’établir la connexion avec l’IOC concerné, tout en offrant des performances
compatibles avec les besoins de réactivité en temps réel.
ClientClient
IOC IOC
Channel Access
Eqpt
Eqpt
Modbus/TCP
Eqpt
ClientClient
IOC IOC
Channel Access
Eqpt
Eqpt
Modbus/TCP
Eqpt
First tests and evaluations
Organisations
Applications et services centraux
Couches de supervision
•Implémenter les procédures et règles de réglages
• Gérer les composants du système (configuration, …)
•Fournir un accès au données
Couches de contrôle du processus
•Recevoir les commandes de la couche de supervision, appliquer les traitements associés et
répercuter sur l’instrumentation
• Recevoir les valeurs et réagir à des changements de l’instrumentation de manière autonome,
appliquer les traitements associées
• Surveiller l’état de la couche instrumentation et remonter les anomalies.
•Instrumentation
–Recevoir les instructions des châssis temps réels et/ou automates et les appliquer
–Surveiller les changements dans le processus et transmettre ces derniers aux châssis temps
réels et/ou automates
–Certains instruments dit « intelligents » incorporent les fonctions des châssis temps réels et/ou
automates.
Couche de contrôle du processus
Couche de supervision
Châssis temps réels et
automates
Capteurs Activateurs
Applications de
réglage Applications de
supervision Services
centraux
Instrumentations
IOC sur un châssis VME
Module
Profil Autres
Modules
Analyse fonctionnelle du contrôle commande
•Définition des fonctions de la granularité la plus forte (Pilotage de la
machine) jusqu'à la granularité la plus fine (fonction simple associée à
un équipement)
Listing des applications
• Classées par tronçon d’installation
• Une centaine d’applications listées
•Entre les applications clientes et les équipements
–Au niveau de communication Channel Access
•Manière générique de piloter les équipements
–Défaut, état, consigne, valeurs actuelles et mesurées
• Basée sur la spécification d’un jeu de Process variables d’interface
Interface standardisée pour la communication avec les équipements
Interface standardisée
Objectifs
•Réduire l’effort de développement
•Faciliter la réutilisation
•Réduire l’effort de maintenance
Application CSS affichant les
résultats des mesures d’émittance.
Technologies utilisées
•Technologies EPICS : EDM ou CSS/BOY
–CSS Control System Studio est développé par une collaboration entre SNS,
DESY, BNL
– Ensemble d’outils spécifiques au C&C
•JAVA avec XAL
– Framework de développement d’applicatifs comprenant des outils
génériques (Communication Channel Access, gestion des menus, …)
HOOK Application JAVA/XAL : Contrôle individuel
des équipements (Alimentations, Fentes, Moteurs, … )
Serveur d’alarme
BD
ALARMES
Moniteur EPICS
Moniteur ADA Serveur
Afficheur
Alarmes via socket
Configuration Serveur BKP
• Système commun d’affichage pour SPIRAL2 et le GANIL existant
• Configuration à partir d’une base de données Ingres
•Performance Max de 330 alarmes/secondes sur toute la chaîne
Afficheur
Archivage au fil de l’eau
•Outil CSS
• Configuration à partir d’une base de
données MySQL
•Historisation des valeurs en base de
données MySQL
•Validé à 4000 valeurs/secondes
•Reste à améliorer les performances
de relecture
Gestion des paramètres
Gestion des équipements
• S’appuie sur une base de données
Ingres
•Gestion des jeux de valeurs
–Archivés, réglage en cours,
Théoriques
• Représentation de l’accélérateur pour
des besoins de réglages
–Découpage en 4 niveaux
•Gestion des optiques
• S’appuie sur une base de données
Ingres
•Configuration des équipements en
amont du système EPICS
PARASPIRAL Application
JAVA/XAL : interface entre
l’opération et la gestion des
paramètres
VDCT Outil de développement
EPICS
Fichier de
définition d’un
module EPICS
GENIOC Application JAVA de
gestion des équipements
BD
Equipements
Fichier de
configuration
EPICS .cmd
Génération
Afficheur d’alarmes
Application JAVA/XAL
PV Histogramme Application standard XAL
Suivi d’une variable avec réalisation de sa distribution
Scan 1D 2DApplication standard XAL : Suivi d’une
variable en fonction d’une autre variable
Contrôle de version
•Utilisation de SVN
•Gestion des versions des composants EPICS et les applications
Contrôle des logs applicatifs
•EPICS : Utilisation des outils standards
•JAVA/XAL : Utilisation des interfaces de développement SLF4J et CAL10N
•Un seul fichier XML pour l’ensemble du contrôle commande.
•Gestion selon les trois niveaux ci-dessous
•La gestion des logs permet de modifier le niveau de log pour un composant du niveau
(ou partie du composant) pour tout le contrôle commande.
Framework
Applications
Outils
Application Profil
JAVA/XAL
Configuration des applications JAVA/XAL
•Un seul fichier XML pour tout le commande contrôle
•Un utilitaire permettant d’accéder à la configuration pendant la phase de
développement
•Deux modes de fonctionnement développement (DEV) ou production (PROD)
GENIOC Application JAVA de
gestion des équipements
configuration
utilisation