PID控制怎么做? 点击:4592 | 回复:46



春华★秋实

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-07-20 14:59:00
楼主
组态软件 S7 V5.3  监控软件 WINCC6.0
要求:在WINCC上可以进行手、自动切换;手动运行时,操作员给阀门送信号开度(0-100),自动控制时,设定一个控制值,根据测量值阀门自动调节,使其稳定在设定值。
请问怎么做?
我调用FB41,却不知道改怎么往上加参数,请帮忙。
还有,PID这3相的值只能在S7中设定吗?能否在WINCC画面上设定?



春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-08-02 14:52:00
21楼
WINCC中二进制变量地址的书写格式是:DB1,D0.1,浮点数格式是DB1,DD4;在S7中是DB1.DBX0.1(二进制)、DB1.DBD20(浮点)之类的啊。
他们一样吗?

天铁

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:84
  • 注册:2007年7月14日
发表于:2007-08-03 20:07:00
22楼
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参数。

1s2g

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 63回
  • 年度积分:0
  • 历史总积分:76
  • 注册:2006年4月25日
发表于:2007-08-03 23:14:00
23楼
您好!
很高兴在工控论坛上看到你回给需要帮助的各位的帖子,不知道称呼你大哥行不?呵!我是一个S7-300的初学者,在做项目遇到PID控制环节:
我现在在做一个PID,使用的是FB41,用DB100作为背景数据块,通过模拟量输出0-10V的电压来调节变频器,最终达到调节电动机的转速目的.
按照你说的方法,我把参数设置好后,可是无论改变给定,或者比例,或者积分、微分时间。PID的输出始终保持和下限(LMN_LLM)一致,下限是(10%),监控到的输出就是(10),
请问应该怎么设置这些参数啊,应该还有那些地方要设置的啊!请帮我解决一下.万分感谢!谢谢!
舒国:QQ357815425

1s2g

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 63回
  • 年度积分:0
  • 历史总积分:76
  • 注册:2006年4月25日
发表于:2007-08-03 23:16:00
24楼
TO:天铁
您好!
很高兴在工控论坛上看到你回给需要帮助的各位的帖子,不知道称呼你大哥行不?呵!我是一个S7-300的初学者,在做项目遇到PID控制环节:
我现在在做一个PID,使用的是FB41,用DB100作为背景数据块,通过模拟量输出0-10V的电压来调节变频器,最终达到调节电动机的转速目的.
按照你说的方法,我把参数设置好后,可是无论改变给定,或者比例,或者积分、微分时间。PID的输出始终保持和下限(LMN_LLM)一致,下限是(10%),监控到的输出就是(10),
请问应该怎么设置这些参数啊,应该还有那些地方要设置的啊!请帮我解决一下.万分感谢!谢谢!
舒国:QQ357815425

1s2g

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 63回
  • 年度积分:0
  • 历史总积分:76
  • 注册:2006年4月25日
发表于:2007-08-03 23:17:00
25楼
各位知道的帮帮请忙啊!万分感激!

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-08-04 12:05:00
26楼
请解释一下这句话的意思:“PID的初始化可以通过在OB100中调用一次,将参数COM-RST置位,当然也可在别的地方初始化它,关键的是要控制COM-RST;”
如果有人做过,请具体说一下,书上的东西谁都会看,只希望看不懂的地方有人能解释一下,光复制书的内容,传下来又有什么用呢?我们是想理解!!

千山独步

  • 精华:0帖
  • 求助:0帖
  • 帖子:159帖 | 3098回
  • 年度积分:4
  • 历史总积分:21261
  • 注册:2007年2月02日
发表于:2007-08-04 12:12:00
27楼
支持天铁,朋友应该是作钢铁项目的吧,工控网很需要你呀,顶一下!

诸葛村夫

  • 精华:0帖
  • 求助:0帖
  • 帖子:71帖 | 278回
  • 年度积分:0
  • 历史总积分:479
  • 注册:2004年3月06日
发表于:2007-08-10 21:29:00
28楼
ding!

cade_zk

  • 精华:0帖
  • 求助:0帖
  • 帖子:34帖 | 216回
  • 年度积分:0
  • 历史总积分:503
  • 注册:2005年9月16日
发表于:2007-08-14 01:25:00
29楼
做项目时做过这样的控制

sea_sky

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 260回
  • 年度积分:0
  • 历史总积分:423
  • 注册:2006年10月26日
发表于:2007-08-14 10:04:00
30楼
学习了,顶一下

zengjunxian

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 126回
  • 年度积分:0
  • 历史总积分:217
  • 注册:2006年11月17日
发表于:2007-08-14 10:15:00
31楼
学习了!

PLC初学者

  • 精华:0帖
  • 求助:0帖
  • 帖子:33帖 | 387回
  • 年度积分:0
  • 历史总积分:926
  • 注册:2006年7月25日
发表于:2007-08-27 22:01:00
32楼
学习的好地方啊

诸葛村夫

  • 精华:0帖
  • 求助:0帖
  • 帖子:71帖 | 278回
  • 年度积分:0
  • 历史总积分:479
  • 注册:2004年3月06日
发表于:2007-09-20 13:57:00
33楼
好贴

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2007-09-21 08:07:00
34楼
PID中I、D两个参数需要时间值。我现在想把这个输入引到画面上,以随时调整P、I、D,可画面中输入的是整数,怎么转化呢?请帮忙啊

wenjun

  • 精华:0帖
  • 求助:0帖
  • 帖子:27帖 | 629回
  • 年度积分:0
  • 历史总积分:733
  • 注册:2005年2月21日
发表于:2007-09-21 08:14:00
35楼
ding

不死小强

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 57回
  • 年度积分:0
  • 历史总积分:129
  • 注册:2007年4月03日
发表于:2007-09-28 11:25:00
36楼
MARK!

djhchx

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 9回
  • 年度积分:0
  • 历史总积分:18
  • 注册:2003年9月14日
发表于:2007-09-28 15:44:00
37楼
 PID中I、D两个参数需要时间值。我现在想把这个输入引到画面上,以随时调整P、I、D,可画面中输入的是整数,怎么转化呢?请帮忙啊-----这要看你的WINCC的硬件和你的软件版本啊。

彩云之滇东北

  • 精华:20帖
  • 求助:5帖
  • 帖子:107帖 | 2725回
  • 年度积分:0
  • 历史总积分:21121
  • 注册:2005年6月14日
发表于:2007-09-28 16:04:00
38楼
天铁写的非常好,学习学习

奇才异人

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2005年8月04日
发表于:2007-09-28 16:21:00
39楼
西门子中文网站有专门讲PID的文档下载!
一般来说只使用比例和积分调节就可以达到控制要求了!
控制4个参数就可以了!

清风雪

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 50回
  • 年度积分:0
  • 历史总积分:155
  • 注册:2006年12月22日
发表于:2007-10-09 11:25:00
40楼
不错啊,,学了很多

热门招聘
相关主题

官方公众号

智造工程师