.BusinessSimulation.CausalLoop.PID_Control

Information

This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.

This component uses a →PID controller to arrive at a rate of flow that is needed to move a connected stock "under management" to a given setpoint, i.e., goal. The PID controller here follows the typical standard form implementation where the error e(t) is defined as the difference between the setpoint SP(t) and the current stock value S(t): e(t) = SP(t) - S(t). The control u(t) accordingly is the rate affecting the stock:

y(t) = ...

There is proportional control k e(t) that is immediately acting upon any deviation between stock value and setpoint. The controller also has an integral component that is aiming at correcting the accumulated error within a time span of Ti units of time. Finally, the controller has a derivative component that uses the current rate of change in the error to predict the error Td units of time into the future.

The control's setpoint can be provided either by an embedded →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

SimpleControl, InputControl, PID

Contents

NameDescription
 GainTypeType choice for controller gain

Revisions


Generated at 2024-11-20T19:25:51Z by OpenModelicaOpenModelica 1.24.2 using GenerateDoc.mos