各位同仁:大家好
本文重点讲讲模拟量PID闭环控制的问题,对于每个搞自动化控制的人来说,PID闭环控制是一个重点、同时也是一个难点,也是一个自动化工程师的标配必须掌握的内容,否则就谈不上自动控制,在工控自动化现场,凡是牵涉到温度、压力、流量、液位、浓度、速度等等,只要牵涉到恒定控制的场景都会使用PID闭环控制,所以一个自动化工程师的标配技能知识点必须掌握PID闭环控制。
平时大家感觉PID比较难,我想主要是基于以下原因。首先学习基本理论基本知识时就没有搞清楚,概念模糊、原理不清;其次就是没有实践的机会,从我的感受来看,自动化有很多东西都是在现场工作过程中不断锤炼、从调试中不断升华对概念的理解、对每个参数敏感性的体验、从大量实践中积累经验、积累信心,终是自信。
培训中心推出线上与线下面授实操培训课程,为了解决大家在学习过程中遇到的各种问题以及在工作过程中遇到的各种问题进行咨询、交流、探讨,每周三晚上七点半到九点通过腾讯会议在线直播答疑,欢迎加微信(13811659603)进入工控技术交流群,每周三晚上的在线直播答疑会议号会在每周三下午发布在培训中心各个技术交流群里。欢迎咨询、交流、探讨。
控制场景描述:现有一个容器,高度0-10米,在容器底部有一台液位变送器测量容器液位高度,有一个进水管道向容器内注入水,在注水管道上安装有一个可调电动阀门,在容器底部有一个出水管道,用户根据工艺需要用水量是个变量,通过编程利用模拟量PID闭环控制,实现容器内部恒液位控制。
以下开始进行实操、硬件组态、变量定义、监控表编辑、编写PID控制块、PID参数设置、下载调试,完成整个操作流程
步:点新建创建项目,给项目起个名字:
第二步:添加新设备:
设置现场液位变送器信号输入通道IW0,为了测量调试方便,采用电压信号,在实际工程项目中一般都采用电流信号,因为电流信号抗干扰能力强,传输距离远等优点。
设置模拟量输出通道QW0:为了方便测量,在此也选择电压信号,在实际工程项目中一般都采用电流信号,优点也是抗干扰能力强,传输距离远。
第三步:编辑变量表
第四步:编辑监控表
第五步:创建新的程序块:循环中断组织块OB30,用来编写PID控制程序
对PID运算控制函数块进行组态:
第六步:设置完毕之后,编译整个站点的程序,然后下载:
第七步:在线调试,在线调试时,先把PID控制打在手动状态,在手动模式,把液位值调到8米,因为设定值也是8米。此时验证手动是否正常。
把PID控制模式打到自动时,M0.0=0,当现场液位小于给定值8米时,模拟量输出电压不断增大,进水阀门缓慢打开,直到液位达到设定值位置。
在PID自动模式下,当液位大于给定值8米时,PID输出值控制模拟量输出信号电压不断变小,致使进水阀不断关闭,直到达到设定值8米液位为止。
在PID运行于自动模式时,如果设定值是8米,现场液位反馈值也是8米时,此时PID输出不变,保持原来的状态。因为设定值是8米,反馈值是8米,矢量相加和是0,所以PID不做调整,保持原来状态不变
以上分别是PID控制的手动模式,自动模式运行状态的调试操作过程。
第八步:怎么通过触摸屏或上位机wincc调整PID参数
由于博途1200及1500PLC的PID控制函数块是厂家提供的,生成的背景数据块都是优化的访问属性,且用户无法更改,但是PID参数的调整又是操作工或自动化工程师时长用来调整PID自动调节的关键参数。
以下专门编程用于实现PID参数可以通过触摸屏或上位机wincc设置:
1、添加新块,创建一个全局数据块,并且把全局数据块的属性"优化的块访问”前面的勾去掉,数据块中的变量生成地址。
2、在OB1主程序中编写程序
3、在线调试验证,P、I参数可以正常修改写入数据块中
打开PID背景数据块DB1:
\