基于水箱液位控制系统的wincc与matlab的opc通讯系统设计_第1页
基于水箱液位控制系统的wincc与matlab的opc通讯系统设计_第2页
基于水箱液位控制系统的wincc与matlab的opc通讯系统设计_第3页
基于水箱液位控制系统的wincc与matlab的opc通讯系统设计_第4页
基于水箱液位控制系统的wincc与matlab的opc通讯系统设计_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计内容分析1.1毕业设计主要任务a.四容水箱与限制系统的接线b.系统硬件及网络组态c.PLC编程下载,d.WinCC系统设计e.Matlab系统设计1.2四容水箱系统概述四容水箱系统是一个完整的限制系统模型,通过管道的耦合实现了模拟多输入多输出的过程限制系统。在学习和应用这套系统的过程中,使我对实际生产中的过程限制有了更为深化的相识。整个水箱限制系统的结构图如下图所示:系统的设计与说明2.1PLC系统设计系统设计思路说明本系统当中,PLC的作用是读取传感器产生实际液位的模拟信号,并通过自己相应的AI模块将其转换为数字量,并由wincc采集以备运用。而由MATLAB运算得到的限制量(驱动电机)也由PLC传给电机驱动器。所以本系统中,PLC的作用在于数据的收发。系统的硬件接线a.硬件清单SITOP电源:西门子专用电源24V稳压电源:为水位传感器、驱动器、电机供应电压S7-300系列PLC:CPU315-2PN/DPAISM3318*12BIT:模拟量输入,转换成0—27648的数字量送入CPU订货号:6ES7331-7KF02-0AB0AOSM3328*12BIT:模拟量输出订货号:6ES7332-5HF00-0AB0MH-C超声波物位变送器:液位传感器电机驱动器:接收SM332输出信号,以此为限制电压驱动电机b.接线说明依据PLC所选的AI、AO模块的不同,测量量和限制量的不同,测量精度的不同,所选择的接线方式也不相同。具体到本系统,因为传感器(物位变送器)是将水位转换成4-20mA的电流信号,所以AI模块采纳4线制电流接法。而电机是通过1-5V的电压信号进行驱动,所以AO模块采纳2线制的电压接法。传感器与驱动器通过说明书完成对应的接线。SM331的电流测量接法原理图说明:依据管脚的标号进行对应的接线,采纳4线制接法,即下半部分的原理图,L+和M端为传感器信号的接线端,SM332用于两线制电压接法原理图说明:依据管脚的标号进行对应的接线,采纳2线制接法,即采纳CH4的接法,系统中运用的是CH2与CH3。图中的电阻相当于输出的负载,系统中电机驱动器的相应输入端即为负载。2.1.STEP7对S7-300系列PLC的各种应用都是基于组态硬件的基础上的a.打开simaticmanager软件,单击“新建”,输入相应的工程名称与路径,单击“确定”。b.在新建的工程项目上右键,插入一个S7-300站,在新插入的工程站中单击hardware,进入硬件组态画面c.在硬件组态画面中,依据系统的实际硬件状况,插入相应的CPU,AI,AO模块(依据模块的订货号查找,模块具体信息在有所说明)。并设置CPU的相应通讯IP地址(系统采纳工业以太网TCP/IP通讯方式),组态完成后的画面如下图至此,已经完成了PLC系统的硬件与通讯组态。西门子公司对每一个模块的每一个点都设定有唯一的肯定地址,编程时可依据这个地址干脆进行编程和访问。AI模块的设置;实际中运用的是通道0、1通道,所以勾选第一组,并选择4线制(4DMU),并将区间设定为4—20mA。AO模块的设置:实际中运用的是2、3通道,所以勾选后两组,并规定OutputRange为1—5V的输出区间。2.1.4依据本系统的要求,PLC中编写的程序应当能够实现数据的收发,因为数据的模数,数模转换已经由AI/AO模块实现,所以程序所须要实现的目标就是将代表水位的模拟量还原成真实的水位值,并且将电机的限制量限定在合适的范围内,使得限制的灵敏度达到最好,同时避开电压过高损坏电机。由上面所述的编程思路,在STEP7的编程软件中,运用FC105和FC106功能模块,这两个模块功能正好对应,其实质是对输入量或者输出量进行线性映射,使其对应到实际的区间当中。例如,由AI模块SM331转换后的代表水位的数字量在0——27648的范围内,通过FC105将其与0——26的区间进行线性映射,从而反映出实际的水位值,FC106同理。程序块说明IN端口输入为SM331模块转换后的数字量,PIW256为SM331模块一通道的肯定地址。LO_LIM与HI_LIM为线性映射区间的范围,将映射后的数值存储在DB1.DBD0当中。与FC105相对应,将电机限制量的值线性对应到输出量0——27648的范围上。这里LO_LIM与HI_LIM构成的范围选取详见节。两个程序块中的BIPOLAR和RET_VAL引脚没有运用,由于编程时须要定义它们的地址,所以随意加入了两个存储地址。2.2WinCC系统设计WinCC软件简介SIMATICWinCC是第一个运用最新的32位技术的过程监视系统,具有良好的开放性和敏捷性。WinCC集生产自动化和过程自动化于一体,实现了相互之间的整合,这在大量应用和各种工业领域的应用实例中业已证明,包括:汽车工业、机械和设备成套工程等。WinCC系统设计思路WinCC作为限制系统数据传递的核心,担负着交换水箱参数与MATLAB限制量的任务。因为WinCC软件是由西门子公司开发的,所以其与PLC的通讯较为简洁,只要通过建立变量,设定正确的地址,即可与PLC进行通讯。WinCC与MATLAB的通讯则要通过OPC协议进行。由于WinCC运行后,本身就可以作为OPC通讯方式的服务器,所以不须要再做其他设置,由MATLAB完成客户端的设置即可。WinCC系统设计说明a.打开WinCC软件,选择“文件”→“新建”→“单用户项目”,在“创建新项目”对话框中填写工程名称和选择路径,然后单击“创建”即可项目创建后,画面如下图b.在第一个选项“计算机”中,右键选择“属性”,在弹出的对话框中再选择“属性”,之后在弹出的“计算机属性”对话框中选择“启动”,勾选“变量记录运行系统”、“图形运行系统”、“用户归档”三个选项,然后单击“确定”c.在“变量管理”选项上右键,单击“添加新的驱动程序”,选择“SIMATICS7ProtocolSuite.chn”驱动集,添加完成后如下图所示d.本系统的设计采纳的通讯方式,所以变量的添加都在“TCP/IP”选项下进行。在“TCP/IP”选项上右键,单击“新驱动程序的连接”,在“连接属性”对话框中单击“属性”,然后在“连接参数”对话框中,输入PLC的CPU的IP地址和相应槽号。这一步是WinCC在TCP/IP的通讯方式下与PLC通讯的关键。e.在新生成的连接上右键,单击“新建变量”,在弹出的“变量属性”对话框中,对变量命名,选择类型,并选择变量地址,地址与PLC编程中的相应变量地址一样。重复上述过程,将所需变量添加完成。同理,在“内部变量”选项中,添加变量,这些变量的作用将在2.。。具体说明。到此,主要的连接工作已经设置完成。如下图L1,L2分别代表液位计1,2的水位;P1,P2分别代表泵1,2内部变量,in_L1、in_L2代表水位值,out_P1、out_P2代表泵的输出值,SP是目标液位指针。f.双击“变量记录”选项,将液位值和泵值进行归档设置,便于以后的利用。完成如下图g.双击“图形编辑器”选项,在弹出的图版中就可以组态监控画面了。试验期间建立了多个监控画面,虽不太相同,但实质功能是一样的,最终完成的组态画面如图所示左边的上图是液位变更的曲线显示。下图是水泵的输入电压的变更曲线。右边分别是液位和泵的实时值,还可以设置目标水位置。右下角是系统的模拟图。2.3MATLAB系统的设计MATLAB软件简介MATLAB是矩阵试验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB系统设计思路MATLAB在整个系统中是作为限制部分而存在的。MATLAB通过应用PID算法,对水位进行实时的调整和限制。而要实现这一功能,就须要水位数据和限制数据的实时传输,即MATLAB与WinCC进行实时的数据交换。在2.2.2MATLAB系统设计说明在MATLABR2008a()及以上版本中,供应了OPCtoolbox,可以在MATLAB的simulink仿真下干脆运用,只要进行相应的设置即可实现OPC通讯。在MATLAB主程序界面中,单击(simulink)按钮,新建仿真界面,在模块库中找到OPCtoolbox,将模块拉入界面中。模块说明:建立opc通讯的组态模块,设置服务器的相关选项,模块搭建时不参加连线。OPC读取变量模块,用于从wincc读取水位数据。OPC写变量模块,用于将运算值传送回wincc并以此限制电机的运转。b.双击“OPCConfiguration”模块,在弹出的对话框中,单击“ConfigureOPCClients”按钮,在弹出的“OPCClientManager”对话框中选择“add”按钮,再单击“select”按钮,找到“OPCserverWinCC”,单击“ok”。单击“connect”按钮,即可与WinCC相连接。c.双击“OPCRead”模块,在弹出的对话框中选择服务器,修改sampletime(采样时间)为0.05,之后单击“AddItems”,在相应菜单中即可找到WinCC中关于水位的内部变量,选中即可。这一步实质上就是WinCC和MATLAB关于相应变量进行对接的过程。如下图所示选择服务器,添加变量,修改采样时间d.双击“OPCWrite”模块,与OPCRead模块的修改方式相同,选择服务器,添加变量,修改该采样时间,使限制输出量与电机驱动变量实现对接。选择服务器,添加变量,修改采样时间b.在完成了OPC通讯的基本打算后,只须要搭建起限制部分的模型就可以了。依据自动限制原理的基本学问,对于单个输入,单个输出的系统,搭建其闭环反馈限制模型如下SP(目标水位)与in_L1(实际水位)的差值构成输入,经过PID限制器之后输出,通过Saturation限幅模块给电机从而调整水位达到目标值。由于PID运算的数值没有一个固定的范围,所以通过限幅模块将输出归一化为0—100,当运算值小于0时均输出0,大于100时均输出100OPCRead与OPCWrite构成一个事实上存在的反馈环,实现系统的闭环限制。本系统最终的算法并不是简洁的一般PID限制,关于算法的探讨在第三部分进行具体的说明。PID算法及参数整定的探讨与试验3.1PID限制原理与参数整定方法、PID限制简介在工程实际中,应用最为广泛的调整器限制规律为比例、积分、微分限制,简称PID限制,又称PID调整。PID限制器问世至今已有近70年历史,它以其结构简洁、稳定性好、工作牢靠、调整便利而成为工业限制的主要技术之一。当被控对象的结构和参数不能完全驾驭,或得不到精确的数学模型与传递函数时,亦或限制理论的其它技术难以采纳时,系统限制器的结构和参数必需依靠阅历和现场调试来确定,这时应用PID限制技术最为便利。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合PID限制技术。、PID限制原理PID限制,实际中也有PI和PD限制。PID限制器就是依据系统的误差,利用比例、积分、微分计算出限制量进行限制的。比例(P)限制比例限制是一种最简洁的限制方式。其限制器的输出与输入误差信号成比例关系。当仅有比例限制时系统输出存在稳态误差(Steady-stateerror)。积分(I)限制在积分限制中,限制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,假如在进入稳态后存在稳态误差,则称这个限制系统是有稳态误差的或简称有差系统(SystemwithSteady-stateError)。为了消退稳态误差,在限制器中必需引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动限制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)限制器,可以使系统在进入稳态后无稳态误差。微分(D)限制在微分限制中,限制器的输出与输入误差信号的微分(即误差的变更率)成正比关系。自动限制系统在克服误差的调整过程中可能会出现振荡甚至失稳。其缘由是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变更总是落后于误差的变更。解决的方法是使抑制误差的作用的变更“超前”,即在误差接近零时,抑制误差的作用就应当是零。这就是说,在限制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前须要增加的是“微分项”,它能预料误差变更的趋势,这样,具有比例+微分的限制器,就能够提前使抑制误差的限制作用等于零,甚至为负值,从而避开了被控量的严峻超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)限制器能改善系统在调整过程中的动态特性。、PID限制器的参数整定PID限制器的参数整定是限制系统设计的核心内容。它是依据被控过程的特性确定PID限制器的比例系数、积分时间和微分时间的大小。PID限制器参数整定的方法许多,概括起来有两大类。1.理论计算整定法:它主要是依据系统的数学模型,经过理论计算确定限制器参数。这种方法所得到的计算数据未必可以干脆用,还必需通过工程实际进行调整和修改。2.工程整定方法:它主要依靠工程阅历,干脆在限制系统的试验中进行,且方法简洁、易于驾驭,在工程实际中被广泛采纳。PID限制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后依据工程阅历公式对限制器参数进行整定。但无论采纳哪一种方法所得到的限制器参数,都须要在实际运行中进行最终调整与完善。PID各个参数对系统性能影响的试验验证3.2.1算法选择:MATLAB自带一般PID试验方法:Ki与Kd设置为0,通过Kp的不同大小来反映其对系统的影响试验取样:Kp值分别取10,20,30,40,起始水位0CM,水位目标10CM试验截图:Kp=10水位稳定在4CM左右,存在稳态误差。Kp=20水位稳定在7CM左右,亦存在稳态误差,但比Kp=10时稳态误差要小。Kp=30水位值在目标值旁边震荡,说明Kp过大会导致严峻超调,且无法进入稳态。Kp=40震荡进一步严峻。试验结论:可见,在只有比例作用时,系统存在稳态误差,而随着比例作用的增加,系统会出现严峻超调甚至是震荡,所以单独的比例限制很难保证系统的限制效果,须要加入其他的限制方式。积分环节(I)算法选择:MATLAB自带一般PID试验方法:Kp=10,Kd=0,通过Ki的不同大小来反映其对系统的影响试验取样:Ki值分别取1,2,5,起始水位0CM,水位目标10CM试验截图:

