使用FB41进行PID调整的说明

[复制链接]
查看2514 | 回复8 | 2006-3-27 01:15:00 | 显示全部楼层 |阅读模式

FB41称为连续控制的PID用于控制连续变化的模拟量,与FB42的差别在于后者是离散型的,用于控制开关量,其他二者的使用方法和许多参数都相同或相似。

  

  PID的初始化可以通过在OB100中调用一次,将参数COM-RST置位,当然也可在别的地方初始化它,关键的是要控制COM-RST;

  

  PID的调用可以在OB35中完成,一般设置时间为200MS,

  一定要结合帮助文档中的PID框图研究以下的参数,可以起到事半功倍的效果

  

  以下将重要参数用黑体标明.如果你比较懒一点,只需重点关注黑体字的参数就可以了。其他的可以使用[s:292]参数。

  

  

  A:所有的输入参数:

  

  COM_RST:BOOL:重新启动PID:当该位TURE时:PID执行重启动功能,复位PID内部参数到[s:292]值;通常在系统重启动时执行一个扫描周期,或在PID进入饱和状态需要退出时用这个位;

  

  MAN_ON:BOOL:手动值ON;当该位为TURE时,PID功能块直接将MAN的值输出到LMN,这可以在PID框图中看到;也就是说,这个位是PID的手动/自动切换位;

  

  PEPER_ON:BOOL:过程变量外围值ON:过程变量即反馈量,此PID可直接使用过程变量PIW(不推荐),也可使用PIW规格化后的值(常用),因此,这个位为FALSE;

  P_SEL:BOOL:比例选择位:该位ON时,选择P(比例)控制有效;一般选择有效;

  I_SEL:BOOL:积分选择位;该位ON时,选择I(积分)控制有效;一般选择有效;

  INT_HOLDBOOL:积分保持,不去设置它;

  I_ITL_ONBOOL:积分初值有效,I-ITLVAL(积分初值)变量和这个位对应,当此位ON时,则使用I-ITLVAL变量积分初值。一般当发现PID功能的积分值增长比较慢或系统反应不够时可以考虑使用积分初值;

  D_SEL:BOOL:微分选择位,该位ON时,选择D(微分)控制有效;一般的控制系统不用;

  CYCLE:TIME:PID采样周期,一般设为200MS;

  SP_INT:REAL:PID的给定值;

  PV_IN:REAL:PID的反馈值(也称过程变量);

  PV_PER:WORD:未经规格化的反馈值,由PEPER-ON选择有效;(不推荐)

  MAN:REAL:手动值,由MAN-ON选择有效;

  GAIN:REAL:比例增益;

  TI:TIME:积分时间;

  TD:TIME:微分时间;

  TM_LAG:TIME:我也不知道,没用过它,和微分有关;

  DEADB_W:REAL:死区宽度;如果输出在平衡点附近微小幅度振荡,可以考虑用死区来降低灵敏度;

  LMN_HLM:REAL:PID上极限,一般是100;

  LMN_LLM:REAL:PID下极限;一般为0,如果需要双极性调节,则需设置为-100;(正负10V输出就是典型的双极性输出,此时需要设置-100);

  PV_FAC:REAL:过程变量比例因子

  PV_OFF:REAL:过程变量偏置值(OFFSET)

  LMN_FAC:REAL:PID输出值比例因子;

  LMN_OFF:REAL:PID输出值偏置值(OFFSET);

  I_ITLVAL:REAL:PID的积分初值;有I-ITL-ON选择有效;

  DISV:REAL:允许的扰动量,前馈控制加入,一般不设置;

  

  B:部分输出参数说明:

  LMN:REAL:PID输出;

  LMN_P:REAL:PID输出中P的分量;(可用于在调试过程中观察效果)

  LMN_I:REAL:PID输出中I的分量;(可用于在调试过程中观察效果)

  LMN_D:REAL:PID输出中D的分量;(可用于在调试过程中观察效果)

  

  C:规格化概念及方法:

  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倍,应该就可以满足大多数的需求。我记得网络上有许多调整PID的方法,但不记得那么多了,先试试吧。

  

  附录:PID的调整可以通过“开始—>SIMATIC->STEP7->PID调整”打开PID调整的控制面板,通过选择不同的PID背景数据块,调整不同回路的PID参数。

  

  注:本文由zzj1382提供,工控网整理,感谢zzj1382的支持!
wxjwlj | 2006-9-11 17:56:00 | 显示全部楼层
谢谢了,顶一下
xiejl168 | 2007-2-1 20:41:00 | 显示全部楼层
很好的资料
weililun | 2007-3-6 13:07:00 | 显示全部楼层

谢谢啊!!

文静123456 | 2007-3-17 22:46:00 | 显示全部楼层
dog76 | 2007-3-19 14:50:00 | 显示全部楼层
看不太明白
haozimh | 2007-4-17 16:20:00 | 显示全部楼层
lanyueepgc | 2007-5-18 16:28:00 | 显示全部楼层
tai hao le
wangzhuge | 2007-6-21 09:59:00 | 显示全部楼层
[em17][em17]
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则