⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pidcontroller.cpp

📁 很好c语言编写的pid算法,具有很好的参考价值
💻 CPP
字号:
////////////////////////////////////////////////////////
//	僼傽僀儖偺愢柧丗PID 僐儞僩儘乕儖偱偺搾暒偐偟惂屼僋儔僗娭悢
////////////////////////////////////////////////////////
#include "PIDController.h"

////////////////////////////////////////////////////////
//	僋儔僗丗PID 僐儞僩儘乕儖偱偺搾暒偐偟惂屼僋儔僗
//	婡  擻丗弶婜壔
//			慜夞偺壏搙愝掕傪弶婜壔偡傞
//	堷  悢丗側偟
//	栠傝抣丗側偟
////////////////////////////////////////////////////////
VOID	PIDController::initControl()
{
	this->beforeTemp = this->pSensorInfo->GetTemperature();		// 悈壏庢摼
}

////////////////////////////////////////////////////////
//	僋儔僗丗PID 僐儞僩儘乕儖偱偺搾暒偐偟惂屼僋儔僗
//	婡  擻丗栚昗壏搙傑偱壛擬偡傞
//			堦夞偺惂屼娫妘挷惍偟偨傜敳偗傞
//	堷  悢丗側偟
//	栠傝抣丗栚昗壏搙偲偺嵎
////////////////////////////////////////////////////////
SHORT PIDController::control()
{

	SHORT NowTemp;

	NowTemp = this->pSensorInfo->GetTemperature();		// 悈壏庢摼
	SHORT DistanceTarget = this->targetTemperature - NowTemp;	// 栚昗壏搙偲偺嵎傪媮傔傞
	SHORT DeltaTemp = NowTemp - this->beforeTemp;		// 悈壏偺曄壔検傪媮傔傞
	this->beforeTemp = NowTemp;							// 慜夞偺悈壏傪曐懚
	SHORT ControlRatio = this->PIDControlTableObj.GetNextControl( DeltaTemp, DistanceTarget );	//惂屼検傪媮傔傞
	setControlRatio( ControlRatio );					// 惂屼検愝掕
	waitControlPeriod();								// 壏搙惂屼

	// 栚昗壏搙偲偺嵎傪曉偡
	NowTemp = this->pSensorInfo->GetTemperature();		// 悈壏庢摼
	return this->targetTemperature - NowTemp;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -