以前常听别人讲PID参数,但一直不明白.有坛子里的老师讲讲到底是什么吗?有没有相关方面的资料可以看看?比如通过PID控制一个0~1500转的A风机 要求风口压力P稳定在4KP, 有老师帮忙写个范例让我学习下吗,S7是V5.4的,400站点谢谢!!
最佳答案
1、FB41的PID:
一、在ob35里面插入FB41,方框顶上会有红字,输入一个类似“DB120”的,系统会问你要不要生成这个Db,yes就可以
二、大部分参数不要填,默认就行,下面是常用参数,用变量连接:
1、MAN_ON:用一个bool量,如m0.0,为true则手动,为false则自动;
2、cycle:T#100MS,这个值与ob35默认的100ms一致;
3、SP_INT:MD2,是hmi发下来的设定值,0-100.0的范围,real型;
4、PV_IN:md6,实际测量值,比如压力,要从piw×××转换为0-100.0的量程;
5、MAN:MD10,op值,也就是手动状态下的阀门输出,real型,0-100.0的范围;
6、GAIN:md14,Pid的P啊,默认写1-2吧(系统默认是2),调试的时候再改
7、TI:MW20,pid的i啊.默认写T#30S吧,调试的时候改;
8、DEAD_W:md22,死区,就是sp和pv的偏差死区,0-100.0的范围,默认0,调试的时候改;
输出:
9、LMN:MD26,0-100。0,最终再用fc106转换为word型move到pqw×××,如果pid运算结果不再有工艺条件其他限制可以用LMN_PER更简单就不用fc106了。
三、用plcsim模拟
1、手动
man_on=true,看输出是否等于man;
2、自动
man_on=false,调整pv或者sp,使得有偏差大于死区,看输出变化,这里的模拟只能说明pid工作了,不能测试实际调节效果啊。
3、如果需要反作用,有三种方法:
a、pv和sp颠倒输入
b、p值用负的
c、输出用100减
2、参数的规格化:
在PID中有不同的物理量,例如温度、压力及阀门开度等,它们的量纲单位均不同,所以要进行规格化工作。
规格化概念及方法:
PID参数中重要的几个变量,给定值,反馈值和输出值都是用0.0~1.0之间的实数表示,
而这几个变量在实际中都是来自与模拟输入,或者输出控制模拟量的
因此,需要将模拟输入转换为0.0~1.0的数据,或将0.0~1.0的数据转换为模拟输出,这个过程称为规格化
规格化的方法:(即变量相对所占整个值域范围内的百分比 对应与27648数字量范围内的量)
对于输入和反馈,执行:变量*100/27648,然后将结果传送到PV-IN和SP-INT
对于输出变量 ,执行:LMN*27648/100,然后将结果取整传送给PQW即可;
D:PID的调整方法:
一般不用D,除非一些大功率加热控制等惯大的系统;仅使用PI即可,
一般先使I等于0,P从0开始往上加,直到系统出现等幅振荡为止,记下此时振荡的周期,然后设置I为振荡周期的0.48倍,应该就可以满足大多数的需求。
相关文档:
《用Step7中SFB41/FB 41、SFB42/FB42、SFB43/FB43实现PID控制 》下载:
http://www2.ad.siemens.com.cn/Download/Upload/AS/application/A0018.pdf
提问者对于答案的评价:
谢谢4位老师的帮助,驿站927老师跟阿鸣老师的帮助最详细,但我是完全的小白,所以阿鸣老师对管脚的介绍我更容易接受,特别是他提到如何反向控制的解决办法尤其令我受益。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc304760.html