350 likes | 365 Views
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
E N D
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 • A collaboration of ANL, ORNL, BESY, Diamond, KEK, KSTAR, plus many other projects
What is Tango? • A Software framework for building scalable distributed controls systems • A collaboration of ESRF, Soleil, ALBA, Petra-III, and Elettra.
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
Components • Client software tools running on Unix, Windows. • Corba networking • 'Device Servers' on PC or VME to control hardware.
Client tools • Archiving • Alarm handling • Trending • Operator display • Configuration
Client Tools • Archiving • Alarm handling • Trending • Operator display • Configuration
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
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
IOC • VME or PC • VxWorks, Rtems, Linux, Windows, ... • IOC holds databases • Databases consist of records. • Records consist of fields • Sequencer for finite state machines
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
Hierarchy mps IOC Template qps.db Device (instance) sr/qps/5 Record SR/QPS/5/CUR Field SR/QPS/5/CUR.HIGH
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
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)
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!)
Operator Displays • Medm is one tool to build and run opi. • Text format • Can be auto generated from other tools or XML
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!)
Trending • StripTool is Epics trending tool • Drag and drop of selection from medm
Trending • Atkmoni is the Tango trending tool
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!)
Archiving • History of any device attributes • Periodic • On change • Graphical tool (mambo) for config and display • Text format can be auto generated (from xml!)
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
Alarms • Multiple levels of alarms • Configuration as properties of attribute • Can be auto generated for instance from XML
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
Processing occurs • Periodic – at a fixed rate • On interrupt • On an Event
Common Fields • VAL • RVAL • DTYP • DESC • PREC
Common Properties • Description • Label • format
Engineering Unit Conversions • EGUF • EGUL • EGU • LINR
Engineering Unit Conversions • std_unit Conversion factor to eng. Units • display_unit Unit to show on operator screen
Limits • HOPR • LOPR
Limits • max_value • min_value
Alarms • HIHI • HIGH • LOW • LOLO • HHSV • HSV • LSV • LLSV
alarms • max_alarm • min_alarm • max_warning • min_warning • delta_t • delta_val
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
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