1 / 29

Interfacing EPICS and MonALISA

Interfacing EPICS and MonALISA. Peter Zumbruch Experiment control systems group GSI (KS/EE). What is EPICS? What is MonALISA Interfacing EPICS and MonALISA Summary. Overview . A Control System Architecture Network-based “client/server” model (hence the EPICS logo).

jenna
Download Presentation

Interfacing EPICS and MonALISA

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. Interfacing EPICS and MonALISA Peter Zumbruch Experiment control systems group GSI (KS/EE)

  2. What is EPICS? What is MonALISA Interfacing EPICS and MonALISA Summary Overview Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  3. A Control System Architecture Network-based “client/server” model (hence the EPICS logo) What is EPICS? (Getting Started with EPICS: Introductory Session I) CA CA Client Client Network CA CA Server Server • For EPICS, client and server speak of their Channel Access role • i.e. Channel Access Client & Channel Access Server Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  4. short answer:EPICS: Experimental Physics and Industrial Control System a bit more elaborate:EPICSis a set of Open Source software tools, libraries and applications developed collaboratively and used worldwide to create distributed soft real-time control systems for scientific instruments such as particle accelerators, telescopes and other large scientific experiments.(From the EPICS Home Page: http://www.aps.anl.gov/epics/) striking - is three things at once: What is EPICS? • A collaboration of major scientific laboratories and industry ( > 100) • A world wide collaboration that shares designs, software tools and expertise for implementing large-scale control systems • An architecture for building scalable control systems • A client/server model with an efficient communication protocol (Channel Access) for passing data • The entire set of Process Variables establish a Distributed Real-time Database of machine status, information and control parameters • A Software Toolkit of Open Source code and documentation • A collection of software tools collaboratively developed which can be integrated to provide a comprehensive and scalable control system Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  5. It’s free It’s Open Source There are lots of users All a client needs to know to access data is a PV name You can pick the best tools out there … … or build your own The boring stuff is already done There is a lot of expertise available close by A good contribution becomes internationally known By following a few simple rules, you get a lot for free Ten really neat things about EPICS(Getting Started with EPICS: Introductory Session I) Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  6. Experiments showing interest or more in usage of EPICS NuSTAR CBM (Embedded controls) FRS (HV controls HADES – running complete experiment control system PANDA EPICS and FAIR / GSI Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  7. Is a distributed service able to: collect any type of information from different systems analyze this information in real time take automated decisions and perform actions based on it optimize work flows in complex environments Read more at http://monalisa.caltech.edu MonALISA “MONitoring Agents using a Large Integrated Services Architecture“ from: Online Monitoring with MonALISA – D.Protopopescu – Dubna 2007 Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  8. Uses • Monitoring distributed computing, i.e. GRIDs • Optimizing flow in complex system (VRVS, optics cable networks) • ALICE also uses ML for monitoring online reconstruction • Some benchmark figures for the service: • ~ 800k monitored parameters at 50k updates/second • > 10k running (alien) jobs monitored simultaneously • > 100 WAN links from: Online Monitoring with MonALISA – D.Protopopescu – Dubna 2007 Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  9. MonALISA is simple to install, configure and use ApMon APIs are available in C, C++, Java, Python and Perl ROOT plugin allows macros to send data directly to MonaLISA Can easily interface with (or sit on top of) any existing or future slow controls subsystem (epics, pvss) Data is stored in a standard PgSQL (or MySQL) database that can be accessed by other applications, independently of ML Automatic data summarizing Several data repositories (and hence DBs) can exist (local and remote) Easy access via WebService (WS) from service and/or repository Fully supported by development team; work is being done in this direction Advantages from: Online Monitoring with MonALISA – D.Protopopescu – Dubna 2007 Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  10. Based on monitored information, actions can be taken in: ML Service ML Repository Actions can be triggered by: Values above/below given thresholds Absence/presence of values Correlations between several values Possible actions types: External command Plain event logging Annotation of repository charts; RSS feeds Email Instant messaging Capabilities from: Online Monitoring with MonALISA – D.Protopopescu – Dubna 2007 Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  11. First approach: Perl Script Using ApMon module of MonALISA Calling caget / camonitor / caput commands of EPICS Later, with help of POE module (process on event) change on event could be implemented Interfacing Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  12. Setup CERN Proxies GSI lxi003: MLD start Service Repository http:mlr1.gla.ac.uk:7002/epics/edit.jsp ApMon GLASGOW Channel Access event_pub.pl using caget/camonitor/caput GSI lxdv18: EPICS IOC Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  13. Screen shots (1) Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  14. Screen shots (2) Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  15. Next approach: Implement MonALISA‘s API.c/c++ Create EPICS Device Support Module for MonALISA Maybe simpler “sub routine record“ approach In future … Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  16. Thanks to Dan Costin Catalin Kevin at the 1st DCS Roundtable in Glasgow EPICS Process Variables can be read and manipulated by MonALISA The reverse mechanism is not foreseen Performance test not yet done. Summary Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  17. Thank you for your attention. For more information … Have a look at the extra slides. Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  18. Extra slides Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  19. EPICS Experimental Physics and Industrial Control System Channel Access The communication protocol used by EPICS Process Variable A piece of named data referred to by its PV name The primary object of the Channel Access Protocol Channel A synonym for Process Variable Channel Access Server Software that provides access to a Process Variable using the Channel Access Protocol Channel Access Client Software that requests access to a Process Variable using the Channel Access Protocol Vocabulary(Getting Started with EPICS: Introductory Session I) Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  20. IOC – Input Output Controller A computer running iocCore, a set of EPICS routines used to define process variables and implement real-time control algorithms iocCore uses database records to define process variables and their behavior Soft IOC An instance of iocCore running as a process on a “non-dedicated” computer (i.e. a computer that is performing other functions as well) Record The mechanism by which a Process Variable is defined in an IOC (using iocCore) Dozens of record types exist, each with it’s own attributes and processing routine that describe its functionality Vocabulary(Getting Started with EPICS: Introductory Session I) Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  21. Process Variable A Process Variable is a named piece of data with a set of attributes Examples of Attributes: Alarm Severity (e.g. NO_ALARM, MINOR, MAJOR, INVALID) Alarm Status (e.g. LOW, HI, LOLO, HIHI, READ_error) Timestamp Number of elements (array) Normal Operating Range Control Limits Engineering Unit Designation (e.g. degrees, mm, MW) What is EPICS? Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  22. How does it do it?(Getting Started with EPICS: Introductory Session I) Channel Access Client Channel Access Client Channel Access Client Channel Access Client Channel Access Server Process Variables: Power Supply Computer Interface S1A:H1:CurrentAO S1:P1:x S1:P1:y S1:G1:vacuum Beam Position Monitor Computer Interface Vacuum Gauge Computer Interface Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  23. Where does it do it?(Getting Started with EPICS: Introductory Session I) Modeling/ Simulation/Analysis Remote Control & Monitoring Alarm Logging/Reporting Closed-loop Control Operational Constraints Automatic Sequencing Data Trending/Archiving Configuration Control Channel Access Client Channel Access Client Channel Access Client Channel Access Client Channel Access Server Process Variables: Power Supply Computer Interface S1A:H1:CurrentAO S1:P1:x S1:P1:y S1:G1:vacuum Closed-loop Control Operational Constraints Automatic Sequencing Data Trending/Archiving Alarm Detection Access Security Data Conversion/Filtering Beam Position Monitor iocCore Computer Interface Vacuum Gauge Computer Interface Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  24. CA Server CA Client Channel Access in One Slide(Getting Started with EPICS: Introductory Session I) “connection request” or “search request” “get” or “caGet” “put” or “caPut” “set a monitor” Change its value to 30.5 Notify me when the value changes Who has a PV named “S1A:H1:CurrentAO”? What is its value? Channel Access Client Channel Access Server I do. 25.5 AMPS OK, it is now 30.5 It is now 20.5 AMPS It is now 10.5 AMPS It is now -0.0023 AMPS Process Variables: “put complete” “post an event” or “post a monitor” S1A:H1:CurrentAO S1:P1:x S1:P1:y S1:G1:vacuum 30.5 is too high. It is now set to the maximum value of 27.5. or You are not authorized to change this value or Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  25. What is EPICS? (Getting Started with EPICS: Introductory Session I) • Channel Access clients are programs that require access to Process Variables to carry out their purpose StripTool MEDM CAC CAC CAS CAS Process Variables Process Variables The “service” that a Channel Access server provides is access to a Process Variable* * A Process Variable (PV) is a named piece of data. Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  26. What is EPICS? (Getting Started with EPICS: Introductory Session I) My Special Data Collection Program • Any tool/program/application that abides by the Channel Access protocol could be described as “EPICS Compliant”. StripTool MEDM CAC CAC CAC EPICS can be viewed as a “toolkit” of EPICS compliant programs. One can select the appropriate tool for their need or develop their own. CAS CAS CAC CAS CAC My Accelerator Simulator Code (PVs) iocCore (PVs) LabView (PVs) Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  27. 1 3 2 4 Displays and Controls (1-3) Examples from HADES Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  28. Typical Realizations of an EPICS System(Getting Started with EPICS: Introductory Session I) IOC IOC IOC CAS IOC CAS With Release 3.14, the operating system limitations for iocCore have been removed. RTEMS Commercial Instruments Custom Chassis/Panels Technical Equipment Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

  29. EPICS tools are available to accomplish almost any typical Distributed Control System (DCS) functionality, such as: Remote Control & Monitoring of Technical Equipment Data Conversion/Filtering Access Security Equipment Operation Constraints Alarm Detection/Reporting/Logging Data Trending/Archiving/Retrieval/Plotting Automatic Sequencing Mode & Facility Configuration Control (save/restore) Modeling/Simulation Data Acquisition Data Analysis So What Does it Do? Interfacing EPICS and MonALISA - Peter Zumbruch, GSI

More Related