PID实际应用专题讨论(FB41,FB58) 点击:12692 | 回复:93



南极火

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 169回
  • 年度积分:0
  • 历史总积分:677
  • 注册:2003年11月25日
发表于:2006-03-02 11:53:00
楼主
   大家好!搞自控的没有人不知道PID的,被列为经典控制之首,被人称为万能控制,其实这一点也不为过,它的优点在实际应用中体现的更为突出!其中西门子在这方面比其他厂家做的要优秀的多!S7-系列的PLC的功能块为搞工控的人打开方便之门.

FB41称为连续控制的PID用于控制连续变化的模拟量,

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

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

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

FB58为专业温度PID控制功能块,相信不是所有人都人熟练应用,欢迎大家交流,讨论,上传实例!




jingbochun

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:84
  • 注册:2006年8月10日
发表于:2006-04-21 15:12:00
21楼
jingbochun@126.com

盖世孤狼

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 28回
  • 年度积分:0
  • 历史总积分:146
  • 注册:2006年4月06日
发表于:2006-04-21 20:23:00
22楼
我现在在用S7-300  PID调试,有反馈值变,可就是输出值总是最大值不变,那位高手知道是那方面的原因吗

lbygk

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 14回
  • 年度积分:0
  • 历史总积分:14
  • 注册:2004年10月14日
发表于:2006-04-22 08:45:00
23楼
本人最近在忙一个S7-300编程,里面有用到PID控制,哪位高手可以发个示例程序及说明,谢谢!

小楼

  • 精华:2帖
  • 求助:0帖
  • 帖子:5帖 | 298回
  • 年度积分:0
  • 历史总积分:418
  • 注册:2002年6月13日
发表于:2006-04-22 10:46:00
24楼
1:知道PID的原理,不需要任何功能块,自己动手也可以做一个自己的PID.
2:PID是任何模拟量闭环控制的都要用到的经典控制公式.
3:PID的等间隔调用时间是要根据现场实际的,不是"一般为200MS",不同的控制对象时间差别非常大20ms,2s,20s,2M都有可能.
4:不要总看别人的例子和说明,因为针对一个公式,我实在想不出公式的例子有什么用,就编制一个(A+B)*(A-B)的公式一样,知道了公式的原理,你要需要看别人的这个(A+B)*(A-B)是怎么写出来的么???
5:不知道PID的原理,写不出自己的PID,也就永远不会理解真正意义上的PID.

海军基地

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 54回
  • 年度积分:0
  • 历史总积分:78
  • 注册:2006年4月20日
发表于:2006-04-22 11:01:00
25楼
有谁了解西门子S7-200的模拟量扩展,我想用电位器作为输入,调节时间和电压, 要用到哪些指令和功能块啊? 多多指教啊?
我的邮箱: renneng23@hotmail.com 可以在 MSN Messenger上联系我, 我白天都在线的...

秉轩

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 45回
  • 年度积分:0
  • 历史总积分:493
  • 注册:2006年3月17日
发表于:2006-04-22 20:08:00
26楼
现在越来越多的领域涉及到了PID控制,不学的缺的确是不行了

苯诸葛

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 12回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2005年12月01日
发表于:2006-04-24 09:51:00
27楼
各位学长,S7-300系统中PID功能块我有点会用了,就是想自己编一个增量式PID编不出来啊,各位学长可以帮帮我吗?我的邮箱:zglx11@126.com,QQ:584503611

自控小生

  • 精华:0帖
  • 求助:0帖
  • 帖子:54帖 | 204回
  • 年度积分:0
  • 历史总积分:349
  • 注册:2005年11月29日
发表于:2006-04-24 10:03:00
28楼
非常支持,我正想使用它,希望高手多多帮助,提供一些参考例程,谢谢!

南极火

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 169回
  • 年度积分:0
  • 历史总积分:677
  • 注册:2003年11月25日
发表于:2006-04-26 14:45:00
29楼
用西门子 s7_300实现PID控制
在OB35中实现PID控制程序,OB35是一个以固定时间间隔循环执行的组织块,Hardware Config界面里可以设置间隔时间,而这也即是PID的采样时间。
应该注意设置的间隔值比OB35中程序运行时间长,否则会造成系统异常。
 
 
 

