Un système évolutif de contrôle- commande...

19
Laboratoire Interdisciplinaire sur l’Organisation Nanométrique et Supramoléculaire DIRECTION DES SCIENCES DE LA MATIERE Un système évolutif de contrôle- Un système évolutif de contrôle- commande d’expériences commande d’expériences Olivier Taché 14 juin 2007 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

Transcript of Un système évolutif de contrôle- commande...

Page 1: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

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

Un système évolutif de contrôle-Un système évolutif de contrôle-commande d’expériencescommande d’expériences

Olivier Taché

14 juin 2007

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: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

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

Introduction

•Problématique•Architecture

–TANGO–Interface Homme-Machine

–démonstration

Page 3: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

3

ProblématiqueProblé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 4: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

4

ArchitectureArchitecture

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 5: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

5

TANGO, principeTANGO, principe

Expérience A Expérience B

?

Page 6: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

6

TANGO, principeTANGO, principe

Page 7: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

7

TANGO, principeTANGO, principe

Page 8: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

8

TANGO, principeTANGO, principe

Page 9: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

9

TANGO, principeTANGO, principe

Bus logiciel Tango

Bus logiciel : système permettant aux applications de communiquer

Page 10: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

10

TANGO, fonctionnementTANGO, fonctionnement

(moteur…)

Environnements utilisateurs:Labview, Matlab, Igor,

Python

Bindings

SupervisionConfigurationBase

de données

Bus Logiciel TANGO

(mesure…)

Interfaces TANGO

Logiciel

Page 11: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

11

TANGO, fonctionnementTANGO, fonctionnement

DEVICE SERVER :

•Programmé en C++, Java, 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 12: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

12

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

Plusieurs représentations d’un Device Server

Page 13: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

13

Interface Homme-MachineInterface Homme-Machine

Page 14: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

14

Interface Homme-MachineInterface Homme-MachineChoix 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 15: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

15

Python et TANGOPython 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 16: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

16

Interface développée :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 17: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

17

Interface génériqueInterface générique

Page 18: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

18

spec likespec like

•Module de scan•Accepte les fonctions Python (pas seulement Tango)•Échelles définies par l'utilisateur(log, mixed log and lin,…)

•Module d'enregistrement•Données récupérées directement en Python

Page 19: Un système évolutif de contrôle- commande …iramis.cea.fr/scm.ORIG/lions/saxs/expos%E9-journ%E9eSAXS...TANGO Gestion de tous les types de matériel Modulaire et robuste Développement

19

ConclusionConclusion● TANGO

● Gestion de tous les types de matériel● Modulaire et robuste● Développement rapide des DS

● Interface Homme Machine● Logique d’expérience par les physiciens● Outils scientifiques● Interface générique et évolutive

● Est-ce utilisable en laboratoire ?● Installation facilitée (installeur windows + doc)

www.tango-controls.org● Développement des DS en Python● Investissement rentable pour +de 2 appareillages