故事作者:jsdwgc-lsk

最近创作

看看TA的故事

【软件编程】关于PID问题的探讨

已锁定

jsdwgc-lsk

  • 帖子

    477
  • 精华

    4
  • 被关注

    19

论坛等级:侠圣

注册时间:2020-07-20

钻石 钻石 如何晋级?

【软件编程】关于PID问题的探讨

1661

11

2021-02-03 14:10:06

前面有网友发过类似讨论贴,认为PID控制中往往只需要用PI架构的程序,PID架构显得有些多余。确实在一些恒压恒流的项目工程中,PI架构的程序显得比PID的调试过程更顺畅,调试结果也能满足控制要求。我这里分享两个用PID结构的程序案例,两个PI结构的程序案例(简单介绍),供大家交流探讨一下。

项目1(PID):这个项目是我之前发的贴子中的其中一个类似的工程,基本工艺是差不多的:用风机PID控制管路中介质电位值的项目,有两台风机一用一备,管路中介质为沼气,此系统主要是为了处理沼气的杂质,使沼气性质稳定后为燃烧发电提供燃料,管路中安装了一台电位计来测试电位值,风机的作用就是增压空气,将空气抽进管路参与生物反应,使得管路中电位值达到工艺要求。此系统刚一开始尝试过用PI架构,调试很多天,发现控制始终是慢一拍,想了很多办法均不奏效,后来改用PID架构,才最终达到控制要求。其余的不罗嗦了,因为本文主要目的是探讨两个架构的区别。这个类型的项目PID结构与PI结构最大的区别在于,PID结构程序可以提前预判过程值出现波动的时间点,这个提前预判非常关键,因为整个自整定参数的周期时间非常长,现场过程值干扰源也比较多,且现场环境复杂(潮湿微酸)环境,过程值量程大(-500,0)采用的是电流信号4-20mA,生物反应时间不稳定,测量的位置又是一个介质流动速度较快且不均匀的位置,这些因素都会影响过程值采集的精度。前期我们用的是普通规格探针,后来没多久探针就被腐蚀了,后来改用了进口铂金探针。下图为流程图。


项目2(PID):这个项目是用调功器控制加热的功率来达到控制溶液温度的目的。这个不同于一般的加热器项目,不是直接控制加热棒,而是控制调功器的输出功率,功率给定值就是PID的输出值,为4-20MA的模拟量信号这个项目的温度过程值为0-300,也是4-20的电流信号。在参数的整定过程中,温度上升很慢,需要的溶液温度要在180到200摄氏度,由于温度过程值采集点液体流动速度非常快导致温度值不稳定(这个程序中做了一定的数据处理),整个参数自整定的过程长达一个小时以上,有时候超过两个小时(由于环境温度影响)。用PI结构的话,无法对温度过程值变化提前捕捉预判,用PID结构后,很明显效果好很多。以下为简易流程图,TT01为温度过程值检测。


项目3(PI):这是一个上海某银行楼宇系统冷却水供水的项目,也就是众所周知的恒压供水。此控制采用PI结构,供水压力为过程值,变频器频率给定为PID程序的模拟量输出。这个控制简单直接,整定过程也很快,PI结构效果很好,检测值也比较精准,几乎没有花太多的心思在程序上。

项目4(PI):这是一个安徽某自来水厂的项目,同样也是恒压供水。大体情况与项目3差不多,用的是老款200的PLC。参数自整定过程非常快捷顺畅,PI结构程序完全达到控制要求。


个人总结:PI结构的程序适合用于输出控制量与过程值变化呈现非常明显的线性关系,或者环境比较可控的情况下,例如恒压供水,变频器频率升高,压力过程值几秒钟就会上升,非常简单直接。PID结构则适用于过程值与控制量的关系比较难以捕捉,环境复杂,不可控因素相对较多的情况。其实不同的调试场合都会有区别于其它项目的个例情况,调试要做到因地制宜。

以上是个人调试过的几个项目,供大家讨论,特别欢迎大咖们给出指导意见。谢谢!

【软件编程】关于PID问题的探讨 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3233条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。