20 template <IntegralType T = IntegralType::BACKWARD_EULER>
27 PIcontroller(
const double Pgain,
const double Igain,
const double SmplTime)
28 : Kp(Pgain), Ki(Igain), Integ(SmplTime)
36 : Kp(r.Kp), Ki(r.Ki), Integ(r.Integ)
57 double GetSignal(
const double u,
const double Limit){
59 double ytest = Kp*u + Ki*Integ.
GetSignal(u);
60 if(-Limit < ytest && ytest < Limit){
72 double GetSignal(
const double u,
const double LimitIn,
const double LimitOut){
73 return Kp*u + Ki*Integ.
GetSignal( u - 1.0/Kp*(LimitIn - LimitOut) );
double Limiter(const double input, const double limit)
リミッタ
Definition Limiter.cc:18
積分器
Definition Integrator.hh:40
double GetSignal(const double u)
出力信号の取得
Definition Integrator.hh:79
void Enable(const bool Flag)
積分器を動かすか止めるかの選択
Definition Integrator.hh:127
void ClearIntegralValue(void)
積分器のリセット
Definition Integrator.hh:132
PI制御器
Definition PIcontroller.hh:21
double GetSignal(const double u, const double Limit)
PI制御器出力信号の計算(積分停止法版)
Definition PIcontroller.hh:57
void Enable(const bool Flag)
積分器を動かすか止めるかの選択
Definition PIcontroller.hh:78
double GetSignal(const double u)
PI制御器出力信号の計算(通常版)
Definition PIcontroller.hh:49
void ClearIntegralValue(void)
積分器のリセット
Definition PIcontroller.hh:83
double GetSignal(const double u, const double LimitIn, const double LimitOut)
PI制御器出力信号の計算(リミット偏差フィードバック版)
Definition PIcontroller.hh:72
PIcontroller(const double Pgain, const double Igain, const double SmplTime)
コンストラクタ
Definition PIcontroller.hh:27
~PIcontroller()
デストラクタ
Definition PIcontroller.hh:42
PIcontroller(PIcontroller &&r)
ムーブコンストラクタ
Definition PIcontroller.hh:35