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

下载本文档

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

文档简介

1、毕业设计内容分析1.1毕业设计主要任务a.四容水箱与控制系统的接线b.系统硬件及网络组态c.PLC编程下载,d.WinCC系统设计e.Matlab系统设计1.2 四容水箱系统概述四容水箱系统是一个完整的控制系统模型,通过管道的耦合实现了模拟多输入多输出的过程控制系统。在学习和应用这套系统的过程中,使我对实际生产中的过程控制有了更为深入的认识。整个水箱控制系统的结构图如下图所示:系统的设计与说明2.1PLC系统设计2.1.1系统设计思路说明本系统当中,PLC的作用是读取传感器产生实际液位的模拟信号,并通过自己相应的AI模块将其转换为数字量,并由wincc采集以备使用。而由MATLAB运算得到的控

2、制量(驱动电机)也由PLC传给电机驱动器。所以本系统中,PLC的作用在于数据的收发。2.1.2系统的硬件接线a.硬件清单SITOP电源: 西门子专用电源24V稳压电源: 为水位传感器、驱动器、电机提供电压S7-300系列PLC: CPU315-2PN/DPAI SM331 8*12BIT:模拟量输入,转换成027648的数字量送入CPU订货号:6ES7331-7KF02-0AB0AO SM332 8*12BIT:模拟量输出订货号:6ES7332-5HF00-0AB0MH-C超声波物位变送器:液位传感器电机驱动器:接收SM332输出信号,以此为控制电压驱动电机b.接线说明根据PLC所选的AI、A

3、O模块的不同,测量量和控制量的不同,测量精度的不同,所选择的接线方式也不相同。具体到本系统,因为传感器(物位变送器)是将水位转换成4-20mA的电流信号,所以AI模块采用4线制电流接法。而电机是通过1-5V的电压信号进行驱动,所以AO模块采用2线制的电压接法。传感器与驱动器通过说明书完成对应的接线。SM331的电流测量接法原理图说明:根据管脚的标号进行对应的接线,采用4线制接法,即下半部分的原理图,L+和M端为传感器信号的接线端,SM332用于两线制电压接法原理图说明:根据管脚的标号进行对应的接线,采用2线制接法,即采用CH4的接法,系统中使用的是CH2与CH3。图中的电阻相当于输出的负载,系

4、统中电机驱动器的相应输入端即为负载。2.1.3 STEP7硬件组态设计说明STEP7对S7-300系列PLC的各种应用都是基于组态硬件的基础上的a. 打开simatic manager软件,单击“新建”,输入相应的工程名称与路径,单击“确定”。b.在新建的工程项目上右键,插入一个S7-300站,在新插入的工程站中单击hardware,进入硬件组态画面c.在硬件组态画面中,根据系统的实际硬件情况,插入相应的CPU,AI,AO模块(根据模块的订货号查找,模块详细信息在2.1.2有所说明)。并设置CPU的相应通讯IP地址(系统采用工业以太网TCP/IP通讯方式),组态完成后的画面如下图至此,已经完成

5、了PLC系统的硬件与通讯组态。西门子公司对每一个模块的每一个点都设定有唯一的绝对地址,编程时可根据这个地址直接进行编程和访问。AI模块的设置;实际中使用的是通道0、1通道,所以勾选第一组,并选择4线制(4DMU),并将区间设定为420mA。AO模块的设置:实际中使用的是2、3通道,所以勾选后两组,并规定Output Range为15V的输出区间。2.1.4 STEP7程序编写与说明根据本系统的要求,PLC中编写的程序应该能够实现数据的收发,因为数据的模数,数模转换已经由AI/AO模块实现,所以程序所需要实现的目标就是将代表水位的模拟量还原成真实的水位值,并且将电机的控制量限定在合适的范围内,使

