The EPICS Channel Archiver

The EPICS Channel Archiver

The EPICS Channel Archiver Timothy Graber The Center for Advanced Radiation Sources The University of Chicago EPICS "Getting Started" Lecture Series August 24, 2004 Credit for the Archiver goes to: Bob Dalesio Thomas Birke Sergei Chevtsov Kay-Uwe Kasemir Chris Larrieu Craig McChesney Peregrine McGehee Nick Pattengale Channel Archiver

Channel Access Client. Stores Process Variable data in disk files. Can post channel access monitors. Archive data can be accessed over the web, providing real-time data from the beamline from any web browser. Additionally, users can look up experimental parameters over the Web from the time of their run. Very useful in debugging beamline problems. Channel Archiver Version There are presently two versions of the Channel Archiver in use. The differences between the versions are significant and will be pointed out where appropriate during this presentation. Since

many groups are still using EPICS R3.13.x the earlier version is still relevant. 1.x is for EPICS base R3.13.x. There is no active development going on. (1.10.2) 2.x is for EPICS base R3.14.x. These releases are new, they undergo testing at the SNS. Overview Data Collection and Storage CA Server CA Server PVs Web Server Archive

Engine Web Apps CA Server CGI/Web CA Server Strip Tool PVs Win Browser Archive Engine Computer Disk Storage

Retrieval Tools V2.x Web Server Archive Export WEB Server XML-Data Server Archive Export Tools Archiving ArchiveEngine Command program, does actual archiving ArchiveDaemon Automatically checks ArchiveEngine and starts if necessary (web based) Data Retrieval

Java Archive Client Used to browse data, plot, and export data to spread sheets. Uses Archive Data Server ArchiveExport Command line tool, functionality similar to Java Client Archive Data Server (Very Useful!) Gives access to archive data via a XML-RPC server. Simple functions can be incorporated into many popular programming languages (C, C++, Java, Perl) Archiving Archive Engine The Archive Engine is a Channel Access client that runs on the computer doing the Archiving. Loads a configuration file with a list of Process variables as well as monitor/scan information File in 2.x version XML File in 1.x version ASCII Has its own built in web server for additional configuration and stopping.

Stores archive data to disk Needs an index file(2.x)/directory file(1.x) in the subdirectory in which the data is stored. ArchiveEngine command-line program Syntax: ArchiveEngine [options] Options: -d -p -l -nocfg : : : : Web page description port for web server

write log file disable online configuration Version 1.x uses a directory file Version 2.x uses an index file Configuration file ASCII File V1.x Configuration file lists channels to archive # Example: 15IDB:vac1.VAL 1 15IDB:vac2.VAL 10 # Monitor: might change every 0.2 second 15IDB:vac3.VAL 0.2 Monitor Scanned Periodically store most recent value Monitor Store all incoming values up to buffer limit

Original time stamps are stored! Configuration file XML File (V2.x) Extensible Markup Language (XML) is a cross-platform, extensible, and text-based standard for representing data. It is also a key technology in the development of Web services. 30 20 30 1.0 3 120 Vacuum Scanned Periodically

