SimpleControlDirectly influencing a stock to keep it at setpoint value |
This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.
SimpleControl uses a →CloseGap
component to arrive (naively) at a flow that is needed to move a connected stock "under management" to a given setpoint, i.e., goal. The strength of the flow, i.e., the speed of the adjustment, is controlled by the parameter adjTime
.
The control's setpoint can be provided either by a →RampInput
or by an exogenous input u. In case of a ramp input the setpoint will move from initialSetpoint
to finalSetpoint
in linear fashion for a period given by duration
starting at startTime
.
The controller by default is active over the whole simulation run, but can be restricted to an on-off period using tc = TimingChoices.period
and the parameters onTime
and offTime
.
hasRateOutput |
Value: false Type: Boolean Description: = true, if the rate is reported via real output connectors |
---|---|
tc |
Value: TimingChoices.permanent Type: TimingChoices Description: Select whether contoll is permanent or timed |
onTime |
Value: modelSettings.modelStartTime Type: Time (s) Description: Time for component to become effective |
offTime |
Value: modelSettings.modelTimeHorizon Type: Time (s) Description: Time for component to become ineffective |
hasExogenousSetpoint |
Value: false Type: Boolean Description: = true, if the setpoint is to be given by an input connector |
initialSetpoint |
Value: Type: SetpointType Description: Setpoint valid from modelStartTime to startTime |
finalSetpoint |
Value: Type: SetpointType Description: Final setpoint valid from startTime + duration until the end of the simulation |
startTime |
Value: modelSettings.modelStartTime Type: Time (s) Description: Start time for change of setpoint |
duration |
Value: modelSettings.modelTimeHorizon Type: Time (s) Description: Time until final setpoint is reached |
adjTime |
Value: 1 Type: Time (s) Description: Time constant for stock control |
flowPort |
Type: FlowPort Description: Used to represent stock and flow connections |
|
---|---|---|
y |
Type: RealOutput Description: Output of current rate of flow |
|
y1 |
Type: RealOutput Description: Output of current rate of flow |
|
u |
Type: RealInput Description: Setpoint input for controller |
onOff |
Type: PulseInput Description: Generate pulse or pulse-train signal of real input |
|
---|---|---|
permanent |
Type: ConstantConverter Description: A constant value is turned into a constant signal |
|
setpoint |
Type: RampInput Description: Ramp input determining the setpoint |
|
currentValue |
Type: FlowPortSensor Description: Current value of connected stock |
|
modelSettings |
Type: ModelSettings Description: Setting important global variables within a model |
|
rate |
Type: CloseGap Description: Rate of Change |
|
changing |
Type: ExogenousChange Description: Flow to adjust the stock |
|
actualRate |
Type: Product_2 Description: Actual rate, which becomes zero when control is turned off |
BusinessSimulation.Examples Causal loop example given by van Zijderveld (MARVEL) |