6、得控制的灵敏度达到最好,同时避免电压过高损坏电机。由上面所述的编程思路,在STEP7的编程软件中,使用FC105和FC106功能模块,这两个模块功能正好对应,其实质是对输入量或者输出量进行线性映射,使其对应到实际的区间当中。例如,由AI模块SM331转换后的代表水位的数字量在027648的范围内,通过FC105将其与026的区间进行线性映射,从而反映出实际的水位值,FC106同理。程序块说明IN端口输入为SM331模块转换后的数字量,PIW256为SM331模块一通道的绝对地址。LO_LIM与HI_LIM为线性映射区间的范围,将映射后的数值存储在DB1.DBD0当中。与FC105相对应,将电机

7、控制量的值线性对应到输出量027648的范围上。这里LO_LIM与HI_LIM构成的范围选取详见3.5.3节。两个程序块中的BIPOLAR和RET_VAL引脚没有使用,由于编程时需要定义它们的地址,所以任意加入了两个存储地址。2.2WinCC系统设计2.2.1WinCC软件简介SIMATIC WinCC是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。WinCC集生产自动化和过程自动化于一体,实现了相互之间的整合,这在大量应用和各种工业领域的应用实例中业已证明,包括:汽车工业、机械和设备成套工程等。2.2.2WinCC系统设计思路WinCC作为控制系统数据传递的核心,担负着

8、交换水箱参数与MATLAB控制量的任务。因为WinCC软件是由西门子公司开发的,所以其与PLC的通讯较为简单,只要通过建立变量,设定正确的地址,即可与PLC进行通讯。WinCC与MATLAB的通讯则要通过OPC协议进行。由于WinCC运行后,本身就可以作为OPC通讯方式的服务器,所以不需要再做其他设置,由MATLAB完成客户端的设置即可。2.2.3WinCC系统设计说明a.打开WinCC软件,选择“文件”“新建”“单用户项目”,在“创建新项目”对话框中填写工程名称和选择路径,然后单击“创建”即可项目创建后,画面如下图b.在第一个选项“计算机”中,右键选择“属性”,在弹出的对话框中再选择“属性”

9、,之后在弹出的“计算机属性”对话框中选择“启动”,勾选“变量记录运行系统”、“图形运行系统”、“用户归档”三个选项,然后单击“确定”c.在“变量管理”选项上右键,单击“添加新的驱动程序”,选择“SIMATIC S7 Protocol Suite.chn”驱动集,添加完成后如下图所示d.本系统的设计采用的通讯方式,所以变量的添加都在“TCP/IP”选项下进行。在“TCP/IP”选项上右键,单击“新驱动程序的连接”,在“连接属性”对话框中单击“属性”,然后在“连接参数”对话框中,输入PLC的CPU的IP地址和相应槽号。这一步是WinCC在TCP/IP的通讯方式下与PLC通讯的关键。e.在新生成的连

10、接上右键,单击“新建变量”,在弹出的“变量属性”对话框中,对变量命名,选择类型,并选择变量地址,地址与PLC编程中的相应变量地址一致。重复上述过程,将所需变量添加完成。同理,在“内部变量”选项中,添加变量,这些变量的作用将在2.。详细说明。到此,主要的连接工作已经设置完成。如下图L1,L2分别代表液位计1,2的水位;P1,P2分别代表泵1,2内部变量,in_L1、in_L2代表水位值,out_P1、out_P2代表泵的输出值,SP是目标液位指针。f.双击“变量记录”选项,将液位值和泵值进行归档设置,便于以后的利用。完成如下图g.双击“图形编辑器”选项,在弹出的图版中就可以组态监控画面了。实验期

11、间建立了多个监控画面,虽不太相同,但实质功能是一致的,最后完成的组态画面如图所示左边的上图是液位变化的曲线显示。下图是水泵的输入电压的变化曲线。右边分别是液位和泵的实时值,还可以设置目标水位置。右下角是系统的模拟图。2.3MATLAB系统的设计2.3.1MATLAB软件简介MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。2.3.2MATLAB系统设计思路MATLAB在整个系统中是作为控制部分而存在的。

