《毕业设计(论文)基于SIEMENSS7300PLC的锅炉流量温度前馈反馈控制系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于SIEMENSS7300PLC的锅炉流量温度前馈反馈控制系统设计.doc(28页珍藏版)》请在三一办公上搜索。
1、南 阳 理 工 学 院 本科生毕业设计(论文) 学院(系):电子系与电气工程系专 业: 自动化 学 生: 指导教师: 完成日期 2012年 5 月南阳理工学院本科生毕业设计(论文)基于SIEMENS S7-300PLC的锅炉流量-温度 前馈-反馈控制系统设计 Control system Design of Feedforward and Feedback for Boiler Water Flow-Temperature Controlling Based on SIEMENS S7-300 PLC 总 计: 23 页表 格: 1 个插 图 : 22 幅南 阳 理 工 学 院 本 科 毕 业
2、 设 计(论文)基于SIEMENS S7-300PLC的锅炉流量-温度 前馈-反馈控制系统设计Control system Design of Feedforward and Feedback for Boiler Water Flow-Temperature Controlling Based on SIEMENS S7-300 PLC 学 院 (系): 电子与电气工程系 专 业: 自动化 学 生 姓 名: 学 号: 104091020006 指 导 教 师: 评 阅 教 师: 完 成 日 期: 2012年05月 南阳理工学院Nanyang Institute of Technology基于
3、SIEMENS S7-300PLC的锅炉流量-温度前馈-反馈 控制系统设计自动化专业 摘 要:在锅炉内胆水温度控制中,水的温度为控制对象,其本身具有较大的滞后。由于外胆冷却水是循环的,因此一点少量的流量扰动即会对内胆温度产生影响。流量扰动在设计中被默认为可测不可控的。正因为流量扰动的这个特性我们可以用前馈补偿来消除它的影响。温度控制我们用一个PID控制器来控制。在程序设计中PID控制器和前馈补偿用SIEMENS S7-300 PLC中的FB41模块来实现。再通过FB43将FB41的输出转换成时间比例脉冲从而控制加热丝,实现温度前馈反馈控制。关键词:过程控制;前馈反馈控制;西门子可编程控制器Co
4、ntrol system Design of Feedforward and Feedback for Boiler Water Flow-Temperature Controlling Based on SIEMENS S7-300 PLCAbstract: In the boiler water temperature control, water temperature is the object of control that have a largar lag. Due to the cooling water is circulated,so that a small amount
5、 of flow disturbances that have an impact on the temperature. The flow disturbance in the design is observability and no controllability. Because of the characteristics of flow disturbance, we can use the feed-forward equalization to eliminate its impact. We use a PID controller to control the tempe
6、rature.In the programmer design,the PID controller and feedforward equalization achieve with the module FB41 of SIEMENS S7-300 PLC. Through the output of the FB41,the FB43 will convert it into pulses to control the heating wire,in order to achieve the feedforward and feedback control of temperature.
7、Key words: process control;feedforward and feedback control;SIEMENS S7-300 PLC目 录1引言12任务分析及控制方案的选择12.1前馈控制系统12.2前馈反馈控制系统32.3锅炉流量-水温前馈反馈控制系统分析及控制方案选择43控制算法实现基础S7-300PLC系统说明及组态43.1PLC介绍43.2S7-300PLC说明53.2.1S7-300PLC基本介绍53.2.2S7-300 模块说明53.2.3S7-300组织块说明73.2.4S7-300功能块说明73.2.5S7-300系统存储区分类93.2.6I/O模块的地
8、址分配93.2.7STEP7简介103.2.8力控组态软件简介104锅炉流量-水温前馈反馈控制系统的实现104.1模拟量信号采集104.2S7-300PLC程序的实现114.2.1S7-300PLC硬件组态114.2.2S7-300PLC主程序的实现114.2.3P、I、D参数整定18结束语22参考文献23致谢.231 引言 在过程控制中温度控制应用相当广泛。往往在控制中还存在着多种扰动,例如流量、液位等。温度控制作为过程控制中的一个很重要的方面,由于其特殊性一直以来都是一个控制难点。温度控制具有很大的滞后性,在控制中难以得到理想的效果。再加上各种扰动,温度控制已经不能光靠简单的PID控制达到
9、目标。在这种情况下我们往往就需要借助别的控制方式。前馈控制做为一种特殊的控制规律就是在这种情况下发展起来的。前馈控制是在扰动影响到被控对象之前就将其通过补偿消除掉。因此在这次设计中我们用前馈控制方式来克服流量的扰动使得温度控制精度更加精确。前馈控制控制算法我们往往用PLC来实现。但是单纯的前馈往往不能很好的补偿干扰,主要是单纯前馈不存在被控变量的反馈,即对于补偿的效果没有检验的手段。因此,为使我们的控制系统能达到控制要求,可以将前馈与反馈结合起来使用,构成所谓前馈反馈控制系统。PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。它采用可以编制程序的存储器,用来在其内部存储执行逻辑
10、运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。本次设计综合和运用计算机、PLC、温度传感器、流量传感器等对工业对象的夹套锅炉、管道进行控制,运用计算机编程、PLC编程、控制算法设计、过程控制、工业现场总线技术、电气线路设计等知识和技术实现前馈反馈控制。首先由变频器、泵、压力传感器组成恒压供水系统,再由两个调节阀控制两个支路分别给锅炉的夹套和内胆供水,由PLC、加热丝、温度传感器组成锅炉内胆水温反馈加热系统,流量传感器、PLC、加热丝组成前馈补偿系统,从而组成前馈反馈控制系统。2 任务分析及控制方案的选择2.1 前馈控制系统我
11、们把按照干扰量的变化来补偿其对被控变量的影响,从而达到被控量完全不受干扰影响的控制方式称为前馈控制,简称FFC(Feed Forward Control)。很显然,这种控制是一种开环控制。其系统框图如图1所示。图1 前馈控制系统框图系统传递函数如公式(1) (1)式中Gpd(s)、Gpc(s)分别为对象干扰通道与控制通道的传递函数。系统对干扰F实现完全补偿的条件是:当F(s)0,而0由上两式可求得前馈控制器的传递函数为公式(2) (2) 由上式可以看出前馈控制器的控制规律为对象的干扰通道与控制通道的特性比,式中的负号表示控制作用与干扰作用的方向相反。单纯的前馈控制系统根据对干扰补偿的特点,可分
12、为动态前馈控制及静态前馈控制。 (1)动态前馈控制当前馈控制作用力求在任何时刻均实现对干扰的补偿,通过合适的前馈控制规律的选择,使得干扰经过前馈控制器至被控量这一通道的动态特性与对象干扰通道的动态特性完全一致,并使它们的符号相反,便可达到控制作用完全补偿干扰对被控变量的影响。此时前馈控制器的Gff(s)=GPD(s)GPC(s)。 (2)静态前馈控制在有些实际生产过程中,并没有动态前馈控制那样高的补偿要求,而只需要在稳定工况下实现对干扰量的补偿。此时,前馈控制器的输出量与输入两呈一定比例关系,而与时间因子t无关,前馈控制就成为静态前馈控制。则此时的Gff为一静态系数Kf。以下列出前馈控制与反馈
13、控制的一些不同: (1)前馈控制克服干扰比反馈控制及时。前馈控制时按照干扰作用的大小进行控制的,如控制作用恰到好处,一般比反馈控制要及时。 (2)前馈控制属于“开环”控制系统。前馈控制系统是一个开环控制系统,这一点从某种意义上来说是前馈的不足之处。反馈控制由于是闭环系统,控制结果能够通过反馈获得检验,而前馈控制的效果并不通过反馈加以检验,因此前馈控制对被控对象的特性掌握必须比反馈控制清楚,才能得到一个较合适的前馈控制作用。 (3)前馈控制使用的是对象特性而定的“专用”控制器。一般的反馈控制系统均采用通用类型的PID控制器,而前馈控制器是专用的控制器,对于不同的对象特性,前馈控制器的形式将是不同
14、的。 (4)一种前馈控制作用只能克服一种干扰。由于前馈控制作用是按干扰进行工作的,而且整个系统是开环的,因此根据一种干扰设置的前馈控制只能克服这一干扰,而对于其他干扰,由于这个前馈控制器无法感受到,也就无能为力了。而反馈控制只能用一个控制回路就可克服多个干扰,所以说这一点也是前馈控制系统的一个弱点。2.2 前馈反馈控制系统单纯的前馈往往不能很好的补偿干扰,存在着不少局限性,主要是单纯前馈不存在被控变量的反馈,即对于补偿的效果没有检验的手段。这样在前馈作用的控制结果并没有最后消除被控变量偏差时,系统无法得到这一信息而做进一步的校正。其次,由于实际工业对象存在着多个干扰,为了补偿他们对被控变量的影
15、响,势必要设计多个前馈通道,这就增加了投资费用和维护工作量。因此,一个固定的前馈模型难以获得良好的控制品质。为了解决这一局限性,使得我们的控制系统能达到控制要求,可以将前馈与反馈结合起来使用,构成所谓前馈反馈控制系统。在该系统中可综合两者的优点,将反馈控制不易克服的主要干扰进行反馈控制,这样,既发挥了前馈校正及时的特点,又保持了反馈控制能克服多种干扰并对被控变量始终给与检验的优点,因而这种控制方式是过程控制中较有发展前途的控制方式。综上所述,前馈反馈控制系统的优点在于: (1)由于增加了反馈控制回路,大大简化了原有前馈控制系统。只需对主要的干扰进行前馈补偿,其他干扰可由反馈控制予以校正。 (2
16、)反馈回路的存在,降低了前馈控制模型的精度要求,为工程上实现比较简单的通用型模型创造了条件。 (3)负荷或工况变化时,模型特性也要变化,可由反馈控制加以补偿,因此具有一定的自适应能力。2.3 锅炉流量-水温前馈反馈控制系统分析及控制方案选择本次设计针对的是锅炉内胆水温的控制。在设计中我们需要在内胆内注满水,水的温度做为我们的控制对象。锅炉外胆的循环水做为冷却水,并且使冷却水流量做为一个主要扰动信号,用前馈控制器来补偿流量扰动对对象的影响。在以往的实验中我们发现温度对象的控制滞后比较大。并且由于实验条件有限外胆冷却水也不能保证温度恒定不变,所以我们在设计系统时也可以使内胆水流动保持一个动态平衡。
17、这样使得对象的热惯性减小并使控制的滞后更小。很明显,在这个系统中外胆流量的变化将做为系统的主要扰动。我们默认为它是可测而不可控的,因此为了在流量扰动影响到内胆温度之前就将其消除就可以采取前馈补偿。而整个温度控制我们直接可以做成一个温度单回路系统。前馈反馈控制环节可由电磁流量传感器、计算机、接触器、加热器、组成前馈补偿系统,计算机、接触器、加热器、温度传感器组成反馈加热系统,即主要由计算机、接触器、加热器、电磁流量传感器、温度传感器组成前馈反馈控制系统。图2为前馈反馈控制系统方框图。图2 前馈反馈控制框图其中前馈补偿和PID控制都由S7-300PLC编程实现。由于对系统控制补偿要求不高,同时温度
18、对象的传递函数难以求得,所以在实现前馈补偿时我们用的是静态前馈补偿。3 控制算法实现基础S7-300PLC系统说明及组态3.1 PLC介绍PLC即可编程控制器,英文全称是Programmable logic Controller。是一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程.PLC是可编程逻辑电路,也是一种和硬件结合很紧密的语言。模块式PLC由:CPU模块、信号模块、功能模块、接口模块、通信处理器、电源模块、编程设备等
19、几个部分组成。3.2 S7-300PLC说明3.2.1 S7-300PLC基本介绍本次设计我们用的是德国西门子公司的S7-300 PLC。西门子的PLC以极高的性能价格比,在国际、国内市场占有很大的份额,在我国的各行各业得到了广泛的应用。S7-300/400属于模块式PLC,主要由机架、CPU模块、信号模块(SM)、功能模块(FM)、接口模块(IM)、通信处理器(CP)、电源模块(PS)和编程设备组成。3.2.2 S7-300 模块说明本次设计主要是涉及到温度、流量等模拟信号的采集,因此主要用到的是西门子的SM331和SM332模块。西门子的SM331和SM332模块有很多的型号,在选择时要考
20、虑到需要用到的模拟量通道的数量,模拟量采集需要的精度等一系列因素。但是因为本次设计所用到的设备是往年已经准备好的所以这些我们不需要考虑。这次设计用到的SM331模块订货号为:6ES7 331-7RD00-0AB0。这个模块有4路模拟量输入通道。可以接收020mA和420mA的电流信号,精度为15位。所用到的SM332模块订货号为:6ES7 332-5HD01-0AB0。这个模块有4路模拟量输出通道。可以输出020mA和420mA的电流信号,精度为12位。 (1) SM331介绍模拟量输入模块用于将模拟信号转换为CPU内部处理用的数字信号,其主要组成部分是A/D转换器。模拟量输入模块的输入信号一
21、般是模拟量变送器输出的标准量程的直流电压、直流电流信号。为了防止电磁干扰,模拟量模块可以分为带隔离和不带隔离的。在设置模拟量输入模块时先要从硬件上设置各个通道对应的量程卡。然后在组态时在属性对话框内设置测量范围和型号。图3为SM331属性设置。模拟量输入/输出模块中模拟量对应的数字称为模拟值,模拟值用16位二进制补码(整数)来表示。模拟量输入模块的模拟值与以百分数表示的模拟量之间的对应关系为双极性模拟量量程(100%到-100%)分别对应于模拟值27648到-27648。单极性对应于0到27648。(2)SM332介绍模拟量输出模块SM332用于将CPU传送给它的数字转换为成比例的电流信号或电
22、压信号,对执行机构进行调节或控制,其主要组成部分是D/A转换器。在模拟量输出组态时也需要选择输出类型和范围,如果不选择正确会使得执行器出现一些与控制信号不符的错误。如图4所示在输出类型和输出范围两个选项上应该对应执行器选择。例如我们设计中用到的调节阀应该用电流型420mA电流信号在选择时应该按图4所示来选择,否则会出现执行器输入信号错误从而影响控制系统运行。图4为SM332属性设置。图3 SM331属性设置 图4 SM332属性设置3.2.3 S7-300组织块说明在设计中我们主要用到三个组织块:OB1 OB100和OB35。OB1用于循环处理,是用户程序中的主程序。操作系统在每一次循环中运行
23、一次OB1。OB100程序在CPU执行暖启动时执行,且只执行一次,可用于变量的初始化。OB35是定时循环中断组织块,在CPU属性设置中可以设置它的中断周期如图5所示。 图5 CPU属性设置3.2.4 S7-300功能块说明 这次设计中需要用到PID调节功能以及控制加热丝,即PID的输出要控制开关量。因此我们需要用到FB41和FB43模块。S7-300的模拟量闭环控制功能主要涉及到FB41、FB42、FB43三个功能块。其中FB41用于连续控制,FB42用于步进控制,FB43用于脉冲宽度调制。 (1)FB41模块说明。FB41模块的输出为连续变量。可以作为单独的PID恒值控制器,或者在多闭环控制
24、中实现级联控制、混合控制器和比例控制器。控制器的功能基于模拟信号采样控制器的PID控制算法,如果需要的话,FB41可以用脉冲发生器FB43进行扩展(本次设计就用到FB43做为扩展),产生脉冲宽度调制的输出信号,来控制比例执行机构的二级或三级控制器。下面简单介绍一下FB41的几个常用参数。MAN_ON:为1时控制循环将被中断,手动值被设置为操作值。PV_IN:输入浮点格式的过程变量,此时数字量输入PVPER_ON应为0。SP_INT:内部设定值输入,取值范围100.0%或物理值。P_SEL:为1时激活比例作用,反之禁止比例作用,默认值为1。I_SEL:为1时激活积分作用,反之禁止积分作用,默认值
25、为1。D_SEL:为1时激活微分作用,反之禁止微分作用,默认值为1。DISV:扰动输入变量。LMN:浮点格式的控制器输出值。LMN_HLM:控制器输出上限值。LMN_LLM:控制器输出下限值。 (2)FB43模块说明。FB43模块为一个脉冲发生器通常与PID控制器配合使用,用脉冲输出来控制比例执行机构。该功能一般与连续控制器FB41一起使用,FB43可以构建脉冲宽度调制的二级或三级PID控制。FB43通过调制脉冲宽度,将输入变量INV(即PID控制器的输出量LMN)转换为具有恒定周期的脉冲序列,该恒定周期时间PER_TM来设置,PER_TM应与CONT_C的采样周期CYCLE相同。在这个模块中
26、涉及到一个“采样比率”的问题,这个通过修改P_B_TM来设置采样比。在PER_TM周期内的P_B_TM越小则采样频率越高,即控制精度越高。下面介绍FB43几个常用的参数:MAN_ON:手动模式打开,可以手动设置输出信号。INV:输入变量,即FB41输出的模拟量控制值LMN。PER_TM:周期时间,脉冲宽度调制的恒定周期,对应于PID控制器的采样时间。P_B_TM:最小脉冲时间或最小断开时间,应不小于参数CYCLE。CYCLE:采样时间,规定了相邻两次块调用之间间隔的时间。 (3)FC105,FC106功能的介绍。在处理模拟量时,从变送器送过来的模拟信号经过SM331转换成027648之间的数值
27、。但是FB41处理这些数值之前需要经过一个量程转换将027648的数值转换成一个浮点数方能输入FB41进行处理。在处理后的数值输出给SM332之前也要经过一个变换。在STEP7中我们可以用FC105和FC106来实现上述功能。下面介绍一下这两个块的几个重要参数:IN:输入参数,FC105可以是PIW,也可以是整数格式的存储单元。FC106的可以是PID运算的输出,也可以是浮点数格式的存储单元。HI_LIM:输入参数,实数,工程单位量程上限。LO_LIM:输入参数,实数,工程单位量程下限。BIPOLAR:BOOL量,输入值为0表示单极性,为1表示双极性。RET_VAL:输出参数,返回值。如果框中
28、功能执行正常,输出值为0,反之为1.OUT:输出参数,FC105的为浮点数,输出工程单位实数值。FC106的为整数,可直 接传送至PQW中。当然,除去用以上两个模块外,我们也可以通过编程来实现量程之间的变换。但为了方便起见我们在这次设计中直接用FC105和FC106直接运算。3.2.5 S7-300系统存储区分类S7-300系统存储区可分为一下几类。(1)过程映像输入/输出(I/Q)。过程映像输入在用户程序中的标识符为I,过程映像输出在用户程序中的标识符为Q。在每次执行OB1扫描循环程序之前,CPU将输入模块的输入输入数值复制到过程映像输入表中。在程序循环扫描过程中,将程序运算得到的输出值写入
29、过程映像输出表。在下一OB1循环扫描开始时,CPU将这些数值传送到输出模块。(2)内部存储器标志位(M)存储器。内部存储器标志位用来保存控制逻辑的中间操作状态或其他控制信息。(3)定时器(T)存储器区。 定时器相当于继电器系统的时间继电器。给定时器分配的字用于存储时间基准和时间值(0999)。时间值可以用二进制或BCD码方式读取。(4)计数器(C)存储器区。计数器用来累计其计数脉冲上升沿的次数,有加计数器、减计数器和加减计数器。给计数器分配的字用于存储计数当前值(0999)。计数值可以用二进制或BCD码方式读取。(5)数据块(DB)与背景数据块(DI)。 DB为数据块,DBX是数据块中的数据位
30、,DBB、DBW和DBD分别是数据块中的数据字节、数据字和数据双字。(6)外设I/O区(PI/PQ)。外设输入(PI)和外设输出(PQ)区允许直接访问本地的和分布式的输入输出模块。可以按字节(PIB或PQB)、字(PIW或PQW)或双字(PID或PQD)访问,不能以位为单位访问PI和PQ。低端的S7-300CPU的过程映像输入、输出区分别只有128B,如果组态的模块地址超出这一范围,可以通过外设输入区来访问。3.2.6 I/O模块的地址分配S7-300的数字量(或称开关量)地址标识符、地址的字节部分和位部分组成,一个字节由07这8个位组成。地址标识符I表示输入,Q表示输出,M表示位存储器。例如
31、I3.2是一个数字量输入的地址,小数点前面的3是地址的字节部分,小数点后面的2表示这个输入点是3号字节中的第2位。数字量出来按位寻址外,还可以按字节、字和双字寻址。表1为I/O模块的起始地址字节地址。表1 I/O分配表机架号模块类型槽号45678910110数字量034781112151619202324272831模拟量2562712722872883033043193203353363513523673683831数字量32353639404344474851525556596063模拟量3843994004154164314324474484634644794804954965112数字
32、量64676871727576798083848788919295模拟量5125275285435445595605755765915926076086236246393数字量9699100103104107108111112115116119120123124127模拟量6406556566716726876887037047197207357367517527673.2.7 STEP7简介西门子STEP7是用于SIMATIC S7-300/400站创建可编程逻辑控制程序的标准软件,可使用梯形图逻辑、功能块图和语句表进行编程操作。在使用STEP7给PLC下程序时要先设置好PC/PG接口。3.
33、2.8 力控Forcecontrol V6.1简介力控ForceControlV6.1监控组态软件是北京三维力控科技根据当前的自动化技术的发展趋势,总结多年的开发、实践经验和大量的用户需求而设计开发的高端产品。 力控监控组态软件是对现场生产数据进行采集与过程控制的专用软件,最大的特点是能以灵活多样的“组态方式”而不是编程方式来进行系统集成,它提供了良好的用户开发界面和简捷的工程实现方法,只要将其预设置的各种软件模块进行简单的“组态”以便可以非常容易地实现和完成监控层的各项功能。力控监控组态软件能同时和国内外各种工业控制厂家的设备进行网络通讯,它可以与高可靠的工控计算机和网络系统结合,便可以达到
34、集中管理和监控的目的,同时还可以方便的向控制层和管理层提供软、硬件的全部接口,来实现与“第三方”的软、硬件系统来进行整体的集成。我们在这次设计中将用它来监控控制系统,修改参数并得到实时曲线。4 锅炉流量-水温前馈反馈控制系统的实现4.1 模拟量信号采集在设计中我们需要采集的模拟量信号有内胆水温度和外胆冷去水的流量信号。温度传感采集的温度模拟信号经过变送器变送成420mA的电流信号送入S7-300PLC的SM331模块。同样流量信号也转换成420mA的电流信号送入S7-300PLC的SM331模块。4.2 S7-300PLC程序的实现4.2.1 S7-300PLC硬件组态本次设计使用S7-300
35、PLC来实现前馈反馈控制。因此这次设计的重点就在与用对S7-300PLC的编程来实现前馈反馈控制算法。在设计程序之前我们首先插入SIMATIC300站点,并对S7-300PLC进行硬件组态。将电源模块,CPU,数字量输入(输出)模块,模拟量输入(输出)模块添加到导轨上。需要注意的是在选择各个模块时要注意订货号与实物保持一致,否则在下载时会提示出错。组态如图6所示。 图6 S7-300PLC硬件组态示意图由于实验室没有用到IM模块,因此第三个槽位 在组态时要将其空出。4.2.2 S7-300PLC主程序的实现在编写程序之前我们先设计一个程序流程图使得我们的思路更加清晰 图7 程序流程图由于本次设
36、计没有涉及到复杂的数字量处理,而主要的PID算法实现在OB35定时中断组织块里实现,所以在OB1中需要实现PID控制及手动控制是否运行的程序就可以了。同时为了防止积分饱和所以在OB1中设置了“积分分离控制带”及时切除和启动积分作用(程序见后附图) 我们在OB35中编写PID控制程序。在模拟信号进入SM331后,经过其转换将420mA的模拟信号转换为027648的整数。需要注意的是,027648是整数不是浮点数,在系统存储器中是用一个字来存储。因此经过SM331转换后是存储在PIW里。如图8和图9所示。图8 引入温度信号图9 引入流量信号我们将温度信号由第3个点引入,流量信号经SM331的第4个
37、点引入。由表1可知两个信号的地址分别为PIW292和PIW294。而经过FC105转换后的数值为浮点数,需要用一个双字来存放。因此转换后的值分别存放在DB41.DBD10和MD20中。接下来我们要做的是实现对流量扰动的前馈补偿。首先在加热过程中进行手动的流量干扰如图10所示。 图10 进行流量干扰接着我们设前馈补偿系数Kf为1.而在引入前馈补偿时要加上一个负号,所以在程序中为-1,如图11所示。图11 静态前馈补偿系数最后把采集的流量扰动乘以前馈补偿系数并存储在MD12中,并通过运算转换为DISV端能够识别的浮点数。如图12所示。图12 流量补偿运算然后我们要编写PID控制器,并引入前馈扰动。
38、在这里我们需要用到PID运算控制块FB41,如图13所示 图13 PID控制和实现前馈补偿在FB41中采用数据块寻址的方式,具体参数地址见DB41数据块,MD12为前馈补偿的引入,LMN端(DB41.DBD72)为PID运算的输出这个输出为0100的浮点数。接下来要将FB41的输出接入脉冲发生器FB43转换成脉冲序列控制继电器的通断。继电器通断控制接触器,从而通过接触器控制加热丝的通断。图14为FB43功能块。 图14 脉冲发生器DB41.DBD72为FB43的输入,Q0.0为FB43的输出。在程序中FB41和FB43的各个参数在DB41和DB43中设置。DB41和DB43作为两个数据块伴随着
39、FB41和FB43生成。在DB41和DB43中每个变量都有各自在数据块存储区的地址,如DBB、DBW、DBD等。根据这些个地址我们在组态软件中也可以通过这些地址检测到控制过程中各个值得变化情况。图15为DB43中的主要设置。首先将MAN_ON设置为FALSE避免手动输出。由于只是控制加热丝的通断,所以我们只需要用到单极性两级控制,将MAN_ON,STEP3_ON,ST2BI_ON设置为FALSE即可。为防止接触器通断频繁,通过设置最小脉冲(最小通段时间)P_B_TM为200MS以增加开关元件和执行机构的使用寿命。因为OB35的循环中断时间为100MS(即PULSEGEN 100MS调用一次),
40、由于控制器FB43的输出周期为4S,所以每调用一次FB41就调用40次FB43。即控制精度为1:40。图15 DB43块图16为DB41的设置。同样首先将MAN_ON设置为FALSE。再将P_SEL,I_SEL设置为TRUE,D_SEL设置为FALSE使FB41成为一个PI控制器(必要时可加上微分)。因为我们设定的温度控制值为40,所以将SP_INT设定为40.0。这样S7-300 PLC的主要程序就已基本完成了。接下来的工作就是调试P、I、D三个参数使得系统打达到制要求。 图16 DB41块4.2.3 P、I、D参数整定在说到P、I器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。
41、它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。二种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。在实际调试中,只能先大致设定一个经验值,然后根据调节效果修改。对于温度系统:P 20-60, I(分)3-10,D(分)0.5
42、-3对于流量系统:P 40-100,I(分)0.1-1对于压力系统:P 30-70, I(分)0.4-3对于液位系统:P 20-80, I(分)15PID参数的调整经验为:(1)对于比例控制来说,将比例度调到比较大的位置,逐步减小以得到满意的曲线。(2)对于比例积分来说,先将积分时间无限大,按纯比例作用正定比例度。得到满意曲线后,将比例度放大(1020)%,将积分时间由大到小加入,直到获得满意曲线。(3)对于PID控制,先将微分时间置零,按照调比例积分控制方法得到满意取先后将比例度将到比原值小(1020)%位置,适当减小积分时间后,将微分时间逐渐加大,直到获得满意的曲线。PID参数整定的基本判
43、断: (1)响应曲线震荡频繁,系统稳定度不够,需加大比例度。 (2)系统偏差大,并且趋于非周期过程,需减小比例度。 (3)曲线波动大,增加积分时间以消除余差。 (4)曲线震荡频繁,稳定度低且曲线偏离给定值后长时间不回来,需减少积分时间。 (5)曲线最大偏差大且衰减慢,需增加微分时间。 (6)曲线震荡频繁,可以适当减少微分时间。在整定PID参数过程中由于加热丝功率相对锅炉较大(4.5KW)。因此在加热时热惯性很大,一般当加热丝停止加热时温度能超调两度左右。因此我们在选择控制器时一定要使用PID控制,使控制器能够提前调节。根据经验值,我们首先将GAIN设为13,I设为2min,关闭微分作用。图17是无微分作用下的温度曲线图。 图17 PI作用下的温度曲线我们通过观察稳定时