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 |