你现在位置:首页>技术论文>软件知识>正文
标准PID源程序
日期:2006-8-8 22:27:03 来源:本站整理  
点击: 作者:未知
点击【】放大字体.
   --- 工业控制中常用算法 ---
——可——编——程——控-制-器-技——术——门——户

    
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    /*====================================================================================================
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

     这是从网上找来的一个比较典型的PID处理程序,在使用单片机作为控制cpu时,请稍作简化,具体的PID
WW.W_PLCJS_COM-PLC-技.术_网

    参数必须由具体对象通过实验确定。由于单片机的处理速度和ram资源的限制,一般不采用浮点数运算,
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    而将所有参数全部用整数,运算到最后再除以一个2的N次方数据(相当于移位),作类似定点数运算,可
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    大大提高运算速度,根据控制精度的不同要求,当精度要求很高时,注意保留移位引起的“余数”,做好余
——可——编——程——控-制-器-技——术——门——户

    数补偿。这个程序只是一般常用pid算法的基本架构,没有包含输入输出处理部分。
WWW_PLC※JS_COM-PmLC-技.术_网

    =====================================================================================================*/
P.L.C.技.术.网——可编程控制器技术门户

    #include 
P.L.C.技.术.网——可编程控制器技术门户

    #include 
WWW_PLCJS_COM-PLC-技.术_网

    /*====================================================================================================
W1WW_P4LCJS_COM-PLC-技.术_网

     PID Function
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

     
WWcW_PLCJS_COM-PLC-技.术_网

     The PID (比例、积分、微分) function is used in mainly
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

     control applications. PIDCalc performs one iteration of the PID
P.L.C.技.术.网——可编程控制器技术门户

     algorithm.
WWW_P※LCJS_COM-PLC-)技.术_网

    
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

     While the PID function works, main is just a dummy program showing
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

     a typical usage.
WWW_PLCJS_COM-PLC-技.术_网

    =====================================================================================================*/
WW.W_PLCJS_COM-PLC-技.术_网

    
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    typedef struct PID {
P.L.C.技.术.网——可编程控制器技术门户

    
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

     double SetPoint; // 设定目标 Desired value
WWW.PLCJS.COM——可编程控制器技术门户

    
——可——编——程——控-制-器-技——术——门——户

     double Proportion; // 比例常数 Proportional Const
WWW_P※LCJS_COM-PLC-)技.术_网

     double Integral; // 积分常数 Integral Const
P.L.C.技.术.网——可编程控制器技术门户

     double Derivative; // 微分常数 Derivative Const
W1WW_P4LCJS_COM-PLC-技.术_网

    
WWW_P※LCJS_COM-PLC-)技.术_网

     double LastError; // Error[-1]
WWW_PLCJS@_COM%-PLC-技.术_网

     double PrevError; // Error[-2]
WWW_PLCJS_COM-PLC-技.术_网

     double SumError; // Sums of Errors
WWW_P※LCJS_CO※M-PLC-技-.术_网

    
plcjs.技.术_网

    } PID;
W1WW_P4LCJS_COM-PLC-技.术_网

    
WWW_PLCJS@_COM%-PLC-技.术_网

    /*====================================================================================================
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

     PID计算部分
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    =====================================================================================================*/
WWW_P※LCJS_CO※M-PLC-技-.术_网

    
WWW_PL※CJS_COM-PLC-技.术_网

    double PIDCalc( PID *pp, double NextPoint )
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

    {
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

     double dError,
WWcW_PLCJS_COM-PLC-技.术_网

     Error;
WWW_P※LCJS_CO※M-PLC-技-.术_网

    
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

     Error = pp->SetPoint - NextPoint; // 偏差
W1WW_P4LCJS_COM-PLC-技.术_网

     pp->SumError += Error; // 积分
plcjs.技.术_网

     dError = pp->LastError - pp->PrevError; // 当前微分
WW.W_PLCJS_COM-PLC-技.术_网

     pp->PrevError = pp->LastError;
WW.W_PLC※JS_C,OM-PL,C-技.术_网

     pp->LastError = Error;
WW.W_PLCJS_COM-PLC-技.术_网

     return (pp->Proportion * Error // 比例项

本新闻共2页,当前在第11 2  
WWW_PLC※JS_COM-PmLC-技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行