Download presentation
Presentation is loading. Please wait.
Published byAndrea Taylor Modified over 9 years ago
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 2
3
MASAR Architecture 3 Service Engine pvAccess/channelRPC PyQt Channel Access Gather/C++ Low Level Python Client Library pvAccess/channelRPC Client (C++) pvAccess DSL-PY Module PYMASAR (SQLite) PYMASAR (SQLite) Scripting IOC Scripting High Level Scripting API CSS/BOY pvAccess Client API Library (Java) Finished User AppsPlanningDeveloping Others (Matlab) Others (Matlab)
4
MASAR Service An EPICS V4 service V4 C++ modules pvData beta2 pvAccess beta2 pvIOC beta2 normativeTypes Communication mechanism channelRPC 4
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 5
6
MASAR Functions Functions supported by service Data Structure used by request 6 structure NTNameValue string[] names string[] values string function xxxxxx // function name as above
7
MASAR Data Structure NTTable Scalar value Need NTVariantArray 7 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[]]
8
MASAR Client Python library 7 APIs API naming convention Retrieve/Save: RDB oriented Get/Put: PV oriented 8
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 9
10
MASAR UI Multiple comparison Support up to 9 data sets 10
11
MASAR UI 11 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… 12
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 13
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.