1 / 35

An Introduction to Epics/Tango

Steve Hunt Alceli EPICS Meeting 2008 INFN Legnaro 15 Oct 17:15. An Introduction to Epics/Tango. What is the "Experimental Physics and Industrial Control System" ?. A Software framework for building scalable distributed controls systems

Download Presentation

An Introduction to Epics/Tango

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. Steve Hunt Alceli EPICS Meeting 2008 INFN Legnaro 15 Oct 17:15 An Introduction to Epics/Tango

  2. What is the "Experimental Physics and Industrial Control System" ? • A Software framework for building scalable distributed controls systems • A collaboration of ANL, ORNL, BESY, Diamond, KEK, KSTAR, plus many other projects

  3. What is Tango? • A Software framework for building scalable distributed controls systems • A collaboration of ESRF, Soleil, ALBA, Petra-III, and Elettra.

  4. Components • Client software tools running on Unix and Windows. • Channel Access - networking protocol based on TCP/IP • Real-Time Input Output Controllers (IOC's) on PC, VME, or embedded hardware

  5. Components • Client software tools running on Unix, Windows. • Corba networking • 'Device Servers' on PC or VME to control hardware.

  6. Client tools • Archiving • Alarm handling • Trending • Operator display • Configuration

  7. Client Tools • Archiving • Alarm handling • Trending • Operator display • Configuration

  8. Channel Access Networking • Uses UDP broadcast for name resolution • TCP connection to transfer data • Monitors (with dead-bands) to cut traffic. • Aggregation for efficiency • 'Narrow' API interface

  9. Networking • Central database for name resolution • Corba IIOP for data transfer • Corba details hidden from user • 'Narrow' API interface • Asynchronous calls with monitors for efficiency

  10. IOC • VME or PC • VxWorks, Rtems, Linux, Windows, ... • IOC holds databases • Databases consist of records. • Records consist of fields • Sequencer for finite state machines

  11. Device Server • Is an executable program on VME or PC • Under Linux, Windows, VxWorks, LynxOs ... • Includes control for one or more devices such as a power supply • Mostly written in C++, Java, Python, but some, such as modbus configured from text files

  12. Hierarchy mps IOC Template qps.db Device (instance)‏ sr/qps/5 Record SR/QPS/5/CUR Field SR/QPS/5/CUR.HIGH

  13. Hierarchy DEVICE SERVER PS-DS/SR10 QPS DEVICE CLASS SR/QPS/5 DEVICE (instance)‏ ATTRIBUTE SR/QPS/5/CUR PROPERTY SR/QPS/5/CUR.HIGH

  14. System configuration • System configuration held in text files • Graphical Tool (vdct) to build templates • Spreadsheet can be used to instantiate • Very easy to generate from other tools (or XML)‏

  15. System Configuration • System configuration held in database • Graphical tool (jive) to manage • Or can be uploaded from text files that can be auto generated (for instance from XML!)‏

  16. Operator Displays • Medm is one tool to build and run opi. • Text format • Can be auto generated from other tools or XML

  17. Operator Displays • Jdraw is a tool to build operator displays • Displays are then run with 'synopticappli' • Jdraw output can be included in java applications • Possible to access screens via WEB • Text format that can be auto generated (inc xml!)‏

  18. Trending • StripTool is Epics trending tool • Drag and drop of selection from medm

  19. Trending • Atkmoni is the Tango trending tool

  20. Archiving • History of any device attributes • Periodic • On change • Graphical (Archive Viewer) tool for display • or Web access • Text format can be auto generated (from xml!)‏

  21. Archiving • History of any device attributes • Periodic • On change • Graphical tool (mambo) for config and display • Text format can be auto generated (from xml!)‏

  22. Alarms • ALH – The Alarm Handler • Multiple levels of alarms • Hierarchy of Alarms grouped in any way • Operator can open device medm screen • Guidance for operator on what to do • Text file+ record fields - can come from XML

  23. Alarms • Multiple levels of alarms • Configuration as properties of attribute • Can be auto generated for instance from XML

  24. Record processing occurs • On demand (passive) – for instance when an output record is written to by channel access • Periodic – for instance at 10Hz • On interrupt • On event

  25. Processing occurs • Periodic – at a fixed rate • On interrupt • On an Event

  26. Common Fields • VAL • RVAL • DTYP • DESC • PREC

  27. Common Properties • Description • Label • format

  28. Engineering Unit Conversions • EGUF • EGUL • EGU • LINR

  29. Engineering Unit Conversions • std_unit Conversion factor to eng. Units • display_unit Unit to show on operator screen

  30. Limits • HOPR • LOPR

  31. Limits • max_value • min_value

  32. Alarms • HIHI • HIGH • LOW • LOLO • HHSV • HSV • LSV • LLSV

  33. alarms • max_alarm • min_alarm • max_warning • min_warning • delta_t • delta_val

  34. Conclusion • A powerful but very easy to use framework • Can be used as is without development • Tools ensure consistency of applications • Collaboration and open source development • Use on many large projects proves suitability • Works for both fast and slow controls • Suitable for configuration from XML

  35. Conclusion • A powerful but very easy to use framework • Can be used 'as is' without development • Tools ensure consistency of applications • Collaboration and open source development • Use on many large projects proves suitability • Works for both fast and slow controls • Suitable for configuration from XML

More Related