Les transparents de la présentation (2 Mo) - Iramis

publicité
DIRECTION DES SCIENCES DE LA MATIERE
Département de Recherche sur l’Etat Condensé, les Atomes et les Molécules
Service de Chimie Moléculaire
Laboratoire Interdisciplinaire sur l’Organisation Nanométrique et Supramoléculaire
Une architecture pour un système évolutif de
contrôle-commande d’expériences de
physique
Olivier Taché
21 décembre 2006
21 décembre 2006
O. Taché
Plan
Contexte
Problématique
Architecture
Couche abstraction Matériel-Logiciel
– TANGO, principe
– TANGO, fonctionnement
– TANGO, outils associés
– Architecture des device servers
• Interface Homme-Machine
– Choix de la ligne de commande
– Python et TANGO
– Accès à TANGO
– Développement de la logique d’expérience
• Conclusion et perspectives
•
•
•
•
2
21 décembre 2006
O. Taché
Diffusion des rayons X aux petits angles
Principe et application :
Rayons X
Grain
de
verre
Enveloppe du verre intact
t
Enveloppe du verre altéré
Enveloppe du coeur intact
Echantillon
Faisceau diffusé
Quantité de rayons X diffusés
Verre non altéré
Verre altéré
USAXS
SAXS
WAXS
Angle de diffusion
3
21 décembre 2006
O. Taché
Diffusion des rayons X aux très petits angles
Le montage expérimental modèle :
USAXS
(Ultra Small Angle X-Ray Scattering)
signal
Rayons X
signal
4
21 décembre 2006
O. Taché
Diffusion des rayons X aux très petits angles
Le montage expérimental modèle :
USAXS
(Ultra Small Angle X-Ray Scattering)
signal
Rayons X
signal
5
21 décembre 2006
O. Taché
Ancien système informatique
Système informatique 2005 :
• logiciel de contrôle-commande
programmé en Visual Basic
• Appels au matériels
programmés en dur
(commandes GPIB)
GPIB
Acquisition
• Très peu de paramétrage du matériel
• Très peu de paramétrage des séquences d'acquisition
(réglages et expérience de routine)
6
21 décembre 2006
O. Taché
• Matériel hétérogène
• Modification du matériel
• Étendre les possibilités
Problématique
GPIB
Acquisition
• Logique d’expérience non fixée
• Plusieurs niveaux d’interaction utilisateurs
• Déploiement sur d’autres expériences
7
21 décembre 2006
O. Taché
Architecture
Traitement Scientifique
(analyse des données)
Python
TANGO
Configuration
Matérielle
Application de physique
(logique d'expérience)
Couche d'abstraction Matériel-Logiciel
Système de contrôle-commande
Réseau
de l’ESRF, Soleil, …
Séparer l’application finale du
matériel :
une couche Abstraction
Matériel Logiciel
●
●
une interface Homme-Machine
Machine 1
Machine 2
Protocole
GPIB
Acquisition
E/S
de
Numériques
données
Contrôleur
Contrôleur
d'axes
détecteurs
moteurs
Capteurs Actionneurs
8
21 décembre 2006
O. Taché
TANGO, principe
Expérience A
Expérience B
?
9
21 décembre 2006
O. Taché
TANGO, principe
10
21 décembre 2006
O. Taché
TANGO, principe
11
21 décembre 2006
O. Taché
TANGO, principe
12
21 décembre 2006
O. Taché
TANGO, principe
Bus logiciel Tango
Bus logiciel : système permettant aux applications de communiquer
13
21 décembre 2006
O. Taché
Configuration
TANGO, fonctionnement
Supervision
Base
de
données
Environnements utilisateurs:
Labview, Matlab, Igor,
Python
Interfaces TANGO
Bindings
Bus Logiciel TANGO
Logiciel
(moteur…)
(mesure…)
14
21 décembre 2006
O. Taché
TANGO, outils associés
Outils graphiques pour :
• Démarrage
• Configuration
• Supervision
• Synoptique
Plusieurs représentations d’un Device Server
15
21 décembre 2006
O. Taché
Configuration
TANGO, fonctionnement
Supervision
Base
de
données
Environnements utilisateurs:
Labview, Matlab, Igor,
Python
Interfaces TANGO
Bindings
Bus Logiciel TANGO
Logiciel
(moteur…)
(mesure…)
16
21 décembre 2006
O. Taché
TANGO, fonctionnement
DEVICE SERVER :
•Programmé en C++, Java, maintenant Python
•A la charge du développeur
•Mais générateur de code
On
Off
...
•Existe des bibliothèques de Device Servers
position
...
Pour pouvoir les réutiliser,
il faut développer des DS simples et modulaires
17
21 décembre 2006
O. Taché
Architecture de device servers
radians
mbar
Véritable abstraction du matériel : l’utilisateur final accède à
des variables en unités scientifiques
18
21 décembre 2006
O. Taché
radians
Architecture de device servers
vecteur d'onde
Devices Servers
Evaluateur
mathématique
pas moteur
radians
Ampère
Evaluateur
mathématique
picoAmpère
Evaluateur
mathématique
V
mbar
Evaluateur
mathématique
Filters
Shutter
Contrôleur
IT6DCA2
Contrôleur
SR400
PicoAmpèremètre
Keithley 615
GPIB Device
GPIB Device
GPIB Device
Single Analogic Input
Digital Input-Output
Digital Input-Output
Moteurs
Micro-Contrôle
Contrôleur
SR400
Pico Ampèremètre
Jauges à vide
Atténuateurs
Obturateur RX
19
21 décembre 2006
O. Taché
radians
Architecture de device servers
vecteur d'onde
Devices Servers
Evaluateur
mathématique
pas moteur
radians
Ampère
Evaluateur
mathématique
picoAmpère
Evaluateur
mathématique
V
mbar
Evaluateur
mathématique
Filters
Shutter
Contrôleur
IT6DCA2
Contrôleur
SR400
PicoAmpèremètre
Keithley 615
GPIB Device
GPIB Device
GPIB Device
Single Analogic Input
RS232
Digital Input-Output
Moteurs
Micro-Contrôle
Contrôleur
SR400
Pico Ampèremètre
Jauges à vide
Atténuateurs
Obturateur RX
Filter wheel
Quelle interface Homme-Machine pour un tel système ?
20
21 décembre 2006
O. Taché
Interface Homme-Machine
21
21 décembre 2006
O. Taché
Interface Homme-Machine
Choix de la ligne de commande :
Ergonomie sommaire…
MAIS
Logique d’expérience évolutive
Traçabilité des commandes
>>>usaxs.shutter.Open()
>>>usaxs.theta.Value
0.001
22
21 décembre 2006
O. Taché
Python et TANGO
• Langage Python :
–
–
–
–
–
–
Open Source et gratuit
Portable
Syntaxe simple et facile mais types de données évolués
Orienté objet
Bibliothèques scientifiques et graphiques
Interpréteur avec ligne de commande
• PyTANGO
– Librairie TANGO pour Python
– Applications clientes et serveur
• Gnuplot
– Pour le tracé des courbes
23
21 décembre 2006
O. Taché
Interface développée
Fenêtre
graphique
Fenêtre de
saisie
Scan
Enregistrements
pyTangoBeamline
pyTangoDevice
Logique d'expérience
Accès à
TANGO
pyTango
Bus logiciel Tango
24
21 décembre 2006
O. Taché
Scan
Accès à TANGO
Enregistrements
pyTangoBeamline
Module pyTangoDevice
pyTangoDevice
pyTango
Bus logiciel Tango
Pour accéder à des devices TANGO à l'aide de
variables et commandes Python
Input
Capteur
25
21 décembre 2006
O. Taché
Scan
Accès à TANGO
Enregistrements
pyTangoBeamline
Module pyTangoBeamline
pyTangoDevice
pyTango
Bus logiciel Tango
Pour accéder à un ensemble de devices TANGO
à l'aide de variables et commandes Python
Volts ► °C
Therm
Position
Input
Output
Simul
Capteur
Simulateur
5V
Capteur
26
21 décembre 2006
O. Taché
Scan
Logique d’expérience
Enregistrements
pyTangoBeamline
Module d'enregistrement
pyTangoDevice
pyTango
Pour réaliser des enregistrements
Bus logiciel Tango
27
21 décembre 2006
O. Taché
Scan
Logique d’expérience
Enregistrements
pyTangoBeamline
Module de scan
pyTangoDevice
pyTango
Pour réaliser des « scans »
Bus logiciel Tango
position
intensité
28
21 décembre 2006
O. Taché
Résultats
29
21 décembre 2006
O. Taché
●
●
Conclusion
TANGO
● Gestion de tous les types de matériel
● Modulaire et robuste
● Développement rapide des DS
● Maintenant des serveurs en Python
Interface Homme Machine
● Logique d’expérience par les physiciens
● Outils scientifiques
développer une interface graphique pour les
expériences de routine
Travailler sur l’ergonomie
30
21 décembre 2006
O. Taché
Perspectives
Originalité ?

Ligne de commande pour TANGO

Basé sur des composants Open Source

Diffusé librement (www-drecam.cea.fr/scm/lions)

Pas de barrières entre contrôle-commande et
applications scientifiques (librairies de traitement et
analyse des données)
Perspectives :
• Évolutions sur le montage USAXS
(nouveaux appareillages)
• déploiement sur d’autres expériences
31
Téléchargement