Date post: | 29-Jan-2016 |
Category: |
Documents |
Upload: | arnold-houston |
View: | 214 times |
Download: | 0 times |
28/03/2003 1Réunion Contrôle Expérience
Experiments Controls Vision, ideas, tasks to begin with
…
Alain ButeauAndy Götz
28/03/2003 2Réunion Contrôle Expérience
Vision
Functional description of the problem:
A guiding “Use Cases document” Division of the problem in
“independent” subproblems Develop the so called “Experiment
development framework”
Experiment Control System
Control Equipements
Configuration of Control System
Logging services
Spectrum Management
Visualize Data
Supervision Tools
Parameter "Acquisition Logics"
Sequence and control of "Acquisition logic" execution
Historical DataBase Archiving
Snapshots archiving
Controls System Services
Archiving services
Acquisition logic Services
"Results Management...
Electronics
Acquisition systems
Motion Controller
Sample environment
Experimentalist
Beamline scientist
28/03/2003 3Réunion Contrôle Expérience
Logging
Bus Logiciel TANGO
SupervisionConfigurationSéquencementAcquisition
AcquisitionLogic
Services
Control of equipements
How to we present the architecture to our future customers
Device
ADC
Signal
Acquisition
Device
ADC
Signal
Acquisition
Capteur
Device
T°
Capteur
DeviceDevice
T°
Control systems services
Archiving
Archiving services
Fits …
Scientific data Management
/Analysis
Database File storage
Spectra creation
28/03/2003 4Réunion Contrôle Expérience
Control of equipements
SOLEIL’s philosophy: Control of equipements Must always be done with TANGO devices Because all upper layers services are based
on the TANGO software bus Coupling of devices must also be done within
TANGO devices : Example of Monochromator, Slits,etc
Task : Define standard interfacesIt must be possible to develop Tango
Devices with a scripting langage Task : Python DeviceServers
28/03/2003 5Réunion Contrôle Expérience
Control systems services
28/03/2003 6Réunion Contrôle Expérience
Control system services
Configuration : Jive is a good candidate even if a « jive for
dummies » would be appreciated Ideas :
• Importation in jive of predefined configuration files for « common hardware » with predefined parameters
• Implement the jive functionnalities described in last year Jens’ specs (« DataViews »,etc ..)
Tasks : • Nothing really urgent for
experiments !!• Enhance the tool for the Machine may
be enough for now• Add support for SKINS (different
views of database)
28/03/2003 7Réunion Contrôle Expérience
Control system services
Logging : Gathers, displays,
filters messages from DeviceServer and output of « acquisition logic » scripts
Tasks : Develop logging
mechanisms in bindings (python for instance) as messages are also emitted by this upper layer
28/03/2003 8Réunion Contrôle Expérience
Supervision: control individually each equipement on the beamline
Ideas 1 generic
application as DeviceTree
Some specific applications like Synoptics and/or specific panels for ergonomy
Tasks Work on this
topic for Machine !!
28/03/2003 9Réunion Contrôle Expérience
Archiving services
28/03/2003 10Réunion Contrôle Expérience
Archiving services
Historical DataBase May be useful for beamline engineers Not use to manage experimental data !! Tasks
• Make it work with good extraction tools for the Machine • Use free DATABASE (MySQL?) as scientists are probably
not ready to pay for a service they ignore the existence Snapshots
Service of major importance on beamlines Tasks
• Make it work with good extraction tools for the Machine • Use free DATABASE
28/03/2003 11Réunion Contrôle Expérience
Acquisition logicor
Batch files
28/03/2003 12Réunion Contrôle Expérience
Acquisition logics
Idea : 1 acquisition logic = 1 batch = 1 script Scripts may be written in Users Environments like MATLAB or IGOR if :
• Scientists maintain this part of the software• Acquition logic on the beamline are not well defined and are subject to
frequent changes Python is a good scripting choice for Controls Systems provided as « turn key »
systems by the Controls group Tasks :
Define in TANGO the notion of « attribute alias » :Phi px1/sample_environment/galilbox1/galilaxis1
• So that it is possible at each step of scan to – Change a writeable attribute (like the SPEC notion of motor) – Read a readable attribute (like the SPEC notion of counter)
Write generic scripts from the SPEC list of macros : • Ascan, a2scan ,
Write hkl scripts at least for diffractometers
28/03/2003 13Réunion Contrôle Expérience
Acquisition logics: Execution systems
Ideas : Parameter each recipe for a « particular execution »
• This « acquisition logic/batch » is a scan on motor phi with 5° steps and with sample « AlCuO »
Executes sequences of recipes, linked by transitions Tasks
Begin with NICOS as a python sequencer to provide a command line end user interface
Find a good existing product to make a first GUI command line interface (from SCADA and/or GPL)
Time of Flight Acquisition
Scan on motor phi: 10 steps of scan
Motor scan
TOF Counting
Simple Counting
28/03/2003 14Réunion Contrôle Expérience
Scientific Data management
28/03/2003 15Réunion Contrôle Expérience
Spectrum creation
Definition : At predefined steps in an acquisition logic, scientists want to :
Create a file called spectrum/image containing :• Either raw data from electronics or data pre-treated by
the script • The context of the experiment :
– Name of sample, of scientist– Position of all encoders, pressure, temperature,etc
Controls people want to have a file creation mechanism independent of
• The hardware existing on the experiment • The physical format of the output file
A possible solution : Use a self describing data format with an API to access Data inside the file
• NeXus is a good candidate Display experiment status on the web
28/03/2003 16Réunion Contrôle Expérience
Spectrum creation
Tasks : Write a DeviceServer whose task is :
• to create the Spectrum/Image envelop creation • to deal with underlying NeXus file format• Gather all the context of the experiment
The FRM II TACO NexusDataCollector is a good starting point
Enhance NeXus format to use XML as the underlying physical format instead of HDF
• (to avoid binary format for small files)
28/03/2003 17Réunion Contrôle Expérience
DataVisualisation
Problem definition : transfer the data from the batch and/or hardware to the end user favorite
plotting tool from the end user favorite plotting tool to the running
recipe to continue the data collection
Ideas : Write batch files in generic data visualisation terms (to avoid
plotting tools religion wars): • Ex: plot(my_vector) or Image (my_matrix)
Use TANGO as the software bus to transfer Data between these 2 worlds ?
• Pros : benefit from existing bindings• Cons : need to define a DataManager TANGO interface
Tasks : Develop NeXus spectrum/image reader for MATLAB, IGOR
28/03/2003 18Réunion Contrôle Expérience
Conclusion
Future Work on the integration of these various software in a coherent
whole Now :
Put all source code on SourceForge SOLEIL tasks list :
Batch sequencer Scanning scripts Hkl scripts DataBase topics NeXus ??
ESRF tasks list : Beamline server to serve experiment context Attributes as objects Define standard interfaces Web interface Test on ID14