12、MATLAB通过应用PID算法,对水位进行实时的调整和控制。而要实现这一功能,就需要水位数据和控制数据的实时传输,即MATLAB与WinCC进行实时的数据交换。在2.2.2节已经说明WinCC本身运行即成为OPC通讯方式的服务器,所以只需对MATLAB进行OPC客户端设置,实现OPC通讯即可。2.3.3MATLAB系统设计说明在MATLAB R2008a(7.6.0)及以上版本中,提供了OPC toolbox,可以在MATLAB的simulink仿真下直接使用,只要进行相应的设置即可实现OPC通讯。在MATLAB主程序界面中,单击(simulink)按钮,新建仿真界面,在模块库中找到OPC t

13、oolbox,将模块拉入界面中。模块说明:建立opc通讯的组态模块,设置服务器的相关选项,模块搭建时不参与连线。OPC读取变量模块,用于从wincc读取水位数据。OPC写变量模块,用于将运算值传送回wincc并以此控制电机的运转。b.双击“OPC Configuration”模块,在弹出的对话框中,单击“Configure OPC Clients”按钮,在弹出的“OPC Client Manager”对话框中选择“add”按钮,再单击“select”按钮,找到“OPC server WinCC”,单击“ok”。单击“connect”按钮,即可与WinCC相连接。c.双击“OPC Read”模块

14、,在弹出的对话框中选择服务器,修改sample time(采样时间)为0.05,之后单击“Add Items”,在相应菜单中即可找到WinCC中关于水位的内部变量,选中即可。这一步实质上就是WinCC和MATLAB关于相应变量进行对接的过程。如下图所示选择服务器,添加变量,修改采样时间d.双击“OPC Write”模块,与OPC Read模块的修改方式相同,选择服务器,添加变量,修改该采样时间,使控制输出量与电机驱动变量实现对接。选择服务器,添加变量,修改采样时间b.在完成了OPC通讯的基本准备后,只需要搭建起控制部分的模型就可以了。根据自动控制原理的基本知识,对于单个输入,单个输出的系统,搭

15、建其闭环反馈控制模型如下SP(目标水位)与in_L1(实际水位)的差值构成输入,经过PID控制器之后输出,通过Saturation限幅模块给电机从而调整水位达到目标值。由于PID运算的数值没有一个固定的范围,所以通过限幅模块将输出归一化为0100,当运算值小于0时均输出0,大于100时均输出100OPC Read与OPC Write构成一个实际上存在的反馈环,实现系统的闭环控制。本系统最后的算法并不是简单的普通PID控制,关于算法的研究在第三部分进行详细的说明。PID算法及参数整定的研究与实验3.1 PID控制原理与参数整定方法3.1.1、PID控制简介在工程实际中,应用最为广泛的调节器控制规

16、律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型与传递函数时,亦或控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合PID控制技术。3.1.2、PID控制原理PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的

17、。比例(P)控制比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。积分(I)控制在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控 制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减

18、小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。微分(D)控制在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比 关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前” ,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入 “比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项” ,它能预测误差变化的趋势,这样,具有比例+微分的控

19、制器 ,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例 + 微分 (PD) 控制器能改善系统在调节过程中的动态特性。3.1.3、PID控制器的参数整定PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确 定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类。1.理论计算整定法:它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。2.工程整定方法:它主要依赖工程经验,直接在控制系统的

20、试验中进行, 且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。PID各个参数对系统性能影响的实验验证3.2.1比例环节(P)算法选择:MATLAB自带普通PID实验方法:Ki与Kd设置为0,通过Kp的不同大小来反映其对系统的影响实验取样:Kp值分别取10,20,30,40,起始水位0CM,水位目标10CM实验截图:Kp=10水位稳定在4CM左右,存在稳态误差。Kp=2

21、0水位稳定在7CM左右,亦存在稳态误差,但比Kp=10时稳态误差要小。Kp=30水位值在目标值附近震荡,说明Kp过大会导致严重超调,且无法进入稳态。Kp=40 震荡进一步严重。实验结论:可见,在只有比例作用时,系统存在稳态误差,而随着比例作用的增强,系统会出现严重超调甚至是震荡,所以单独的比例控制很难保证系统的控制效果,需要加入其他的控制方式。3.2.2积分环节(I)算法选择:MATLAB自带普通PID实验方法:Kp=10,Kd=0,通过Ki的不同大小来反映其对系统的影响实验取样:Ki值分别取1,2,5,起始水位0CM,水位目标10CM实验截图:Ki=1加入一定的积分作用后,稳态误差消除,系统