store most recent value 15IDB:vac1.VAL Monitor 0.1 Store all incoming values up to buffer limit Original time stamps are stored! Legacy issues between 1.x and 2.x V2.x requires R3.14.4 or later V2.x requires index files rather directory files to keep track of data files All configuration files are based on XML. In V1.x, ASCII files were used. In the new release there is a perl script ( that will convert the archive engine ASCII files to XML files . The ArchiveDataTool (replaces the ArchiveManager) can be used to convert directory files to index files.

Note: Keep index & data files together, dont modify them. Archive Engine Build Configuration \ChannelArchiver\LibIO\ArchiverConfig.h // Use password mechanism // (for stopping the engine over the web) #undef USE_PASSWD #define DEFAULT_USER #define DEFAULT_PASS "engine" "password" Location of gnuplot is also a configuration parameter. Engines HTTPD

URL of engines HTTPD: http://: Status & Config., not data! Start/Stop Archiver ArchiveDaemon Automatically starts, monitors and restarts ArchiveEngine on local host. Has a built-in web server Will check status of ArchiveEngine process and restart if necessary Data Retrieval XML-RPC Data Server Sends Request

Data Client Program Forwards Data Web Server Forwards Request Gives Data Data Server Archive 1 Archive 2 Configuration File

Archive 3 XML-RPC Function Calls Returns version information archiver.archives Returns archives that the data server can access archiver.names Returns channel names and start and stop times archiver.values Returne values from a particular archive for a given list of channel names Calls can be used in C, C++, Perl See: ArchiveExport Command line tool Requires direct connection to local host disk

Syntax: ArchiveExport [options] [index file] {channel} Options: -verbose -list -info -start

: : : : : : : Verbose Mode List all channels Time range info on channels Data start time Data end time Status/Severity coulmn Channel name pattern Interpolate Value Output data file name Generate gnuplot command file Generate plot file

Java Archive Client Similar to Archive Export Uses XML-RPC Server Can be launched from a Web page Used to browse and plot data Export Tools generate MATLAB command file MATLAB

ASCII, portable No MATLAB binaries required Full value info, time & status Big & slow Fill, Interpol., ... 9 Original Samples "filled" Linear Interpol. Value [a.u.] 8.5 8

7.5 7 6.5 0 0.0002 0.0004 0.0006 0.0008 Time [s] 0.001 0.0012 0.0014

CGI Export Presently ChemMatCARS is running the 1.x version of the Archiver. Archive data is accessed over the internet via a CGI program using a web browser. Web pages are configured using an ASCII file. The program will be ported to the 2.x version of the Archiver. Starting the Archive Engine Command to start engine Version 1.8.2, built Jul 18 2001, 15:09:09 USAGE: ArchiveEngine [Options] [] Options:

-port WWW server's TCP port (default 4812) -description description for HTTP display -log write logfile -nocfg disable online configuratio Default directory-file: 'freq_directory' /home/epics/ html files archiver/CGIExport archiver/15idaArch cgi directory gif files beamline archive files archive configuration file archive log file

archiver/epicsClass freq_directory file Storage Space Below is a listing of the 15IDA archive directory. On a typical day an archive file is ~14Mb. Some PVs such as temperature are Archived every 10 seconds 365*14 Mb= 5.1 Gb/y 89 PVs are being monitored in the FOE at the present time. -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics

-rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics -rw-r--r-1 epics archive_active.lck epics epics epics epics epics epics epics epics

epics epics epics epics epics epics epics epics epics epics epics epics 15659818 Sep 15754854 Aug 16467719 Sep 16685808 Aug 15870058 Aug 16620334 Aug 15861902 Aug

16999390 Sep 14303632 Sep 14159348 Sep 14130316 Aug 14864007 Aug 13824859 Sep 12142632 Sep 9472051 Sep 14071606 Sep 14203620 Sep 14071378 Sep 7444274 Sep 133 Aug 3 15:26 20040818-000000 20 18:15 20040819-000000 2 13:17 20040820-000000 22 02:17 20040821-000000 23 08:58 20040822-000000 26 00:00 20040823-000000

25 12:04 20040824-000000 1 19:29 20040825-000000 1 19:29 20040826-000000 1 19:29 20040827-000000 29 18:59 20040828-000000 30 17:12 20040829-000000 1 19:29 20040830-000000 1 15:23 20040831-000000 2 02:18 20040901-000000 3 01:03 20040902-000000 4 06:35 20040903-000000 5 05:44 20040904-000000 5 16:46 20040905-000000 3 10:56 Modifications to CGI export Added the ability to describe PV on Page. Ability to display a small group of related PVs on a single web page. Manual scaling of each axis.

Log plotting. Choice of left or right axis. Easy configuration of Web Page. Flow Diagram for Modified CGIExport Get request for particular PV group Open PV group text file and decide which page file to use Create and display Web Page Input Parse CGI string Get data Open GnuPlot Pipe Display Plotted Data

Exercise with Virtual Linac ArchiveEngine Config File epics:cathodeTempM epics:PM1:intensityM epics:PM2:intensityM epics:PM3:intensityM epics:PM4:intensityM epics:PM5:intensityM epics:FC1:intensityM 5 5 5 5 5 5 5

Monitor Monitor Monitor Monitor Monitor Monitor Monitor Populating the Web Page with PVs

Recently Viewed Presentations

  • Discipline Management System

    Discipline Management System

    Computer Lab. Gym. Hall/Breeze Way. Library. Locker Room. Office. Parking Lot. Playground. Shop Area. Locations cont. Categories are order from lesser offensive to greater
  • Christianity in Episcopal Tints 3. The Churchs Teaching

    Christianity in Episcopal Tints 3. The Churchs Teaching

    Articles of Religion. For The Episcopal Church in the U.S.A., traditions (rooted in the Scriptures) are spelled out in the Articles of Religion, also known as the Thirty-Nine Articles: Adopted by the 1801 General Convention and made part of the...
  • by James Hurst Bleeding Tree Salvadora Persica toothbrush

    by James Hurst Bleeding Tree Salvadora Persica toothbrush

    by James Hurst Bleeding Tree Gardenia "Graveyard Flowers" Salvadora Persica "toothbrush tree" About the Author James Hurst 1922-2013 Studied chemical engineering at North Carolina State College Served in WWII After serving in the war, decided he wanted to become an...
  • Chapter 5

    Chapter 5

    The nonverbal code is responsible for more than half of the meaning of sender's total message and when conflicting language, paralanguage, and nonverbal codes send conflicting messages, people tend to pay even more attention to nonverbal code. Nonverbal Communication. Communicating...
  • Religions of the Middle East

    Religions of the Middle East

    Mohammed recorded the revelations, became the Quran (the last revealed word of God) Islam The framework of the Muslim life are the "Five Pillars" Faith: Everyday… repeat, "There is no God but Allah, and Mohammed is his prophet" Prayer: A...
  • Faith & Works: Contradiction or Harmony?

    Faith & Works: Contradiction or Harmony?

    FAITH AND WORKS: Harmony or Contradiction?
  • ADDING FRACTIONS - Pacoima Charter Elementary School

    ADDING FRACTIONS - Pacoima Charter Elementary School

    Adding fractions with different denominators is a little different Adding Fractions with different denominators Finding the Lowest Common Denominator Finding the Lowest Common Denominator Slide 11 Slide 12 Slide 13 Slide 14 Adding Mixed Numbers It's important to know how...
  • Developing a Mood Scale Suitable for Use with

    Developing a Mood Scale Suitable for Use with

    Stroke. In England and Wales it is estimated that 130,000 people have a stroke every year (Office for National Statistics, 2001).There are over 1.1 million people living with stroke in the UK, but by 2020 it is expected to double,...