59基于水箱液位控制系统的wincc与matlab的opc通讯系统设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1、毕业设计内容分析1.1毕业设计主要任务a.四容水箱与控制系统的接线b.系统硬件及网络组态c.PLC编程下载,d.WinCC系统设计e.Matlab系统设计1.2四容水箱系统概述四容水箱系统是一个完整的控制系统模型,通过管道的耦合实现了模拟多输入多输出的过程控制系统。在学习和应用这套系统的过程中,使我对实际生产中的过程控制有了更为深入的认识。整个水箱控制系统的结构图如下图所示:2、系统的设计与说明2.1PLC系统设计2.1.1系统设计思路说明本系统当中,PLC的作用是读取传感器产生实际液位的模拟信号,并通过自己相应的AI模块将其转换为数字量,并由wincc采集以备使用。而由MATLAB运算得到的控制量(驱动电机)也由PLC传给电机驱动器。所以本系统中,PLC的作用在于数据的收发。2.1.2系统的硬件接线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.3STEP7硬件组态设计说明STEP7对S7-300系列PLC的各种应用都是基于组态硬件的基础上的a.打开simaticmanager软件,单击“新建”,输入相应的工程名称与路径,单击“确定”。b.在新建的工程项目上右键,插入一个S7-300站,在新插入的工程站中单击hardware,进入硬件组态画面c.在硬件组态画面中,根据系统的实际硬件情况,插入相应的CPU,AI,AO模块(根据模块的订货号查找,模块详细信息在2.1.2有所说明)。并设置CPU的相应通讯IP地址(系统采用工业以太网TCP/IP通讯方式),组态完成后的画面如下图至此,已经完成了PLC系统的硬件与通讯组态。西门子公司对每一个模块的每一个点都设定有唯一的绝对地址,编程时可根据这个地址直接进行编程和访问。AI模块的设置;实际中使用的是通道0、1通道,所以勾选第一组,并选择4线制(4DMU),并将区间设定为4—20mA。AO模块的设置:实际中使用的是2、3通道,所以勾选后两组,并规定OutputRange为1—5V的输出区间。2.1.4STEP7程序编写与说明根据本系统的要求,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构成的范围选取详见3.5.3节。两个程序块中的BIPOLAR和RET_VAL引脚没有使用,由于编程时需要定义它们的地址,所以任意加入了两个存储地址。2.2WinCC系统设计2.2.1WinCC软件简介SIMATICWinCC是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。WinCC集生产自动化和过程自动化于一体,实现了相互之间的整合,这在大量应用和各种工业领域的应用实例中业已证明,包括:汽车工业、机械和设备成套工程等。2.2.2WinCC系统设计思路WinCC作为控制系统数据传递的核心,担负着交换水箱参数与MATLAB控制量的任务。因为WinCC软件是由西门子公司开发的,所以其与PLC的通讯较为简单,只要通过建立变量,设定正确的地址,即可与PLC进行通讯。WinCC与MATLAB的通讯则要通过OPC协议进行。由于WinCC运行后,本身就可以作为OPC通讯方式的服务器,所以不需要再做其他设置,由MATLAB完成客户端的设置即可。2.2.3WinCC系统设计说明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系统的设计2.3.1MATLAB软件简介MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。2.3.2MATLAB系统设计思路MATLAB在整个系统中是作为控制部分而存在的。MATLAB通过应用PID算法,对水位进行实时的调整和控制。而要实现这一功能,就需要水位数据和控制数据的实时传输,即MATLAB与WinCC进行实时的数据交换。在2.2.2节已经说明WinCC本身运行即成为OPC通讯方式的服务器,所以只需对MATLAB进行OPC客户端设置,实现OPC通讯即可。2.3.3MATLAB系统设计说明在MATLABR2008a(7.6.0)及以上版本中,提供了OPCtoolbox,可以在MATLAB的simulink仿真下直接使用,只要进行相应的设置即可实现OPC通讯。a.在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控制,关于算法的研究在第三部分进行详细的说明。3、PID算法及参数整定的研究与实验3.1PID控制原理与参数整定方法3.1.1、PID控制简介在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型与传递函数时,亦或控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合PID控制技术。3.1.2、PID控制原理PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。比例(P)控制比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-stateerror)。积分(I)控制在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(SystemwithSteady-stateError)。为了消除稳态误差,在控制器中必须引入“积

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功