22、反应较好,没有过大超调。Ki=2增大积分作用,系统反应速度减慢(峰值达到15CM),调节时间增长。Ki=5系统反应速度进一步减慢(峰值达到18CM),调节时间非常长。实验结论:由实验可以看出,积分环节可以有效的消除稳态误差,但是当积分环节的作用过强时,系统响应速度会变慢,调节时间过长,这显然是不符合要求的。所以需要利用比例环节和积分环节的配合,来达到系统所要求的目标,一个水箱环节用比例与积分的作用就可以达到比较满意的控制效果。3.2.2微分环节(D)算法选择:MATLAB自带普通PID实验方法:Kp=15,Ki =1,通过Kd的不同大小来反映其对系统的影响实验取样:Kd值分别取0,2,5,起始

23、水位0CM,水位目标10CM实验截图:Kd=0在只有比例和积分的作用时,系统没有过大的超调,但是调节时间较长。Kd=2Kd=5实验结论:由实验可以看出,微分项对系统的动态性能有修正的作用,可以使系统提前对误差作出反应,避免出现较大的超调。但是当微分作用过强时会影响积分的作用时间,使系统离目标水位还有一定距离的时候就开始减缓上水速度,影响工作效率。实际调节时,微分仅用来进行微调整,不作为主要的控制手段。3.3对控制系统参数的整定3.3.1整定思路与具体方法思路在明确了各个参数的实际作用后,按照先P后I最后D的一般顺序进行整定。由于系统本身的数学模型并不知道,所以采用工程整定的方式,系统保持运行状

24、态,在线整定。具体方法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即

25、可。若要设定,与确定P和Ki的方法相同,取不振荡时的30%。d.系统在线运行,再对PID参数进行微调,直至满足要求。3.3.2参数整定的试验过程与分析实验方法:按照上述调节方法在线整定实验过程:经过反复筛选,最终确定Ki值为1,Kp值取1025之间基本能达到最好的效果。水位变化为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=

26、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可见,虽然在稳态时的性能已经能达到要

27、求,但是系统的动态特性却不尽如人意,尤其是在水位大范围变动时,超调严重。参数的调节方法已经达到较好,说明问题可能出在算法自身或者是驱动器的可利用调节范围上面。通过这两种方式,有可能使动态性能达到最佳化。3.4PID算法的研究与改进3.4.1算法的选择PID算法多种多样,不同的算法对应解决不同的问题,应用于不同的领域。在对水箱的控制过程中,水位从高水位回落时,原始PID的运算控制量会呈现线性趋势(即偏差存在的时间越长,控制量就越发加大),水位回落过程中,控制量会出现负值,而实验的所有数据转换都进行了归一化处理,即保证0100对应有效的15V控制电压,所以当水位回落至要求的高度时,控制量开始从负值

28、增加,而从负值增加到0的这段时间属于无效控制,即“饱和”的现象。从PID的控制性质来看,这种问题是由于PID控制中积分环节(I)的积累作用导致的。偏差存在时间越长,积分积累的作用就越明显,进入饱和状态的时间也越长,从而导致系统控制性能恶化。这种现象又称为积分饱和现象。当明确了控制性能上的问题之后,随即进行了算法的改进。抗积分饱和的算法有很多种,如积分分离PID,积分反馈PID,变速积分PID,梯形积分PID等等。后来从应用上考虑,选择了积分分离和积分反馈PID两种算法进行实验。3.4.2积分分离PID算法的实验算法介绍:所谓积分分离PID,就是在被控量与设定值偏差较大时,取消积分的作用,以免由

