Class ProcessLogicAlarmIntegratedExample
java.lang.Object
neqsim.process.util.example.ProcessLogicAlarmIntegratedExample
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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classContainer for instrumentation setup.private static classContainer for process logic setup. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static double -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static ProcessSystemBuilds the complete process system.private static ESDLogiccreateHIPPSLogic(HIPPSValve hippsValve) Creates independent HIPPS logic.static voidMain method demonstrating integrated alarm-triggered process logic.private static voidprintScenarioHeader(String title) Prints scenario header.private static voidregisterAlarmActions(ProcessAlarmManager alarmManager, ProcessSystem system, ProcessLogicAlarmIntegratedExample.ProcessLogicSetup logicSetup) Registers automatic alarm-triggered actions with the alarm manager.private static voidrunAlarmTriggeredScenarios(ProcessScenarioRunner runner, ProcessAlarmManager alarmManager, ProcessLogicAlarmIntegratedExample.InstrumentationSetup instruments, ProcessLogicAlarmIntegratedExample.ProcessLogicSetup logicSetup, ProcessSystem system) Runs comprehensive alarm-triggered scenarios.private static voidrunBlowdownSimulation(ProcessSystem system, ProcessLogicAlarmIntegratedExample.InstrumentationSetup instruments, ProcessAlarmManager alarmManager, double startTime) Runs transient blowdown simulation after ESD activation.private static voidrunScenarioStep(ProcessSystem system, ProcessAlarmManager alarmManager, ProcessLogicAlarmIntegratedExample.InstrumentationSetup instruments, double deltaTime) Executes a scenario step and evaluates alarms.private static ProcessLogicAlarmIntegratedExample.InstrumentationSetupsetupInstrumentationWithAlarms(ProcessSystem system, ProcessAlarmManager alarmManager) Sets up instrumentation with comprehensive alarm configuration.private static ProcessLogicAlarmIntegratedExample.ProcessLogicSetupsetupProcessLogic(ProcessSystem system, ProcessLogicAlarmIntegratedExample.InstrumentationSetup instruments) Sets up process logic sequences.private static voidsimulateLowLevelAlarm(ESDLogic esdLogic, ProcessAlarmManager alarmManager) Simulates low level alarm triggering shutdown.
-
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
Main method demonstrating integrated alarm-triggered process logic. -
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 instrumentalarmManager- 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 withsystem- the process system containing equipmentlogicSetup- the process logic setup containing ESD and HIPPS logic
-
setupProcessLogic
private static ProcessLogicAlarmIntegratedExample.ProcessLogicSetup setupProcessLogic(ProcessSystem system, ProcessLogicAlarmIntegratedExample.InstrumentationSetup instruments) Sets up process logic sequences.- Parameters:
system- the process system containing equipmentinstruments- 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 scenariosalarmManager- the alarm manager for evaluation and trackinginstruments- the instrumentation setup containing deviceslogicSetup- the process logic setup containing logic sequencessystem- the process system
-
simulateLowLevelAlarm
Simulates low level alarm triggering shutdown.- Parameters:
esdLogic- the ESD logic to activatealarmManager- 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 systeminstruments- the instrumentation setupalarmManager- the alarm managerstartTime- the simulation start time
-
printScenarioHeader
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 systemalarmManager- the alarm managerinstruments- the instrumentation setupdeltaTime- time increment for this step
-
createHIPPSLogic
Creates independent HIPPS logic.- Parameters:
hippsValve- the HIPPS valve to control- Returns:
- the configured HIPPS logic
-