Presentation is loading. Please wait.

Presentation is loading. Please wait.

Device Pool Status Report TANGO Collaboration Meeting April 17, 2008

Similar presentations


Presentation on theme: "Device Pool Status Report TANGO Collaboration Meeting April 17, 2008"— Presentation transcript:

1 Device Pool Status Report TANGO Collaboration Meeting April 17, 2008
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Device Pool Status Report TANGO Collaboration Meeting April 17, 2008 Time: 11:35, 15min Agenda What is the Sardana DP A software system for instrument control and data acquisition Examples How to write a motor controller How to write a pseudo controller Compare the pool with SPEC (Pool core, IPython, Macros, configuration Interface) Pool phylosofy Why create Sardana or Why the Sardana Layer One could ask: Why build another layer on top of TANGO? The alternative would be creation of a Abstract Classes Why use Sardana Adapter pattern (aka Wrapper) Current status Hope for collaboration Robicon (aka point of no return - PNR) Tiago Coutinho - ALBA

2 Agenda A reminder One and a half years ago… Current status Our clients
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Agenda A reminder One and a half years ago… Current status Our clients Future For those who dared to forget what sardana is What we had 1.5 years ago What we have now The foreseen future This is the part where I get on my knees and beg for collaboration

3 A software system for instrument control and data acquisition
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report A reminder… A software system for instrument control and data acquisition Tango Device Socket, Serial, GPIB,etc SPEC Driver HW Device Pool motors counters groups . Repository controllers Macro Server Door Repository

4 One and a half years ago…
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report One and a half years ago… Device Pool Motor controller (C++ & python) Counter/Timer controller (C++ & python)* Pseudo motor (python) Motor Motor Group Counter/Timer channels* Controller library: Motor simulation (C++) Counter simulation (python) Unix Timer (C++) Icepap (python) Couple of pseudo motors Sardana GUI (configuration tool) Java, ATKCore based *Early development stage

5 Current status – Device Pool Features
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Current status – Device Pool Features Controllers Motor controller (C++ & python) Pseudo motor controller (C++ & python) Counter/Timer controller (C++ & python) 0D Channel controller (C++ & python) Communication controller (C++ & python) Pseudo counter controller (C++ & python) Constraint controller* Devices Motors Pseudo Motors Motor Groups Measurement Groups Counter/Timers 0D Experiment channels Communication channels Pseudo counters *under development

6 Current status – Device Pool Features (cont.)
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Current status – Device Pool Features (cont.) Pool API for controllers SVN like management of controller code Extended configuration API Motor groups now support other motor groups and pseudo motors Allowed creation of motor groups with common motors ‘temporary’ motor groups Measurement groups Added support for pseudo counters Allowed creation of measurement groups with common elements ‘temporary’ measurement groups Tango Shop compatible distribution Running on linux 32bits & 64bits systems

7 Current status – Device Pool Controller library
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Current status – Device Pool Controller library Motor Controllers Motor simulator Motor fake simulator IcePAP NewPort NSC200 PI-E516 Piezo Keithley Current Source Oxford Danfysik Power Converter Counter/Timer Controllers Counter/Timer simulator Counter/Timer fake simulator Unix Timer NI6602 VCT6 Image Beam Analyzer 0D Channel Controllers 0D channel Simulator 0D fake Simulator Pseudo Motor Controllers Slit (2 blade) Table Height Motor Proxy Base/Power 2C eulerian diffractometer 4C eulerian diffractometer Pseudo Counter Controllers Counter Proxy Electrometer Motor wrapper ADLink 2500 output Current Communication Controllers Fake simulator Remote Serial line Socket Special thanks to SOLEIL and Frederic Picca for providing the HKL library

8 Current status – SardanaGUI
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Current status – SardanaGUI Configuration capabilities up to date with the pool Actually pseudo counter configuration is missing Possible to create a pool on a database and manage it from there on No macro server configuration possible so far

9 Current status – Macro Server Concept
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Current status – Macro Server Concept Python device server Initial development by Alejandro Homs & Vicente Rey A macro execution environment Users connect to it through a Door interface Provides a device pool abstraction layer for the macro writer Event based

10 Current status – Macro Server Features
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Current status – Macro Server Features Macros are stored in a repository Macro code versions are kept and can be restored later Macros can be changed online Support many output levels ( debug, info, warn, error, result, info ) Data is taken and saved by the macro server Open file format Currently support the SPEC file format Easy to write other output Online data display Data can be saved in the standard SPEC shared memory format and therefore all the ESRF online data display programs be use Simultaneous macro execution (if there is no hardware conflict) Macros can return values > Macro functions Over 70 macros already available (motion, scan, data acquisition, configuration, diffractometer)

11 Current Status – Spock Concept
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Current Status – Spock Concept The ‘standard’ CLI to access the Macro Server Initial development by Alejandro Homs & Vicente Rey Accesses the macro server through a ‘door’ Event based

12 Current Status – Spock Features
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Current Status – Spock Features SPEC Like interface Intelligent command completion Automatic documentation Profiles Multiple output levels (debug, info, warn, error) Event based macro recognition

13 TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra
Device Pool Status Report

14 Our clients Fixed Stretched Wire Bench Radio frequency lab
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Our clients Fixed Stretched Wire Bench 1 Device Pool 1 IcePAP motor controller 1 motor Radio frequency lab 3 motors Metrology lab 2 motors (1 piezo)

15 2C Diffractometer 1 Device Pool 1 Macro Server
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report 2C Diffractometer 1 Device Pool 1 Serial line communication channel 1 IcePAP controller 2 motors 1 Piezo controller 1 motor 1 NI6602 Counter controller 1 timer & 2 counters (I and I0) 1 Pseudo Counter > Range 1 Pseudo Motor > Range 1 Pseudo Counter > Current ( I/I0) 1 Macro Server

16 Apple II 1 Device Pool 1 IcePAP controller 1 Pseudo Controller
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Apple II 1 Device Pool 1 IcePAP controller 6 motors 1 Pseudo Controller 4 physical motors 4 pseudo motors 1 Motor group 2 motors

17 Our clients (cont.) LTB – Emittance and Energy spread measurements
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Our clients (cont.) LTB – Emittance and Energy spread measurements 1 Device pool 1 Quadrupole motor controller 3 quadrupoles 1 Quadrupole Motor controller 1 quadrupole 1 Bending magnet motor controller 1 bending magnet 1 Fake motor controller 2 fake motors 1 Unix Timer controller 1 timer 2 ImgBeamAnalizer counter controllers 15 counters each 120 Pseudo counters (for now!) 4 measurement groups 1 Macro server

18 Future Put it on Source forge Device pool Macro server Spock GUI
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Device Pool Status Report Future Put it on Source forge Device pool 1D Controllers (MCA like) 2D Controllers (CCD like) Constraints (on going) Generic controllers A new idea still on the oven Windows distribution Controllers may need to become Tango devices Macro server Scan framework Diffractometer framework Stability Configuration parameters Reconnection problems Spock User profiles Many bugs need fix GUI Configuration GUI Hardware Wizard kind of GUI

19 TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra
Device Pool Status Report Questions


Download ppt "Device Pool Status Report TANGO Collaboration Meeting April 17, 2008"

Similar presentations


Ads by Google