西门子PLC S7-200视频教程 第31讲

http://158pan.cn/file-152732.html

  s7-200 虽说是个新产品,个人认为200的pid和200 pid使用基本相同。最近有几个朋友都问200正作用或反作用出现的各种情况:多数表现在PVn=0,或者PID没有按照预定设计执行等情况。事后总结了下:200 PID使用注意事项就那么几个地方,但对刚刚接触到这款PLC的人来说,在不仔细阅读手册的情况下确实容易出现问题。    仅以此文献给那些奋战在现场一线的,刚刚接触200的同事们.我个人也是经常身处现场调试,对于碰到问题,反复检查程序,因一个“躲在”手册小角落的某个“必须”字眼后面的文字而浪费大量时间的情况,相信会有不少人感同身受.如果不喜请勿喷!     PID,这个相信大家都知道是怎么回事,这里也无必要卖弄PID的执行原理;还是来主要的吧。先看看smart生成PID块后手册中一些变量说明:


西门子PLC S7-200视频教程 第31讲_第1张图片


看前三个参数:过程值(PVn),设定值(SPn),输出(Mn);再看说明:“其值必须标定在 0.0 到 1.0 之间”!

    先买个关子:且看手册中关于PID向导的照片


西门子PLC S7-200视频教程 第31讲_第2张图片

   我个人认为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内。看看自作聪明的程序:


西门子PLC S7-200视频教程 第31讲_第3张图片


    程序仅仅是给现场兄弟们的示例!

    调试好一个PID不是一蹴而就的,涉及到过程量的方方面面:PID是一个震荡由大到小,无限接近设定值的一个过程,P值的设定决定震荡的大小;TD+TI时间决定了结束的PID计算的时间维度。P,I,D三个参数应该说没有一个不变的经验值,通常的经验值仅仅使用经验值的现场,PID工作的过程可以理解为一个时间为横坐标,过程值为纵坐标的一个拟合方程,说拟合更像现代控制理论的矩阵式方程组。震荡的大小不仅仅和P值有关系,同时过程值是否是滞后量,滞后量的大小都会反应到PID调节的表象,如化工的需要恒温的原液,经过板换控制通过PID控制温度的话就会很不适用,尤其锅炉热水温度变化或者流量变化的时候,自动的PID运算控制滞后的原液温度,将会出现意想不到的的震荡,姑且叫做震荡吧!所以,PID的调试是一个漫长的,反复修改PID值的一个过程。

    至于正反作用,正作用调试好了,P值为负数就变成反作用了.另外需要校验SM1.1是否PID出现计算错误等信息,详细阅读手册都可解决!

    最后:调试各类型程序,及现场去的多了。某类程序做的多了,正如这篇PID般,在写分享心得的时候反而觉得不知道怎么写了,且个人语言表达能力有限。文中出现的错误,及阐述失误的地方,还希望大侠们不吝赐教。

你可能感兴趣的:(西门子PLC S7-200视频教程 第31讲)