C#实现PID
下面是一个C#实现PID控制器的完整源代码示例:
using System;
public class PIDController
{
private double Kp; // 比例系数
private double Ki; // 积分系数
private double Kd; // 微分系数
private double lastError; // 上一次的误差
private double integral; // 积分项
public PIDController(double Kp, double Ki, double Kd)
{
this.Kp = Kp;
this.Ki = Ki;
this.Kd = Kd;
}
public double Calculate(double setpoint, double currentValue)
{
double error = setpoint - currentValue;
// 比例项
double proportional = Kp * error;
// 积分项
integral += error;
// 微分项
double derivative = error - lastError;
double output = proportional + Ki * integral + Kd * derivative;
lastError = error;
return output;