Services

Alarm Services

There are three services which combine to make up a complete solution for control system alarm handling.

Alarm Server

The core service is the Alarm Server which is based on Zookeeper and Kafka. The Alarm Server contains user-defined alarm configurations persistent in Zookeeper. These alarm configurations will list PVs of interest, organized in a tree hierarchy to arbitrary depth. These files also contain additional information needed by the Alarm Views, e.g. guidance texts or links to control displays. The Alarm Server will send real time messages to clients via Kafka data streams.

Alarm Logger

The second service is the Alarm Logger which is based on ElasticSearch and keeps an archive of all alarm messages and events which can be searched and filtered by clients. It is especially useful to discover alarm patterns, create statistical reports or debug the alarm system.

Read more (Alarm Logging Service Documentation)

Alarm Configuration Logger

The third service is the Alarm Configuration Logger, a simple service to log all changes made to the Alarm Server Configuration and version control them with a git repository. It will also map the Alarm Configuration Tree into a directory structure for a better overview.

Read more (Alarm Configuration Logging Documentation)

Archiver Appliance

The EPICS Archiver Appliance is an implementation of an archiver for EPICS control systems that aims to archive millions of PVs and is supported by CS-Studio for the Data Browser. Communication will make use of the PB/HTTP protocol and can be configured accordingly.

Read more (EPICS Archiver Appliance Documentation)

Channel Finder Service

The Channel Finder service is a simple directory service which gives clients the ability to search for channel names and associated meta-data with complex queries. Backed by ElasticSearch, the directory data consists of a set of channels with an arbitrary set of properties (name-value pairs), and an arbitrary set of tags (names). These channels can be then queried based on the channel name, property value and tags.

Read more (Channel Finder Documentation)

Logbook Service (Olog)

The Logbook Service Olog is an electronic logbook which allows for the creation and retrieval of log entries. The service was developed to address the needs of operators, engineers, and users of large scientific facilities. Since these log entries are stored in ElasticSearch, the service also supports a powerful search API. Search criteria can include log entry title and body and its meta-data (author, date, tags, properties).

For basic formatting the log entry body is authored using Markdown, which is converted by clients to HTML.

Attachments of any kind may be added to log entries which are presistently stored in MongoDB by the service. Additionally attachments can be searched by type and the clients will render thumbnail previews of attached image.

Read more (Olog Documentation)

Save and Restore Service

The Save-and-restore service implements service as a collection of REST endpoints. These can be used by clients to manage configurations (aka save sets) and snapshots, to compare snapshots and to restore PV values from snapshots. This service is based on the Spring Boot application using Elasticsearch for data persistence.

Read more (Save-and-restore Documentation)

Scan Server

The Scan system can automate experiments by running scans on a central server. Scans can be defined in a precise way, defining start and endpoint, the number of steps to take and can also be configured to wait for the experimental data to be recieved before proceeding.

One scan can even consist of several nested loops, giving you the possibility to perform a 2-dimensional scan of a sample surface with nesting a "vertical position" loop inside every step of your "horizontal position" loop.

Running the scripts on a central server can minimize conflicts or failure, while making logs and history easily accessible by system experts.

Read more (Scan system Documentation)