Simulation of PID OOP Cascade System with Visual C++.
该程序已经更新了多个版本,最新版参阅:
PID Control C++ Programming
Full Program Download:
PID control source code (Visual C++ 6 Version)
PID control source code (Visual Studio Version)
Design Introduction: PPT instruction download
Part of programs is as follows:
// PID_OOP.cpp : PID control program MAIN.
// Designed by Students and Teacher
// in the class of Intelligent Instrument Design
// Date: 2014-03-28
// MagtomoLab: http://emt.bjtu.edu.cn
// BJTU: http://www.bjtu.edu.cn
// -----------------------------------------------
#include "stdafx.h"
#include "PID_Controller.h"
#include "RC_Object.h"
int main(int argc, char* argv[])
{
FILE *fp;
double sp=2.5;
PID_Controller con1,con2;
RC_Object obj1,obj2;
// Initialize
con1.Initialization();
obj1.Initialization();
con2.Initialization();
obj2.Initialization();
// Customized Setting
con1.kp=2.0;
con1.ki=1;
con2.ki=1.2;
// Connection
con2.pointer_sp=&sp;
con1.pointer_sp=&con2.cv;
obj1.pointer_cv=&con1.cv;
obj2.pointer_cv=&obj1.pv;
con2.pointer_pv=&obj2.pv;
con1.pointer_pv=&obj1.pv;
// Run
fp=fopen("Record.csv","wt");
fprintf(fp, "pv\n");
for (int k=0;k<100;k++)
{ //Print result
fprintf(fp, "%f\n", obj2.pv);
con2.Calculate();
con1.Calculate();
obj1.Calculate();
obj2.Calculate();
}
fclose(fp);
printf("Finished!\n");
return 0;
}
C++