本科毕业设计论文s7300plc的温度模糊控制系统设计.docx
- 文档编号:29329808
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:36
- 大小:1.58MB
本科毕业设计论文s7300plc的温度模糊控制系统设计.docx
《本科毕业设计论文s7300plc的温度模糊控制系统设计.docx》由会员分享,可在线阅读,更多相关《本科毕业设计论文s7300plc的温度模糊控制系统设计.docx(36页珍藏版)》请在冰豆网上搜索。
本科毕业设计论文s7300plc的温度模糊控制系统设计
南阳理工学院
本科生毕业设计(论文)
学院(系):
电子与电气工程系
专业:
学生:
指导教师:
完成日期年5月
南阳理工学院本科生毕业设计(论文)
S7-300PLC的温度模糊控制系统设计
SimulinkOnlineDecouplingControlbetweenWaterTemperatureandLiquidLevelofBoilerbasedonSiemensS7-300PLC
—DesignforProgram
总计:
毕业设计(论文)30页
表格:
1个
插图:
30幅
南阳理工学院本科毕业设计(论文)
S7-300PLC的温度模糊控制系统设计
SimulinkOnlineDecouplingControlbetweenWaterTemperature
andLiquidLevelofBoilerbasedonSiemensS7-300PLC
—DesignforProgram
学院(系):
电子与电气工程系
专业:
自动化
学生姓名:
学号:
指导教师(职称):
评阅教师:
完成日期:
南阳理工学院
NanyangInstituteofTechnology
S7-300PLC的温度模糊控制系统设计
自动化专业杨爽
[摘要]本设计在“悌”字号过程控制实验装置上进行,用SIEMENSS7-300PLC作控制器,用WinCC软件作为监控平台,用前馈补偿的解耦方法[1]实现锅炉内胆温度与液位的双闭环解耦控制。
把初始化功能程序放在OB100中进行,控制功能程序放在中断循环组织块OB35中进行,实现模块化编程。
利用FB41先对液位进行PID控制,在前馈补偿的基础上用专用温度控制功能块FB58实现对解耦后的温度单回路PID控制。
通过WinCC监控界面所获得解耦控制曲线来看,解耦效果明显,达到控制要求。
[关键词]温度;液位;前馈解耦;WinCC;OPC
SimulinkOnlineDecouplingControlbetweenWaterTemperature
andLiquidLevelofBoilerbasedonSiemensS7-300PLC
—DesignforProgram
AutomationSpecialtyNIELu
Abstract:
Thisdesigntakesthe“T”processcontrolexperimentequipmentasplatform,SIEMENSS7-300PLCascontroller,andWinCCsoftwareasmonitor,realizesdoubleloopdecouplingbetweenwatertemperatureandliquidlevelwithfeedforwardcompensation.TheinitializationfunctionisintheOB100block,andthemainprogramisintheOB35block.First,useFB41asPIDcontrollerforliquidlevel.Second,useFB58torealizethetemperaturecontrolbasedonthefeedforwardcompensation.WiththedecouplingcurveobtainedbyWinCC,thedecouplingeffectisobvious,achievescontrolrequirements.
Keywords:
Temperature;liquidlevel;feedforwarddecoupling;WinCC;OPC
1引言
1.1模糊控制技术研究现状
1974年英国伦敦大学教授E.H.Mamdani利用模糊控制语句组的模糊控制器应用于锅炉和气轮机的运行控制在实验室获得成功标志着模糊控制的诞生。
随后1975年英国的P.J.King和E.H.Mamdani将模糊控制系统应用于工业发酵过程的温度控制中;1979年英国的I.J.Procyk和E.H.Mamdani研究了一种自组织的模糊控制器它在控制过程中不断修改和调整控制规则使得控制系统的性能不断完善;1983年日本学者M.Sugeno和Kurakani将基于语言真值推理的模糊逻辑控制器应用于汽车速度的控制并且取得成功。
模糊控制技术与传统PID技术相结合的研究国外也取得了许多成果。
Tang通过对常规模糊控制器机理的分析最早提出了一般模糊控制器和PI控制器的相似性;Abdelnon从PID控制角度提出了Fuzzy-PI,Fuzzy-PD和Fuzzy-PID三种形式的模糊控制器随后各种模糊PID控制器都证明是非线性PID控制器Ying最先提出模糊PID控制器的解析结构证明了各类Mamdani模糊控制器是可变增益的非线性PI控制器,Ying和刘向杰等还采用各种方式得出了模糊控制器的量化因子和比例因子同PID控制器的Kp,Ki和Kd的之间的关系李洪兵分析了模糊控制器与PID控制器之间的关系。
1.2课题设计内容
用西门子s7-300PLC作为控制器,AI818智能仪表作为变送器,实验室的锅炉作为被控对象,运用MATLAB软件设计一个模糊控制器并通过OPC技术实现与组态软件Wincc的通信进行实时数据的采集传递,最终在Simulink中实现对被控对象的智能在线控制。
1.3课题研究的意义
现今科学技术的飞速发展,给我们的生活带来了极大方便,同时也加快了工业现代化智能化发展的速度。
如此一来也使我们的控制系统变的越来越多种多样,当然各种控制系统都有着不同的优越特性。
近年来随着对智能控制系统的研究发展,智能控制系统也拉近了与我们的距离。
众所周知对于温度控制系统的研究及运用已经十分的成熟,但是常规的温度控制系统在设计及调试上比较麻烦,需要耗费大量的时间。
针对这样的情况,我们采用模糊控制系统,通过建立规则设计隶属度函数通过输入输出的变化,最后进行模糊化推理,实现控制输出。
1.4本设计所作的主要工作
以“信”字号过程控制实验装置为平台,设计一个锅炉温度控制系统为本设计的主要任务。
同时对模糊控制的原理,模糊控制规则表的建立进行介绍。
以锅炉水模糊控制为基础,针对不同的控制对象,均能达到理想的控制效果。
实验表明,模糊温度控制对传统的温度控制更具优势。
本文共分七章,内容组织如下:
第1章主要介绍了课题研究的背景和意义,以及相关研究动态、发展趋势。
第2章介绍了控制系统硬件设计、结构、配置,以及各硬件的介绍。
第三章介绍了模糊控制的理论基础和工作原理,详细介绍了模糊控制系统的结构、组成,以及其工作原理。
第四章介绍了PID控制的理论基础和工作原理,详细介绍了PID控制系统的结构、组成,以及工作原理。
第五章介绍了基于PLC的锅炉温度控制系统的模糊PID控制设计,这是本设计的核心部分,主要完成模糊PID控制算法的实现。
第六章介绍了模糊PID控制系统的监控及运行结果分析,详细分析了模糊控制的运行结果。
第七章为全文总结及下一步建议工作,总结本论文的研究结果,并提出下一步研究工作的方向。
2控制系统的结构、原理
2.1控制系统结构
MATLAB与PLC实现对锅炉温度的在线实时控制过程控制系统结构如图1所示。
系统以自动化实验室的过程控制装置为控制对象,西门子s7-300PLC对现场设备数据进行采集,Wincc为数据总控平台,作为OPC服务器,以MATLAB作为OPC客户端,进行模糊算法设计实现对问的的在线控制。
图1过程控制系统结构图
2.2控制系统原理
题目设计要求实现的目标是对锅炉温度的模糊控制。
这里是以自动化实验室的过程控制装置为实验对象。
运用MATLAB中设计模糊控制算法实现在线控制锅炉的温度。
控制原理:
通过组态软件Wincc将PLC检测到的温度传送给MATLAB,MATLAB经过模糊运算后将运算结果再由组态软件输出到PLC,根据其相应的输出来控制PWM波的占空比,固态继电器通过PWM波的信号实现通断,达到控制锅炉加热丝的目的。
MATLAB和WinCC之间通讯则基于OPC技术标准,通过MATLAB的OPCToolbox工具箱实现数据的实时交换(OPCRead/Write)。
根据自动控制原理和过程控制相关知识,画出以锅炉为受控对象的控制系统原理图如图1所示:
图1控制系统原理图
3系统的硬件设计
3.1控制系统所用硬件介绍
3.1.1温度传感器
本设计中用的是插入式铂电阻(Pt100)温度传感器,测温范围-200~850℃,误差±(0.10+0.017t)℃。
金属铂Pt100(R0=100Ω)具有电阻温度系数大,感应灵敏;电阻率高,元件尺寸小;电阻值随温度变化而变化基本呈线性关系,是常用的一种温度检测器;温度传感器一般有二线式、三线式、四线式三种接线方法,为了消除引线线路电阻带来的测量误差此次采用的是三线式接法,具体接线方法如图1所示。
图2温度传感器接线图
2.2.2固态继电器
固态继电器SSR是一种无触点通断电子开关,它利用电子元件(如开关三极管、双向可控硅等半导体器件)的开关特性,可达到无触点无火花地接通和断开电路的目的,为四端有源器件,其中两个端子为输入控制端,另外两端为输出受控端。
为实现输入与输出之间的电气隔离,器件中采用了高耐压的专业光电耦合器。
当施加输入信号后,其主回路呈导通状态,无信号时,呈阻断状态。
整个器件无可动部件及触点,可实现相当于常用电磁继电器一样的功能。
在本设计中由于实现对温度的控制,在即将达到设定温度时继电器会出现高频率的通断,在这种情况下一般的继电器将无法承受,因此选用固态继电器。
2.2.3S7—300PLC
SIMATICS7-300是模块化小型PLC系统,大范围的各种功能模块可以非常好地满足和适应自动控制任务,各种单独的模块之间也可进行广泛组合以用于扩展。
由于S7-300简单实用的分散式结构和多界面网络能力,使得应用十分灵活。
本设计中使用的S7-300PLC模块包括:
电源模块:
PS3075A,电源模块的输入用220VAC的单相两线制,即一火一零;
CPU模块:
CPU315-2DP,工作电压为24VDC,集成MPI、DP通信;
数字量输入模块SM321:
DI16xDC24V为16位数字量输入;
数字量输出模块SM322:
DO16xDC24V为16位数字量输出;
模拟量输入输出模块SM334:
AI4/A02为8位模拟量输入输出;
硬件组态如图2所示。
图2.硬件组态信息
2.2.4AI818智能仪表
AI818智能仪表硬件采用了先进的模块化集成设计,具备功能模块主要有:
辅助输入、主输出、报警、辅助输出及通讯。
仪表的输入方式可自由设置为常用的各种热电偶、热电阻和线性电压(电流)。
用于温度变送时,AI818使用变送和显示功能,具体的参数设置如下:
HIAL:
99.99;LOCAL:
0;Ctrl:
0;Run:
0;Sn:
21:
;oP1:
2,其他参数保持默认即可,接收温度传感器信号,经自身内部运算,显示实时温度,同时也把信号经过并联电阻将其变为0-10V电压信号后传给PLC的SM334模块,AI818的具体接线图如图3所示。
图3.AI818与PLC接线
2.2设计中使用到s7-300各模块介绍
图3.硬件组态信息
2.2课题涉及到的S7-300PLC各模块介绍
2.2.1定时中断组织块OB35
通过硬件组态,可以要求CPU按规定的时间间隔调用定时中断组织块。
S7-300CPU能够执行的定时中断组织块是OB35,其调用时间可设置的范围为1~60000ms。
在硬件组态窗口下,双击CPU位置,就会打开Properties对话框。
选中CyclicInterrupt卡,在其中的OB35中填上所需的时间间隔。
在设计中我们设置的中断时间为100mS,如图4所示:
图4.OB35中断时间的设置
2.2.2组织块OB100
组织块OB100上电初始化模块,当CPU的状态由停止态转入运行态时(暖启动),操作系统都调用OB100。
当OB100运行结束后,操作系统调用OB35。
利用OB100先于OB35执行的特性,可以为用户主程序的运行准备初始变量或参数。
2.2.3功能FC105和FC106介绍
实际的工程量要经过各种类型传感器转换为标准信号供PLC采集,PLC的模拟量输入模块将该模拟量信号转换成0~27648之间的数字量。
但是在PLC内部要对相应的信号进行比较和运算时,需要将该信号转换成实际物理值(对应于传感器的量程)方能运算。
而经程序运算后的结果也要先转换成与实际工程量对应的整形数,再经模拟量输出模块转换成电压或电流信号去控制现场执行机构,这就需要在程序中调用功能FC105和FC106完成量程的转换。
FC105接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。
将结果写入OUT。
FC105输出等式如式
(1):
OUT=[((FLOAT(IN)-K1)/(K2-K1))*(HI_LIM-O_LIM)]+LO_LIM
(1)
常数K1和K2根据输入值是BIPOLAR还是UNIPOLAR设置。
BIPOLAR:
假定输入整型值介于-27648与27648之间,因此K1=-7648.0,K2=+27648.0。
UNIPOLAR:
假定输入整型值介于0和27648之间,因此K1=0.0,K2=+27648.0如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。
如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。
通过设置LO_LIM>HI_LIM可获得反向标定。
使用反向转换时,输出值将随输入值的增加而减小。
在本次设计中,从温度变送器送来的4~20mA模拟电流信号经过SM331转换为0~27648之间的整数,调用FC105将之转换为0.0~100.0间的浮点数送入FB58进行PID运算。
FC106接收一个以工程单位表示、且标定于下限和上限(LO_LIM和HI_LIM)之间的实型输入值(IN),并将其转换为一个整型值。
将结果写入OUT。
FC106输出等式如式
(2):
OUT=[((IN-O_LIM)/(HI_LIM-O_LIM))*(K2-K1)]+K1
(2)
并根据输入值是BIPOLAR还是UNIPOLAR设置常数K1和K2。
BIPOLAR:
假定输出整型值介于-27648和27648之间,因此,K1=-7648.0,K2=+27648.0。
UNIPOLAR:
假定输出整型值介于0和27648之间,因此,K1=0.0,K2=+27648.0如果输入值超出LO_LIM和HI_LIM范围,输出(OUT)将钳位于距其类型(BIPOLAR或UNIPOLAR)的指定范围的下限或上限较近的一方,并返回一个错误。
在本次设计中,从温度变送器送来的4~20mA模拟电流信号经过SM331转换为0~27648之间的整数,调用FC105将之转换为0.0~100.0间的浮点数送入FB58进行PID运算,运算的结果为0.0~600.0间的实际液位高度,还要用一个FC106将之转换为对应阀门开度的0%~100%的整形数0~27648,然后经SM332输出4~20mA的信号去控制调节阀。
2.2.4功能块FB41和FB58介绍
(1)功能块FB41介绍
FB41称为连续控制的PID用于控制连续变化的模拟量PID的初始化可以通过在OB100中调用一次,将参数COM-RST置位,当然也可在别的地方初始化它,关键的是要控制COM-RST;PID的调用可以在OB35中完成,一般设置时间为200MS。
CONT_C的方框
如图5所示:
图5.CONT_C的方框图
1)所有的输入参数:
COM_RST:
BOOL:
重新启动PID:
当该位TURE时:
PID执行重启动功能,复位PID内部参数到默认值;通常在系统重启动时执行一个扫描周期,或在PID进入饱和状态需要退出时用这个位;
MAN_ON:
BOOL:
手动值ON;当该位为TURE时,PID功能块直接将MAN的值输出到LMN,这可以在PID框图中看到;也就是说,这个位是PID的手动/自动切换位;
PEPER_ON:
BOOL:
过程变量外围值ON:
过程变量即反馈量,此PID可直接使用过程变量PIW(不推荐),也可使用PIW规格化后的值(常用),因此,这个位为FALSE;
P_SEL:
BOOL:
比例选择位:
该位ON时,选择P(比例)控制有效;一般选择有效I_SEL:
BOOL:
积分选择位;该位ON时,选择I(积分)控制有效;一般选择有效;
INT_HOLDBOOL:
积分保持,不去设置它;
I_ITL_ONBOOL:
积分初值有效,I-ITLVAL(积分初值)变量和这个位对应,当此位ON时,则使用I-ITLVAL变量积分初值。
一般当发现PID功能的积分值增长比较慢或系统反应不够时可以考虑使用积分初值;
D_SEL:
BOOL:
微分选择位,该位ON时,选择D(微分)控制有效;一般的控制系统不用;
CYCLE:
TIME:
PID采样周期,一般设为200MS;
SP_INT:
REAL:
PID的给定值;
PV_IN:
REAL:
PID的反馈值(也称过程变量);
PV_PER:
WORD:
未经规格化的反馈值,由PEPER-ON选择有效;(不推荐)
MAN:
REAL:
手动值,由MAN-ON选择有效;
GAIN:
REAL:
比例增益;
TI:
TIME:
积分时间;
TD:
TIME:
微分时间;
TM_LAG:
TIME:
我也不知道,没用过它,和微分有关;
DEADB_W:
REAL:
死区宽度;如果输出在平衡点附近微小幅度振荡,可以考虑用死区来降低灵敏度;
LMN_HLM:
REAL:
PID上极限,一般是100%;
LMN_LLM:
REAL:
PID下极限;一般为0%,如果需要双极性调节,则需设置为-100%;(正负10V输出就是典型的双极性输出,此时需要设置-100%);
PV_FAC:
REAL:
过程变量比例因子
PV_OFF:
REAL:
过程变量偏置值(OFFSET)
LMN_FAC:
REAL:
PID输出值比例因子;
LMN_OFF:
REAL:
PID输出值偏置值(OFFSET);
I_ITLVAL:
REAL:
PID的积分初值;有I-ITL-ON选择有效;
DISV:
REAL:
允许的扰动量,前馈控制加入,一般不设置;
2)部分输出参数说明:
LMN:
REAL:
PID输出;
LMN_P:
REAL:
PID输出中P的分量;(可用于在调试过程中观察效果)
LMN_I:
REAL:
PID输出中I的分量;(可用于在调试过程中观察效果)
LMN_D:
REAL:
PID输出中D的分量;(可用于在调试过程中观察效果)
3)规格化概念及方法:
PID参数中重要的几个变量,给定值,反馈值和输出值都是用0.0~1.0之间的实数表示,而这几个变量在实际中都是来自与模拟输入,或者输出控制模拟量的因此,需要将模拟输出转换为0.0~1.0的数据,或将0.0~1.0的数据转换为模拟输出,这个过程称为规格化规格化的方法:
(即变量相对所占整个值域范围内的百分比对应与27648数字量范围内的量)。
对于输入和反馈,执行:
变量*100/27648,然后将结果传送到PV-IN和SP-INT对于输出变量,执行:
LMN*27648/100,然后将结果取整传送给PQW即可;
4)FB41的PID的调整方法:
一般不用D,除非一些大功率加热控制等惯大的系统;仅使用PI即可,一般先使I等于0,P从0开始往上加,直到系统出现等幅振荡为止,记下此时振荡的周期,然后设置I为振荡周期的0.48倍,应该就可以满足大多数的需求。
附录:
PID的调整可以通过“开始—>SIMATIC->STEP7->PID调整”打开PID调整的控制
面板,通过选择不同的PID背景数据块,调整不同回路的PID参数。
(2)功能块FB58介绍
FB58是专门用于温度控制的PID模块,它集成了PID运算和脉冲触发功能。
FB58采集到的“过程值”(PV_PER)通过“过程值转换”(CRP_IN)和“过程值规范化”(PV_NORM)转换成与“设定值”(SP_INT)具有相同单位的值。
为了抑制由于可调节变量变化所引起的小幅恒定振荡,FB58对偏差通过“死区(DEADBAND)”进行处理,由参数DEADDB_W设定死区宽度,如图6所示:
图6.偏差信号的形成
1)PID算法和脉冲触发。
PID控制器采用位置式算法,“比例”(GAIN),“积分”(INT),“微分”(DIF)三部分并联,可以单独进行取消或激活,这样就可组态P,PI,PD,PID控制器,通过选择GAIN的符号正负可以很方便地实现作用或反作用。
为防止超调,可使用“比例因子”(PFAC_SP)来弱化比例作用。
PFAC_SP可以在0到1.0范围内连续选择。
PFAC_SP=1.0表示:
如果设定值发生变化,比例作用发挥全部作用;PFAC_SP=0表示:
如果设定值发生变化,比例作用不发挥任何作用,FB58输入参数设置见附录[2]。
“微分因子”(D_F)表示微分作用的延迟时间,一般不做改变,用默认值5.0即可,运算流程如图7所示:
图7.PID运算方框图
如下式(3)所示,LmnN为PID的运算结果,通过脉冲周期时间PER_TM相乘得到高电平的输出时间:
脉宽=LmnN*PER_TM/100(3)
脉冲输出单元每次执行都累加一个CYCLE_P,通过判断累加值和脉宽,或者和周期与脉宽差值的比较来改变输出点的状态,脉冲形成的过程如图8所示:
图8.脉冲触发示意图
正确使用“控制带”(CONZ_ON)可改善控制效果,如果CONZ_ON=TRUE,则控制器运行时使用控制带。
这意味着控制器将依据下列算法工作:
如果PV高于SP_INT,且偏差超过CONZ_ON,则“可调节变量下限”(LMN_LLM)作为可调节变量输出;如果PV低于SP_INT,且偏差超过了CONZ_ON,则“可调节变量上限”(LMN_HLM)作为可调节变量输出。
如果偏差在CONZ_ON之内,则可调节变量采用来自PID控制器的数值,控制带可根据用户需要激活或关闭。
使用控制带具有独特的优越性,当过程值进入控制带时,微分作用使可调节变量快速见效。
如果没用控制带基本上只用通过减小比例作用才能减小可调节变量。
如果最大或最小可调节变量输出远没有达到新工作点所要求的可调节变量,则控制带会在不过调或欠调的情况下,使调节尽快稳定。
参数设置的经验法则:
CON_ZONE=250/GAIN
PER_TM/CYCLE_P>50
CYCLE时间不能超过积分时间TI的10%
为了保证控制精度,脉冲周期时间PER_TM应该至少是CYCLE_P的50倍
脉冲周期时间不能超过积分时间的5%。
2)保存和重新装载控制器参数。
FB5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 毕业设计 论文 s7300plc 温度 模糊 控制系统 设计