S7—200PLC在PID闭环控制系统中的应用强宝民,肖晟(第二炮兵工程学院陕西西安710025)摘要:为了实现对现场生产过程的精确控制,PLC闲环控制系统在工业生产中正得到越来越广泛的应用,阐述PLC实现PID控制的3种常用方式,分析闭环控制系统中PID数字控制器的原理,结合西门子s7—200PLC详细介绍PID指令使用和输入/输出变量转换的方法,为s7—200PLC在PID闭环控帝l系统中的应用提供一整套解决方案,最后以工业生产中常见的温度控制为背景,给出一个编程实例,对PID在工业控制中的应用很有参考价值。关键词:可编程控制器;闭环控制系统;PID控制器;PID指令中图分类号:TM571,TP36文献标识码:B文章编号:1004—373X(2008)14—173—03ApplicationofS7—200PLCinPIDClosedLoopControlSystemQIANGBaomin,XIAOSheng(TheSecondArtilleryEngineeringCollege,Xi’∞,710025.China)Abstract:Inordertocontroltheproductionprocessaccurately,PLCclosedloopcontrolsystemiswidelyusedinindustrialtOproduction.ThearticlemainlydescribesthreeusualmannersbyusingPLCrealizePIDcontrol,analysestheprincipleofPIDtOdigitalcontrollerintheclosedloopcontrolsystem,detailedlyintroduceshowinput—outputvariableaccordingtothePIDinstructionandhowtOconvertthetheSiemensS7—200PLC.providesintegratedprojectfortheapplicationofS7—200PLCinPIDdosedloopcontrolsystem,intheend,itgivestion。itisprogramexampleabouttemperaturecontrolinindustrialproduc—goodre{ereneefortheofPIDintheindustrialcontrolsystem.Keywords:PLC;closedloopcontrolsystem;PIDcontroller;PIDinstruction1引言(2)使用PID功能指令:它是用于PID控制的子程序,与模拟量输入/输出模块一起使用,可以得到类似于使用PID过程控制的效果,但价格便宜得多。如S7—200的PlD指令。(3)用自编的程序实现PID闭环控制:在没有PID过程控制模块和功能指令的情况下,仍希望采用某种改进的PID控制算法,此时用户需要自己编制PID控制程序。本文以西门子S7—200PLC为例,说明PID控制的原理及PLC的PID功能指令的使用及控制功能的实现。33.1PLC在工业生产中,常需要用闭环控制方式来控制温度、压力、流量等连续变化的模拟量,无论是使用模拟量控制器的模拟控制系统还是使用计算机(包括PLC)的数字控制系统,PID控制都得到了广泛应用。PID控制器是比例一积分一微分控制(Proportional—Integral—De—rivative)的简称,其优点是不需要精确的控制系统数学模型,有较强的灵活性和适应性,而且PID控制器的结构典型、程序设计简单、工程上易于实现、参数调整方便。本文以西门子公司S7—200PLC为例介绍PLC在PID闭环控制系统中的应用。PID控制器的实现PID控制器的数字化PLC的PID控制器的设计是以连续的PID控制规2PLC实现PID控制的方式用PLC对模拟量进行PID控制大致有如下几种方律为基础,将其数字化,写成离散形式的PID方程,再根据离散方程进行控制程序的设计。在连续系统中,典型的PID闭环控制系统如图1所示。图1中sp(z)是给定值;trY(t)为反馈量;f(£)为系统的输出量,PID控制器的输入/输出关系如式(1)所示:法:(1)使用PID过程控制模块:这种模块的PID控制程序是PLC厂家设计的,并放在模块中,用户使用时只需要设置一些参数,使用起来非常方便。牧稿日期:2007—11—20173万方数据 舭)一K。P+瓢比)d£+去警I+Mo(1)16位整数转换为浮点数,可以用下面的程序实现这种转换:XORDAC0,Aco//清除累加器//将待转换的模拟量存入累加器式中:M(£)为控制器输出;Mo为输出的初始值;已(£)=sp(£)一Ira(t)为误差信号;Kc为比例系数;T。为积分时间常数,TD为微分时间常数。等号右边前三项分别是比例、积分、微分部分,它们分别与误差、误差的积分和微分成正比。如果取其中的1项或2项,可以组成P,PD或PI控制器。MOVWAIW0,AC0I。DW>一AC0,0JMP0NOTORD16#FFFF0000,AC0//如果模拟数值为正//直接转换成实数//反之//将AC0内的数值进行符号扩展,扩展为32位负数LBL0DTRAC0,AC0//将32位整数转换成实数然后,将实数进一步转换成0.0"-1.0之间的标准数,可用式3对给定值及过程变量进行标准化:RN。。=(坐)+offsetnspan(3)图1连续闭环控制系统方框图式中:RN。m为标准化实数值;R鼬。为标准化前的值;off—假设采样周期为Ts,系统开始运行的时刻为t=0,用矩形积分来近似精确积分,用差分近似精确微分,将式1离散化,第以次采样时控制器的输出如式(2)所示:set为偏移量,对单极性变量为0.0,对双极性变量为0.5;Span为取值范围,等于变量的最大值减去最小值,单极性变量的典型值为32000,双极性变量的典型值为64000。尥一Kcg。+Kl≥:ei+KD(如一P,1)+Mo(2)J一1下面的程序将上述转换后得到的AC0中的双极性数(其中8pan一64000)转换为0.0~1.0之间的实数的转换程序为:/R64000.0,AC0//将累加器中的实数标准化+R0.5,AC0//加上偏移值,使其在0.O~1.0之间MOVRAC0,VDl00//将标准化后的值存入回路表内3.2.2式中:P一。为第咒一1次采样时的误差值;K。为积分系数;KD为微分系数。基于PLC的闭环控制系统如图2所示,图中虚线部分在PLC内,印。,矽。,e。,坛分别为模拟量sp(f),加(£),P(f),M(£)在第竹次采样的数字量。在许多控制系统中,可能只需要P,I,D中的1种或者2种控制类型。例如,可能只要求比例控制或比例与积分控制,通过设置参数可对回路控制类型进行选择。回路输出的转换回路输出即PID控制器的输出,它是标准化的0.O~1.0之间的实数。将回路输出送给D/A转换器之前,必须转换成16位二进制数,这一过程是将pv与sp转换成标准化数值的逆过程。用下面的式(4)将回路输出转换为实数:(4)RscaI一(坛一offset)×Span式中,R驯是回路输出对应的实数值;鸠是回路输出标准化的实数值。图2PLC闭环控制系统方框图将回路输出转换为对应的实数的程序为:MoVRVDl08,AC0——R0.5,AC0*R64000.0,AC03.2输入输出变量的转换PID控制有输入量2个:给定值印和过程变量pv。给定值通常是固定值,过程变量通常是经过A/D转换和计算后得到的被控量的实测值。给定值和过程变量都是和被控对象有关的值,对于不同的系统,它们的大小、范围与工程单位有很大的不同。应用PLC的PID指令对这些量进行运算之前,必须将其转换成标准化的浮点数(实数)。同样,对于PID指令的输出,在将其送给D/A转换器之前,也需要进行转换。3.2.14//将回路输出送入累加器//仅双极性数才有此语句//单极性变量应乘以32000.0将代表回路输出的实数转化为16位整数的指令为:ROUNDAC0,AC0//将实数转化为32位整数MOVWAC0.AQWO//将16位整数写入模拟输出(D/A)寄存器回路输入的转换PID指令及其回路表S7—200的PID指令如图3所示。首先,将给定值或A/D转换后得到的整数值由】74万方数据 指令中TBL是回路表的起始地址,LooP是回路编号。编译时如果指令指定的回路表起始地址或回路号超出范围,CPU将生成编译错误(范围错误),引起编译失败。PID指令对回路表中的某些输入值不进行范围检查,应保证过程变量、给定值等不超限。回路表如表1所示:后为0.8,选取控制器参数初值为:K。一0.2,Ts一0.05s,L一20min,To一10//主程序LDSM0.1CALL0min。控制程序如下://首次扫描时//调用初始化子程序ff子程鲁SM0.OMOVR0.8。VDl04MOVRO.2。VDl02LD//装入给定值0.8//装入回路增益0.2//装入采样时间0.05MOVRO.05,VDll6MOVR20.O。VDl20MOVR10.0。VDl24MOVR100。SMB34ATCH0。10ENI//装入积分时问20min//装入微分时间10min//设定定时中断的时间间隔为100ms//设定定时中断以执行PID指令//允许中断,子程序结束//中断程序图3衰1PID指令PID回路裹LDSM0.0LTDAIW0。ACO//单极性模拟量经A/D转换后存入累加器//32位整数转换为实数/R32000.0,ACO//标准化累加器中的实数MOVRAC0,VDl00//存入回路表LD10.0//在自动方式下执行PID指令PIDVBl00,0//回路表的起始地址为VBl00,回路号为0DTRACO,ACOSM0.0MOVRVDl08,AC0LD*R32000.0,ACORoUNDACO,ACODTI//PID控制器的输出值送入累加器//将累加器中的数标准化//实数转换为32位整数ACO,AQW0//将16位整数写入到模拟量输出(D/A)寄存器6结语本文针对西门子s7—200PLC在PID闭环控制系统过程变量与给定值是PID运算的输入值,在回路表中他们只能被PID指令读取而不能改写。每次完成中的应用,介绍PID数字控制器的原理、实现方法和编程实例。需要指出的是,PID控制算法具有很强的灵活性,根据被控对象特点的不同,可以使用PI控制、PD控制、PID控制等多种形式,从而达到更好的控制效果。随着智能控制技术的发展,PID控制与模糊控制、神经网络控制等现代控制方法的结合,可以实现PID控制器的参数自整定,使PID控制器具有经久不衰的生命力。参考文献[1]西门子公司.SiemensSimaticPID运算后,都要更新回路表内的输入值坛,它被限制在0.O~1.0之间。如果PID指令中的算术运算发生错误,特殊存储器位SM1.1(溢出或非法数值)被置为1,并将中止PID指令的执行,想要消除这种错误,在下一次执行PID运算之前,应改变引起运算错误的输入值,而不是更新输出值。5PID指令编程举例温度控制是工业生产过程中很重要的一种控制。S7—200可编程序控制器系统手册Cz3.北京:西门子公司,2004.[23西门子(中国)有限公司自动化与驱动集团.深入浅出西门子s7—200PLC[M3.北京:北京航空航天大学出版社,2003.[33高钦和.可编程控制器应用技术与设计实例[M3.北京:人民邮电出版社,2004.[4]田永利.PLC在纸张加工机控系统中的应用EJ].现代电子技术,2004,27(23):75—76,175.温度控制系统一般具有大惯性、大延时的特点。在工业控制中,难以建立温度系统的精确数学模型,而应用模拟或数字式PID闭环控制往往能获得较好的控制精度。本例采用PID控制器,温度给定值经标准化处理作者简介强宝民肖晟男,1964年出生,教授。主要从事系统仿真与自动检测方向的研究。男,1983年出生,硕士研究生。主要从事系统仿真与自动检测方向的研究。175万方数据 S7-200 PLC在PID闭环控制系统中的应用
作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:
强宝民, 肖晟, QIANG Baomin, XIAO Sheng第二炮兵工程学院,陕西,西安,710025现代电子技术
MODERN ELECTRONICS TECHNIQUE2008,31(14)1次
1.西门子(中国)有限公司自动化与驱动集团 深入浅出西门子S7-200PIC 20032.西门子公司 Siemens Simatic S7-200可编程序控制器系统手册 20043.田永利 PLC在纸张加工机控系统中的应用[期刊论文]-现代电子技术 2004(23)4.高钦和 可编程控制器应用技术与设计实例 2004
1.杨旭东.谢昆.苏媛媛.张飞库 利用PLC实现铜箔收卷的PI控制[期刊论文]-机械与电子 2009(12)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_xddzjs200814056.aspx