您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 基于FB41与FB43的夹套锅炉温度控制系统设计
基于FB41与FB43的夹套锅炉温度控制系统设计殷华文田金云(南阳理工学院电子与电气工程系,河南南阳,473004)摘要:在西门子FB41与FB43软模块平台下,设计了夹套锅炉温度控制系统。系统的硬件部分进行了设计;接着对FB41与FB43模块的算法进行了介绍并详细阐述了FB41与FB43组合在一起实现控制的过程,在此基础上,对程序进行了设计;最后通过改变给定值与干扰信号对系统进行了验证;结果表明:系统的输出能快速准确地跟踪给定信号,达到了良好的控制效果。关键词:PLC;FB41;FB43;温度;算法中图分类号:TP278文献标志码:BDesignofboilertemperaturecontrolsystembasedonFB41andFB43YinHua-wen,TianJin-yun(DepartmentofElectronicsandElectricalEngineeringNanyangInstituteofTechnology,HenanNanyang,China,473004)Abstract:TemperaturecontrolsystemofboilerwasdesignedbasedonFB41andFB43module.Firstthehardwaresystemwasdesigned;ThenthealgorithmofFB41andFB43wasintroduced,andtheprocessofelaboratingtogetherwithFB41andFB43torealizecontrolwasintroduced;Finallytheprogramwasdesigned;Onthisbasis,controlsystemwastestbysetvalueanddisturbancesignal;Resultsshowthat:thesystemoutputcantrackthesetsignalfastandaccurately,andthegoodcontroleffectwasachieved.Keywords:PLC;FB41;FB43;temperature;algorithm1.引言温度是工业对象中主要的被控参数之一[1]。PLC作为主流的自动化控制设备,使得其在过程控制领域扮演着越来越重要的角色。SIEMENSS7300/400系列PLC具有完善的过程控制软硬件产品,它配套的FB41PID软件和FB43PWM软件,功能完善,控制效果好。但是算法复杂,控制参数多(分别有35和14个参数),学习和使用比较难。由于大多数用户对于FB41和FB43软件模块的算法思想理解不够深入,参数意义不明确,致使在设计过程控制系统时存在障碍。本文以模拟夹套锅炉的温度控制系统设计为例,来说明如何使用FB41+FB43模块进行温度PID调节。.2.系统组成本系统以S7-300PLC作为控制器,控制对象为自制的小型模拟不锈钢夹套锅炉,其内胆容积25L,夹套容积23L。上位机一台,通过MPI通讯与PLC相连,实现对系统的操作与监控。温度传感器采用热电阻,信号经变送仪表输出标准信号接入PLC模拟量输入模块,在经FB41与FB43对信号运算处理后输出脉冲信号控制继电器的通断,从而控制加热丝的通电占空比以此来控制锅炉温度。系统的接线图如下(带防干烧联锁):电加热锅炉信号变送端子柜控制站1JB1234RSTN加热丝红红红蓝模块力控6.1组态软件操作台通信电缆上位监控计算机HH52P继电器CJX2-124接触器~热电阻压力变送器(0-6Kpa)防干烧联锁仪表L250mm报警联锁温度变送仪表-图1锅炉温度控制回路接线图3.控制算法(1)FB41的算法FB41“CONT_C”是采用位置式PID算法思想设计的控制软件模块[3,4]。FB41的算法设计很完善,使用起来也很灵活。它的比例运算、积分运算(INT)和微商运算(DIF)是并行连接的,可以单独激活或取消。这就允许组态成P、PI、PD和PID控制器。它的积分分量可以清零、保持,这就方便实现抗积分饱和或积分分离。微分分量可以直接输出,也可以延迟衰减输出。FB41输出的是模拟量控制信号。FB41.CYCLE参数是PID控制的采样周期,也即PID的控制周期。即每一个控制周期,PID算法采样一次过程变量当前值,和设定值比较后,进行PID运算,输出控制值给执行器,产生相应的动作,完成一次控制过程。其算式如下[2,3]。)]}()([)()({)(0TkTekTeTTjTeTTkteKktUdkjiP为了保证准确有序的控制,PID运算应放在OB35定时中断服务程序中,若放在OB1主循环中是不合适的,因为主循环的扫描周期是不固定的,一般和FB41.CYCLE设置值不一致且相差较大,放在OB1中将使CYCLE设置失去意义。(2)FB43的算法FB43“PULSEGEN”称为脉冲宽度调制器,即PWM模块[3,4]。可以将输入变量“INV”(InputValue=PID控制器的调节输出LMN)转换为一个恒定周期的脉冲串,每个周期的脉冲宽度与输入变量成正比。①FB43.PER-TM:PERIODTIME(周期时间)脉冲宽度调制的恒定周期。②FB43.CYCLE:SAMPLINGTIME(采样时间)FB43模块的采样时间,也即PWM模块的调用周期。而FB43.PER-TM周期时间是若干个FB43.CYCLE采样时间之和。③FB43模块的算法程序不公开,但我们可以推测FB43模块中定时的实现是靠对时基信号的计数实现的。当把FB43模块放在OB35定时中断服务程序中时,时基信号就是OB35的定时中断时间,也就是FB43.CYCLE时间。如果定时中断时间是100ms,为了实现PER-TM=5s=5000ms的定时,FB43模块内部应设置计数器cnt1,计数器的初值应设置为5000ms/100ms=50。每个OB35周期调用一次FB43模块,对cnt1减一计数,直至为0,本PER-TM=5s周期结束,重装计数初值,开始下一个周期计数。所以cnt1是循环计数工作的。为了实现输出脉宽的控制,FB43模块内部应该另外设置计数器cnt2。例如当INV=30时,输出脉冲宽度=(30/100)*5000ms=1500ms,cnt2的计数初值设为1500ms/100ms=15,每个OB35周期调用一次FB43模块,对cnt2减一计数,直至为0,即实现QPOS为ON的输出脉宽控制。当cnt2计数值减为0时,QPOS端由ON状态转为OFF状态,直至本PER-TM周期结束。下一PER-TM周期,根据新的INV值,计算cnt2新的计数值,开始下一周期的控制。cnt2也是循环计数的,只是计数初值在每个FB43.PER-TM周期是可变的。④FB43.SYN_ON:SYNCHRONIZATIONON(同步接通)对于FB43模块,如果启动了自动同步,则当INV发生了改变后,为了尽快地反映这种变化,将重新启动一个新的PER-TM周期,这时应当把实现PER-TM周期控制的计数器cnt1清零并重装计数初值。而对于新的INV数值,重新计算输出脉冲宽度,清零计数器cnt2,装上新的脉冲宽度计数值,开始新的脉宽调制周期。如果INV变化了,并且对FB43模块的调用不在一个PER-TM周期的第1个或最后两个调用循环中,可以进行同步。如果INV的改变恰好赶在PER-TM周期中第一次或最后两次调用FB43模块时(这可通过检测cnt1的当前计数值来判断),则不必为了同步而重新启动一个新的PER-TM周期,因为这时的输出脉宽就是按最新的INV值计算出来的。⑤“P_B_TM”,MINIMUMPULSE/BREAKTIME(最小脉冲/间隔时间)。PWM调节输出的执行设备往往是继电器、接触器、电磁阀等。中断时间“P_B_TM”,可以防止短促的开断时间,降低开关元件和执行机构的使用寿命。下图是在“P_B_TM”时间约束下的单极性PWM输入输出转换曲线。当PWM输出P_B_TM,直接按0值输出,亦即执行器不动作;当PWM输出PER-TM-P_B_TM,直接按100%输出,亦即执行器不断开。图2“P_B_TM”时间约束下的单极性PWM输入输出转换曲线(3)FB41与FB43的结合本控制系统中,由于对电加热丝的控制采用继电器/接触器作为执行器,所以FB41的模拟量输出信号须经FB43调制成占空比可调的脉冲信号才可以实现控制。图3FB41和FB43的联用PID调节的输出即FB41.LMN连接到FB43.INV端,经过FB43的脉宽调制,在FB43.QPOS输出端上将以SAMPLINGTIME的步长转换成脉冲宽度。脉冲的宽度正比于INV的大小。PWM脉冲发生器的采样时间和“CONT_C”控制器的采样时间之比决定了脉冲宽度调制的精度。①FB43.PER-TM:当FB41和FB43联用时,这相当于“CONT_C”控制器的控制周期,应该和FB41.cycle设置一样。②FB43.CYCLE:FB43模块的调用时间必须恒定,所以应该放在OB35定时中断中,并且OB35的中断周期设置应该和FB43.CYCLE一致。③FB41和FB43之间的时序配合。当把FB41和FB43都放在OB35中的时候,就产生了这样一个问题:由于FB41.cycle和FB43.cycle不一致,每次进入OB35中断服务程序FB43都应该执行一次,而FB41则不然。进入OB35中断服务程序(FB41.cycle/FB43.cycle)次,才执行一次FB41。这样就需要在OB35中断服务程序中由用户自主设置一个计数器,设为counter,初值设为(FB41.cycle/FB43.cycle),每次进入OB35,counter减一计数,减为0时,执行一次FB41。然后重装计数初值,开始下一个PID循环。本控制系统中,设置FB41.cycle=5000ms,FB43.cycle=100ms。脉冲调节的精度即是100ms,而100ms/5000ms即是脉冲调节的分辨率。FB41.cycle/FB43.cycle相当于调用FB41的衰减系数,直接实现了它们之间的同步。下图即是FB41和FB43的时序关系。图4FB41和FB43的时序关系④设置FB41.cycle时间的大小要根据控制系统的响应速度来设置。控制周期应该按比滞后时间、对象的时间常数小1-2个数量级来考虑。对于我们的控制过程来说,可以将对象全功率加热10分钟,然后计算温度每升高0.1℃需要的时间作为控制周期设置的依据。因为现场温度变送仪表的分辨率为0.1℃,在温度升高0.1℃的过程中,控制对象、传感器、调节器、执行器都执行了相应的一步或若干步动作,这些动作蕴含了控制系统各个环节的动态特性,所以将温度每升高0.1℃的时间作为控制周期选择的依据。以下是将锅炉内胆注满水后全速加热十分钟的温度变化情况:T:51.087℃——61.087℃t:15:34:12:023——15:37:15:066据此计算温度升高0.1℃所需时间为1.83s,所以应设置FB41.cycle=2s。由于对于25L的锅炉内胆来说,加热功率4.5kw相对较大,为了减少热惯性,所以实际设置FB41.cycle=5s。⑤在本控制系统中,设置“P_B_TM”=100ms,也即当PID调节结果小于2.0以下,PWM的调节输出QPOS在100ms以下时,这时继电接触器不动作。当PID调节结果大于98.0时,PWM的调节输出QPOS在4900ms以上时,继电接触器也不再断开。4.程序设计根据上述介绍,可以对系统的程序进行设计。程序主要包括三部分,分别是初始化程序、主程序、100ms中断服务程序,程序流程图如下。开始初始化PID控制周期,即把(FB41.CYCLE)定时计数器counter预装初值初始化FB41PID模块初始化FB43PWM脉宽调制模块结束初始化程序块(OB100)开始PID参数赋值:温度设定值P、I、D、控制周期等计数器counter对时基信号计数,产生5s
本文标题:基于FB41与FB43的夹套锅炉温度控制系统设计
链接地址:https://www.777doc.com/doc-2569503 .html