Class ProcessLogicAlarmIntegratedExample

java.lang.Object
neqsim.process.util.example.ProcessLogicAlarmIntegratedExample

public class ProcessLogicAlarmIntegratedExample extends Object
Complete integrated example demonstrating alarm-triggered process logic.

This example demonstrates the full integration of:

  • Multi-level alarm configuration (LOLO, LO, HI, HIHI)
  • ProcessAlarmManager for centralized alarm coordination
  • Alarms triggering automatic process control actions
  • Alarms triggering ESD sequences
  • Alarm acknowledgement and clearance workflows
  • HIPPS Logic with alarm-based activation
  • Startup Logic with alarm permissives
  • ProcessScenarioRunner for automated testing

Layered safety architecture with alarm integration:

  • Layer 1 (Alarms): HI/LO alarms trigger operator actions or control adjustments
  • Layer 2 (Alarms + Control): HIHI/LOLO alarms trigger automatic control responses
  • Layer 3 (SIL-2): HIPPS provides independent fast-acting pressure protection
  • Layer 4 (SIL-2): ESD system provides emergency shutdown
  • Layer 5 (Mechanical): PSV provides final mechanical protection
Version:
1.0
Author:
ESOL
  • Field Details

    • HIGH_PRESSURE_ALARM

      private static final double HIGH_PRESSURE_ALARM
      See Also:
    • HIGH_HIGH_PRESSURE_ALARM

      private static final double HIGH_HIGH_PRESSURE_ALARM
      See Also:
    • HIPPS_ACTIVATION_PRESSURE

      private static final double HIPPS_ACTIVATION_PRESSURE
      See Also:
    • ESD_ACTIVATION_PRESSURE

      private static final double ESD_ACTIVATION_PRESSURE
      See Also:
    • PSV_SET_PRESSURE

      private static final double PSV_SET_PRESSURE
      See Also:
    • HIGH_TEMP_ALARM

      private static final double HIGH_TEMP_ALARM
      See Also:
    • HIGH_HIGH_TEMP_ALARM

      private static final double HIGH_HIGH_TEMP_ALARM
      See Also:
    • LOW_LEVEL_ALARM

      private static final double LOW_LEVEL_ALARM
      See Also:
    • LOW_LOW_LEVEL_ALARM

      private static final double LOW_LOW_LEVEL_ALARM
      See Also:
    • HIGH_LEVEL_ALARM

      private static final double HIGH_LEVEL_ALARM
      See Also:
    • HIGH_HIGH_LEVEL_ALARM

      private static final double HIGH_HIGH_LEVEL_ALARM
      See Also:
    • simulationTime

      private static double simulationTime
  • Constructor Details

    • ProcessLogicAlarmIntegratedExample

      public ProcessLogicAlarmIntegratedExample()
  • Method Details

    • main

      public static void main(String[] args)
      Main method demonstrating integrated alarm-triggered process logic.
    • buildProcessSystem

      private static ProcessSystem buildProcessSystem()
      Builds the complete process system.
      Returns:
      the configured process system
    • setupInstrumentationWithAlarms

      private static ProcessLogicAlarmIntegratedExample.InstrumentationSetup setupInstrumentationWithAlarms(ProcessSystem system, ProcessAlarmManager alarmManager)
      Sets up instrumentation with comprehensive alarm configuration.
      Parameters:
      system - the process system to instrument
      alarmManager - the alarm manager to register devices with
      Returns:
      the instrumentation setup containing all configured devices
    • registerAlarmActions

      private static void registerAlarmActions(ProcessAlarmManager alarmManager, ProcessSystem system, ProcessLogicAlarmIntegratedExample.ProcessLogicSetup logicSetup)
      Registers automatic alarm-triggered actions with the alarm manager.
      Parameters:
      alarmManager - the alarm manager to register actions with
      system - the process system containing equipment
      logicSetup - the process logic setup containing ESD and HIPPS logic
    • setupProcessLogic

      Sets up process logic sequences.
      Parameters:
      system - the process system containing equipment
      instruments - the instrumentation setup containing measurement devices
      Returns:
      the process logic setup containing configured logic sequences
    • runAlarmTriggeredScenarios

      private static void runAlarmTriggeredScenarios(ProcessScenarioRunner runner, ProcessAlarmManager alarmManager, ProcessLogicAlarmIntegratedExample.InstrumentationSetup instruments, ProcessLogicAlarmIntegratedExample.ProcessLogicSetup logicSetup, ProcessSystem system)
      Runs comprehensive alarm-triggered scenarios.
      Parameters:
      runner - the scenario runner for executing scenarios
      alarmManager - the alarm manager for evaluation and tracking
      instruments - the instrumentation setup containing devices
      logicSetup - the process logic setup containing logic sequences
      system - the process system
    • simulateLowLevelAlarm

      private static void simulateLowLevelAlarm(ESDLogic esdLogic, ProcessAlarmManager alarmManager)
      Simulates low level alarm triggering shutdown.
      Parameters:
      esdLogic - the ESD logic to activate
      alarmManager - the alarm manager for acknowledgement
    • runBlowdownSimulation

      private static void runBlowdownSimulation(ProcessSystem system, ProcessLogicAlarmIntegratedExample.InstrumentationSetup instruments, ProcessAlarmManager alarmManager, double startTime)
      Runs transient blowdown simulation after ESD activation.
      Parameters:
      system - the process system
      instruments - the instrumentation setup
      alarmManager - the alarm manager
      startTime - the simulation start time
    • printScenarioHeader

      private static void printScenarioHeader(String title)
      Prints scenario header.
      Parameters:
      title - the scenario title to display
    • runScenarioStep

      private static void runScenarioStep(ProcessSystem system, ProcessAlarmManager alarmManager, ProcessLogicAlarmIntegratedExample.InstrumentationSetup instruments, double deltaTime)
      Executes a scenario step and evaluates alarms.
      Parameters:
      system - the process system
      alarmManager - the alarm manager
      instruments - the instrumentation setup
      deltaTime - time increment for this step
    • createHIPPSLogic

      private static ESDLogic createHIPPSLogic(HIPPSValve hippsValve)
      Creates independent HIPPS logic.
      Parameters:
      hippsValve - the HIPPS valve to control
      Returns:
      the configured HIPPS logic