资源描述
S7-300 PLC中双极性温控PID算法设计
S7-300 PLC中双极性温控PID算法设计
专业:自动化 班级:089611 姓名:李赛赛
指导老师:殷华文 职称:副教授
[摘 要]本设计在西门子S7-300 PLC中自主编写PID程序模块实现对模拟工业对象的电加热锅炉的加热、冷却双极性控制。双极性PID算法设计采用位置型算法思想,使用STEP7梯形图作为编程语言,采用结构化编程。算法中引入控制带,只有偏差在控制带范围内时进行PID运算,从而避免积分饱和现象。同时为了抑制由于可调节变量量化所引起的小幅恒定振荡,对偏差应用了死区处理。在冷却过程中,为了避免控制的延迟及超调,采用提前控制、变控制参数的方法。控制算法中还引入了输出死区、输出限幅、积分清零等多种控制手段。经监控结果显示,本PID程序模块对温度对象的针对性较强,控制结果超调量较小,稳态误差小于0.2℃。本程序模块源程序加有详细的算法思想介绍和注释,可以作为自动化学科教学科研的技术资料,也可用于工程控制。
[关键词]位置式;双极性温控PID模块;程序控温
1引言
PID(Proportion Integration Differentiation),PID控制是最早发展起来的控制策略之一,迄今为止,大多数工业控制回路仍然应用着结构简单、鲁棒性强的PID控制或改进型PID控制策略。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。本设计通过自主PID算法的研究和编写,可以清楚的看出它是怎么样工作的,从而使我们更加容易明白自动控制的原理、思想和控制过程。同时也为同学们学习PID控制提供参考资料。只有清楚的理解了PID算法后,才能加入其它的元素进去,形成新的算法,编辑出更加实用PID算法。使得我们对自动化工程的设计与调试能力有很大的提高,为以后进入自动化行业领域奠定坚实的基础,因此自编PID算法具有算法研究和工程实际的双重意义
2系统硬件设计
本设次是针对锅炉为控制对象,锅炉内胆水温为被控变量,在不计算控制对象数学模型的基础上,利用自主设计的温度双极性PID控制算法实现锅炉内胆水温的加热、冷却双极性控制。控制系统回路的前向通道中主要包括加热通道和冷却通道,分别根据PLC的CPU运算结果来确定各通道工作状况。
控制系统回路的反馈通道中使用Pt100检测现场锅炉内胆水温度,经S7—300PLC的SM331模拟量输入通道检测Pt100阻值变化并经A/D转换成对应数字量(0-27648)送入CPU参与运算,通过输入信号规范化处理(FC105)→双极性PID算法运算→输出操作规范化(FC106)→SM332相应模拟量输出通道D/A转换输出的过程,得到的电流控制信号控制可控硅触发器(加热控制)或者变频器(冷却控制)。加热控制时可控硅触发器控制可控硅触发或关断,从而控制电加热丝对锅炉内胆水加热;冷却控制时变频器根据控制信号改变输出电压频率,控制磁力驱动泵的供水能力,向锅炉外胆注入冷却水,冷却水与内胆水进行热交换来实现锅炉内胆水降温。锅炉水温双极性控制系统的控制信息流程图如图1所示。
图1 锅炉水温双极性控制系统的控制信息流程图
3系统软件设计
3.1 温度控制算法程序设计思路
锅炉温度控制系统是过程控制中常见的系统,也是十分重要的控制对象。相对于压力、流量、液位等控制对象来说,温度对象具有大滞后、非线性和时变的特点,而且锅炉水温的升温与冷却又是两个特点不同的控制过程,单纯的PID控制很难达到控制要求,所以,针对温度双极性控制的升温、恒温、降温的不同阶段要做相应的控制设计。
本设计使用的双极性PID控制是一种固定PID控制、自适应PID控制和外围程序控制相结合的控制方式,并在控制算法中引入了偏差死区、输出死区、输出限幅、积分分离、积分清零等多种控制手段。对于设定值温度控制和程序曲线温度控制使用不同的程序控制方式,以达到相应的控制效果。
3.2 双极性PID算法设计
本控制系统中选用了西门子S7-300PLC,采用STEP7_V5.5_Chinese作为软件编程环境,将温度双极性PID控制算法采用梯形图(LAD)编程语言实现。
在工程管理器窗口中新建一个功能模块FB2,在FB2模块声明表中添加要用到接口变量,接口变量的参数类型类型包括输入参数IN、输出参数OUT、输入/输出参数IN_OUT、静态数据STAT和临时数据TEMP,其中前三种参数FB2功能块被调用时都能被用户看到,静态数据可以储存在背景数据快DB中,临时变量只在FB2功能块程序执行时才生成、调用,FB2功能块执行结束后,临时变量内数据将丢失[详细参数声明见附录表1]。当程序需要的参数定义完毕后即可编写控制程序,图2为功能块FB2中双极性PID控制算法流程。
程序编写完成后需为FB2创建一个背景数据块,在工程管理界面中插入一个数据块DB2,在DB2数据块属性框的类型选项中分别选择“背景数据块”,“FB2”,这样就为FB2分配了一个背景数据块DB2,DB2会为FB2中的静态变量自动开辟储存空间。
图2双极性PID算法流程图
3.3 双极性温控PID模块设计
FB2作为连续控制器只有在以固定时间间隔调用块时,在控制块中计算的值才是正确的。为此,应该在周期性中断OB (OB30至OB38)中调用FB2控制块,并在CYCLE参数中输入采样时间。本设计选用周期性中断组织块OB35调用FB2功能块,同时在OB35中编写FB2的外部辅助控制程序,主要包括:
① 信号采集程序:分别使用模拟量输入规范化块FC105采集模拟通道PIW288和PIW292的A/D数值,并转换成锅炉内胆液位和锅炉内胆水问的工程值。
② 积分分离程序:设定积分分离带为-3℃~3℃,只有偏差在控制带内时才启动积分控制,防止积分过早饱和。
③ 积分清零程序:设定相应积分清零条件,当积分清零条件满足时I_ITL_ON置为,积分分量被设定为I_ITLVAL(设计中积分分量初始化值为0)值,实现积分分量清零,防止由于积分的延时效果在成控制的滞后和超调。
④ 加热、冷却辅助控制程序:在温度双极性PID控制程序的加热输出为0时,根据恒温要求,使加热输出维持在最大输出的5%,即此时仍以最大加热功率的5%加热,使锅炉的整体散热速率与加热速率尽量持平,维持水温稳定。在冷却输出小于最大冷却输出的25%时,设置冷却输出为最大输出的25%,防止冷却水倒流。
⑤ 输出操作程序:使用模拟输出转换块FC106将模拟输出操作规范化,即将FB2控制程序的运算得到的实际物理量LMN转化为模拟输出模块需要的0~27648之间的16位整数。如果LMN值在0~100之间,则加热回路工作,加热功率为最大加热功率的LMN*100%,如果LMN在-100~0之间,则冷却回路工作,磁力驱动泵供水流量为最大供水流量的|LMN|*100%。
⑥ 加热、冷却保护程序:在停止控制、现场报警等条件出现时,加热、冷却输出值设定为0,使加热、冷却回路停止工作。
3.4 温度控制的辅助程序设计
设计中辅助程序主要在循环组织块OB1中,主要实现的功能包括:
① 启停PID温控程序:以外部输入端子I0.0和上位机控制按钮M0.0实现PID温控程序的启动与停止的切换。当启动PID温控程序时,FB2根据中断组织块OB35的中短周期,周期性的执行内部程序,刷新输出值。
② 调节值的自动/手动切换:以外部输入端子I0.1和上位机控制按钮M0.1实现调节值的PID温控程序运算与手动输出的切换。当切换到调节值手动输出时,FB2的MAN_ON置为,调节值LMN=MAN值。此时OB1调用功能FC1,可通过外部输入端子I0.2和I0.3手动增加、降低MAN值。
③ 启停温度自动设定:以外部输入端子I0.4和上位机控制按钮M1.1实现温度设定值的手动设定与自动设定的切换。当启动温度自动设定时,OB1即调用的FB1温度自动设定功能,根据OB1执行周期,周期性的刷新温度设定值T_SP,并把数值送到FB2的SP_INT,实现温度自动设定。当选用温度手动设定时,OB1调用功能FC1,可通过外部输入端子I0.2和I0.3手动增加、降低设定值SP_INT。
④ 防按键抖动:当点动数字量输入给定板I时,难免产生按键抖动,造成相应I/O输入点状态的多次改变,相应程序重复操作、误操作等影响。为了避免这一现象,在OB1程序中设计了防按键抖动功能,在按钮状态改变后即定时0.3秒,0.3秒内即使按钮的状态改变也做原状态处理。
4温度双极性PID控制的监控及运行结果分析
设定值温度控制时,锅炉内胆水的初始水温21.8℃,第一阶段为恒温控制,设定水温为22.0℃;第二阶段为升温阶段,设定值阶跃到50.0℃;第三阶段为降温阶段,设定值阶跃到45.0℃。控制过程中,PID参数一直设定为20、80、1,设定值温控响应曲线如图3所示。
图3 设定值温度控制响应曲线
从监控曲线上可以看出,在设定温度阶跃值为26.0℃的情况下,其控制的结果能稳定在49.8℃~50.2℃左右,超调量为0.5℃,没有大的波动,允差为0.2℃,而且相应速度较快,满足自动控制系统稳定性、准确性、快速性的要求。在设定值阶跃值为-15.0℃的情况下,滞后时间为5min,超调量为3.0℃,但衰减比为6,允差为0.2,满足自动控制系统稳定性、准确性的控制要求。
表1程序温控时PID参数设置
控制过程
T
Kp
Ti(s)
Td(s)
升温阶段
1s
20
80
1
恒温阶段
1s
20
100
1
降温阶段
1s
10
150
2
图4程序曲线温度控制响应曲线
程序温度控制时,升温阶段设定温度上升速率为1.5℃/min;恒温阶段设定值为60.0℃;降温阶段设定温度下降速率为1℃/min。不同控制阶段PID参数如表1所示:
程序温控响应曲线如图4所示。
由程序曲线温度控制响应曲线可以看出个阶段的控制效果:
升温阶段:系统的滞后时间依然为1min,调节值的波动幅度很小,输出基本稳定,锅炉水温与设定温度的偏差在±0.2℃。
恒温阶段:系统的超调量在1.2℃内,稳态误差在0.2℃内。
降温阶段:系统的滞后时间为4min,在降温过程中锅炉水温曲线值穿越设定值曲线的次数大幅减少,基本能跟随设定值变化。
6 结论
实现了在西门子S7-300 PLC自编PID算法程序实现对模拟工业对象的锅炉水温的双极性控制,使用双极性温控PID模块作为温度控制程序时能够减小系统超调量,使稳态误差稳定在0.2℃以内,在程序温控的升降温阶段,锅炉水温能很好的跟随设定值变化,调节值的稳定性得到很大改善。虽然在没能减少系统的滞后时间,但整体上达到了设计的要求。在上位计算机上实现Wincc组态软件监控,以及变频器、各种传感器、仪表的使用。
参考文献
[1] 刘华波,何文雪,王雪.西门子S7-300/400PLC编程与应用[M].机械工业出版社,2011
[2] 王树青,戴连奎,玉 玲.过程控制工程.化学业出版社,2011;5-6,30-58
[3] Astrom K J,Hagglund T.PID Controllers:Theory,Design and Tuning[M],2nd Edition Research Triangle Park,North Carolina:Instrument Society of America,1995.
[4] 于海生.计算机控制系统.机械工业出版社.1010,101.
[5]涂植英,陈今润.自动控制原理,第二版.重庆大学出版社,2009;1-11,22-49
[6] 西门子工业自动化控制集团.MM440使用手册.2008;101-115
Design of S7-300 PLC Dual Polarity PID Algorithm
Abstract:The design can compile PID programming module independently to achieve the simulation of industrial objects electric heating boiler and cooling bipolar control based on Siemens S7-300 programmable logic controller. Design of the bipolar PID algorithm has used position type algorithm, the STEP7 ladder diagram as a programming language and a structured programming.With the introduction of control Algorithm, it can operate PID algorithm only when it ranges the deviation in the control , so as to avoid integral saturation phenomenon. In order to suppress the small constant oscillation due to adjustable variables caused by quantization at the same time , it has applied dead-time processing to the deviation. Then in order to avoid the control delay and the overshoot, it has used advanced control and variable parameter control method during the cooling process.The control algorithm has introduced some control means,such as,the output dead, the output limiting, the integral reset and so on. Monitoring results show that the PID program modules have targeted control to the temperature object , smaller overshoot and the steady-state error is less than 0.2 DEG c.The program module source code with the detailed algorithm thought introduction and notes, can not only be used as automation teaching research technical information, but also can be used for engineering control.
Key words:Position typel;temperature control of PID module ;temperature control procedures
6
展开阅读全文