Ki=1加入肯定的积分作用后,稳态误差消退,系统反应较好,没有过大超调。Ki=2增大积分作用,系统反应速度减慢(峰值达到15CM),调整时间增长。Ki=5系统反应速度进一步减慢(峰值达到18CM),调整时间特别长。试验结论:由试验可以看出,积分环节可以有效的消退稳态误差,但是当积分环节的作用过强时,系统响应速度会变慢,调整时间过长,这明显是不符合要求的。所以须要利用比例环节和积分环节的协作,来达到系统所要求的目标,一个水箱环节用比例与积分的作用就可以达到比较满足的限制效果。微分环节(D)算法选择:MATLAB自带一般PID试验方法:Kp=15,Ki=1,通过Kd的不同大小来反映其对系统的影响试验取样:Kd值分别取0,2,5,起始水位0CM,水位目标10CM试验截图:

Kd=0在只有比例和积分的作用时,系统没有过大的超调,但是调整时间较长。Kd=2Kd=5试验结论:由试验可以看出,微分项对系统的动态性能有修正的作用,可以使系统提前对误差作出反应,避开出现较大的超调。但是当微分作用过强时会影响积分的作用时间,使系统离目标水位还有肯定距离的时候就起先减缓上水速度,影响工作效率。实际调整时,微分仅用来进行微调整,不作为主要的限制手段。3.3对限制系统参数的整定整定思路与具体方法思路在明确了各个参数的实际作用后,依据先P后I最终D的一般依次进行整定。由于系统本身的数学模型并不知道,所以采纳工程整定的方式,系统保持运行状态,在线整定。具体方法a.确定比例环节P确定比例环节Kp时,首先去掉PID的积分项和微分项,一般是令Ki为较大值、Kd=0,使PID为纯比例调整。由0渐渐加大比例环节Kp,直至系统出现振荡;再反过来,从今时的比例环节Kp渐渐减小,直至系统振荡消逝,记录此时的比例环节Kp,设定PID的比例环节Kp为当前值的50%~70%。比例环节P调试完成。b.确定积分环节I比例增益Kp确定后,设定一个较小的Ki的初值,然后渐渐增大Ki,直至系统出现振荡,之后再反过来,渐渐减小Ki,直至系统振荡消逝。记录此时的Ki,设定PID的Ki为当前值的45%~60%。Ki调试完成。c.确定微分环节DKd一般不用设定,为0即可。若要设定,与确定P和Ki的方法相同,取不振荡时的30%。d.系统在线运行,再对PID参数进行微调,直至满足要求。参数整定的试验过程与分析试验方法:依据上述调整方法在线整定试验过程:经过反复筛选,最终确定Ki值为1,Kp值取10—25之间基本能达到最好的效果。水位变更为10CM到15CM,15CM到10CM,10CM到20CM,20CM到10CM,截图如下KP=10,Ki=1,Kd=010CM到15CM15CM到10CM10CM到20CM20CM到10CMKP=15,Ki=1,Kd=010CM到15CM15CM到10CM10CM到20CM20CM到10CMKP=20,Ki=1,Kd=010CM到20CM20CM到10CMKP=25,Ki=1,Kd=010CM到20CM分析:将上述试验过程的数据列成表格如下,数据从左至右为调整水位的动态过程,例如第一行,当水位位于10CM时,设定目标值15CM,水位最超群调到达16.3CM,然后回落至15CM旁边PID参数Ki=1Kd=010CM超调点15CM超调点10CM超调点20CM超调点10CMKp=101016.31571024.4204.610Kp=151016.1158.71022.7206.510Kp=201022.3206.710Kp=251015.9156.81022.0207.010可见,虽然在稳态时的性能已经能达到要求,但是系统的动态特性却不尽如人意,尤其是在水位大范围变动时,超调严峻。参数的调整方法已经达到较好,说明问题可能出在算法自身或者是驱动器的可利用调整范围上面。通过这两种方式,有可能使动态性能达到最佳化。3.4PID算法的探讨与改进算法的选择PID算法多种多样,不同的算法对应解决不同的问题,应用于不同的领域。在对水箱的限制过程中,水位从高水位回落时,原始PID的运算限制量会呈现线性趋势(即偏差存在的时间越长,限制量就更加加大),水位回落过程中,限制量会出现负值,而试验的全部数据转换都进行了归一化处理,即保证0—100对应有效的1—5V限制电压,所以当水位回落至要求的高度时,限制量起先从负值增加,而从负值增加到0的这段时间属于无效限制,即“饱和”的现象。从PID的限制性质来看,这种问题是由于PID限制中积分环节(I)的积累作用导致的。偏差存在时间越长,积分积累的作用就越明显,进入饱和状态的时间也越长,从而导致系统限制性能恶化。这种现象又称为积分饱和现象。当明确了限制性能上的问题之后,随即进行了算法的改进。抗积分饱和的算法有许多种,如积分分别PID,积分反馈PID,变速积分PID,梯形积分PID等等。后来从应用上考虑,选择了积分分别和积分反馈PID两种算法进行试验。积分分别PID算法的试验算法介绍:所谓积分分别PID,就是在被控量与设定值偏差较大时,取消积分的作用,以免由于积分的作用使系统的稳定性降低,超调量增大。当被控量接近目标值时,从新引入积分限制,以便消退稳态误差。搭建的matlab仿真模块如下图仿真模块说明:中间部分如2.。。介绍,即为搭建的PID模块,其关键是利用switch模块,当其次通路的值大于某一设定值时,接通第一通路,即去掉了积分作用。当其次通路小于设定值时,接通第三通路从新引入积分作用。试验结果:进行了几组试验,部分截图如下可见动态效果得到明显改善,但是对于有些位置的限制很难保证,若过晚的引入积分作用,因为只有比例作用的存在,使系统稳定在稳态误差位置不再变更,或者比例作用过强而进入振荡状态。而过早的引入积分作用,又会使饱和作用抑制的不够完全,恶化系统的动态性能。平衡点的选取很难把握,所以最终放弃了这种算法。积分反馈PID算法的试验算法介绍:所谓积分反馈PID,就是对积分本身引入反馈,使PID的运算过程能够快速脱离饱和区甚至是不进入饱和状态。进入饱和区越深,反馈作用越明显,形成一种弹性限制效果,保证系统的快速反应实力。而在非饱和区运行时,积分反馈效果为0,即为一般PID限制。搭建的matlab仿真模块如下图仿真模块说明:积分的反馈量来自于限幅模块(将PID运算结果归到0—100之间,小于0时输出0,大于100时输出100)的两端,将他们的差值进行肯定的增益后反馈给积分环节,从而达到抗积分饱和的效果。在文献中,积分反馈的增益称为Tt,即为四个参数的PID限制。同时,在水位较低的区间,积分积累的时间较短(水位上升快),应选用较小的积分反馈的增益Tt,避开过快的退出满运行状态,使调整时间增大。而在水位较高的区间,积分积累的时间较长(水位上升慢),应选用较大的积分反馈的增益Tt,避开积分退出饱和区过慢,产生大的超调,调整时间增长。依据这一思路,对上述的模块进行微小的改进,重新搭建的模块如下图所示通过引入一个switch复合开关模块实现要求,switch模块是由其次通道作为选择开关,当满足switch的内部设置条件时,开关接通一通道;不满足条件时开关则接通三通道。如图所示,条件即为二通道的输入大于11.3CM,也就是实时水位大于11.3CM。经过在线调整之后,得出的效果较好的限制参数如下试验结果:进行了几组试验,部分截图如下利用积分反馈的方法达到了相当好的限制效果,动态性能改善显著。3.5驱动器特性探讨及限制改进问题简述与改进思路在上文中提到过,限制量的输出为0—100,系统的有效输出电压为1—5V,理论上有效的限制范围即为1—5V。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论