- 关键词: s7-200 smart pid 调试
- 摘要:本文结合图示简要阐述了s7-200 smart的pid应用注意事项。
s7-200 smart虽说是个新产品,个人认为200smart的pid和200 pid使用基本相同。最近有几个朋友都问200smart正作用或反作用出现的各种情况:多数表现在pvn=0,或者pid没有按照预定设计执行等情况。事后总结了下:200smart pid使用注意事项就那么几个地方,但对刚刚接触到这款plc的人来说,在不仔细阅读手册的情况下确实容易出现问题。
仅以此文献给那些奋战在现场一线的,刚刚接触200smart的同事们.我个人也是经常身处现场调试,对于碰到问题,反复检查程序,因一个“躲在”手册小角落的某个“必须”字眼后面的文字而浪费大量时间的情况,相信会有不少人感同身受.如果不喜请勿喷!
pid,这个相信大家都知道是怎么回事,这里也无必要卖弄pid的执行原理;还是来主要的吧。先看看smart生成pid块后手册中一些变量说明:
看前三个参数:过程值(pvn),设定值(spn),输出(mn);再看说明:“其值必须标定在 0.0 到 1.0 之间”!
先买个关子:且看手册中关于pid向导的照片
我个人认为smart的pid难点就是上图的向导中的“输入”部分了。至于p,ti,td值,完全不需要程序去给定,我个人习惯是要么触屏(我们用触屏的时候比较多),或组态软件直接关联向导生成的数据块的vd***部分,就ok了。下面说pid的向导的“输入”这部分,分享下我的经验。可能有人认为本人的应用较笨拙,且中间步骤较多。此文目的在于发起一个讨论,希望有高手指点,本人可以更进一步。
回到正题:在手册pid参数中“其值必须标定在 0.0 到 1.0 之间”,向导中在“标定”(scaling) 参数中,指定回路设定值 (sp) 如何标定。 默认值是 0.0 和 100.0 之间的一个实数,本人对这部分的理解是设定值的范围和5530至27648(单极性20%偏移)的转换范围对应。即int类型的过程值经“标准化”为0.0和1.0之间的实数,后与“设定值上限”线性化后为pid背景数据块的(pvn),设定值(spn)在设定值的上下限中便可随意设置了;可是现场调解流量呢?肯定不止100.0呀?回路配置过程值为压力尤其是低压的0.0至1.6mpa的压力还好。反复调试后想到一个点子:过程值和设定值“绑定”过程值量程:“严格”的将(pvn)和(spn)标定在0.0和1.0间;好处有两:一,现场更换仪表后,不同量程(我习惯将量程设计成接口)的过程仪表实际过程量解析不会存在问题,二是针对超过100.0的过程量,也限定在1.0内。看看自作聪明的程序:
程序仅仅是给现场兄弟们的示例!
调试好一个pid不是一蹴而就的,涉及到过程量的方方面面:pid是一个震荡由大到小,无限接近设定值的一个过程,p值的设定决定震荡的大小;td+ti时间决定了结束的pid计算的时间维度。p,i,d三个参数应该说没有一个不变的经验值,通常的经验值仅仅使用经验值的现场,pid工作的过程可以理解为一个时间为横坐标,过程值为纵坐标的一个拟合方程,说拟合更像现代控制理论的矩阵式方程组。震荡的大小不仅仅和p值有关系,同时过程值是否是滞后量,滞后量的大小都会反应到pid调节的表象,如化工的需要恒温的原液,经过板换控制通过pid控制温度的话就会很不适用,尤其锅炉热水温度变化或者流量变化的时候,自动的pid运算控制滞后的原液温度,将会出现意想不到的的震荡,姑且叫做震荡吧!所以,pid的调试是一个漫长的,反复修改pid值的一个过程。
至于正反作用,正作用调试好了,p值为负数就变成反作用了.另外需要校验sm1.1是否pid出现计算错误等信息,详细阅读手册都可解决!
最后:调试各类型程序,及现场去的多了。某类程序做的多了,正如这篇pid般,在写分享心得的时候反而觉得不知道怎么写了,且个人语言表达能力有限。文中出现的错误,及阐述失误的地方,还希望大侠们不吝赐教。
若您已是认证注册用户,请登录下载,否则请登录后通过用户认证或者