1、基于PLC系统的锅炉内胆水温控制系统设计基于PLC系统的锅炉内胆水温控制系统设计1 PLC构成及WinCC的组态 采用WinCC组态技术设计多机联网运行的实时监控系统,核心思想是通过计算机超强的处理能力,以软件实现实际生产过程变化,把传统控制中进行人工操作或数据分析与处理、数据输出与表达的硬件,利用方便的PC机软硬件代替。 建立WinCC组态监控系统。首先启动WinCC,建立一个单用户项目添加通讯驱动程序选择通道单元输入逻辑连接名,确定与S7300端口的通讯连接。然后在驱动程序连接下建立结构类型和元素,给过程变量分配一个在PLC中的对应地址(地址类型与通讯对象相关),给除二进制变量外的过程变量
2、和内部变量设定上限值和下限值(当过程值超出上限值和下限值的范围时,数值将变为灰色,并且不可以再对其进行任何处理)。 接着创建和编辑主导航画面、单台空压机组态画面、远程监控画面、分析诊断画面、数据归档画面、报警显示画面、报警在线限制值画面、报表打印画面、用户登录方式画面等。对画面中添加的按钮、窗口和静态文本等,进行组态变量连接、状态显示设置等等。 再对远程控制画面中的启动/停止按钮进行变量连接,设置手动控制和自动控制两种方式,并且手动控制为高级控制方式。通过设置随变量值的变化范围而改变颜色的比功率棒图进行故障诊断分析;通过对过程值的归档,建立历史和当前的表格与曲线两种状态的监控界面;利用报警和报
3、表打印等,实现信息上报、及时反馈的功能,实现最佳的生产状态监测控制。还可通过用户管理权限的设置,为不同级别的用户设置权限和等待空闲时间,以更好地安全防护。1.1 PLC控制柜的组成 (1) 电源部分 (2) CPU模块 西门子S7-300PLC,型号为CPU315-2 DP,它集成了MPI接口,可以很方便的在PLC站点、操作站OS、编程器PG、操作员面板建立较小规模的通讯。它还集成了PROFIBUS-DP接口,通过DP可以组建更大范围的分布式自动化结构。 工作电压:DC 24V; 通讯方式:CP5611网卡进行通讯; 通讯协议:PROFIBUS-DP。 (3) 模拟量输入模块 采用西门子SM3
4、31-7NF00-OABO模拟量输入模块。输入所采集到的信号至控制单元。规格:AI 816bit; (4) 模拟量输出模块 采用西门子SM332-5HD01-OABO模拟量输出模块。输出控制信号至执行机构。规格:AO 412 bit (5) 数字量模块本系统采用西门子SM323-1BH01-0AA0数字量模块,该模块集成了8路数字量输入通道和8路数字量输出通道。锅炉内胆水温控制系统没用到此模块,但在硬件组态时需编入硬件组态。1.2 基于PLC的锅炉内胆水温控制的系统结构 参见图1,系统控制过程为:在锅炉内胆温度闭环控制系统中,用Pt100铂电阻检测炉温,温度变送器将Pt100输出的微弱电压信号
5、转换为标准量程的电压信号,然后送给PLC的模拟量输入模块,经A/D转换后得到与温度成比例的数字量,CPU将它与温度给定值比较,并按PID控制算法对误差值进行运算,将运算结果(数字量)送给PLC的模拟量输出模块,经D/A转换后变为电流信号,用来控制三相可控硅移相调压装置的导通角大小,通过它控制电加热管两端的电压,实现对温度的闭环控制。图1 基于PLC的锅炉内胆水温控制系统方框图 设计所需要的过程控制系统为AE2000A型过程控制实验装置,如图2所示。图2 过程控制实验装置概貌2 锅炉内胆水温控制系统的软件设计2.1 PLC的硬件组态控制程序设计 PLC的硬件组态。STEP7是西门子公司针对S7系
6、列PLC所开发的一款编程软件,可以通过MPI接口实现PC和PLC之间的通讯,并在PC上对PLC下载和上载程序。进行组态,组态结束后,在CPU为STOP模式下点击,将PLC的硬件组态下载到PLC中。组态结果如图3所示。图3 硬件组态结果2.2 PLC的控制程序设计 (1) 在“Blocks”中添加所需编程模块,进行编程。设计中主要用到的编程模块为FB4。具体添加的模块见图4所示。图4 程序所建立的模块 (2) 创建“符号表”。如图5、图6所示,其中用符号“AI1”定义为锅炉水温信号的采样通道,在模拟量输入模块中的地址为IW2;“AI3”定义为夹套水温信号的采样通道,在模拟量输入模块中的地址为IW
7、4;“AQ1”定义为电加热控制信号的输出通道,在模拟量输出模块中的地址为QW16。其余为创建模块后系统自动生成的。图5 符号表之一图6 符号表之二 (3) PLC编程。使用STEP7编程软件中的LAD形式(即梯形图形式)编程。打开组织块OB1,在OB1中编写夹套温度采集的梯形图,如图7所示;图7夹套温度采集梯形图打开组织块OB35,在OB35中编写锅炉内胆水温PID控制梯形图(如图8),也是本课题中主要涉及的程序;图8 锅炉内胆水温PID控制梯形图编好程序后,鼠标点击将各个块的程序下载到PLC中;将PLC置于RUN模式,运行程序。 (4) 程序设计祥解 图7中所示的程序在本设计中不是重点,锅炉
8、夹套温度的采集主要是一个参考,水循环通路就是经过夹套来给内胆降温,当夹套温度高说明水循环中的水温高了,对内胆的降温效果变差。网络1(Network1)主要作用是将读入的整型数据转换成浮点数格式的数据,“AI3” 对应于模拟量输入模块中的地址为IW4,先将模拟量转换后的数字量存入双字格式的PLC的位存储MD20,然后经过一个整型转换成浮点型的块DI_R将数据转换成浮点数,且将数据保存在MD24中。Network1对应的语句表(STL)程序见下文的左边。 夹套温度采集梯形图所对应的语句表程序: 网络2(Network2)主要作用是将对应的浮点数格式的数据进行标准化,公式为:MD32中的数据=MD2
9、4中的数据*(100/27648)。其中块“MUL_R”用于浮点数的乘法运算,DIV_R用于浮点数的除法运算。Network2对应的语句表(STL)程序见图4-17的右边。 图7中的程序中所示的程序为本设计的主要程序,用于实现对锅炉内胆水温的PID控制。网络1(Network1)主要用于启停PID控制模块FB41,DB1.DBX0.0是个控制位,在Wincc组态软件中定义为一个过程二进制变量,用于控制网络1的“通和断”。网络1对应的STL程序为: Network 1: 启停PID模块 A DB1.DBX 0.0 /置1,启动PID程序 JNB _001 /置0,等待 CALL CONT_C ,
10、 DB41 /调用PID功能模块 COM_RST := /当为TURE时,初始化 MAN_ON := /为1时手动值被设置为操作值 PVPER_ON:=TRUE /TURE使用外围设备输入的过程变量接通 P_SEL := /为1时打开比例(P)操作 I_SEL := /为1时打开积分(I)操作 INT_HOLD:= /积分分量保持 I_ITL_ON:= /积分分量初始化接通 D_SEL := /为1时打开微分(D)操作 CYCLE := /采样时间 SP_INT := /内部设定值输入 PV_IN := /浮点格式的过程变量输入 PV_PER :=AI1 /外设输入的I/O格式的过程变量值 M
11、AN := /操作员手接口输入的手动值 GAIN := /比例增益输入 TI := /积分时间输入 TD := /微分时间输入 TM_LAG := /微分操作的延迟时间输入 DEADB_W := /死区宽度 LMN_HLM := /控制器输出的上限值 LMN_LLM := /控制器输出的下限值 PV_FAC := /输入过程变量的系数 PV_OFF := /输入过程变量的偏移量 LMN_FAC := /控制器输出量的系数 LMN_OFF := /控制器输出量的偏移量 I_ITLVAL:= /积分操作的初始值 DISV : =/扰动输入变量 LMN := /浮点格式的控制器输出值 LMN_PER
12、 :=AQ1 /I/O格式的控制器输出值 QLMN_HLM:= /控制器输出超出上限 QLMN_LLM:= /控制器输出超出下限 LMN_P := /控制器输出值中的比例分量 LMN_I := /控制器输出值中的积分分量 LMN_D := /控制器输出值中的微分分量 PV := /格式化的过程变量值输出 ER := /死区处理后的误差输出 _001: NOP 0 网络2(Network2)用于控制模拟量输出模块的输出映像区地址QW16中的内容是否清零,在PID模块FB41停止工作时,同时将模拟量输出清零。网络2对应的STL程序为: Network 2: 模拟量输出清零 AN DB1.DBX 0
13、.0 /置1,等待 JNB _002 /置0,将QW16中的内容清零 L 0 T AQ1 _002: NOP 02.3 监控画面的设计 WinCC是西门子公司开发的上位机组态软件,通过WinCC可以与STEP7通讯,对控制对象进行远程检测和控制。监控设计画面如图9所示。脚本程序编辑如图10所示。 图9 锅炉内胆温度控制监控画面图10 脚本程序编辑 组态界面设计完毕,保存并激活WINCC,运行工程,可以查看变量曲线的变化,通过对PID相应控制参数的设定,就可以让测量值跟踪设定值,达到PID控制的目的,实现在计算机上对控制对象的监控。3 基于PLC的锅炉内胆水温控制系统实验结果分析3.1 锅炉内胆
14、对象特性曲线测试及对象数学模型的建立 在监控画面运行时按下手动按钮,在静态文本输出值(OP)下将出现一个输入/输出域,其对应的过程变量为man,地址为DB41.DD16。用于控制加在电加热管两端的电压大小,输入0时相当于关断电加热管,输入100时相当于在电加热管两端加上额定电压。测得的曲线如图11、图12所示。图11 特性曲线之一图12 特性曲线之二3.2 建立被控对象的数学模型 (1) 从图10中的特性曲线一得:=22s,T=397.5s; 温度初始值为c(0)=40,稳定值接近于60.2,即c()=60.2,则增益K为: 则此时的对象数学模型为: (2) 从图11中的特性曲线二得:=11s
15、,T=393.7s; 温度初始值为c(0)=40,稳定值接近于84.4,即c()=84.4,则增益K为: 则此时的对象数学模型为: (3) 分析:从以上两组数据可以看出控制器输出的大小,也即加在电加热管两端的电压大小对延迟时间的影响较大,其余参数影响不是很大,从而可知当电加热管两端的电压加大时,控制对象的延迟时间减小,且加温速度也增加,最后的稳定值c()也相应的增加。 (4) 确定最终的对象数学模型:对以上所得两组数据中的三个参数取平均值得: , 得到最终的对象数学模型为:3.3 整定PID控制器的初始参数 用以上得出的三个参数:=16.5s,T=395.6s, K=53.0。用PID控制方式
16、得到PID控制器的参数初值如下:;。 以上4个参数只能作为初步的参考值,为了获得良好的控制效果,还需要作闭环调试,根据闭环阶跃响应的特征,反复修改控制参数,使系统达到相对最佳的控制效果。以下是用试凑法来确定最终的PID参数,跟以上参数有一定出入,但效果较好。3.4 锅炉内胆水温PID控制和分析 (1) P调节与分析在监控画面中,将控制器设为自动模式,且比例作用开关设置为1、积分作用开关设置为0、微分作用开关设置为0,此时就成了P调节器。 温度初值为25.3,设定值设为30。所得曲线如图13所示。其中曲线即为水温测量值曲线;曲线为给定值曲线;曲线为控制器的输出值曲线。图13 P调节 分析:KP=
17、5时,水温上升速度慢,即控制系统的动作缓慢,且稳态误差大,最小的稳态误差也有2;KP=20时,可见稳态误差明显减小,此时的最大稳态误差为30.00-29.10=0.9;KP =200时,系统动作灵敏,控制器输出加大,此时的稳态误差为30.00-29.52=0.48,但是系统产生振荡最大振幅为30.86-30.00=0.86;KP=500时,控制器输出再次加大,此时的稳态误差仅为30.00-29.83=0.17,但再怎么加大,稳态误差仍旧存在,不可能完全消除,且振幅已达到31.28-30.00=1.28。所以KP不能太小,也不能太大。动态时:若KP偏大,则振荡次数加多,调节时间加长。当KP太大时
18、,系统会趋于不稳定。若KP太小,又会使系统的动作缓慢。稳态时:加大KP,可以减小稳态误差ess,提高控制精度。但是加大KP只是减少ess,却不能完全消除稳态误差。 (2) PI调节与分析 在监控画面中,将控制器设为自动模式,且比例作用开关设为1、积分作用开关设为1、微分作用开关设为0,此时就成了PI调节器。 温度初值为29.0,设定值设为35,KP=30.0,TI=999999ms。所得曲线如图14所示。其中曲线即为水温测量值曲线;曲线为给定值曲线;曲线为控制器的输出值曲线。图14 PI调节(1) 温度初值为32.0,设定值设为37,KP=30.0,TI=500000ms。所得曲线如图15所示
19、。其中曲线即为水温测量值曲线;曲线为给定值曲线;曲线为控制器的输出值曲线。图15 PI调节(2) 分析:对于图14,此时超调量为 ,系统能慢慢趋于稳定,稳态误差0.04。调节时间稍微长了点,这是因为微分作用没加,相当于0,而微分太小会使超调量增加,调节时间也增长。对于图14,此时超调量为 ,比TI=999999ms时的超调大,系统不是很稳定,系统振荡次数多。因为从开环对象特性中看出,对象具有一定的积分特性,所以当使控制器的TI=500000ms时,反而使积分作用更强,因此出现了振荡现象。 (3) PID调节与分析 在监控画面中,将控制器设为自动模式,且比例作用开关设置为1、积分作用开关设置为1
20、、微分作用开关设置为1,此时就成了PID调节器。 温度初值为35.1,设定值设为40,PID三参数为5.2节中整定出来的初始参数即:KP=27.6,TI=33000ms,TD=7400ms。所得曲线如图16所示。其中曲线即为水温测量值曲线;曲线为给定值曲线;曲线为控制器的输出值曲线。图16 PID调节(1) 温度初值为32.0,设定值设为40,KP=40.0,TI=999999ms,TD=20000ms。所得曲线如图17所示。其中曲线即为水温测量值曲线;曲线为给定值曲线;曲线为控制器的输出值曲线。图17 PID调节(2) 温度初值为45.0,设定值设为50,KP=45.0,TI=950000m
21、s,TD=48000ms。所得曲线如图18所示。其中曲线即为水温测量值曲线;曲线为给定值曲线;曲线为控制器的输出值曲线。图18 PID调节(3) 分析:对于图16,所用的PID三个参数是通过扩充响应曲线法整定得到的参数。可见此时的控制效果很差,系统处于振荡,且不可能稳定。 对于图17,是采用试凑法测量到的曲线,可见系统基本趋于稳定,只是调节时间略微长一些,但比图15中的调节时间短,这就是加了微分后的效果;稳定时有小幅波动,但能控制在0.3之内;此时的超调量为: 对于图18,也是试凑后测量到的曲线,其效果比图17中的还好,系统趋于稳定,调节时间短,稳定时波动少,最大幅度只有0.1;而且超调量也减
22、小为: 所以通过扩充响应曲线法整定的参数只能作为初步的参考值,而要想获得良好的控制效果,还需要反复修改控制参数,使用试凑法才能使系统达到相对最佳的控制效果。3.5 水循环对系统性能的影响 通过以下实验所得曲线来说明水循环对系统性能的影响,且P、I、D各参数的整定值都为如图19所示。图19 PID参数整定表 (1) 水循环在升温过程中对系统性能的影响 有水循环时:将锅炉内胆水温从36加热到50,即在水温稳定在36时,将PID控制器的设定值设为50,则电加热管开始加热直到50为止。实验所得曲线如图20所示。此时系统基本稳定,稳定后的偏差在0.5以内,有波动是因为KP取值太大的缘故,使得调节器动作太
23、灵敏;调节时间短,超调量为: 图20 有水循环时的升温过程曲线 无水循环时:也将锅炉内胆水温从36加热到50,实验所得曲线如图21所示。可见无水循环时不是很稳定,调节时间增加,且超调也有所增加为: 图21为无水循环时的升温过程曲线。图21 无水循环时的升温过程曲线 (2) 水循环在降温过程中对系统性能的影响 有水循环时:内胆水温从50降到36,即在水温稳定在50时,将控制器的设定值设为36,则控制器输出为0,电加热管停止加热。实验所得曲线如图22所示的曲线。从51.0降到36总共所需时间为:10分58.4s。 无水循环时:锅炉内胆水温也从50降到36,实验所得曲线如图5-14所示的曲线。从图2
24、2中可知:从50.4降到40.2所需时间为:13分6.6秒,所花时间已经大于有水循环时的总降温时间10分58.4秒,何况此时温度只降到40.2还没降到36。图23为无水循环时的降温过程曲线。图22 有水循环时的降温过程曲线图23 无水循环时的降温过程曲线4 结束语 从以上实验可得有水循环将提高系统的控制性能,升温时可以保证系统在短时间内达到稳定,在降温时虽然也要一定时间,但比起自然冷却,其可以明显得缩短降温时间。所以在上节中的锅炉内胆水温PID控制和分析中所有实验都已加入水循环。但是,若锅炉的内胆水温与水循环通路中的水温温差小的话,此时的降温效果不明显,跟自然冷却差不多;而当两者温差越大时,降
25、温速度越快,所以在内胆温度需要加热到60以上时,最好关闭水循环通路,否则系统调节时间加长或达不到稳定的效果。锅炉内胆水温控制系统从实验的效果看,已经达到了预期的目标和要求,而且还有一定的改进。虽然对象特性具有一定的大惯性,但经过多次调试后,能确定合适的PID控制参数,且控制效果较好,系统的超调量能控制在5%以内,使锅炉的内胆温度与给定值保持一致,实现了锅炉内胆水温的常规PID控制。在原有课题的基础上,考虑了水循环通路,很好的解决了锅炉内胆水温控制系统的冷却问题,使系统能够可靠、稳定地运行。 存在不足之处。由于常规PID控制没有自整定功能,故不具有自适应性,所以各参数的整定不是唯一的,随着周边环境的温度变化等干扰因素,其参数会有一定的偏移。解决的办法是可以采用基于神经网络的模糊自适应PID控制方法等改进后的PID控制算法来实现控制。虽然加了水循环,对系统的稳定起到了良好的作用,但当内胆温度加热到60以上时,会使系统调节时间加长或达不到稳定,此时只能关闭水循环通路。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1