SimpleControl

Directly influencing a stock to keep it at setpoint value

Diagram

Information

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.

Implementation

DiagramView
ModelDiagram.png

See also

PID_Control, InputControl

Parameters (10)

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

Connectors (4)

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

Components (8)

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

Used in Examples (1)

SoftwareReleaseProject

BusinessSimulation.Examples

Causal loop example given by van Zijderveld (MARVEL)

Revisions

  • Introduced in v2.0.0.