Class PidIdentifier
Class that attempts to identify the parameters (such as Kp and Ti) of a PID-controller from a given set of time-series of the input and output of said controller.
Inherited Members
Namespace: TimeSeriesAnalysis.Dynamic
Assembly: TimeSeriesAnalysis.dll
Syntax
public class PidIdentifier
Constructors
| Edit this page View SourcePidIdentifier(PidScaling, double, PidControllerType)
Default constructor
Declaration
public PidIdentifier(PidScaling pidScaling = null, double badValueIndicatingValue = -9999, PidControllerType type = PidControllerType.Unset)
Parameters
Type | Name | Description |
---|---|---|
PidScaling | pidScaling | |
double | badValueIndicatingValue | |
PidControllerType | type |
Methods
| Edit this page View SourceGetSimulatedU(PidParameters, UnitDataSet, bool, List<int>, bool)
Returns the simulated time series of the manipulated variable u as given by the PID-controller.
Declaration
public (double[], int) GetSimulatedU(PidParameters pidParams, UnitDataSet dataset, bool isPIDoutputDelayOneSample, List<int> indToIgnore, bool doVariableTimeBase = false)
Parameters
Type | Name | Description |
---|---|---|
PidParameters | pidParams | |
UnitDataSet | dataset | dataset, including including the "indicesToIgnore" |
bool | isPIDoutputDelayOneSample | |
List<int> | indToIgnore | |
bool | doVariableTimeBase |
Returns
Type | Description |
---|---|
(double[], int) | the simulated value, and the number of restarts |
Identify(ref UnitDataSet, bool, bool)
Identifies a PID-controller from a UnitDataSet
Declaration
public PidParameters Identify(ref UnitDataSet dataSet, bool tryDownsampling = true, bool tryVariableTimeBase = false)
Parameters
Type | Name | Description |
---|---|---|
UnitDataSet | dataSet | a UnitDataSet, where .Y_meas, .Y_setpoint and .U are analyzed |
bool | tryDownsampling | try identification against a downsampled copy of the dataset internally |
bool | tryVariableTimeBase | experimental: default is false (if set to true,several unit tests fail because "flipKp" is triggered.) |
Returns
Type | Description |
---|---|
PidParameters | the identified parameters of the PID-controller |
Identify_Level1(ref UnitDataSet, bool, bool)
Identifies a PID-controller from a UnitDataSet
Declaration
public PidParameters Identify_Level1(ref UnitDataSet dataSet, bool doDetectFrozenData, bool doVariableTimeBase)
Parameters
Type | Name | Description |
---|---|---|
UnitDataSet | dataSet | a UnitDataSet, where .Y_meas, .Y_setpoint and .U are analyzed |
bool | doDetectFrozenData | if true, the model attempts to find and ignore portions of frozen data(will also detect oversampled data) |
bool | doVariableTimeBase |
Returns
Type | Description |
---|---|
PidParameters | the identified parameters of the PID-controller |