基于PLC的PID多点温度的控制的系统毕业设计.docx
- 文档编号:17152594
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:41
- 大小:689.27KB
基于PLC的PID多点温度的控制的系统毕业设计.docx
《基于PLC的PID多点温度的控制的系统毕业设计.docx》由会员分享,可在线阅读,更多相关《基于PLC的PID多点温度的控制的系统毕业设计.docx(41页珍藏版)》请在冰点文库上搜索。
基于PLC的PID多点温度的控制的系统毕业设计
毕业设计
基于PLC的PID多点温度的控制的系统
摘要:
本设计阐述了利用西门子S7-300PLC扩展模拟量采集模块SM331和模拟量输出模块SM332通过PID闭环控制四点温度的智能控制系统。
运用梯形图编写下位PLC程序,并用上位组态软件(组态王)设置参数,实现对加热系统的自动调节及对温度的保持。
本系统的实用性很强,稳定性、精确度良好,程序开发容易,可以适应农业或工业生产中恒温系统的需求。
Abstract:
ThisdesigndescribestheuseofSiemensS7-300PLCextendedanalogacquisitionmoduleandtheanalogoutputmoduleofSM331SM332viaPIDclosed-loopcontroltofourpointtemperatureintelligentcontrolsystem.ApplicationofladderdiagramtopreparelowerPLCprogram,andtheconfigurationsoftware(King)setparameters,toachievetheautomaticadjustmentofheatingsystemandtemperaturekeeping.Thissystemisverypractical,goodstability,accuracy,easytoprogramdevelopment,agriculturalorindustrialproductionthermostatsystemrequirements.
关键词:
PLC组态王PID控制恒温系统
前言
20世纪70年代,诞生了两种改变整个世界及商业管理模式的计算机。
产生于1976年的苹果II型,是世界上最早得到广泛使用的微型计算机。
当今价值数十亿美元的个人计算机产业就是从这个当初由两名年轻人在车库里成立的小公司衍生而来的。
另外一类计算机,是由RichardMorley在1972年发明的,如今称之为可编程逻辑控制器(PLC)。
它最初并没有像个人计算机那样得到名称上的广泛认同,但是却给制造业带来了同样意义重大的冲击。
PLC通常被称为工厂级别的个人计算机。
第一章PLC的起源及发展
1.1PLC起源
1968年美国通用汽车公司提出取代继电器控制装置的要求; 1969年,美国数字设备公司研制出了第一台可编程逻辑控制器PDP—14,在美国通用汽车公司的生产线上试用成功,首次采用程序化的手段应用于电气控制,这是第一代可编程逻辑控制器,称Programmable,是世界上公认的第一台PLC。
1969年,美国研制出世界第一台PDP-14;
1971年,日本研制出第一台DCS-8;
1973年,德国研制出第一台PLC;
1974年,中国研制出第一台PLC。
1.2PLC发展
20世纪70年代初出现了微处理器。
人们很快将其引入可编程逻辑控制器,使可编程逻辑控制器增加了运算、数据传送及处理等功能,完成了真正具有计算机特征的工业控制装置。
此时的可编程逻辑控制器为微机技术和继电器常规控制概念相结合的产物。
个人计算机发展起来后,为了方便和反映可编程控制器的功能特点,可编程逻辑控制器定名为ProgrammableLogicController(PLC)。
20世纪70年代中末期,可编程逻辑控制器进入实用化发展阶段,计算机技术已全面引入可编程控制器中,使其功能发生了飞跃。
更高的运算速度、超小型体积、更可靠的工业抗干扰设计、模拟量运算、PID功能及极高的性价比奠定了它在现代工业中的地位。
20世纪80年代初,可编程逻辑控制器在先进工业国家中已获得广泛应用。
世界上生产可编程控制器的国家日益增多,产量日益上升。
这标志着可编程控制器已步入成熟阶段。
20世纪80年代至90年代中期,是可编程逻辑控制器发展最快的时期,年增长率一直保持为30~40%。
在这时期,PLC在处理模拟量能力、数字运算能力、人机接口能力和网络能力得到大幅度提高,可编程逻辑控制器逐渐进入过程控制领域,在某些应用上取代了在过程控制领域处于统治地位的DCS系统。
20世纪末期,可编程逻辑控制器的发展特点是更加适应于现代工业的需要。
这个时期发展了大型机和超小型机、诞生了各种各样的特殊功能单元、生产了各种人机界面单元、通信单元,使应用可编程逻辑控制器的工业控制设备的配套更加容易。
1.3当前温度控制系统的发展状况
近年来,我国以信息化带动的工业化的方式正在蓬勃发展,温度已成为工业对象控制中一种重要的参数,特别是在冶金、化工、机械等各类工业中,广泛使用各种加热炉、热处理炉、反应炉等。
由于炉子的种类及原理不同,因此,所采用的加热方式及燃料也不同,如煤气、天然气、油、电等。
对于不同的生产情况和工艺要求下的温度控制,所采用的加热方式,选用的燃料,控制方案也有所不同。
其控制方式有直接数字控制(DDC),推断控制,预测控制,模糊控制(Fuzzy),专家控制(ExpertControl),鲁棒控制(RobustControl),推理控制等。
随着工业技术的不断发展,传统的控制方式已经不能满足高精度、高速度的控制要求。
如接触器温度控制仪表,其主要缺点是温度波动大,由于主要通过控制接触器的通段时间比例来改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。
近年来快速发展了多种先进的温度控制方式,如:
PID控制,模糊控制,神经网络及遗传算法控制等。
这些控制技术大大的提高了控制精度,不但是控制变得简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。
第二章PLC的基本概念以及组成
2.1PLC基本概念
可编程逻辑控制器(ProgrammableLogicController,PLC),它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。
2.2PLC组成基本结构
可编程逻辑控制器实质是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同,基本构成为:
2.2.1电源
可编程逻辑控制器的电源在整个系统中起着十分重要的作用。
如果没有一个良好的、可靠的电源系统是无法正常工作的,因此,可编程逻辑控制器的制造商对电源的设计和制造也十分重视。
一般交流电压波动在+10%(+15%)范围内,可以不采取其它措施而将PLC直接连接到交流电网上去
2.2.2中央处理单元(CPU)
中央处理单元(CPU)是可编程逻辑控制器的控制中枢。
它按照可编程逻辑控制器系统程序赋予的功能接收并存储从编程器键入的用户程序和数据;检查电源、存储器、I/O以及警戒定时器的状态,并能诊断用户程序中的语法错误。
当可编程逻辑控制器投入运行时,首先它以扫描的方式接收现场各输入装置的状态和数据,并分别存入I/O映象区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后按指令的规定执行逻辑或算数运算的结果送入I/O映象区或数据寄存器内。
等所有的用户程序执行完毕之后,最后将I/O映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。
为了进一步提高可编程逻辑控制器的可靠性,近年来对大型可编程逻辑控制器还采用双CPU构成冗余系统,或采用三CPU的表决式系统。
这样,即使某个CPU出现故障,整个系统仍能正常运行。
2.2.3存储器
存放系统软件的存储器称为系统程序存储器。
存放应用软件的存储器称为用户程序存储器。
2.2.4输入输出接口电路
1.现场输入接口电路由光耦合电路和微机的输入接口电路,作用是可编程逻辑控制器与现场控制的接口界面的输入通道。
2.现场输出接口电路由输出数据寄存器、选通电路和中断请求电路集成,作用可编程逻辑控制器通过现场输出接口电路向现场的执行部件输出相应的控制信号。
2.2.5功能模块
如计数、定位等功能模块。
2.2.6通信模块
第三章PLC硬件及软件
3.1PLC硬件介绍
3.3.1设备选型
选择S7-300系列CPU313C-2DP;模拟量采集模块选择SM331;模拟量输出模块选择SM332。
3.3.2设备参数
CPU313C-2DP:
数字输入16路
数字输出16路
三个计数器
外观如图3-1所示
图3-1CPU313C-2DP外观图
模拟量采集模块SM331:
4路模拟量输入(4-20mA)
模拟量输出模块SM332:
4路模拟量输出(4-20mA)
3.2PLC安装及使用说明
如图3-2为S7-300安装图
图3-2S7-300安装图
模拟量模块一个通道占一个字地址。
从IB256开始,给每一个模拟量模块分配8个字。
S7-300CPU介绍:
1.模块诊断功能
可以诊断出以下故障:
失压,熔断器熔断,看门狗故障,EPROM、
RAM故障。
模拟量模块共模故障、组态/参数错误、断线、上下溢出。
2.过程中断
数字量输入信号上升沿、下降沿中断,模拟量输入超限,CPU暂
停当前程序,处理OB40。
3.状态与故障显示LED
SF(系统出错/故障显示,红色):
CPU硬件故障或软件错误时亮。
BATF(电池故障,红色):
电池电压低或没有电池时亮。
DC5V(+5V电源指示,绿色):
5V电源正常时亮。
FRCE(强制,黄色):
至少有一个I/O被强制时亮。
RUN(运行方式,绿色):
CPU处于RUN状态时亮;重新启动
时以2Hz的频率闪亮;
HOLD(单步、断点)状态时以0.5Hz的频
率闪亮。
STOP(停止方式,黄色):
CPU处于STOP,HOLD状态或重新启动时常亮。
BUSF(总线错误,红色)。
4.模式选择开关
(1)RUN-P(运行-编程)位置:
运行时还可以读出和修改用户程序,改变运行方式。
(2)RUN(运行)位置:
CPU执行、读出用户程序,但是不能修改用户程序。
(3)STOP(停止)位置:
不执行用户程序,可以读出和修改用户程序。
(4)MRES(清除存储器):
不能保持。
将钥匙开关从STOP状态搬到MRES位置,可复位存储器,使CPU回到初始状态。
复位存储器操作:
通电后从STOP位置扳到MRES位置,“STOP”LED熄灭1s,亮1s,再熄灭1s后保持亮。
放开开关,使它回到STOP位置,然后又回到MRES,“STOP”LED以2Hz的频率至少闪动3s,表示正在执行复位,最后“STOP”LED一直亮。
3.3PLC模拟量接线图
3.3.1模拟量SM331接线图如图3-3所示
图3-3模拟量输入模块
图3-4SM331模拟量输入模块的模拟值(双极性)
图3-5SM331模拟量输入模块的模拟值(单极性)
3.3.2模拟量SM332接线图如图3-6所示
图3-6图3-3模拟量输出模块
3.4S7-300编程软件
3.4.1S7-300编程软件介绍
S7-300编程软件为西门子STEP7
西门子STEP7是用于SIMATICS7-300/400站创建可编程逻辑控制程序的标准软件,可使用梯形图逻辑、功能块图和语句表进行编程操作。
在常规功能之外还具备以下的特点:
DK3964R/RK512等标准协议已经集成到控制器内,不需要额外驱动
MPI接口集成modem支持:
内置modem功能,可进行远程编程、诊断或数据传输
编程不需MPI转换器,直接通过PC上的RS232口
现场总线通讯功能.控制器功能中已集成了ProfibusDPMaster/Slave,ProfibusFMS和LONWorks.
利用webserver进行监控.储存HTML网页、图片、PDF文件等到控制器里供通用浏览器查看
扩展操作系统功能如保护技术秘密,防止被非法查看或复制
用Siemens原装Step7编程
直接运行Step7程序,毋需转换
兼容普遍使用的编程环境,使用熟悉的编程测试功能
用STL,LAD,FBD编程
使用Siemens工程工具,监视修改变量,程序状态等
相同指令集(SiemensS7-300和S7-400系列)
一些特殊功能,如串口通讯、计数等可在系统功能(SFCs)中编辑
最新版本:
STEP7V11
3.4.2STEP7中的编程语言
梯形图、语句表和功能块图是3种基本编程语言,可以相互转换。
1.顺序功能图(SFC):
STEP7中的S7Graph
2.梯形图(LAD)
直观易懂,适合于数字量逻辑控制。
“能流”(Powerflow)与程序执行的方向。
3.语句表(STL):
功能比梯形图或功能块图强。
4.功能块图(FBD):
“LOGO!
”系列微型PLC使用功能块图编程。
5.结构文本(ST):
STEP7的S7SCL(结构化控制语言)符合EN61131-3标准。
SCL适合于复杂的公式计算、复杂的计算任务和最优化算法,或管理大量的数据等。
6.S7HiGraph编程语言
图形编程语言S7HiGraph属于可选软件包,它用状态图(stategraphs)来描述异步、非顺序过程的编程语言。
7.S7CFC编程语言
可选软件包CFC(ContinuousFunctionChart,连续功能图)用图形方式连接程序库中以块的形式提供的各种功能。
8.编程语言的相互转换与选用
在STEP7编程软件中,如果程序块没有错误,并且被正确地划分为网络,在梯形图、功能块图和语句表之间可以转换。
如果部分网络不能转换,则用语句表表示。
语句表可供喜欢用汇编语言编程的用户使用。
语句表的输入快,可以在每条语句后面加上注释。
设计高级应用程序时建议使用语句表。
梯形图适合于熟悉继电器电路的人员使用。
设计复杂的触点电路时最好用梯形图。
功能块图适合于熟悉数字电路的人使用。
S7SCL编程语言适合于熟悉高级编程语言(例如PASCAL或C语言)的人使用。
S7Graph,HiGraph和CFC可供有技术背景,但是没有PLC编程S7Graph对顺序控制过程的编程非常方便,HiGraph经验的用户使用。
适合于异步非顺序过程的编程,CFC适合于连续过程控制的编程。
第四章PID控制
4.1PID算法
在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。
它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象──“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种最优控制。
PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活(PI、PD、…)。
PID控制算法目前大致分为三种,分别是:
增量式算法,位置式算法,微分先行。
这三种PID算法虽然简单,但各有特点,基本上能满足一般控制的大多数要求。
4.1.1PID增量式算法
离散化公式:
△u(t)=kp*(e(t)-e(t-1))+ki*e(t)+kd*(e(t)-2e(t-1)+e(t-2))
对于增量式算法,可以选择的功能有:
(1)滤波的选择
可以对输入加一个前置滤波器,使得进入控制算法的给定值不突变,而是有一定惯性延迟的缓变量。
(2)系统的动态过程加速
在增量式算法中,比例项与积分项的符号有以下关系:
如果被控量继续偏离给定值,则这两项符号相同,而当被控量向给定值方向变化时,则这两项的符号相反。
由于这一性质,当被控量接近给定值的时候,反号的比例作用阻碍了积分作用,因而避免了积分超调以及随之带来的振荡,这显然是有利于控制的。
但如果被控量远未接近给定值,仅刚开始向给定值变化时,由于比例和积分反向,将会减慢控制过程。
为了加快开始的动态过程,我们可以设定一个偏差范围v,当偏差|e(t)|<β时,即被控量接近给定值时,就按正常规律调节,而当|e(t)|>=β时,则不管比例作用为正或为负,都使它向有利于接近给定值的方向调整,即取其值为|e(t)-e(t-1)|,其符号与积分项一致。
利用这样的算法,可以加快控制的动态过程。
(3)PID增量算法的饱和作用及其抑制
在PID增量算法中,由于执行元件本身是机械或物理的积分储存单元,如果给定值发生突变时,由算法的比例部分和微分部分计算出的控制增量可能比较大,如果该值超过了执行元件所允许的最大限度,那么实际上执行的控制增量将时受到限制时的值,多余的部分将丢失,将使系统的动态过程变长,因此,需要采取一定的措施改善这种情况。
纠正这种缺陷的方法是采用积累补偿法,当超出执行机构的执行能力时,将其多余部分积累起来,而一旦可能时,再补充执行。
4.1.2PID位置算法
离散公式:
u(t)=u(t-1)+△u(t)
其中,△u(t)=kp[(e(t)-e(t-1))+ki*e(t)+kd*(e(t)-2e(t-1)+e(t-2))]
对于位置式算法,可以选择的功能有:
a、滤波:
同上为一阶惯性滤波
b、饱和作用抑制:
(1)遇限削弱积分法
一旦控制变量进入饱和区,将只执行削弱积分项的运算而停止进行增大积分项的运算。
具体地说,在计算Ui时,将判断上一个时刻的控制量Ui-1是否已经超出限制范围,如果已经超出,那么将根据偏差的符号,判断系统是否在超调区域,由此决定是否将相应偏差计入积分项。
(2)积分分离法
在基本PID控制中,当有较大幅度的扰动或大幅度改变给定值时,由于此时有较大的偏差,以及系统有惯性和滞后,故在积分项的作用下,往往会产生较大的超调量和长时间的波动。
特别是对于温度、成份等变化缓慢的过程,这一现象将更严重。
为此可以采用积分分离措施,即偏差较大的时,取消积分作用;当偏差较小时才将积分作用投入。
另外积分分离的阈值应视具体对象和要求而定。
若阈值太大,达不到积分分离的目的,若太小又有可能因被控量无法跳出积分分离区,只进行PD控制,将会出现残差。
离散化公式:
Δu(t)=q0e(t)+q1e(t-1)+q2e(t-2)
当|e(t)|≤β时
q0=Kp(1+T/Ti+Td/T)
q1=-Kp(1+2Td/T)
q2=KpTd/T
当|e(t)|>β时
q0=Kp(1+Td/T)
q1=-Kp(1+2Td/T)
q2=KpTd/T
u(t)=u(t-1)+Δu(t)
注:
各符号含义如下
u(t);;;;;控制器的输出值。
e(t);;;;;控制器输入与设定值之间的误差。
Kp;;;;;;;比例系数。
Ti;;;;;;;积分时间常数。
Td;;;;;;;微分时间常数。
(有的地方用"Kd"表示)
T;;;;;;;;调节周期。
β;;;;;;;积分分离阈值
(3)有效偏差法
当根据PID位置算法算出的控制量超出限制范围时,控制量实际上只能取边际值U=Umax,或U=Umin,有效偏差法是将相应的这一控制量的偏差值作为有效偏差值计入积分累计而不是将实际的偏差计入积分累计。
因为按实际偏差计算出的控制量并没有执行。
4.1.3微分先行PID算法
当控制系统的给定值发生阶跃时,微分作用将导致输出值大幅度变化,这样不利于生产的稳定操作。
因此在微分项中不考虑给定值,只对被控量(控制器输入值)进行微分。
微分先行PID算法又叫测量值微分PID算法。
我们这里使用的是S7-300里提供的PID专用模块(FB41模块),此模块是西门子公司已经写好的高级PID算法功能模块,我们直接拿来使用就好了。
具体使用方法将在下一张详细介绍。
4.2PID参数整定
4.2.1比例系数Kp对系统性能的影响
比例系数加大,使系统的动作灵敏,速度加快,稳态误差减小。
Kp偏大,振荡次数加多,调节时间加长。
Kp太大时,系统会趋于不稳定。
Kp太小,又会使系统的动作缓慢。
Kp可以选负数,这主要是由执行机构、传感器以控制对象的特性决定的。
如果Kc的符号选择不当对象状态(pv值)就会离控制目标的状态(sv值)越来越远,如果出现这样的情况Kp的符号就一定要取反。
4.2.2积分控制Ti对系统性能的影响
积分作用使系统的稳定性下降,Ti小(积分作用强)会使系统不稳定,但能消除稳态误差,提高系统的控制精度。
4.2.3微分控制Td对系统性能的影响
微分作用可以改善动态特性,Td偏大时,超调量较大,调节时间较短。
Td偏小时,超调量也较大,调节时间也较长。
只有Td合适,才能使超调量较小,减短调节时间。
4.2.4PID常用调节口诀
PID常用口诀:
参数整定找最佳,从小到大顺序查,
先是比例后积分,最后再把微分加,
曲线振荡很频繁,比例度盘要放大,
曲线漂浮绕大湾,比例度盘往小扳,
曲线偏离回复慢,积分时间往下降,
曲线波动周期长,积分时间再加长,
曲线振荡频率快,先把微分降下来,
动差大来波动慢,微分时间应加长,
理想曲线两个波,前高后低4比1,
一看二调多分析,调节质量不会低。
第五章PLC中PID控制
5.1设计中用到的功能块
5.1.1功能块OB35
在西门子s7_300里已经有专用的高级PID控制功能块,这里我们直接使用这个功能块来实现PID控制。
S7-300CPU可用的定时中断组织模块是OB35,在300站点的硬件组态中,打开CPU属性设置可以看到其它的中断组织块为灰色。
OB35默认的调用时间间隔为100ms我们可以根据需要更改,定时范围是1-60000毫秒(ms)。
我们设置成200ms。
在OB35中实现PID控制程序,OB35是一个以固定时间间隔循环执行的组织块,HardwareConfig界面里可以设置间隔时间,而这也即是PID的采样时间。
应该注意设置的间隔值比OB35中程序运行时间长,否则会造成系统异常
设置中断时间间隔如下图5-1所示
图5-1OB35中断时间设定
注意:
设置的时间必须大于OB35中程序执行所花费的时间。
例如:
如果中断时间间隔为50ms而OB35中的程序花费的时间是70ms,那么OB35中的程序还没执行完毕就产生第二次中断,程序就会出错,这显然是我们不想看到的结果。
正确设置:
中断时间间隔大于OB35中程序执行完毕一次所需的时间
5.1.2功能块FB41
1.FB41介绍
经过学习西门子S7-300PLC,我们可以使用模块FB41来实现PID控制,FB41就相当于我们常规仪表里的控制器,既然是PID控制器就应该能够设定P、I、D参数。
即:
比例度、积分时间、微分时间。
常规仪表的面板上可以更改PID参数,又有手动/自动切换按钮等。
今天我们要做的就是使用S7-300PLC的FB41来实现PID控制。
FB41是一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PLC PID 多点 温度 控制 系统 毕业设计