29、于积分的作用使系统的稳定性降低,超调量增大。当被控量接近目标值时,从新引入积分控制,以便消除稳态误差。搭建的matlab仿真模块如下图仿真模块说明:中间部分如2.。介绍,即为搭建的PID模块,其关键是利用switch模块,当第二通路的值大于某一设定值时,接通第一通路,即去掉了积分作用。当第二通路小于设定值时,接通第三通路从新引入积分作用。实验结果:进行了几组实验,部分截图如下可见动态效果得到明显改善,但是对于有些位置的控制很难保证,若过晚的引入积分作用,因为只有比例作用的存在,使系统稳定在稳态误差位置不再变化,或者比例作用过强而进入振荡状态。而过早的引入积分作用,又会使饱和作用抑制的不够完全,

30、恶化系统的动态性能。平衡点的选取很难把握,所以最终放弃了这种算法。3.4.2积分反馈PID算法的实验算法介绍:所谓积分反馈PID,就是对积分本身引入反馈,使PID的运算过程能够快速脱离饱和区甚至是不进入饱和状态。进入饱和区越深,反馈作用越明显,形成一种弹性控制效果,保证系统的快速反应能力。而在非饱和区运行时,积分反馈效果为0,即为一般PID控制。搭建的matlab仿真模块如下图仿真模块说明:积分的反馈量来自于限幅模块(将PID运算结果归到0100之间,小于0时输出0,大于100时输出100)的两端,将他们的差值进行一定的增益后反馈给积分环节,从而达到抗积分饱和的效果。在文献中,积分反馈的增益称

31、为Tt,即为四个参数的PID控制。同时,在水位较低的区间,积分积累的时间较短(水位上升快),应选用较小的积分反馈的增益Tt,避免过快的退出满运行状态,使调节时间增大。而在水位较高的区间,积分积累的时间较长(水位上升慢),应选用较大的积分反馈的增益Tt,避免积分退出饱和区过慢,产生大的超调,调节时间增长。根据这一思路,对上述的模块进行微小的改进,重新搭建的模块如下图所示通过引入一个switch复合开关模块实现要求,switch模块是由第二通道作为选择开关,当满足switch的内部设置条件时,开关接通一通道;不满足条件时开关则接通三通道。如图所示,条件即为二通道的输入大于11.3CM,也就是实时水

32、位大于11.3CM。经过在线调整之后,得出的效果较好的控制参数如下实验结果:进行了几组实验,部分截图如下利用积分反馈的方法达到了相当好的控制效果,动态性能改善显著。3.5驱动器特性研究及控制改进3.5.1问题简述与改进思路在上文中提到过,控制量的输出为0100,系统的有效输出电压为15V,理论上有效的控制范围即为15V。但是电机实际运转起来的临界控制电压并不是1V,并且不同的驱动器又有着不同的控制效果,导致电机的临界启动点各不相同。针对这个问题,如果可以找到驱动器驱动电机运转的临界点,并以此通过程序切除没有作用的电机运转“死区(某种意义上类似于积分的饱和区)”,可以从硬件上优化PID控制的效果

33、,使系统控制更加灵敏。3.5.2测定电机运转临界点的实验实验思路:利用step7编写一个程序,使电机电压从1V开始提升,电机临界出水点时记录相应16进制数据,最后换算为实际电压。实验方法:编程将电压上升时间分割为0999个增加点,每60MS加1利用西门子提供的excel表格(已后台编程)读取wincc数据库数据,再由matlab绘制出驱动器特性曲线,进而找到临界运转点,从而调整原程序。实验结果:电机驱动特性图(15V上升)电机驱动特性图(51V下降)通过实验中取得的电机临界数据,可以得到大概的临界启动值为012B,即1.197V。3.5.3.程序改进在2.2.2中详细的叙述了编程的思路和原理,

34、整个数据的对应关系如下图PID运算值0-100FC106模块区间限制0-100数字量0-27648控制电压1-5V为了达到切除死区的效果,改变FC106模块的区间值即可实现,即将FC106的区间改为-X到100。因为各个部分都是线性对应关系,所以根据已经算出来的启动点,利用简单的比例关系即可得到所需要调整的数值。具体过程如下:设 -X-0-100对应0-8275(012B换算得到)-27648根据线性对应关系可以计算得到X=42.7经过这样的修改,PID运算值0100传送到FC106的时候就对应到了8275-27648,使得可控有效区间达到最大化,切除无效死区。改进后的对应关系如下最小值最大值

