计算机应用技术专业防汛控制系统仿真.doc_第1页
计算机应用技术专业防汛控制系统仿真.doc_第2页
计算机应用技术专业防汛控制系统仿真.doc_第3页
计算机应用技术专业防汛控制系统仿真.doc_第4页
计算机应用技术专业防汛控制系统仿真.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

贵 州 航 天 职 业 技 术 学 院毕 业 论 文论文题目:防汛控制系统仿真 班 级:09计算机应用技术学 号: 111053010134姓 名:X X 指导教师: X X X 前 言本次论文题目是防汛仿真控制系统,江河防汛模型(简称防汛模型)主要通过MATLAB仿真模型试验,对水库工程建成后江河中下游防汛形势及对策措施中的重大技术问题进行综合研究。MATLAB仿真模型模拟范围从江河干流段,建立江河水位的自动报警和自动排洪的仿真模型。 防汛信息化的主要任务是在防汛业务工作中广泛应用现代信息技术,建设防汛信息系统的基础设施,充分发掘和利用信息资源的潜在知识,以提高防汛调度、水资源优化配置、水工程监控和水行政管理的整体水平,通过信息化推动防汛业务的现代化。目前在水利信息化的研究与开发工作中,用户常常希望应用系统在特殊或紧急情况下能够根据应用系统的当前状态,主动做出反应,执行对应的操作,向用户推送有关信息。但是,在现有的各种应用中仍有许多主动性需求不能完全得到满足,人们必须考虑实现主动需求的应用系统设计技术。此论文提出一种基于主动机制的防汛控制系统的设计方法,以辅助决策者完成从获取信息到形成决策的大部分工作,而且可以实现主动的个性化服务,提高信息处理的水平和增强信息服务的能力。信息到形成决策的大部分工作,而且可以实现主动的个性化服务,提高信息处理的水平和增强信息服务的能力。针对本次毕业论文应用了MATLAB软件,给出了一种具备主动机制的防汛控制系统模型。该模型具有自动数据采集和主动实时监控、主动数据汇总与传递、主动报警和主动信息服务的能力,可以辅助决策者完成从获取信息到形成决策的大部分工作和实现主动的个性化服务。 目 录前 言2目 录3一、MATLAB语言简介1(一)、MATLAB语言程序设计1(二)、仿真软件的发展1(三)、几种仿真软件2(四)、应用仿真技术的意义2(五)、仿真技术的发展趋势3二、论文题目及解析3三、论文目的及其意义4(一)、课题设计的目的4(二)、课题设计的意义5四、论文思想5五、程序设计结构框图:6(一)、操作流程图6(二)、程序流程图7六、源程序8七、程序调试22八、仿真结果及性能解说23(一)仿真结果23(二)、性能解说25九、论文总结26十、致谢2827一、MATLAB语言简介MATLAB语言既是一种“演算纸式”的用于科学工程计算的高级语言,又是一种功能极其强大的辅助工具(如:模型仿真、图象处理和internet网络功能)。它有以下特点:(a) 用户使用方便,编程效率高,语言简单,内涵丰富,易学易用;(b) 高效方便的矩阵和数组运算;(c) 极其方便的绘图功能;(d) 带有SIMULINK动态仿真工具及Toolbox等其它功能;(e) 扩充能力强。(一)、MATLAB语言程序设计MATLAB语言程序设计的关键是M文件的建立和编写。所有程序文件、函数、SIMULINK文件以及Toolbox文件均可用M文件建立。M文件的建立和编写一般在专门的编辑器内完成。MATLAB6.5版本是一个高度集成的语言环境,在它的命令窗口界面下可以编写程序、运行程序并跟踪调试程序,也可在线取得帮助。在这个命令窗口下还可完成文件管理等其它功能。MATLAB语言的典型结构为:MATLAB语言=窗口命令M文件MATLAB以复数矩阵为最基本的运算单元,既可以对它整体地进行处理,也可以对它的某个或某些元素进行单独处理,所以操作起来比较方便。需要指出一点的是,MATLAB具有很强的图形功能,非常适用于科学研究与工程实际中的应用。(二)、仿真软件的发展 (1)程序编程阶段所有问题(如:微分方程求解、矩阵运算、绘图等)都是用高级算法语言(如C、FORTRAN等)来编写。(2)程序软件包阶段出现了“应用子程序库”。(3)交互式语言阶段(仿真语言)仿真语言可用一条指令实现某种功能,如“系统特征值的求解”,使用人员不必考虑什么算法,以及如何实现等低级问题。(4)模型化图形组态阶段符合设计人员对基于模型图形化的描述。(三)、几种仿真软件(1)PSPICE、ORCAD:通用的电子电路仿真软件,适合于元件级仿真。(2)SYSTEM VIEW:系统级的电路动态仿真软件。(3)MATLAB:具有强大的数值计算能力,包含各种工具箱,其程序不能脱离MATLAB环境而运行,所以严格讲,MATLAB不是一种计算机语言,而是一种高级的科学分析与计算软件。(4)SIMULINK:是MATLAB附带的基于模型化图形组态的动态仿真环境。(四)、应用仿真技术的意义(1)经济大型、复杂系统直接实验是十分昂贵的,如:空间飞行器的一次飞行实验的成本约在1亿美元左右,而采用仿真实验仅需其成本的1/101/5,而且设备可以重复使用。(2)安全某些系统(如载人飞行器、核电装置等),直接实验往往会有很大的危险,甚至是不允许的,而采用仿真实验可以有效降低危险程度,对系统的研究起到保障作用。(3)快捷提高设计效率:比如电路设计,服装设计等等。(4)具有优化设计和预测的特殊功能对一些真实系统进行结构和参数的优化设计是非常困难的,这时仿真可以发挥它特殊的优化设计功能。在非工程系统中(如社会、管理、经济等系统),由于其规模及复杂程度巨大,直接实验几乎不可能,这时通过仿真技术的应用可以获得对系统的某种超前认识。(五)、仿真技术的发展趋势(1)硬件方面:基于多CPU并行处理技术的全数字仿真将有效提高仿真系统的速度,大大增强数字仿真的实时性。(2)应用软件方面:直接面向用户的数字仿真软件不断推陈出新,各种专家系统与智能化技术将更深入地应用于仿真软件开发之中,使得在人机界面、结果输出、综合评判等方面达到更理想的境界。(3)分布式数字仿真:充分利用网络技术,协调合作,投资少,效果好。(4)虚拟现实技术:综合了计算机图形技术、多媒体技术、传感器技术、显示技术以及仿真技术等多学科,使人置身于真实环境之中。二、论文题目及解析本次论文题目是防汛仿真控制系统,江河防汛模型(简称防汛模型)主要通过MATLAB仿真模型试验,对水库工程建成后江河中下游防汛形势及对策措施中的重大技术问题进行综合研究。MATLAB仿真模型模拟范围从江河干流段,建立江河水位的自动报警和自动排洪的仿真模型。计算机的应用是现代化技术的重要标志。为保证科研技术信息获取的先进性与快速性,防洪模型采用了计算机网络、虚拟仿真系统和模型量测控制系统,构成了一个较为复杂的系统工程。计算机网络系统将模型量测控制系统(测控网) 、虚拟仿真系统。防汛信息化的主要任务是在防汛业务工作中广泛应用现代信息技术,建设防汛信息系统的基础设施,充分发掘和利用信息资源的潜在知识,以提高防汛调度、水资源优化配置、水工程监控和水行政管理的整体水平,通过信息化推动防汛业务的现代化。目前在水利信息化的研究与开发工作中,用户常常希望应用系统在特殊或紧急情况下能够根据应用系统的当前状态,主动做出反应,执行对应的操作,向用户推送有关信息。但是,在现有的各种应用中仍有许多主动性需求不能完全得到满足,人们必须考虑实现主动需求的应用系统设计技术。本专业课题设计提出一种基于主动机制的防汛控制系统的设计方法,以辅助决策者完成从获取信息到形成决策的大部分工作,而且可以实现主动的个性化服务,提高信息处理的水平和增强信息服务的能力。信息到形成决策的大部分工作,而且可以实现主动的个性化服务,提高信息处理的水平和增强信息服务的能力。三、论文目的及其意义(一)、课题设计的目的洪水是自然现象,而洪灾是由于人们与洪水抗争扩大自己的生存空间所带来的。对于我国人口发展到目前状况以后,已难以实施象一些人口密度低的国家所采取的严厉限制向洪灾高风险区发展的策略;但如果继续实施大规模侵占洪水调蓄、宣泄场所的做法,将会进一步加剧人与洪水的紧张关系,对可持续发展是非常不利的。因此,今后要在继续提高抗御洪水能力、加强防灾体系建设的同时,采取措施调整人与洪水的关系,使之逐步做到和谐相处。这些措施包括:(1)坚决停止围占河、湖,并逐步实施退田还湖及恢复原有的过洪通道。(2)干支流的上中游广大地区,要加强水土保持,逐步实施退耕还林。(3)从长江的具体情况分析,必须有一部分能够确保实施计划分洪的蓄滞洪区,才能应对特大洪水出现的局面,应当妥善安排促其实现,并保证分洪对人员、房屋、主要财产的安全。(4)其他抗洪能力不高的地方,要积极研究适应洪水特点的产业结构调整,逐步做到受淹而不致造成大的损失,甚至不介意受淹。在这方面,有些国际组织也已开始在长江中下游一些地区进行试点。(二)、课题设计的意义该次课题设计的意在于巩固MATLAB软件的基本使用和进一步加深对它的了解,把MATLAB的精髓领悟出来。四、论文思想在老师和同学们的帮助下,以及对题目的分析和查阅资料,使得我对这论文的要求有了一定的了解,从了解的要求中开始编制程序,在通过分析程序从简单的到复杂画出相应的仿真图的坐标,在做的每一歩都要很小心和对其有相应的思考。首先对该论文的题目做一个详细的了解,根据题目所给的一些需要的参数进行分析,对要求仿真的数据进行对应得比较分析,让其更加了解它所要仿真的数据,之后我们就可以开始着手相应的对程序的编写和制作相应的程序。制作仿真图的时候必须要对相应的坐标参数设置,尤其是对相关的所表现的图的一些参数的设置。对相应的程序从不同的方向去思考就会出现不同的问题有难有易,因此我们要冲不同的入口和出口开始相应的思考,在对相应的仿真的参数设置的时候我们必须十分小心对其参数的填写,要是稍微疏忽就会出现结果就不符合要求。在编制的过程中对每一步都要认真的制作和进行修改以及在修改的同时我们都进行不断的对其调试。最终使得我所要做的课程设计在不断的努力中起得了成功,通过这次毕业论文同时能进一步了解MATLAB,从而能够在此过程中复习了曾经学过的知识。五、程序设计结构框图:(一)、操作流程图问题的阐述设置目标建立模型仿真实验设计编程序验证正确与否确认运行分析输出结果YYNN开始结束(二)、程序流程图否是按照给出的条件作出相应的运动设置导线位置参数设置导线位置参数电阻、电阻、闸门和水平面范围参数的设置闸门和水平面范围参数的设置电机参数设置给出电机运转初角度和条件给出运动初始条件和周期While循环体循环判断结束设置字体位置参数开始给出坐标六、源程序clear,clcfigure(name,防汛控制系统); axis (0 ,60,0,60); hold on; axis off; text(23,57,防汛控制系统,fontsize,20,color,b); text(7,32,放大器,fontsize,8,color,k); text(18,40,电动机,fontsize,8,color,r); text(28,5,干旱报警线,fontsize,8,color,r); text(27,28,高水位报警线,fontsize,7.5,color,r); text(13.5,17,出水口,fontsize,8,color,r); text(45.5,23,正电极开关,fontsize,8,color,k); text(45.5,8,负电极开关,fontsize,8,color,k); text(45.5,0,与水库连接,fontsize,8,color,k);text(4,2,色线表示水平面,fontsize,8,color,k);%画导线c1=line(1;55,50;50,color,g,linewidth,2);c2=line(22.5;45,0;0,color,k,linewidth,2);c3=line(4;33,45;45,color,g,linewidth,2);c4=line(4;7,35;35,color,g,linewidth,2);c5=line(1;1,30;50,color,g,linewidth,2);c6=line(4;4,35;45,color,g,linewidth,2);c7=line(1;7,30;30,color,g,linewidth,2);c8=line(55;55,15;50,color,g,linewidth,2);c9=line(45;45,0;3,color,k,linewidth,2);c10=line(45;45,5;30,color,k,linewidth,2);c9=line(45;47,3;3,color,k,linewidth,2);c10=line(45;47,5;5,color,k,linewidth,2);c11=line(27.5;27.5,0;15.5,color,k,linewidth,2);c12=line(27.5;27.5,24.5;30,color,k,linewidth,2);c13=line(22.5;22.5,0;15.5,color,k,linewidth,2);c14=line(22.5;22.5,24.5;26.5,color,k,linewidth,2);c15=line(22.5;20.5,15.5;15.5,color,k,linewidth,2);c16=line(22.5;20.5,24.5;24.5,color,k,linewidth,2);c17=line(49;55,15;15,color,g,linewidth,2);c18=line(0;3,2;2,color,c,linewidth,4);%画放大器c9=line(7;7,28;37,color,g,linewidth,2);c10=line(7;12,37;37,color,g,linewidth,2);c11=line(12;12,28;37,color,g,linewidth,2);c12=line(7;12,28;28,color,g,linewidth,2);hold on;%画箭头j1=line(6;7,35.5;35,linewidth,2);j2=line(6;7,34.5;35,linewidth,2);j3=line(6;7,30.5;30,linewidth,2);j4=line(6;7,29.5;30,linewidth,2);j5=line(43;44,20;20.5,linewidth,2);j6=line(43;44,20;19.5,linewidth,2);j7=line(43;44,10;10.5,linewidth,2);j8=line(43;44,10;9.5,linewidth,2);j9=line(36;37,10.5;10,linewidth,2);j10=line(36;37,9.5;10,linewidth,2);hold on;%画电阻fill(37,38,38,37,28,28,2,2,1,0.1,0.5);%左电阻fill(42,43,43,42,28,28,2,2,1,0.1,0.5);%右电阻%画连接电阻的导线f1=line(25;37,10;10,color,g,linewidth,2);f2=line(33;33,10;45,color,g,linewidth,2);f3=line(37.5;37.5,1;2,color,g,linewidth,2);f4=line(37.5;42.5,1;1,color,g,linewidth,2);f5=line(42.5;42.5,1;2,color,g,linewidth,2);f6=line(37.5;37.5,28;29,color,g,linewidth,2);f7=line(37;37,7;7.5,color,r,linewidth,9);f8=line(37;37,25;25.5,color,r,linewidth,9);f9=line(37.5;42.5,29;29,color,g,linewidth,2);f10=line(42.5;42.5,28;29,color,g,linewidth,2);f11=line(40;40,17;29,color,g,linewidth,2);f12=line(40;40,1;15.5,color,g,linewidth,2);%画电源f13=line(39;41,15.5;15.5,color,r,linewidth,2);%负极f14=line(38.5;41.5,17;17,color,r,linewidth,2);%正极f15=line(43;48,20;20,color,g,linewidth,2); %开门开关f16=line(43;48,10;10,color,g,linewidth,2); %关门开关f17=line(25;37,10;10,color,b,linestyle,., markersize,50);f18=line(25;37,10;10,color,c,linewidth,1);f19=line(25;37,10;10,color,c,linewidth,1);f20=line(22;27,10;10,color,c,linewidth,1);f21=line(20;22,10;10,color,c,linewidth,1);g0=line(48;49,20;15,color,k,linewidth,2); %闸刀door=line(25;25,5;15,color,m,linewidth,25);%画门d1=line(25;25,27.5;15,color,g,linewidth,2);%画门顶的绳索d2=line(22;22,27.5;15,color,c,linewidth,1);hold on;%画电机的两端(用两个椭圆)t=0:pi/100:2*pi;fill(18+2*sin(t),32.5+5*cos(t),0.7,0.85,0.9);%电机左端fill(18+2*sin(t),32.5+5*cos(t),0.7,0.85,0.9);%电机左端fill(25+2*sin(t),32.5+5*cos(t),0.7,0.85,0.9);%电机右端e0=line(12;18,32.5;32.5,color,r,linewidth,2);%画连接电机中轴的线%画电机的表面(用八根不同颜色的线代替,每根之间相差pi/4)%为简便起见,初始条件下可将八根线分成两组放在电机的顶端和底端sig1=line(18;25,37.5;37.5,color,r,linestyle,-,linewidth,2);sig2=line(18;25,27.5;27.5,color,m,linestyle,-,linewidth,2);sig3=line(18;25,37.5;37.5,color,w,linestyle,-,linewidth,2);sig4=line(18;25,27.5;27.5,color,b,linestyle,-,linewidth,2);sig5=line(18;25,37.5;37.5,color,r,linestyle,-,linewidth,2);sig6=line(18;25,27.5;27.5,color,g,linestyle,-,linewidth,2);sig7=line(18;25,37.5;37.5,color,k,linestyle,-,linewidth,2);sig8=line(18;25,27.5;27.5,color,b,linestyle,-,linewidth,2);for i=1:10;a=0; %设定电机运转的初始角度da=0.015;%设定电机正转的条件s=0; %设定门运动的初始条件ds=0.015;%设定门运动的周期while s10 %条件表达式 (当0s10时,电机正转,门上升)a=a+da; %(当线运动到电机背面时会覆盖电机左端,用abs可解决这一问题,xa1=18+abs(2*sin(a);% 增强逼真感)xa2=25+2*sin(a);ya1=32.5+5*cos(a);ya2=32.5+5*cos(a);%设定sig1的两端点坐标(sig1是对应0的线)xb1=18+2*abs(sin(a+pi);xb2=25+2*sin(a+pi);yb1=32.5+5*cos(a+pi);yb2=32.5+5*cos(a+pi); %设定sig2的两端点坐标(sig2是对应pi的线)xc1=18+abs(2*sin(a+pi/2);xc2=25+2*sin(a+pi/2);yc1=32.5+5*cos(a+pi/2);yc2=32.5+5*cos(a+pi/2);%设定sig3的两端点坐标(sig3是对应pi/2的线)xd1=18+2*abs(sin(a-pi/2);xd2=25+2*sin(a-pi/2);yd1=32.5+5*cos(a-pi/2);yd2=32.5+5*cos(a-pi/2);%设定sig4的两端点坐标(sig4是对应-pi/2的线)xe1=18+abs(2*sin(a+pi/4);xe2=25+2*sin(a+pi/4);ye1=32.5+5*cos(a+pi/4);ye2=32.5+5*cos(a+pi/4);%设定sig5的两端点坐标(sig5是对应pi/4的线)xf1=18+2*abs(sin(a+pi*3/4);xf2=25+2*sin(a+pi*3/4);yf1=32.5+5*cos(a+pi*3/4);yf2=32.5+5*cos(a+pi*3/4);%设定sig6的两端点坐标(sig6是对应pi*3/4的线)xg1=18+abs(2*sin(a-pi*3/4);xg2=25+2*sin(a-3*pi/4);yg1=32.5+5*cos(a-3*pi/4);yg2=32.5+5*cos(a-3*pi/4);%设定sig7的两端点坐标(sig7是对应-3*pi/4的线)xh1=18+2*abs(sin(a-pi/4);xh2=25+2*sin(a-pi/4);yh1=32.5+5*cos(a-pi/4);yh2=32.5+5*cos(a-pi/4); %设定sig8的两端点坐标(sig8是对应-pi/4的线)%绘制电机表面各线条的运动set(sig1,xdata,18;25,ydata,37.5;37.5);set(sig2,xdata,19;26.5,ydata,28.5;28.5);set(sig3,xdata,20;27,ydata,30.5;30.5);set(sig4,xdata,20;23,ydata,32;32);set(sig5,xdata,20;23.5,ydata,35;35);set(sig6,xdata,20;27,ydata,34;34);set(sig7,xdata,19.5;26.5,ydata,36;36);set(sig8,xdata,18;25,ydata,27.5;27.5);s=s+ds;set(door,xdata,25;25,ydata,24;14); %绘制门的向上运动set(d1,xdata,25;25,ydata,27.5;24); %绘制门顶的绳索的向上运动set(d2,xdata,20;20,ydata,16.5;16.5); %绘制水平面线的运动set(f1,xdata,33;37,ydata,15+s;15+s); %绘制门和电阻之间两根导线的运动set(f18,xdata,43;45,ydata,15+s;15+s); %绘制水平面线的运动set(f19,xdata,27;37,ydata,15+s;15+s); %绘制水平面线的运动set(f20,xdata,22;22,ydata,25;25); %绘制水平面线的运动set(f21,xdata,22;22,ydata,16.5;16.5); %绘制水平面线的运动set(f17,xdata,33;33,ydata,15+s;15+s); %绘小球的运动set(f2,xdata,33;33,ydata,45;15+s);set(j9,xdata,36;37,ydata,15.5+s;15+s);%绘制上箭头的向上运动set(j10,xdata,36;37,ydata,14.5+s;15+s);%绘制下箭头的向上运动set(gcf,doublebuffer,on);%消除振动drawnow;endb=0;%设定电机反转的条件db=0.015;while s28 %条件表达式 (当10s28时,电机反转,门下降)b=b-db;xa1=18+abs(2*sin(a+b);xa2=25+2*sin(a+b);ya1=32.5+5*cos(a+b);ya2=32.5+5*cos(a+b);%设定sig1的两端点坐标(sig1是对应0的线)xb1=18+2*abs(sin(a+pi+b);xb2=25+2*sin(a+pi+b);yb1=32.5+5*cos(a+pi+b);yb2=32.5+5*cos(a+pi+b);%设定sig2的两端点坐标(sig2是对应pi的线)xc1=18+abs(2*sin(a+pi/2+b);xc2=25+2*sin(a+pi/2+b);yc1=32.5+5*cos(a+pi/2+b);yc2=32.5+5*cos(a+pi/2+b);%设定sig3的两端点坐标(sig3是对应pi/2的线)xd1=18+2*abs(sin(a-pi/2+b);xd2=25+2*sin(a-pi/2+b);yd1=32.5+5*cos(a-pi/2+b);yd2=32.5+5*cos(a-pi/2+b);%设定sig4的两端点坐标(sig4是对应-pi/2的线)xe1=18+abs(2*sin(a+pi/4+b);xe2=25+2*sin(a+pi/4+b);ye1=32.5+5*cos(a+pi/4+b);ye2=32.5+5*cos(a+pi/4+b);%设定sig5的两端点坐标(sig5是对应pi/4的线)xf1=18+2*abs(sin(a+pi*3/4+b);xf2=25+2*sin(a+pi*3/4+b);yf1=32.5+5*cos(a+pi*3/4+b);yf2=32.5+5*cos(a+pi*3/4+b);%设定sig6的两端点坐标(sig6是对应pi*3/4的线)xg1=18+abs(2*sin(a-pi*3/4+b);xg2=25+2*sin(a-3*pi/4+b);yg1=32.5+5*cos(a-3*pi/4+b);yg2=32.5+5*cos(a-3*pi/4+b);%设定sig7的两端点坐标(sig7是对应-3*pi/4的线)xh1=18+2*abs(sin(a-pi/4+b);xh2=25+2*sin(a-pi/4+b);yh1=32.5+5*cos(a-pi/4+b);yh2=32.5+5*cos(a-pi/4+b);%设定sig8的两端点坐标(sig8是对应-pi/4的线)%绘制电机表面各线条的运动set(sig1,xdata,xa1;xa2,ydata,ya1;ya2);set(sig2,xdata,xb1;xb2,ydata,yb1;yb2);set(sig3,xdata,xc1;xc2,ydata,yc1;yc2);set(sig4,xdata,xd1;xd2,ydata,yd1;yd2);set(sig5,xdata,xe1;xe2,ydata,ye1;ye2);set(sig6,xdata,xf1;xf2,ydata,yf1;yf2);set(sig7,xdata,xg1;xg2,ydata,yg1;yg2);set(sig8,xdata,xh1;xh2,ydata,yh1;yh2);s=s+ds;set(g0,xdata,49;48,ydata,15;10);%绘制闸刀的换向运动set(door,xdata,25;25,ydata,34-s;24-s);%绘制门的向下运动set(d1,xdata,25;25,ydata,27.5;34-s); %绘制门顶绳索的向下运动set(d2,xdata,20;20,ydata,16.5;24.5-s); %绘制水平面线的运动set(f1,xdata,33;37,ydata,35-s;35-s); %绘制门和电阻之间两根导线的运动set(f18,xdata,43;45,ydata,34.5-s;34.5-s); %绘制水平面线的运动set(f19,xdata,27;37,ydata,34.5-s;34.5-s); %绘制水平面线的运动set(f20,xdata,22;27,ydata,34.5-s;34.5-s); %绘制水平面线的运动set(f21,xdata,22;20,ydata,16.5;16.5); %绘制水平面线的运动set(f17,xdata,33;33,ydata,35-s;35-s); %绘制小球的运动set(f2,xdata,33;33,ydata,45;35-s);set(j9,xdata,36;37,ydata,35.5-s;35-s);%绘制上箭头的向下运动set(j10,xdata,36;37,ydata,34.5-s;35-s);%绘制下箭头的向下运动set(gcf,doublebuffer,on);%消除振动drawnow;enda=0; %设定电机运转的初始角度da=0.015;%设定电机正转的条件s=0; %设定门运动的初始条件ds=0.015;%设定门运动的周期while s10 %条件表达式 (当0s10时,电机正转,门上升)a=a+da;%(当线运动到电机背面时会覆盖电机左端,用abs可解决这一问题,xa1=18+abs(2*sin(a);% 增强逼真感)xa2=25+2*sin(a);ya1=32.5+5*cos(a);ya2=32.5+5*cos(a);%设定sig1的两端点坐标(sig1是对应0的线)xb1=18+2*abs(sin(a+pi);xb2=25+2*sin(a+pi);yb1=32.5+5*cos(a+pi);yb2=32.5+5*cos(a+pi); %设定sig2的两端点坐标(sig2是对应pi的线)xc1=18+abs(2*sin(a+pi/2);xc2=25+2*sin(a+pi/2);yc1=32.5+5*cos(a+pi/2);yc2=32.5+5*cos(a+pi/2);%设定sig3的两端点坐标(sig3是对应pi/2的线)xd1=18+2*abs(sin(a-pi/2);xd2=25+2*sin(a-pi/2);yd1=32.5+5*cos(a-pi/2);yd2=32.5+5*cos(a-pi/2);%设定sig4的两端点坐标(sig4是对应-pi/2的线)xe1=18+abs(2*sin(a+pi/4);xe2=25+2*sin(a+pi/4);ye1=32.5+5*cos(a+pi/4);ye2=32.5+5*cos(a+pi/4);%设定sig5的两端点坐标(sig5是对应pi/4的线)xf1=18+2*abs(sin(a+pi*3/4);xf2=25+2*sin(a+pi*3/4);yf1=32.5+5*cos(a+pi*3/4);yf2=32.5+5*cos(a+pi*3/4);%设定sig6的两端点坐标(sig6是对应pi*3/4的线)xg1=18+abs(2*sin(a-pi*3/4);xg2=25+2*sin(a-3*pi/4);yg1=32.5+5*cos(a-3*pi/4);yg2=32.5+5*cos(a-3*pi/4);%设定sig7的两端点坐标(sig7是对应-3*pi/4的线)xh1=18+2*abs(sin(a-pi/4);xh2=25+2*sin(a-pi/4);yh1=32.5+5*cos(a-pi/4);yh2=32.5+5*cos(a-pi/4); %设定sig8的两端点坐标(sig8是对应-pi/4的线)%绘制电机表面各线条的运动set(sig1,xdata,xa1;xa2,ydata,ya1;ya2);set(sig2,xdata,xb1;xb2,ydata,yb1;yb2);set(sig3,xdata,xc1;xc2,ydata,yc1;yc2);set(sig4,xdata,xd1;xd2,ydata,yd1;yd2);set(sig5,xdata,xe1;xe2,ydata,ye1;ye2);set(sig6,xdata,xf1;xf2,ydata,yf1;yf2);set(sig7,xdata,xg1;xg2,ydata,yg1;yg2);set(sig7,xdata,xg1;xg2,ydata,yg1;yg2);set(sig8,xdata,xh1;xh2,ydata,yh1;yh2);s=s+ds;set(g0,xdata,48;49,ydata,20;15); %绘制闸刀的换向运动set(door,xdata,25;25,ydata,5+s;14+s); %绘制门的向上运动set(d1,xdata,25;25,ydata,27.5;14+s); %绘制门顶的绳索的向上运动set(d2,xdata,20;20,ydata,16.5;16.5); %绘制水平面线的运动set(f1,xdata,33;37,ydata,15;15); %绘制门和电阻之间两根导线的运动set(f18,xdata,43;45,ydata,15;15); %绘制水平面线的运动set(f19,xdata,27;37,ydata,15;15); %绘制水平面线的运动set(f20,xdata,22;22,ydata,15;15); %绘制水平面线的运动set(f21,xdata,22;22,ydata,16.5;16.5); %绘制水平面线的运动set(f17,xdata,33;33,ydata,15;15); %绘小球的运动set(f2,xdata,33;33,ydata,45;15);set(j9,xdata,36;37,ydata,15.5;15);%绘制上箭头的向上运动set(j10,xdata,36;37,ydata,14.5;15);%绘制下箭头的向上运动set(gcf,doublebuffer,on);%消除振动drawnow;endend七、程序调试本系统给出一个基于自动机制的防汛控制系统设计仿真方案与实现的技术途径,以保证防汛信息的时效性,提供有效的汛情与险情报警、多源信息的综合分析以及决策信息的支持控制能力!在此过程中花了不少时间进行程序调试,更改等。在此过程中有的就是程序代码的缺少导致无法运行等。八、仿真结果及性能解说(一)仿真结果1、输入程序后,开始仿真,随着水量的不断增加,水位开始上升。2、随着水量的不断增加,触发器到达了最高水位。3、水位增加到了最高警戒线,触发器做出反应把信息传递给放大器,信号通过放大器后,就会做出相应的反应;负电极开关接通,电机顺时针转动,闸门打开泻洪。4、水位下降到干旱报警线,就会关闭闸门,开始蓄水。5、正常水位时的状态。(二)、性能解说1、自动数据采集和主动实时监控在应用程序中设置基于特殊事件或特定水位的触发器,实现基于应用环境要求的或者定时的主动数据抽取处理。基于触发器定义的主动数据抽取功能是扩展的主动信息处理功能。这样,能够主动采集用户关心的基于特定条件的防汛信息,或者应用环境产生的特定防汛信息,保证了采集信息的针对性。水雨情数据自动测报系统为数据实时主动进入信息系统奠定了基础,而开发的基于触发器的主动数据抽取方式实现了防汛信息的主动实时监控,特别是对异常数据状态、极值数据状态的主动监控,完成了自动数据采集和主动实时监控功能。2、主动报警主动报警处理工作反映在2个方面,一方面是对信息系统运行过程中汛期水雨情监测实质上是对水库所在雨量站和水位控制站水雨情数据的采集,并特别关注超过设定特征值的水雨情的瞬时状态。即对某些特定事件的主动做出反应的功能,在某些事件发生时,系统能够将这些瞬时状态自动通过输出设备提供给系统,以实现主动报警功能。水雨情监测设备的稳定性、可靠性不能完全保证进入数据

温馨提示

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

评论

0/150

提交评论