广东湘恒智能科技有限公司
主营产品: 西门子变频器,西门子PLC\西门子模块、西门子触摸屏、西门子伺服电机、西门子工控机、西门子集成系统、西门子低压、西门子控制单元、西门子CPU,广东省西门子授权代理商,等
江苏省南通市西门子办事处,西门子一级代理商西门子一级分销技术服务

西门子S7-200PLC的PID控制算法中的一个问题

请问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)

展开全文
相关产品
拨打电话 微信咨询 发送询价