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

Post on 19-Apr-2020

1 views 0 download

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

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

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

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

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

5

TANGO, principeTANGO, principe

Expérience A Expérience B

?

6

TANGO, principeTANGO, principe

7

TANGO, principeTANGO, principe

8

TANGO, principeTANGO, principe

9

TANGO, principeTANGO, principe

Bus logiciel Tango

Bus logiciel : système permettant aux applications de communiquer

10

TANGO, fonctionnementTANGO, fonctionnement

(moteur…)

Environnements utilisateurs:Labview, Matlab, Igor,

Python

Bindings

SupervisionConfigurationBase

de données

Bus Logiciel TANGO

(mesure…)

Interfaces TANGO

Logiciel

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...

12

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

Plusieurs représentations d’un Device Server

13

Interface Homme-MachineInterface Homme-Machine

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

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

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

17

Interface génériqueInterface générique

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

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