南极火

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 169回
  • 年度积分:0
  • 历史总积分:677
  • 注册:2003年11月25日
发表于:2006-04-26 14:48:00
30楼
FB41中文参考文档
FB41称为连续控制的PID用于控制连续变化的模拟量,与FB42的差别在于后者是离散型的,用于控制开关量,其他二者的使用方法和许多参数都相同或相似。
  
  PID的初始化可以通过在OB100中调用一次,将参数COM-RST置位,当然也可在别的地方初始化它,关键的是要控制COM-RST;
  
  PID的调用可以在OB35中完成,一般设置时间为200MS,
  一定要结合帮助文档中的PID框图研究以下的参数,可以起到事半功倍的效果
  
  
  
  
  A:所有的输入参数:
  
  COM_RST: BOOL: 重新启动PID:当该位TURE时:PID执行重启动功能,复位PID内部参数到默认值;通常在系统重启动时执行一个扫描周期,或在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_HOLD BOOL:积分保持,不去设置它;
  I_ITL_ON BOOL:积分初值有效,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参数。
  

中li

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 18回
  • 年度积分:0
  • 历史总积分:33
  • 注册:2006年11月12日
发表于:2006-12-22 14:04:00
31楼
太好拉!!!!!

中li

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 18回
  • 年度积分:0
  • 历史总积分:33
  • 注册:2006年11月12日
发表于:2006-12-22 14:23:00
32楼
我正在愁怎么设定呢!有的地方不明白,现在总算是基本通拉.

四月飞儿

  • 精华:0帖
  • 求助:5帖
  • 帖子:74帖 | 2257回
  • 年度积分:38
  • 历史总积分:14569
  • 注册:2006年9月11日
发表于:2006-12-24 13:33:00
33楼
基本参数有了

Johnny.Ong

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 41回
  • 年度积分:0
  • 历史总积分:74
  • 注册:2005年3月10日
发表于:2006-12-25 13:12:00
34楼
 南极火:
顶你,太好了,本来用PID时因为只用这几个MAN_ON,SP_INT,PV_IN ,MAN 。其他参数用法不是很熟悉,看帮助也没说明白。现在一看,真是看君一席话,盛读十念书呀。


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

请问是否有初始化时间长度,一般要多长。

小陈--

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 271回
  • 年度积分:1
  • 历史总积分:453
  • 注册:2005年1月01日
发表于:2006-12-25 21:49:00
35楼
好人啊

S小冷S

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 32回
  • 年度积分:0
  • 历史总积分:43
  • 注册:2006年11月25日
发表于:2006-12-26 10:43:00
36楼
除了pid控制环节不是 还有惯性环节和一些放大器吗?
帮我理解一下好吗不然总是很抽象

guafa58

  • 精华:1帖
  • 求助:0帖
  • 帖子:43帖 | 2142回
  • 年度积分:4
  • 历史总积分:3969
  • 注册:2006年1月13日
发表于:2006-12-30 18:53:00
37楼
请教各位 ,PID功能一定要在OB35中调用吗,就当一般的调用可以吗?
我就这样做的,不过始终觉得系统调的不是很好,有较大的误差,不过在设备的允许范围的!

请教老大们了!

三年电工

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 170回
  • 年度积分:0
  • 历史总积分:371
  • 注册:2006年1月10日
发表于:2007-01-14 20:24:00
38楼

火鹤10

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 86回
  • 年度积分:12
  • 历史总积分:538
  • 注册:2005年9月23日
发表于:2007-01-15 15:21:00
39楼
  pid参数整定经验值

控制对象   特点                         kp       Ti(m)    Td(m)
流量     对象数值较小有噪音            1-2.5      0.1-1      
温度     多容系统大滞后                1.6-5      3-10     0.5-3
压力     容量系统滞后不大              1.4-3.5    0.4-3
液位     允许有静差时不用积分          1.25-5

火鹤10

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 86回
  • 年度积分:12
  • 历史总积分:538
  • 注册:2005年9月23日
发表于:2007-01-15 15:27:00
40楼
补充一下,对于反馈信号不稳定时,做一个软件滤波,这样效果会好些

热门招聘
相关主题

官方公众号

智造工程师