1、1S7-300 PLC 中自主设计程序控温 PID 算法Self-Design of Programming Temperature Control PID Algorithm in S7-300 PLC南阳理工学院 殷华文摘 要本设计采用位置型算法思想,用梯形图语言在西门子 S7-300 PLC 中自主编写程序控温 PID 算法程序,实现对夹套锅炉的升温保温降温双极性控制。算法中加入控制带、偏差死区、输出死区、输出限幅、积分清零等多种控制手段。在温度曲线拐点处,为了避免控制的延迟及超调,采用提前控制、变控制参数的方法。监控结果显示,本 PID 程序对夹套锅炉水温控制超调量较小,稳态误差小于
2、0.2。关键词自主设计、位置式 PID 算法、程序控温Abstract:The design of PID programming module independently to control electric heating boiler and cooling bipolar based on Siemens S7-300 PLC. The bipolar PID algorithm has used position type algorithm, and a structured programming. it can operate PID algorithm only when
3、it ranges the deviation in the control , so as to avoid integral saturation phenomenon. 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
4、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.K
5、ey words:self-design,position type PID algorithm,programming temperature control1 引言在自动化领域,大多数 PLC、DCS 控制器中都有 PID 算法程序,但是由于算法思想和源程序不公开,给用户正确使用带来困难。另外一般的 PID 算法程序不具备程序控温功能,无法直接对夹套锅炉这样的对象进行控制。本设计就是在 S7-300 PLC 中自主设计程序控温PID 算法程序,实现了夹套锅炉加热冷却双极性控制。自主设计算法程序,由于算法思想和源程序是自知的,为算法研究和改造提供了技术基础和方便条件。2 控制对象和控制系统硬
6、件配置本控制系统中被控对象是夹套锅炉,锅炉体高大约 500mm,内胆和夹套容积均约为 25升,内胆装有三组电加热丝,功率为 31.5 KW,由可控硅控制。控制系统选用西门子 S7-300 PLC 做控制器,以夹套锅炉内胆水温为被控变量,进行升温保温降温曲线控制。控制系统硬件配置和控制信息流程图见图 1 所示。模拟量输出通道 1可控硅触发器可控硅上位机设定值加热丝 锅炉内胆P L C 内C P U 运算模拟量输出通道 2变频器 磁力驱动泵 锅炉夹套模拟量输入通道A / D 转换温度传感器P t 1 0 0电阻1 0 0 可变温度0 - 1 0 0e ( k )u ( k ) 0u ( k ) =
7、 L M N _ H L ML M N = L M N _ L L ML M N = L M N _ H L ML M N = L M NL M N = L M N _ D Z ?L M N = L M N L M N = 0E R = 0否是是是否是其中 : K I = C Y C L E / T IK D = T D / C Y C L E E R = E R ( n ) - E R ( n - 1 )E R 1 = E R ( n ) + E R ( n - 1 )a = L A G / ( L A G + C L C L E )结束输出限幅吗 ?L M N _ I = L M N _
8、IL M N _ I = L M N _ I是是是是L M N _ P = 0 L M N _ I = 0L M N _ D = 0是否否否否否否否否是否是3温度设定值的计算方法如公式 1 所示(1)654321n;T)(*tT_SPn1n 、图 3 温度点坐标设定 图 4 温度设定曲线4 温度双极性 PID 控制的监控及运行结果分析(1)设定值温度控制:锅炉内胆水的初始水温 40.1,第一阶段水温设定为 40.0,第二阶段设定为 70.0,第三阶段设定为 60.0。控制过程中,PID 参数一直设定为20、100、5,设定值温控响应曲线如图 6所示。 从监控曲线上可以看出,在温度设定值阶跃为+
9、30.0 的情况下,其控制的结果能稳定在 69.870.4左右,超调量为 0.5,没有大的波动,稳态误差为0.1,而且响应速度较快。在温度设定值阶跃为-10.0的情况下,滞后时间为2min,其控制的结果能稳定在 58.860.2左右,超调量为 3.0,稳态误差为 0.03。 图 6 自主设计 PID 算法温度设定值响应曲线(2)程序曲线温度控制:温度曲线控制模式时,设置升温段初始温度 40 ,目标温度 85 ,升温时间 30分钟;保温时间 20 分钟,降温目标温度 55 ,降温时间 20 分钟。则升温斜率为 1.5 /min,降温斜率也为 1.5/min。由于加热冷却滞后和惯性不一样,所以不同
10、控制阶段PID 参数是不同的。PID 参数设置如表 1 所示。程序温控响应曲线如图 7 所示。表 1 程序控温时 PID 参数设置 图 7 程序控温响应曲线由程序曲线温度控制响应曲线可以看出各个阶段的控制效果:升温阶段:系统的滞后时间为 45s,升温曲线和设定值曲线之间拟合度较好,几乎没有穿越现象,温度偏差在0.2内。恒温阶段:几乎没有超调,稳态误差在 0.2内。降温阶段:开始降温曲线和设定值曲线之间有 3 次穿越,但是温度偏差在 1.2内,最终保持在 0.2的范围内。在 1 号温度曲线拐点处,提前 1min 对加热功率输出限制不低于 10%,以保证加热丝控制过程 控制周期 Kp Ti(s)
11、Td(s)升温阶段 1s 50 100 5恒温阶段 1s 50 100 5降温阶段 1s 50 150 1570 1012010 50102030405060708090100第 二温 度 点 第 三温 度 点第 四温 度 点 第 五温 度 点第 一温 度 点初 始温 度 点4能够得到预热,使得升温滞后减小,实现了曲线拐点的拟合。在 2 号温度曲线拐点处,提前 1min 启动限幅输出带,降低加热丝输出功率。当温度偏差在 1-2范围时,输出功率 70%,当温度偏差在 0.5-1 范围时,输出功率50%,当温度偏差在 0.1-0.5时,输出功率 30%。这样阶梯减少输出功率,实现了 2 号曲线拐点
12、的钝化。在 3 号温度曲线拐点处,提前 5min 对冷却输出限制不低于 40%,以保证提前打开冷却泵,避免了冷却水注入滞后,实现了曲线拐点的拟合。在 4 号温度曲线拐点处 5 结论本算法设计实现了在西门子 S7-300 PLC 自编 PID 算法程序实现对夹套锅炉水温的双极性控制,控制超调量小,稳态误差在 0.2以内。在程序曲线温度控制的升降温阶段,锅炉水温能很好的跟随设定值变化,调节值的稳定性得到很大改善。但是升降温的曲线拐点拟合控制时是靠经验来提前加热或提前冷却的,没能达到最好的效果,降温阶段由于冷却水的注入时间延迟影响了控制效果。在升降温阶段主要采用 PD 控制规律,结合弱积分控制实现了
13、曲线的较好拟合。参考文献1 王树青,戴连奎,于 玲过程控制工程化学 业出版社,2011;5-6,30-582 于海生计算机控制系统.机械工业出版社.1010,101.3涂植英,陈今润自动控制原理,第二版重庆大学出版社,2009;1-11,22-49设置升温段初始温度 30 ,目标温度 75 ,升温时间 30 分钟;保温时间 15 分钟,降温目标温度 55 ,降温时间 20 分钟。则升温斜率为 1.5 /min,而降温斜率为 1 /min。不同控制阶段 PID 参数设置如表 1 所示表 1 程序控温 PID 参数设置程序温控响应曲线由程序曲线温度控制响应曲线可以看出各阶段的控制效果:升温阶段:升温阶段最大偏差为 0.5,调节值的波动幅度很小,输出基本稳定,控制精度在 0.1以内。恒温阶段:系统最大超调量为-0.2,稳态误差在 0.1内。降温阶段:最大偏差为-0.8 ,降温曲线能快速跟随设定曲线的变化而变化,并最终保持在 0.2的范围内。为防止加热滞后和冷却滞后导致的控制滞后及大偏差出现,在程序中加入升温提前预热控制和冷却提前控制,通过调节加热、冷却控制时间参数及加热冷却供水功率及Kp、Ti(s)、Td(s)各参数最终实现了夹套锅炉双极性水温控制的目的。控制过程 Kp Ti(s) Td(s)升温阶段 80 100 15恒温阶段 80 100 15降温阶段 60 150 255