• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: 其他
  • 标签:

资源简介

该源码主要描述了PID控制算法在温度控制中

资源截图

代码片段和文件信息


#include “Mod_Include.h“

#include 

#include 
#include 


CTempCtrl m_TempCtrl_Dilute(1);//稀释气


//==================================================================================================
//| 函数名称 | CTempCtrl()
//|----------|--------------------------------------------------------------------------------------
//| 函数功能 | 构造函数
//|----------|--------------------------------------------------------------------------------------
//| 输入参数 | 无
//|----------|--------------------------------------------------------------------------------------       
//| 返回参数 | 无
//==================================================================================================
CTempCtrl::CTempCtrl(INT8U uch_Ch)
{
b_Enable = TRUE;
b_Active = FALSE;
uch_Chl = uch_Ch;

f_MFCset = 0;

//ul_AlarmTime = 0;
}

//==================================================================================================
//| 函数名称 | CTempCtrlInit()
//|----------|--------------------------------------------------------------------------------------
//| 函数功能 | 构造函数
//|----------|--------------------------------------------------------------------------------------
//| 输入参数 | 无
//|----------|--------------------------------------------------------------------------------------       
//| 返回参数 | 无
//==================================================================================================
void CTempCtrl::CTempCtrlInit(void)
{
b_Active = FALSE;

ul_RunTime = 0;
uin_ExceedTime = 0;

uch_PreHeat = PREHEAT_ING;
uch_Status = TEM_ING;

b_StableFlag = FALSE;
b_UnStableFlag = FALSE;

uch_ModStatus = 1;

uin_UnstabelTime = 0;
uch_StableTime = 0;

//f_I = 0.05;
//f_P = 0.25;

f_I = 0.05;
f_P = 0.05;
f_D = 0.0;


StartTickMs(&ul_Time);
    

}


//==================================================================================================
//| 函数名称 | PIDClac()
//|----------|--------------------------------------------------------------------------------------
//| 函数功能 | 流量控制PID参数计算
//|----------|--------------------------------------------------------------------------------------
//| 输入参数 | 目标 f_TarFlow当前 f_CurFlow
//|----------|--------------------------------------------------------------------------------------       
//| 返回参数 | 计算结果 f_result
//|----------|-------------------------------------------------------------------------------------- 
//==================================================================================================
FP32 CTempCtrl::PIDClac(FP32 f_TarTemFP32 f_CurTem)
{
    FP32 f_temp; //偏差信号的绝对值
FP32 f_err; //偏差信号
FP32 f_Dtmp;

    f_err = f_TarTem - f_CurTem;          
    f_temp = fabs(f_err);
f_Dtmp = f_LastErr-f_err;
   f_LastErr = f_err;
    if(f_temp <= f_IA)  //使用PID算法
    {    

       if(uch_Chl == 2)
{
            //if(f_err            //{
            //    f_result

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5540  2016-02-18 14:07  Mod_TemCtrl.cpp

     文件       1455  2016-02-18 14:11  Mod_TemCtrl.h

----------- ---------  ---------- -----  ----

                 6995                    2


评论

共有 条评论