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