Class OverrideControllerStructure

java.lang.Object
neqsim.process.controllerdevice.structure.OverrideControllerStructure
All Implemented Interfaces:
Serializable, ControlStructureInterface

public class OverrideControllerStructure extends Object implements ControlStructureInterface
Override (selector) control structure that selects the output of one of two controllers using a HIGH-select or LOW-select strategy. This is commonly used for safety overrides where a temperature or pressure controller can take over from a flow controller when limits are approached.

In OverrideControllerStructure.SelectionType.HIGH_SELECT mode, the controller with the highest output wins. In OverrideControllerStructure.SelectionType.LOW_SELECT mode, the controller with the lowest output wins.

Version:
1.0
Author:
NeqSim
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • runTransient

      public void runTransient(double dt)
      Execute one transient calculation step.
      Specified by:
      runTransient in interface ControlStructureInterface
      Parameters:
      dt - time step in seconds
    • isOverrideActive

      public boolean isOverrideActive()
      Check whether the override controller is currently dominating the output.
      Returns:
      true if the override controller output was selected, false if the primary controller is in control
    • getSelectionType

      public OverrideControllerStructure.SelectionType getSelectionType()
      Get the selection type of this override structure.
      Returns:
      the selection type
    • getOutput

      public double getOutput()
      Get resulting output signal from the control structure.
      Specified by:
      getOutput in interface ControlStructureInterface
      Returns:
      control signal
    • setActive

      public void setActive(boolean isActive)
      Enable or disable the entire control structure.
      Specified by:
      setActive in interface ControlStructureInterface
      Parameters:
      isActive - set true to enable
    • isActive

      public boolean isActive()
      Check whether the control structure is currently active.
      Specified by:
      isActive in interface ControlStructureInterface
      Returns:
      true if active