180 likes | 251 Views
Experiments Controls Vision, ideas, tasks to begin with …. Alain Buteau Andy Götz. 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”.
E N D
Experiments Controls Vision, ideas, tasks to begin with … Alain Buteau Andy Götz 28/03/2003
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” 28/03/2003
How to we present the architecture ? Séquencement Acquisition Spectra creation Fits … Archiving Configuration Supervision Logging Database Device Device Device T° How to we present the architecture to our future customers Control systems services Archiving services Bus Logiciel TANGO File storage Acquisition Logic Services Device Device T° ADC ADC Acquisition Acquisition Control of equipements Scientific data Management /Analysis Signal Signal Capteur Capteur 28/03/2003
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 interfaces • It must be possible to develop Tango Devices with a scripting langage • Task : Python DeviceServers 28/03/2003
Control systems services 28/03/2003
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
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
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
Archiving services 28/03/2003
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
Acquisition logic or Batch files 28/03/2003
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
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) Simple Counting TOF Counting Motor scan 28/03/2003
Scientific Data management 28/03/2003
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
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
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
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 28/03/2003