pid控制温度c语言,C语言编写PID温度控制程序

《C语言编写PID温度控制程序》由会员分享,可在线阅读,更多相关《C语言编写PID温度控制程序(5页珍藏版)》请在人人文库网上搜索。

1、* init program *)PIDpara.enable = 1 ;使能端PIDpara.enter = 1 ;当enter为1时,检查参数并转换为内部显示。;当enter为0时,忽略输入参数的改变并存储计算时间。PIDpara.Y_max = 32767 ;PID输出最大值(032767) PIDpara.Y_min = 0 ;PID输出最小值(032767)PIDpara.dY_max = 10.0 ;输出最大容许变化量,操作变量斜坡最大值。为0时ramp不起作用,不需计算时间PIDpara.Kp = 1.0 ;比例PIDpara.Tn = 10.0 ;积分(越小作用越大),为0时第。

2、I part和jolt-free切换不起作用且不需要任何计算时间。PIDpara.Tv = 1 ;微分PIDpara.Tf = 1 ;微分滤波时间。若Tv不为0必须输入(初值为Tv/10),不应少于(1.4*任务的扫描时间).PIDpara.Kw = 1 ;比例项衰减系数。Kw为1时设定值不变进行比例项计算,为小于1时,设定值乘Kw后进行比例项计算(此项不能为零)PIDpara.Kfbk = 1 ;抗积分饱和,终结阻尼值。Kfbk为0时终结保护无效,不需要计算时间PIDpara.fbk_mode = LCPID_FBK_MODE_INTERN ;操作变量的反馈模式:内部模式(一般为内部模式)P。

3、IDpara.d_mode = LCPID_D_MODE_E ;微分模式:对偏差值进行微分计算(标准PID控制);X模式:对实际值进行微分计算(一般选次方式)PIDpara.calc_mode= LCPID_CALC_MODE_EXACT ;计算模式:精确(所有计算为双精度浮点型, 如无舍入错误和CPU计算次数过长)(一般选次方式)PIDpara FUB LCPIDpara() ;调用PID参数功能块循环程序中程序如下,此程序只对P、I、D三个参数由变量进行输值,变量可在pid程序运行中实时修改,如果大家还需要某些参数实时修改,方法相同:(* cyclic program *)PIDpara.。

4、enable = PIDpara.enable PIDpara FUB LCPIDpara() PIDpara.Tv = D_Ctrl ;积分(越小作用越大),为0时第I part和jolt-free切换不起作用且不需要任何计算时间。PIDpara.Kp = P_Ctrl ;比例PIDpara.Tn = I_Ctrll ;微分二、必须调用一个LCCounter()功能块,作为pid的basetime输入。三、使用LCPID功能块,使用方法如下:初始化程序(* init program *)LCCount FUB LCCounter()PID.out_mode= LCPID_OUT_MODE_M。

5、AN ;控制器运行模式,此处默认为手动模式,LCPID_OUT_MODE_AUTO: 为自动运行PID.Y_man=PID.Y_man ;自动切换到手动模式时,无扰动的手动输出值PID.hold_I=0 ;PID.hold_I=1 时,积分项不起作用,保持原值(一般不用)PID.enable = 1PID FUB LCPID()循环程序如下LCCount FUB LCCounter() (* Get time from system*)PID.basetime = LCCount.ms100cnt ;设定计算频率(100msPID进行计算一次,时间一般与实际值采集周期相同)PID.W = se。

6、tTense ;INT,设定值PID.X = actTense ;INT,实际值(* see to task:sensor *)PID FUB LCPID()PID.enable= 1 ;使能PID.ident= PIDpara.ident ;ident来自上面对应LCDPIDpara()的ident.PID.W= setTense ;INT,设定值PID.X= actTense ;INT,实际值(* see to task:sensor *)PID.Y_man= 15000 ;手动时输入值PID.Y_fbk= ;为内部模式时不用PID.hold_I= ;一般不用If y=1 then ;此处为pid手自动切换。PID_0.out_mode= LCPID_OUT_MODE_MANelsePID_0.out_mode= LCPID_OUT_MODE_AUTOendifPID FUB LCPID() ;调用PID功能块部分C语言写的温度PID 程序。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值