35、PID00100FC106入-42.70100FC106出0827527648控制电压1V1.197V5V可见,控制电压的区间变为1.197V到5V,舍去了0到1.197V的不可控区间,提高了系统的反应速度。3.6最佳化方案实验结果参数选择:Kp=20,Ki=1.5,Kd=1.5,Tt=0.14,Tt1=0.04模块截图实验效果图(使用了最终版本的wincc监控界面,调节监控一体化,稍加美观修饰)水位初始值为20CM。可见动态效果非常好,稳态效果也不错。水位初始值为0CM(由实际硬件所限不能到达0CM,只能接近)水位初始值为20CM水位初始值为10CM水位初始值为20CM附录资料:matlab

36、绘图指令大全绘图指令1 二维曲线图1.1 绘制折线图plot指令图例Y=1,3,6,5,9,0,2;plot(Y);X=0: pi/10: pi*2;Y=sin(X);plot(X,Y);X=0: pi/10: pi*2;Y1=sin(X);Y2=cos(X);Plot(X,Y1,X,Y2);调整坐标范围:axisaxis(0,300,0,2)1.2 绘制自定义函数DrawCircle.mfunction DrawCircle(Point,Radius) Hold on t=0: pi/10: 2*pi; x=Point(1)+ Radius*cos(t); y=Point(2)+ Radiu

37、s*sin(t); plot(x,y);DrawCircle(10 10,1)DrawCircle(20 10,2)DrawCircle(10 20,3)1.3 绘制符号函数显函数ezplot(sin(x),0,2*pi)隐函数ezplot(x2+y2-10,-5,5,-6,6)参数方程ezplot(cos(t)3,sin(t)3,0,2*pi)1.4 绘制自定义函数function y=myf1(x) y=sqrt(100-x2);fplot(myf1,-15 15)fplot(sin(x) cos(x) myf1(x),-15 15)1.5 图形修饰 设置颜色 y m c r g b w

38、k 设置线型 - : -. - 设置标记 . o x + * 指令图例Y=1,3,6,5,9,0,2;plot(Y, r-+);X=0: pi/10: pi*2;Y=sin(X);plot(X,Y, b-.);X=0: pi/10: pi*2;Y1=sin(X); Y2=cos(X);plot(X,Y1,r+-, X,Y2,b-*); 在指定坐标处,书写文字:text(3.5, 0.6, 曲线比较);x=1.6*pi, 1.6*pi; y=-0.3, 0.8;s=曲线cos; 曲线sin; text(x,y,s);1.6 更多类型的二维图指令图例bar直方图X=0:pi/10:2*pi;Y=s

