您现在所在的是:

PLC论坛

回帖:0个,阅读:559 [上一页] [1] [下一页]
6047
liaosun
文章数:1398
年度积分:50
历史总积分:6047
注册时间:2003/5/4
发站内信
2015论坛贡献奖
2014论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011博客贡献奖
2010博客杰出贡献奖
发表于:2013/11/24 22:10:09
#0楼
有网友问我:“老师您好,请问PID控制中,当输出超出范围后执行  MX = 1.0 - (MPn + MDn ) 和MX = - (MPn + MDn),这两条算法的作用是什么呢?”
下面是我的回复:
这两个公式用来对PID的输出限幅。S7-200的系统手册的PID“变量和范围”中有下面的内容:
“输出变量是由PID运算产生的,所以在每一次PID运算完成之后,需更新回路表中的输出值,输出值被限定在0.0~1.0之间。
如果使用积分控制,积分项前值要根据PID运算结果更新。这个更新了的值用作下一次PID运算的输入,当计算输出值超过范围(大于1.0或小于0.0),那么积分项前值必须根据下列公式进行调整:
MX=1.0 –(MPn + MDn)   当计算输出Mn > 1.0

MX= –(MPn + MDn)      当计算输出Mn < 0.0
其中:
MX是调整过的偏差的数值
MPn是在采样时间n时回路输出比例项数值
MDn是在采样时间n时回路输出微分项数值
Mn是在采样时间n时回路输出数值”
在系统手册的积分项部分,对积分项公式中的MX的解释如下:“MX是在采样时刻n–1时的积分项的数值(也称为积分和或偏差)。”
“积分和(MX)是所有积分项前值之和。在每次计算出MIn之后,都要用MIn去更新MX。”
可见可以将MX视为PID的输出的积分部分MIn。PID的输出Mn= MPn + MIn + MDn= MPn + MX + MDn
上面的两个公式实际上是用来对PID的输出限幅的。
当Mn > 1.0时,令Mn = MPn + MX + MDn= 1.0,所以MX=1.0 –(MPn + MDn)
当Mn > 0.0时,令Mn = MPn + MX + MDn= 0.0,所以MX= –(MPn + MDn)
[/URL] [/URL]
此帖来自中华工控网工控博客
原文件地址:http://blog.gkong.com/more.asp?id=178284&Name=liaochangchu
我是廖常初,是一个高校的老师,曾在企业从事机械、电气技术工作,长期从事工业控制和PLC应用的教学、科研和工程应用工作。博客中的日志除注明外均为原创。愿意在此与大家探讨工控的问题!
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

31.2002