block
Vehicles.Rdd2.ProportionalController
Sampled proportional controller with symmetric output limiting
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| parameter | samplePeriod | Real | (unit = "s") = 0.005 | |
| parameter | gain | Real | = 1.0 | |
| parameter | outputLimit | Real | (min = 0.0) = 1.0 |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
block ProportionalController
"Sampled proportional controller with symmetric output limiting"
import Interfaces = Vehicles.Rdd2.ControllerInterfaces;
parameter Real samplePeriod(unit = "s") = 0.005;
parameter Real gain = 1.0;
parameter Real outputLimit(min = 0.0) = 1.0;
Interfaces.FeedbackInput inputSignal;
Interfaces.FeedbackOutput outputSignal;
algorithm
when sample(0.0, samplePeriod) then
outputSignal.error := inputSignal.setpoint - inputSignal.measurement;
outputSignal.command := MathUtilities.clip(
gain * outputSignal.error,
-outputLimit,
outputLimit);
end when;
end ProportionalController;