1 / 13

EPICS to TANGO Translator

EPICS to TANGO Translator. Rok Šabjan on behalf of Rok Štefanič rok.sabjan@cosylab.com rok.stefanic@cosylab.com. Presented at ICALEPCS, Knoxville, October 19 th 2007. Outline. Motivation Constraints Implementation Issues Tango/Tine translators Conclusion.

ivie
Télécharger la présentation

EPICS to TANGO Translator

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. EPICS to TANGO Translator Rok Šabjan on behalf of Rok Štefanič rok.sabjan@cosylab.com rok.stefanic@cosylab.com Presented at ICALEPCS, Knoxville, October 19th 2007

  2. Outline • Motivation • Constraints • Implementation • Issues • Tango/Tine translators • Conclusion

  3. Cosylab 2007 Motivation: Supported in TANGO, we want it speak EPICS • Microdiffractometer MD2 developed by Maatel, France on license from EMBL • Existing device support in TANGO Control System • EPICS support required for EPICS customers • Generic EPICS Support needed • Should work with future changes in the TANGO Device Server with least changes and if possible, no coding • Should be running on a Windows machine

  4. Cosylab 2007 Building blocks of the solution • TANGO interface library • Communication handled through Asyn driver • Generic approach for command calls and attribute manipulation • Clearly defined format for command calls and attributes • Support for all major TANGO datatypes

  5. Cosylab 2007 Building blocks of the solution EPICS DB Asyn Driver Tango Client Library cygwin Windows PC CORBA/Ethernet TANGO Device Server MD2 Device

  6. Device support (or SNL code, another driver, or non-EPICS software) Interfaces (named; pure virtual functions) asynCommon (connect, report, …) asynOctet (write, read, setInputEos,…) Port (named object) Port driver addr=1 addr=0 device device Asyn Driver • Standard driver framework for EPICS IOCs • In principle in can be used with other control systems (uses libCom library only) • Name comes from the support for asynchronous devices (serial, GPIB), but now also supports synchronous register-based devices • Main benefits of use: • Defined interfaces and structure (easier code maintenance) • Lots of testing and debugging features already provided • If there is no other significant reason, I recommend it for new drivers Asyn architecture

  7. Cosylab 2007 Implementation (1/2) • Command and attribute naming convention • type • name • datatype example: @asyn($(PORT),$(ADDR))attr_ArchivePath_str @asyn($(PORT),$(ADDR))cmd_MoveDevices_arrayof_shtout object Command 1 Flatten PV 1 object Command 2 PV 2 . . PV 3 . . object Attribute 1 Determine datatype object Attribute 2

  8. Implementation (2/2) • All records are processed during initialization • TANGO device server is queried for required commands or attributes • The mapping is stored in a table inside the driver • If the command does not exit in the driver, an error message is displayed and the record’s requests are ignored • Future changes only require changes in the database (and screens) • Cygwin environment makes EPICS run on the same platform as the TANGO device server, making all one software package.

  9. Issues • Compound TANGO datatypes • In TANGO commands can take or return an argument in form of two dimensional arrays consisting out of pairs of string and long or double values • Solution was not found, problem noted • EPICS string length limitation • MD2 TANGO device server reports status as long strings • Only a minor problem

  10. TINE device server Communication and conversion Device discovery and registration CORBA/Ethernet TANGO Device Server Device Tango/Tine and Tine/Tango • Developed for EMBL Hamburg in August and September 2007 • Thanks to Phillip Duval from DESY for help on the TINE side

  11. Conclusions • Translators among control systems are a good way of integrating existing implementations • In most cases much better than implementing the whole thing again (cost/benefit) • Focus on the target and don’t reach for a perfect translator (80/20) rule • A perfect translator may be harder than re-doing the whole thing in another control system • Maintenance can be an issue • Change control is important • Need experts for both control systems

  12. Cosylab 2007 Thank You!

More Related