Class ProcessAlarmManager

java.lang.Object
neqsim.process.alarm.ProcessAlarmManager
All Implemented Interfaces:
Serializable

public class ProcessAlarmManager extends Object implements Serializable
Coordinates alarm evaluation across all measurement devices in a process system.

Supports automatic alarm-triggered actions through registered AlarmActionHandler instances.

See Also:
  • Field Details

  • Constructor Details

    • ProcessAlarmManager

      public ProcessAlarmManager()
  • Method Details

    • register

      public void register(MeasurementDeviceInterface device)
      Registers a measurement device for alarm supervision.
      Parameters:
      device - device to register
    • registerAll

      public void registerAll(List<MeasurementDeviceInterface> measurementDevices)
      Registers multiple devices in one operation.
      Parameters:
      measurementDevices - devices to register
    • evaluateMeasurement

      public List<AlarmEvent> evaluateMeasurement(MeasurementDeviceInterface device, double measuredValue, double dt, double time)
      Evaluates alarms for a single measurement value.
      Parameters:
      device - measurement device producing the value
      measuredValue - current measured value
      dt - time step
      time - current simulation time
      Returns:
      events generated during evaluation
    • registerActionHandler

      public void registerActionHandler(AlarmActionHandler handler)
      Registers an action handler to respond to alarm events.
      Parameters:
      handler - the action handler to register
    • removeActionHandler

      public void removeActionHandler(AlarmActionHandler handler)
      Removes an action handler.
      Parameters:
      handler - the action handler to remove
    • getActionHandlers

      public List<AlarmActionHandler> getActionHandlers()
      Gets all registered action handlers.
      Returns:
      immutable list of action handlers
    • executeActionHandlers

      private void executeActionHandlers(List<AlarmEvent> events)
      Executes all registered action handlers for the given events.
      Parameters:
      events - alarm events to process
    • acknowledgeAll

      public List<AlarmEvent> acknowledgeAll(double time)
      Acknowledges alarms for all registered devices.
      Parameters:
      time - simulation time for the acknowledgement
      Returns:
      list of acknowledgement events
    • getHistory

      public List<AlarmEvent> getHistory()
      Returns an immutable view of the collected alarm history.
      Returns:
      alarm event history
    • getActiveAlarms

      public List<AlarmStatusSnapshot> getActiveAlarms()
      Returns snapshots of all currently active alarms.
      Returns:
      list of active alarm snapshots
    • clearHistory

      public void clearHistory()
      Removes all recorded alarm events.
    • applyFrom

      public void applyFrom(ProcessAlarmManager source, List<MeasurementDeviceInterface> measurementDevices)
      Copies the content of another manager instance.
      Parameters:
      source - source manager to copy from
      measurementDevices - devices that should be supervised by this manager
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object