Beast DataSource

Overview

The Alarm System allow users to view and handle the alarms triggered by Process Variables (PVs) on front-end computers (IOCs). There are a set of dedicated applications (Alarm tree, table, and panel) which display alarms and alarm related information (like guidance). These applications also provide the ability to take a set of actions needed to effectively handle an alarm.

Refer to Help Contents -> CSS Applications -> Alarm System for a more detailed description of the beast alarm system

The beast alarm datasource provides a subsection of the alarm information and functionality. This makes it possible for user to access beast alarm information of any other cs-studio application. OPI screens can now embeded information about weather of not an alarm has been acknowledged, etc..

PV syntax

The standard prefix for the datasource is beast:// which can be omitted if configured as the default datasource.

'beast' pvs can be used to connect to any node or leaf from the alarm tree. The alarm tree represents the configured hierarchy of the alarm pv's, the hierarchy consists of

  1. Area: Front end, DTL, CCL, SCL, Ring, ...
  2. System: ICS, Cooling, Vacuum, RF, ...
  3. Optionally sub-system: ICS/IOCs, RF/LLRF, RF/HPRF, ...
  4. Alarm Trigger PVs on the final level.

You can create a beast channel for any Alarm Trigger PVs or for any Area, System, Subsystem.

  beast://alarm_trigger_pvName
  beast://complete_path_to_area
  beast://complete_path_to_system
        

  • Example1: Connecting to a alarm pv
  • Example2: Connecting to a subsystem defined in the alarm tree
  • Interpreting the beast datasource result

    Each active alarm has several properties:

    Accessing individual fields

    In addition of the table it is also possible to create a channel directly to some of the fields of the table

          beast://alarm_trigger_pvName.Enable
            
  • Returns a boolean value representing if the Alarm is enabled or disabled.
  •       beast://complete_path_to_area.Acknowledge
            
  • Returns a boolean value representing is the Alarm has been acknowledged.
  • true if severity indicates an acknowledged alarm (AlarmSeverity is *-ack'ed).
  • false for unacknowledged or OK state.
  •       beast://complete_path_to_system.AlarmSeverity
            
  • The severity of the PV remembered by alarm server. When the PV is configured to "latch", the alarm server remembers the highest alarm severity of the PV until it is manually acknowledged. Current severity of the PV might differ from alarm severity when the underlying alarm PV already recovered but the alarm server was configured to "latch" the alarm until operator acknowledgement.
  •       beast://complete_path_to_system.Active
            
  • Creates a Channel which represents if the alarm is active.
  • true if severity indicates an active alarm,
  • false for acknowledged or OK state.
  •       beast://complete_path_to_system.RawTable
            
  • Unlike the default table this table does not cast all values to String but rather creates a seperate column for each alarm attribute while preserving the type (i.e. the Enable/Active column returns Boolean values)
  • Writing

    Writing to alarm pv's can be done by using one of the following key phrases.

  • ack: acknowledge this alarm pv or node.
  • unack: unacknowledge this alarm pv or node.
  • enable: enable this alarm pv or node.
  • disable: disenable this alarm pv or node.
  • Using beast datasource in BOY screens

    The beast datasource can be used to embed beast alarm information into opi screens. The return value from the beast datasource can be easily displayed by using the VTable widget.
    The example screen below was created with the beast datasource and the VTable widget.
    Table 1. PV Formula = beast://LN-RF{MOD:3}Sum-Sts
    Table 2. PV Formula = beast://NSLS2_OPR/Booster