📄 pidreg.cpp
字号:
// PidReg.cpp : implementation file
//
#include "stdafx.h"
//#include "profibus.h"
#include "PidReg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPidReg
CPidReg::CPidReg()
{
Kp=1;
Kf=2200;
Ki=0;
Kd=0;
out_k1=0;
e_k1=0;
e_k2=0;
e_k=1310720;
out_max=500;
out_min=-500;
Remain=0;
}
CPidReg::~CPidReg()
{
}
CPidReg::PidReg(int ref,int fb,int ff)
{
long tmp1,tmp2,tmp3;
tmp1=0;
tmp2=0;
tmp3=0;
pid_ref=ref;
pid_fb=fb;
K0=Kp+Ki+Kd;
K1=Kd*2+Kp;
K2=Kd;
e_k-=pid_fb;
tmp1=-K1*e_k1+K2*e_k2;
tmp2=K0*e_k;
tmp3=tmp2+tmp1;
out=out_k1+tmp3;
int temp=4;
Remain+=out%temp;
out/=temp;
if(out>out_max)
out=out_max;
if(out<out_min)
out=out_min;
return 1 ;
}
/////////////////////////////////////////////////////////////////////////////
// CPidReg message handlers
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -