une architecture de composants pour le contrôle-commande d...

31
Laboratoire Interdisciplinaire sur l’Organisation Nanométrique et Supramoléculaire DIRECTION DES SCIENCES DE LA MATIERE Une architecture pour un système évolutif de contrôle-commande d’expériences de physique Olivier Taché 21 décembre 2006 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

Upload: others

Post on 09-Apr-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

Laboratoire Interdisciplinaire sur l’Organisation Nanométrique et Supramoléculaire

DIRECTION DES SCIENCES DE LA MATIERE Département de Recherche sur l’Etat Condensé, les Atomes et les Molécules

Une architecture pour un système évolutif de contrôle-commande d’expériences de

physique

Olivier Taché

21 décembre 2006

DIRECTION DES SCIENCES DE LA MATIERE Département de Recherche sur l’Etat Condensé, les Atomes et les MoléculesService de Chimie Moléculaire

Page 2: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

2

21 décembre 2006O. 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

Page 3: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

3

21 décembre 2006O. Taché

Diffusion des rayons X aux petits angles

Rayons X

Echantillon

Faisceau diffusé

Principe et application :

Enveloppe du verre intact

Enveloppe du coeur intact

Enveloppe du verre altéréGrain de

verre

t

Verre altéré

Verre non altéré

Qua

ntité

de

rayo

ns X

diff

usés

Angle de diffusion

USAXS SAXS WAXS

Page 4: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

4

21 décembre 2006O. Taché

Diffusion des rayons X aux très petits angles

Le montage expérimental modèle :USAXS (Ultra Small Angle X-Ray Scattering)

signalRayons X

signal

Page 5: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

5

21 décembre 2006O. Taché

Diffusion des rayons X aux très petits angles

Le montage expérimental modèle :USAXS (Ultra Small Angle X-Ray Scattering)

Rayons X

signal

signal

Page 6: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

6

21 décembre 2006O. Taché

Ancien système informatique

Système informatique 2005 :• logiciel de contrôle-commandeprogrammé en Visual Basic

• Appels au matériels programmés en dur(commandes GPIB)

• 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)

GPIB

Acquisition

Page 7: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

7

21 décembre 2006O. Taché

Problématique

• Matériel hétérogène• Modification du matériel • Étendre les possibilités

• Logique d’expérience non fixée• Plusieurs niveaux d’interaction utilisateurs• Déploiement sur d’autres expériences

GPIB

Acquisition

Page 8: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

8

21 décembre 2006O. Taché

Architecture

Séparer l’application finale du matériel :● une couche Abstraction Matériel Logiciel● une interface Homme-Machine

Machine 2Machine 1

ProtocoleGPIB

Contrôleurd'axes

moteurs

Acquisitionde

données

Contrôleurdétecteurs Capteurs

Réseau

Couche d'abstraction Matériel-Logiciel

ConfigurationMatérielle

E/SNumériques

Actionneurs

