使用FB41进行PID调整的说明 点击:12767 | 回复:104



如火

    
  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-08-03 11:31:00
楼主
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参数。 注:本文由zzj1382提供,工控网整理,感谢zzj1382的支持!



水边清浅横枝瘦

  • 精华:0帖
  • 求助:4帖
  • 帖子:78帖 | 3488回
  • 年度积分:8
  • 历史总积分:5664
  • 注册:2006年7月11日
发表于:2007-04-04 15:45:00
61楼
收藏

happyoicq

  • 精华:0帖
  • 求助:0帖
  • 帖子:49帖 | 1382回
  • 年度积分:0
  • 历史总积分:3120
  • 注册:2005年10月16日
发表于:2007-07-06 08:48:00
62楼
期待中……

sdlyjun

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2004年5月11日
发表于:2007-07-14 12:29:00
63楼
怎么在FB41中实现正反馈啊?

XIAO菜

  • 精华:8帖
  • 求助:0帖
  • 帖子:75帖 | 1108回
  • 年度积分:0
  • 历史总积分:1610
  • 注册:2002年7月18日
发表于:2007-07-14 12:48:00
64楼
收藏一下,以前从来没有用过西门子的PID,倒是DCS 的PID用的比较多,马上有机会,这个帖子我收藏一下

王高飞

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 11回
  • 年度积分:0
  • 历史总积分:92
  • 注册:2003年9月23日
发表于:2007-08-31 20:44:00
65楼
谢谢!
雪中送碳,真的感谢

蹩脚电工

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 128回
  • 年度积分:0
  • 历史总积分:143
  • 注册:2007年4月07日
发表于:2007-09-02 20:29:00
66楼
好东西啊

不死小强

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 57回
  • 年度积分:0
  • 历史总积分:129
  • 注册:2007年4月03日
发表于:2007-09-28 13:41:00
67楼
mark~~

学习学习

wucreng

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 90回
  • 年度积分:0
  • 历史总积分:97
  • 注册:2006年4月17日
发表于:2007-10-02 15:21:00
68楼
谢谢你激情如火

cade_zk

  • 精华:0帖
  • 求助:0帖
  • 帖子:34帖 | 216回
  • 年度积分:0
  • 历史总积分:503
  • 注册:2005年9月16日
发表于:2007-10-14 19:39:00
69楼
需要收藏下

小王提问

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 30回
  • 年度积分:0
  • 历史总积分:58
  • 注册:2007年3月27日
发表于:2007-10-19 17:49:00
70楼
能否给我发一个FB41编程的例子啊...
急用啊..
谢谢了啊

小王提问

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 30回
  • 年度积分:0
  • 历史总积分:58
  • 注册:2007年3月27日
发表于:2007-10-19 17:51:00
71楼
我的邮箱是wangfusong2006@yahoo.com
谢谢了啊,我要用到14个PID呢..
给我发个例子吧

季贤丰

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 19回
  • 年度积分:0
  • 历史总积分:115
  • 注册:2007年3月14日
发表于:2007-12-13 11:04:00
72楼
能不能给我发一个FB41 PID调节的例子,谢谢,急需解决问题。
  不胜感激!!!邮箱:lovejxf@126.com

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2007-12-20 21:20:00
73楼
请问各位老师,经PID计算出的结果是直接送给执行机构?,还是将PID的计算结果做为一个增量给执行机构?谢谢!!

gk_boy

  • 精华:0帖
  • 求助:0帖
  • 帖子:56帖 | 574回
  • 年度积分:0
  • 历史总积分:1729
  • 注册:2007年9月01日
发表于:2007-12-21 10:31:00
74楼
学习

zhang

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 109回
  • 年度积分:0
  • 历史总积分:275
  • 注册:2003年3月16日
发表于:2007-12-30 18:05:00
75楼
我在应用中都是做为增量来进行处理的

夏平

  • 精华:0帖
  • 求助:0帖
  • 帖子:21帖 | 36回
  • 年度积分:2
  • 历史总积分:54
  • 注册:2004年5月24日
发表于:2007-12-31 16:19:00
76楼
[color=#0000FF]PID参数中重要的几个变量,给定值,反馈值和输出值都是用0.0~1.0之间的实数表示[/color]
我做FB41时,这些值不是0.0-1.0之间,我个人认为只要给定和反馈是同样的范围内即可.比如温度控制下,反馈温度是500度,读进DBD10转换为5000,如果我要设定温度是600度,DBD6输入6000就可以.对于输出值,我把上限设置为27648,这样在DBD72端口的值直接可以拿来给PQW了.以上三个数值都是浮点数格式表示的

huangyoufu

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 1083回
  • 年度积分:0
  • 历史总积分:1224
  • 注册:2006年9月23日
发表于:2008-03-08 11:40:00
77楼
真是需要的,

huangyoufu

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 1083回
  • 年度积分:0
  • 历史总积分:1224
  • 注册:2006年9月23日
发表于:2008-03-26 19:16:00
78楼
真是一个热心人呀

陈石头

  • 精华:27帖
  • 求助:2帖
  • 帖子:299帖 | 9288回
  • 年度积分:0
  • 历史总积分:54987
  • 注册:2008年3月07日
发表于:2008-03-26 19:50:00
79楼
学习啦,谢谢

达成

  • 精华:0帖
  • 求助:2帖
  • 帖子:8帖 | 29回
  • 年度积分:1
  • 历史总积分:184
  • 注册:2007年7月04日
发表于:2008-03-27 21:40:00
80楼

热门招聘
相关主题

官方公众号

智造工程师