1 / 13

MASAR Server & Application

MASAR Server & Application. Guobao Shen Photon Sciences Department Brookhaven National Laboratory Collaboration Working Group Oct 02, 2013. What ’ s MASAR?. MASAR Machine Snapshot, Archiving, and Retrieve An EPICS tool for experimental control system Machine

arnie
Download Presentation

MASAR Server & Application

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. MASAR Server & Application Guobao Shen Photon Sciences Department Brookhaven National Laboratory Collaboration Working Group Oct 02, 2013

  2. What’s MASAR? • MASAR • Machine Snapshot, Archiving, and Retrieve • An EPICS tool for experimental control system • Machine • A facility controlled by EPICS, accelerator for example • Snapshot • Data at specific time point • Value, time stamp, connection status, alarm status, alarm severity • Similar tools, but different purpose • IOC automatic save & restore • IOC bumpless rebooting • Channel Archiving • Archive pre-defined configuration periodically • All data saved time serially

  3. MASAR Architecture Scripting CSS/BOY Others (Matlab) Scripting PyQt High Level Scripting API Finished Low Level Python Client Library pvAccess/channelRPC Client (C++) pvAccess Client API Library (Java) pvAccess Planning pvAccess/channelRPC Service Engine DSL-PY Module Gather/C++ PYMASAR (SQLite) Channel Access IOC IOC IOC User Apps Developing

  4. MASAR Service • An EPICS V4 service • V4 C++ modules • pvData beta2 • pvAccess beta2 • pvIOC beta2 • normativeTypes • Communication mechanism • channelRPC

  5. V3 Type Support • Support all scalar and waveform PV types • float, double, string, and enum • Could be a mix of any of the types

  6. MASAR Functions • Functions supported by service • Data Structure used by request structure NTNameValue string[] names string[] values string function xxxxxx // function name as above

  7. MASAR Data Structure structure timeStamp long secondsPastEpoch 0 int nanoSeconds 0 int userTag 0 structure alarm int severity 0 int status 0 string message string[] label [...] // value field in label field string pv name [] string value [] double value [] long value [] int dbr_type [] bool isConnected [] long secondsPastEpoch [] int nanoSeconds [] string alarmSeverity [] string alarmStatus [] bool is_array [] structure array_value [structure[]] • NTTable • Scalar value • Need NTVariantArray

  8. MASAR Client • Python library • 7 APIs • API naming convention • Retrieve/Save: RDB oriented • Get/Put: PV oriented

  9. MASAR UI • PyQt4 based graphic user interface • On top of Python client library • Browse configuration • Browse event • Take snapshot • Retrieve data • Compare data • Restore machine • Export data to external file

  10. MASAR UI • Multiple comparison • Support up to 9 data sets

  11. MASAR UI • Data plotting

  12. MASAR CSS Integration • pvAccess plug-in in CSS • Map NT type into V Type/pvManager • Basic type • Name/value • Table • NT type Java support • Widget development • Reuse existing widget • Table, … • Table manipulation • Join, comparison • Plotting • Columns in single table • Columns in multiple tables • URI pva://pva…

  13. System Wide Application • Interactive with other services • Channel finder • Get PV list to create a new configuration • Olog • Create a new entry automatically whenever needed • Lattice/Model • Get a machine live lattice • Calculate beam parameters of live lattice • Save model results • Need MUNICONV service support • Engineering unit (Ampere) Model unit (K value) • Assemble into CSS • Each item is or will be a CSS application • Need to assemble them together

More Related