1 / 19

Tango @ ESRF Beamlines

Tango @ ESRF Beamlines. Vicente Rey Bakaikoa BLISS / ESRF Tango Workshop at Elettra / 18 April 2008. Tango at ESRF beamlines Spec and Tango integration Standard tango motor interface. Tango usage statistics. Beamlines:. In braquets (sep.07). Mlayer – Hdb + e-giga.

shana
Download Presentation

Tango @ ESRF Beamlines

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tango @ ESRF Beamlines Vicente Rey Bakaikoa BLISS / ESRF Tango Workshop at Elettra / 18 April 2008

  2. Tango at ESRF beamlines • Spec and Tango integration • Standard tango motor interface

  3. Tango usage statistics Beamlines: In braquets (sep.07) Mlayer – Hdb + e-giga

  4. Tango usage statistics at ESRF beamlines In braquets (sept.2007) -- New server since sept 2007

  5. Tango and spec / goals Propose most tango functionality for experiments integrated from spec (Tango already available through Taco library in a limited way) Advantages: Full access to devices / attributes / data types Handling of exceptions Events: subscription / attached variables / callbacks Create spec controllers for standard instrument tango classes

  6. Status: First spec version with tango support about to be released Only general features included: Commands:tango_io() Attributes:tango_get() / tango_put() All Tango Data types (ok… not DevEncoded yet) Error Handling Tango and SPEC

  7. Commands

  8. Attributes

  9. Exceptions

  10. Tango and spec: todo list Events • Waiting for tango-7 and event queues Controller (motors / ccd’s…) • Next step • Must be based on agreed standards Accessing services • DB, HDB

  11. Motor Interface Motivation So many classes out there Difficult to find two of the same kind… Need standards for: Exchanging servers between institutes Make client applications live easy Client examples: Spec, new ATK motor widget, device pool proxy controller Generic clients are also taken into account in the proposal (position handling, stepup/stepdown, limit switches…)

  12. Existing Motor classes SourceForge: AbstractAxis ESRF AdcMotor Paragon VpapMotor EletaEncoder Elettra Septumsled (LeoMotor) Desy OMS58 (Galil) Alba Device Pool Soleil Galil XPS […]

  13. Motor interface vs. Abstract Class • Abstract class: • Forces the minimal interface that a class must implement. • Helps in standardization : imposes command names and input/ouput data types • Motor Interface • Proposes a standard naming and data types for commands, attributes and input/output data types (not all of them mandatory) • Describes mechanisms and the meaning of states, commands and attributes • Lists mandatory and optional interface implementations • Abstract class(es) will help greatly to implement mandatory interface and some typical configurations. • New Pogo features to support standard interfaces ?

  14. The Position 1. The commands of the motor controller hardware interface are step-based: Steps will report the hardware register. The value of the Position attribute will be the result of a calibration to units (mm,deg, etc…) in the user space. The simplest calibration would be : Position = HardwarePosition = Steps / StepsPerUnit. The proposed calibration scheme is: Position = (Sign * Steps / StepsPerUnit) + Offset HardwarePosition = Steps / StepsPerUnit 2. The commands of the motor controller hardware interface are position-based: Steps will be based in the resolution of the motor. In its simplest way calibration will be as in case 1. HardwarePosition will be the value read from the controller Steps = HardwarePosition * StepsPerUnit Position = HardwarePosition The proposed calibration scheme is: Position = ( Sign * HardwarePosition) + Offset Steps = HardwarePostion * StepsPerUnit

  15. Mandatory Attributes

  16. Optional Attributes

  17. States

  18. Commands

  19. Thank you

More Related