- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
S7-200PLC在PID閉环控制系统中的应用
S7-200 PLC在PID闭环控制系统中的应用1? 引 言在工业生产中,常需要用闭环控制方式来控制温度、压力、流量等连续变化的模拟量,无论是使用模拟量控制器的模拟控制系统还是使用计算机(包括PLC)的数字控制系统,PID控制都得到了广泛应用。PID控制器是比例-积分-微分控制(Proportional-Integral-De-rivative)的简称,其优点是不需要精确的控制系统数学模型,有较强的灵活性和适应性,而且PID控制器的结构典型、程序设计简单、工程上易于实现、参数调整方便。本文以西门子公司S7-200 PLC为例介绍PLC在PID闭环控制系统中的应用。2 PLC实现PID控制的方式用PLC对模拟量进行PID控制大致有如下几种方法:(1)使用PID过程控制模块:这种模块的PID控制程序是PLC厂家设计的,并放在模块中,用户使用时只需要设置一些参数,使用起来非常方便。(2)使用PID功能指令:它是用于PID控制的子程序,与模拟量输入/输出模块一起使用,可以得到类似于使用PID过程控制的效果,但价格便宜得多。如S7-200的PID指令。(3)用自编的程序实现PID闭环控制:在没有PID过程控制模块和功能指令的情况下,仍希望采用某种改进的PID控制算法,此时用户需要自己编制PID控制程序。本文以西门子S7-200 PLC为例,说明PID控制的原理及PLC的PID功能指令的使用及控制功能的实现。3 PLC PID控制器的实现3.1 PID控制器的数字化PLC的PID控制器的设计是以连续的PID控制规律为基础,将其数字化,写成离散形式的PID方程,再根据离散方程进行控制程序的设计。在连续系统中,典型的PID闭环控制系统如图1所示。图1中sp(t)是给定值;pv(t)为反馈量;c(t)为系统的输出量,PID控制器的输入/输出关系如式(1)所示:式中:M(t)为控制器输出;Mo为输出的初始值;e(t)=sp(t)-pv(t)为误差信号;Kc为比例系数;T1为积分时间常数,TD为微分时间常数。等号右边前三项分别是比例、积分、微分部分,它们分别与误差、误差的积分和微分成正比。如果取其中的1项或2项,可以组成P,PD或PI控制器。假设采样周期为TS,系统开始运行的时刻为t=0,用矩形积分来近似精确积分,用差分近似精确微分,将式1离散化,第n次采样时控制器的输出如式(2)所示:式中:en-1为第n-1次采样时的误差值;K1为积分系数;KD为微分系数。基于PLC的闭环控制系统如图2所示,图中虚线部分在PLC内,spn,pvn,en,Mn分别为模拟量sp(t),pv(t),e(t),M(t)在第n次采样的数字量。在许多控制系统中,可能只需要P,I,D中的1种或者2种控制类型。例如,可能只要求比例控制或比例与积分控制,通过设置参数可对回路控制类型进行选择。3.2 输入输出变量的转换PID控制有输入量2个:给定值sp和过程变量pv。给定值通常是固定值,过程变量通常是经过A/D转换和计算后得到的被控量的实测值。给定值和过程变量都是和被控对象有关的值,对于不同的系统,它们的大小、范围与工程单位有很大的不同。应用PLC的PID指令对这些量进行运算之前,必须将其转换成标准化的浮点数(实数)。同样,对于PID指令的输出,在将其送给D/A转换器之前,也需要进行转换。3.2.1? 回路输入的转换首先,将给定值或A/D转换后得到的整数值由16位整数转换为浮点数,可以用下面的程序实现这种转换:然后,将实数进一步转换成0.0~1.0之间的标准数,可用式3对给定值及过程变量进行标准化:式中:RNorm为标准化实数值;RRaw为标准化前的值;offset为偏移量,对单极性变量为0.0,对双极性变量为0.5;Span为取值范围,等于变量的最大值减去最小值,单极性变量的典型值为32 000,双极性变量的典型值为64 000。下面的程序将上述转换后得到的AC0中的双极性数(其中span=64 000)转换为0.0~1.0之间的实数的转换程序为:3.2.2? 回路输出的转换回路输出即PID控制器的输出,它是标准化的0.0~1.0之间的实数。将回路输出送给D/A转换器之前,必须转换成16位二进制数,这一过程是将pv与sp转换成标准化数值的逆过程。用下面的式(4)将回路输出转换为实数:式中,RScal是回路输出对应的实数值;Mn是回路输出标准化的实数值。将回路输出转换为对应的实数的程序为:将代表回路输出的实数转化为16位整数的指令为:??4 PID指令及其回路表S7-200的PID指令如图3所示。指令中TBL是回路表的起始地址,LOOP是回路编号。编译时如果指令指定的回路表起始地址或回路号超出范围,CPU将生成编译错误(范围错误),引起编译失败。PID指令对回路表中的某些输入值不进
文档评论(0)