39、in(X);bar(X,Y);polar极坐标图T=0: pi/10: 4*pi;R=T;polar(T, R);误差棒棒图X=0:pi/10:2*pi;Y=sin(X);e=0.2*rand(size(X);errorbar(X,Y,e);火柴杆图X=0:pi/10:2*pi; Y=sin(X);stem(X,Y);stairs楼梯图X=0:pi/10:2*pi; Y=sin(X);stairs(X,Y);多边形填色图X=1,2,3,4,5; Y=3,5,2,1,6;fill(X,Y,r);hold on; % 保持图形plot(X,Y,o)1.7 数值函数的二维图 可用于绘图,更可用于采样

40、取点。 fplot(0.5*cos(x),-pi,pi) % 绘图X,Y = fplot(0.5*cos(x),-pi,pi); % 返回点坐标fplot(cos(x),-pi,pi,r-+); % 观察点的位置控制采样点的密度fplot(cos(x),-pi,pi,r-+,0.05);fplot(cos(x),-pi,pi,r-+,0.1); 可绘制系统函数,也可绘制自定义函数的图形。2 三维曲线图2.1 三维曲线plot3指令图例X=0: 0.1: 8*pi;Y=sin(X);Z=cos(X); plot3(X,Y,Z,r);X=0: 0.1: 8*pi;Y=sin(X);Z1=cos(X

41、);Z2=2*cos(X); plot3(X,Y,Z1,r, X,Y,Z2,b);2.2 三维面填色fill3指令图例X1=2,2,1;Y1=0,2,1; Z1=0,0,1;fill3(X1,Y1,Z1,r);hold on;X2=1,0,0;Y2=1,2,0;Z2=1,0,0;fill3(X2,Y2,Z2,r);X3=0,2,1;Y3=2,2,1;Z3=0,0,1;fill3(X3,Y3,Z3,b);text(1,1,1,1,1,1);3 曲面图形3.1 网格点坐标的表示x=1:2:7y=2:2:6X,Y = meshgrid(x,y)X = 1 3 5 7 1 3 5 7 1 3 5 7Y

42、 = 2 2 2 2 4 4 4 4 6 6 6 63.2 三维网格mesh、meshc、meshz 用途:数据场的观察分析命令图例随机数据的网格Z=rand(5,5);mesh(Z);% 设置颜色colormap(1,0,0);自定义函数的网格x=-4: 1: 4;y=-5: 1: 5;X,Y=meshgrid(x,y);Z=X.2+Y.2;mesh(X,Y,Z); 消影开关:hidden on / hidden off 利用peaks(50)作为模拟数据矩阵;命令图例 带等高线的网格Z=peaks(50);meshc(Z);Z=peaks(50);meshc(Z);colormap(1,0

43、,0);带基准面的网格Z=peaks(50);meshz(Z);剪孔Z=peaks(50);Z(30:45,15:30)=NaN*ones(16,16);meshc(Z);3.3 着色表面图surf、surfc命令图例表面着色的网格Z=peaks(50);surf(Z);自定义函数的着色网格x=-2: 0.1: 2;y=-2: 0.1: 2;X,Y=meshgrid(x,y);Z=sqrt(X.2+Y.2);surfc(X,Y,Z);3.4 二元函数的伪彩色图pcolor 用途:污染浓度场的观察分析。命令图例Z=peaks(50); pcolor(Z);colorbar(hor);colorb

44、ar(vec);3.5 等高线contour不仅可用于绘图,更可以用以求截面数据。命令图例以矩阵下标为x、y分量的等高线Z=peaks(50);C=contour(Z);colormap(1,0,0);C:保存了全部等高线上的点坐标。均分n条等高线,并标注之Z=peaks(50);n=5;C=contour(Z,n);colormap(1,0,0);clabel(C);在指定高度绘制等高线Z=peaks(50);V=-10: 2: 10;C=contour(Z, V);colormap(1,0,0);clabel(C);完整图形数据的等高线x=-2: 0.1: 2;y=-2: 0.1: 2;X

45、,Y=meshgrid(x,y);Z=sqrt(X.2+Y.2);n=5;C=contour(X,Y,Z,n);三维等高线x=-2:0.1:2;y=-2:0.1:2;X,Y=meshgrid(x,y);Z=sqrt(X.2+Y.2);n=10;C=contour3(X,Y,Z,n); 3.6 矢量场图quiver用于挖掘数据变化趋势。命令图例构造起伏跌宕的曲面x=-2:0.2:2;y=-1:0.2:1;X,Y=meshgrid(x,y);Z=X.*exp(-X.2-Y.2);mesh(X,Y,Z);xlabel(X轴);ylabel(Y轴);colormap(1,0,0);计算曲面的梯度px,

46、py= gradient(Z,0.2,0.2);绘制矢量场图quiver(x,y,px,py);3.7 视角控制view视点控制方式及效果:view(1 1 1)view(2 1 1)view(3 1 1)view(1 1 1)view(1 2 1)view(1 3 1)view(1 1 1)view(1 1 2)view(1 1 3)方位角、仰角控制方式及效果:缺省为(-37.5,30)。view(-37.5,30)view(-17.5,30)view(-5.5,30)view(-37.5,30)view(-37.5,45)view(-37.5,60)3.8 多视区控制subplotsubplot(2,1,1); mesh(X,Y,Z);subplot(2,1,2); quiver(x,y,px,py);3.9 制作、播放动画x,y,z=peaks

温馨提示

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

评论

0/150

提交评论