Application de physique(logique d'expérience)

Traitement Scientifique(analyse des données)

TANGOSystème de contrôle-commande

de l’ESRF, Soleil, …

Python

Page 9: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

9

21 décembre 2006O. Taché

TANGO, principe

Expérience A Expérience B

?

Page 10: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

10

21 décembre 2006O. Taché

TANGO, principe

Page 11: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

11

21 décembre 2006O. Taché

TANGO, principe

Page 12: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

12

21 décembre 2006O. Taché

TANGO, principe

Page 13: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

13

21 décembre 2006O. Taché

TANGO, principe

Bus logiciel Tango

Bus logiciel : système permettant aux applications de communiquer

Page 14: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

14

21 décembre 2006O. Taché

TANGO, fonctionnement

(moteur…)

Environnements utilisateurs:Labview, Matlab, Igor,

Python

Bindings

SupervisionConfigurationBase

de données

Bus Logiciel TANGO

(mesure…)

Interfaces TANGO

Logiciel

Page 15: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

15

21 décembre 2006O. Taché

TANGO, outils associésOutils graphiques pour :• Démarrage• Configuration• Supervision• Synoptique

Plusieurs représentations d’un Device Server

Page 16: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

16

21 décembre 2006O. Taché

TANGO, fonctionnement

(moteur…)

Environnements utilisateurs:Labview, Matlab, Igor,

Python

Bindings

SupervisionConfigurationBase

de données

Bus Logiciel TANGO

(mesure…)

Interfaces TANGO

Logiciel

Page 17: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

17

21 décembre 2006O. Taché

TANGO, fonctionnement

DEVICE SERVER :

•Programmé en C++, Java, maintenant Python

•A la charge du développeur

•Mais générateur de code

•Existe des bibliothèques de Device Servers

Pour pouvoir les réutiliser, il faut développer des DS simples et modulaires

OnOff...

position...

Page 18: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

18

21 décembre 2006O. Taché

Architecture de device servers

Véritable abstraction du matériel : l’utilisateur final accède à des variables en unités scientifiques

radians mbar

Page 19: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

19

21 décembre 2006O. Taché

Architecture de device servers

GPIB Device

ContrôleurIT6DCA2

Evaluateur mathématique

ContrôleurSR400

Single Analogic Input

PicoAmpèremètreKeithley 615

Digital Input-Output Digital Input-Output

ShutterFilters

GPIB Device GPIB Device

MoteursMicro-Contrôle

ContrôleurSR400 Pico Ampèremètre Jauges à vide Atténuateurs Obturateur RX

Devices Servers

Evaluateur mathématique

Evaluateur mathématique

Evaluateur mathématique

pas moteur radians

radians vecteur d'onde

Ampère picoAmpère V mbar

Page 20: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

20

21 décembre 2006O. Taché

GPIB Device

ContrôleurIT6DCA2

Evaluateur mathématique

ContrôleurSR400

Single Analogic Input

PicoAmpèremètreKeithley 615

RS232 Digital Input-Output

ShutterFilters

GPIB Device GPIB Device

MoteursMicro-Contrôle

ContrôleurSR400 Pico Ampèremètre Jauges à vide Atténuateurs Obturateur RX

Devices Servers

Evaluateur mathématique

Evaluateur mathématique

Evaluateur mathématique

pas moteur radians

radians vecteur d'onde

Ampère picoAmpère V mbar

Quelle interface Homme-Machine pour un tel système ?

Filter wheel

Architecture de device servers

Page 21: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

21

21 décembre 2006O. Taché

Interface Homme-Machine

Page 22: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

22

21 décembre 2006O. 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.Value0.001

Page 23: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

23

21 décembre 2006O. 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

Page 24: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

24

21 décembre 2006O. Taché

Interface développée

Fenêtre de saisie

Fenêtre graphique

Bus logiciel Tango

pyTango

pyTangoBeamline

Scan

pyTangoDevice

Enregistrements

Accès à TANGO

Logique d'expérience

Page 25: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

25

21 décembre 2006O. Taché

Accès à TANGO

Bus logiciel Tango

pyTango

pyTangoBeamlineScan

pyTangoDevice

Enregistrements Module pyTangoDevice

Pour accéder à des devices TANGO à l'aide de variables et commandes Python

Input

Capteur

Page 26: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

26

21 décembre 2006O. Taché

Accès à TANGO

Bus logiciel Tango

pyTango

pyTangoBeamlineScan

pyTangoDevice

Enregistrements Module pyTangoBeamline

Pour accéder à un ensemble de devices TANGO à l'aide de variables et commandes Python

Input

Therm

Capteur

Volts ► °C

Output

Capteur

5V

Simul

Position

Simulateur

Page 27: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

27

21 décembre 2006O. Taché

Logique d’expérience

Bus logiciel Tango

pyTango

pyTangoBeamlineScan

pyTangoDevice

Enregistrements Module d'enregistrement

Pour réaliser des enregistrements

Page 28: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

28

21 décembre 2006O. Taché

Logique d’expérience

Bus logiciel Tango

pyTango

pyTangoBeamlineScan

pyTangoDevice

Enregistrements Module de scan

Pour réaliser des « scans »

posi

tion

intensité

Page 29: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

29

21 décembre 2006O. Taché

Résultats

Page 30: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

30

21 décembre 2006O. 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 routineTravailler sur l’ergonomie

Page 31: Une architecture de composants pour le contrôle-commande d ...iramis.cea.fr/nimbe/lions/tango/tango-ds/soutenance21dec2006.pdf · TANGO Gestion de tous les types de matériel Modulaire

31

21 décembre 2006O. 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