Skip to main content

Interface IPidController

Represents a Proportional, Integral, Derivative (PID) controller.

Assembly: Meadow.Contracts.dll​
View Source​
Declaration
public interface IPidController

Properties​

OutputMin​

The minimum allowable control output value. The control output is clamped to this value after being calculated via the CalculateControlOutput method.

View Source​
Declaration
float OutputMin { get; set; }

OutputMax​

The maximum allowable control output value. The control output is clamped to this value after being calculated via the CalculateControlOutput method.

View Source​
Declaration
float OutputMax { get; set; }

ActualInput​

Represents the Process Variable (PV), or the actual signal reading of the system in its current state.

View Source​
Declaration
float ActualInput { get; set; }

TargetInput​

Represents the set point (SP), or the reference target signal to achieve.

View Source​
Declaration
float TargetInput { get; set; }

IntegralComponent​

The value to use when calculating the integral corrective action.

View Source​
Declaration
float IntegralComponent { get; set; }

DerivativeComponent​

The value to use when calculating the derivative corrective action.

View Source​
Declaration
float DerivativeComponent { get; set; }

ProportionalComponent​

The value to use when calculating the proportional corrective action.

View Source​
Declaration
float ProportionalComponent { get; set; }

OutputTuningInformation​

Whether or not to print the calculation information to the output console in an comma-delimited form.

View Source​
Declaration
bool OutputTuningInformation { get; set; }

Methods​

ResetIntegrator()​

Resets the integrator error history.

View Source​
Declaration
void ResetIntegrator()

CalculateControlOutput()​

Calculates the control output based on the difference (error) between the ActualInput and TargetInput, using the supplied ProportionalComponent, IntegralComponent, and DerivativeComponent.

View Source​
Declaration
float CalculateControlOutput()
Returns​

System.Single