Class OverrideControllerStructure
java.lang.Object
neqsim.process.controllerdevice.structure.OverrideControllerStructure
- All Implemented Interfaces:
Serializable, 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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumSelection strategy for the override structure. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate doubleprivate booleanprivate final ControllerDeviceInterfaceprivate final ControllerDeviceInterfaceprivate final OverrideControllerStructure.SelectionTypeprivate static final long -
Constructor Summary
ConstructorsConstructorDescriptionOverrideControllerStructure(ControllerDeviceInterface primaryController, ControllerDeviceInterface overrideController, OverrideControllerStructure.SelectionType selectionType) Create an override control structure. -
Method Summary
Modifier and TypeMethodDescriptiondoubleGet resulting output signal from the control structure.Get the selection type of this override structure.booleanisActive()Check whether the control structure is currently active.booleanCheck whether the override controller is currently dominating the output.voidrunTransient(double dt) Execute one transient calculation step.voidsetActive(boolean isActive) Enable or disable the entire control structure.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
-
overrideController
-
selectionType
-
output
private double output -
overrideActive
private boolean overrideActive -
isActive
private boolean isActive
-
-
Constructor Details
-
OverrideControllerStructure
public OverrideControllerStructure(ControllerDeviceInterface primaryController, ControllerDeviceInterface overrideController, OverrideControllerStructure.SelectionType selectionType) Create an override control structure.- Parameters:
primaryController- the normal-operation controlleroverrideController- the safety/override controllerselectionType- HIGH_SELECT or LOW_SELECT
-
-
Method Details
-
runTransient
public void runTransient(double dt) Execute one transient calculation step.- Specified by:
runTransientin interfaceControlStructureInterface- Parameters:
dt- time step in seconds
-
isOverrideActive
public boolean isOverrideActive()Check whether the override controller is currently dominating the output.- Returns:
trueif the override controller output was selected,falseif the primary controller is in control
-
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:
getOutputin interfaceControlStructureInterface- Returns:
- control signal
-
setActive
public void setActive(boolean isActive) Enable or disable the entire control structure.- Specified by:
setActivein interfaceControlStructureInterface- Parameters:
isActive- settrueto enable
-
isActive
public boolean isActive()Check whether the control structure is currently active.- Specified by:
isActivein interfaceControlStructureInterface- Returns:
trueif active
-