Successfully reported this slideshow.
Your SlideShare is downloading. ×

Integrated Control System Environment for High-throughput Tomography @PETRAIII beamlines P05&P07

Ad

Igor Khokhriakov
Integrated Control System Environment
for High-Throughput Tomography
@PETRAIII beamlines P05&P07.
ESRF, B...

Ad

http://ingvord.ru
Some facts:
●
JavaScript developer since 2007
●
Enterprise Java and Web developer since 2008
●
Tango dev...

Ad

X-Environment

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 29 Ad
1 of 29 Ad
Advertisement

More Related Content

Advertisement

Integrated Control System Environment for High-throughput Tomography @PETRAIII beamlines P05&P07

  1. 1. Igor Khokhriakov Integrated Control System Environment for High-Throughput Tomography @PETRAIII beamlines P05&P07. ESRF, BCU Meeting, 24/11/16
  2. 2. http://ingvord.ru Some facts: ● JavaScript developer since 2007 ● Enterprise Java and Web developer since 2008 ● Tango developer since 2012 ● C++ developer since 2013 ● Tango kernel developer since 2016
  3. 3. X-Environment
  4. 4. PreExperiment Data Collector FEATURES: • Customizable on-the-fly view forms defined in YAML • Different policies are applicable to the view forms: web, web-readonly, tango • Supports different validations: number, double, string, text, required • Provides tango access to data • Offline clients
  5. 5. Status Server FEATURES: • Forms continuous timeline of the experiment • Simple configuration, defined in XML • Values can be obtained through event or polling mechanism • Different interpolation strategies: last, nearest and linear
  6. 6. Mobile Status Server Client • Monitor the ongoing experiment from a mobile device • Review experiment when device is offline • Configure easily for a variety of different instruments Idea: Goals:
  7. 7. X-Environment
  8. 8. DataFormatServer NXComposer: YAML NeXus definition:
  9. 9. Integrating everything together
  10. 10. Data transfer between Tango servers. Apache Camel Integration.
  11. 11. Data transfer between Tango servers. Apache Camel Integration. Apache Camel is a rule-based routing and mediation engine that provides a Java object- based implementation of the Enterprise Integration Patterns
  12. 12. Apache Camel routes. Camel Integration Tango API library: https://bitbucket.org/Ingvord/camel-tango Works with pipes (events, polling, single acquisition)
  13. 13. Control Environment [IDL Scripts]
  14. 14. Web monitoring and control. Web Jive.  Browse Tango devices  Add/remove devices  Quick test new devices  Quick monitor existing devices
  15. 15. Why do we need a new Jive?  Narrow down UI to actually used features: – Remove unused settings and configurations – Simplified device context menu – Simplified server wizard  Benefit from web interface: wide screen; reorganize views  Lightweight and fast Jive is like a swiss army knife... 80% of the time we need 20% of its features Our own new Jive: To fulfil Tango V10 FR6 – generic web application
  16. 16. Web Jive 2.0 (current release version 0.1)  Dynamic Device tree (devices are loaded on demand)  Test device panel  Editable Device tab (Info, Properties, Attributes config, Events etc)  Interactive Monitoring tab, aka embedded ATK Panel  Simplified Server wizard  Log console
  17. 17. Web Jive: All-in-one screenshot
  18. 18. X-Environment
  19. 19. OpenCL real-time reconstruction server A Tango server that performs a reconstruction in parallel to the experiment. FEAUTURES: •Based on KIT’s UFO project. •Main goal: to give users close to real time reconstruction •Deal with up to 1000 frames/s (1 frame = 2K x 2K)
  20. 20. Hardware triggering driven experiment.
  21. 21. Continuous Integration. 1. Release 2. Assemble & test 3. Deploy 4. Feedback 5. Repeat 1. Release 2. Assemble & test 3. Deploy 4. Feedback 1. Release 2. Assemble & test 3. Deploy 4. Feedback
  22. 22. Packaging Every component is an independent single Executable jar file! Dedicated project holds all configuration files.
  23. 23. Packaging
  24. 24. ● Beamline scientist friendly environment ● Fully automitazed and ease deployment ● Integration with DESY computer center ● Works stable for 3 months without any support ● Opensource, available @bitbucket.org/hzgwpn Summary
  25. 25. Thank you! Questions?
  26. 26. Thank you! Questions?
  27. 27. ezTangORB Consider the following example: DeviceProxy proxy = new DeviceProxy("some-device"); DeviceAttribute attribute = proxy.read_attribute("some-attribute"); if(result.hasFailed()){ throw new Exception("Can not read attribute."); } int dataFormat = result.getDataFormat() int dataType = result.getType() double result; switch(dataType){ case Tango_DEV_Double: switch(dataFormat){ case _SCALAR: result = attribute.extractDouble() ... } ... } ... Using the API the same result can be achieved with the following code: TangoProxyWrapper proxy = new TangoProxyWrapper("some-device"); double result = proxy.<Double>readAttribute("some-attribute"); ... This library will be a part of the Tango distribution since version 9.
  28. 28. Miscelanious • WebCam Tango Server (published in Tango repository) • DataMatrixDecoder Tango Server (published in Tango repository) • PXICI 2.0 CL Frame Grabber Tango Server (not yet published) • Android control application for Fischertechnics on DESY open days 2013

Editor's Notes

  • Software; Hardware done by other guy in the team

×