Interface ProcessLogic
- All Known Implementing Classes:
ESDLogic, HIPPSLogic, IntegratedSafetySystemWithLogicExample.HIPPSLogic, PressureControlLogic, ProcessLogicIntegratedExample.GradualPressureReductionLogic, SafetyInstrumentedFunction, ShutdownLogic, StartupLogic
public interface ProcessLogic
Base interface for all process logic implementations.
Process logic represents automated control sequences that coordinate multiple pieces of equipment to achieve specific operational objectives such as:
- Emergency Shutdown (ESD) sequences
- Startup procedures
- Shutdown sequences
- Mode transitions
- Batch operations
Logic execution is typically driven by triggers (manual or automatic) and proceeds through a series of steps with timing, conditions, and actions on equipment.
- Version:
- 1.0
- Author:
- ESOL
-
Method Summary
Modifier and TypeMethodDescriptionvoidactivate()Activates the logic sequence, starting execution.voidDeactivates the logic sequence, pausing or stopping execution.voidexecute(double timeStep) Executes one time step of the logic sequence.getName()Gets the name of this logic sequence.getState()Gets the current state of the logic.Gets a description of the current status.Gets the list of equipment targeted by this logic.booleanisActive()Checks if the logic is currently active (running).booleanChecks if the logic sequence has completed successfully.booleanreset()Resets the logic sequence to its initial state.
-
Method Details
-
getName
-
getState
-
activate
void activate()Activates the logic sequence, starting execution.If the logic is already active, this may restart it or have no effect depending on implementation.
-
deactivate
void deactivate()Deactivates the logic sequence, pausing or stopping execution.The logic remains in its current state and can be reactivated later.
-
reset
boolean reset()Resets the logic sequence to its initial state.This prepares the logic for a fresh execution. Reset may require certain permissive conditions to be met.
- Returns:
- true if reset was successful, false if permissives not met
-
execute
void execute(double timeStep) Executes one time step of the logic sequence.This method should be called repeatedly in transient simulations to advance the logic through its steps.
- Parameters:
timeStep- time increment in seconds
-
isActive
boolean isActive()Checks if the logic is currently active (running).- Returns:
- true if logic is active
-
isComplete
boolean isComplete()Checks if the logic sequence has completed successfully.- Returns:
- true if logic has completed all steps
-
getTargetEquipment
List<ProcessEquipmentInterface> getTargetEquipment()Gets the list of equipment targeted by this logic.- Returns:
- list of target equipment
-
getStatusDescription
-