《综合课程设计报告分析及文献综述.docx》由会员分享,可在线阅读,更多相关《综合课程设计报告分析及文献综述.docx(20页珍藏版)》请在课桌文档上搜索。
1、题目:根据由阶跃响应曲线确定系统传递函数的措施,在MATLAB中编写对应的程序,1)实现阶跃响应曲线对应的一阶惯性环节(包括无滞后和有滞后)和二阶惯性环节的传递函数形式和参数;2)运用GUI设计对应的界面,显示对应的模型和曲线,便于分析比较。1课程设计目的过程控制系统日勺品质,是由构成过程和过程检测控制仪表系统日勺各环节日勺特性系统的和系统日勺构造所决定日勺。在过程控制系统的分析和设计中,过程的数学模型是极其重要日勺基础资料。因此,建立过程日勺数学模型,对于实现生产过程自动化有着十分重要的意义。可以说,一种过程控制系统的优劣,重要取决于对生产工艺过程的理解好建立数学模型。建立数学模型B目B是:
2、1)设计过程控制系统和整定调整器参数2)指导生产工艺设备日勺设计3)进行仿真试验研究建立数学模型有两种措施:1)分析过程的机理,根据物料平衡和能量平衡等关系,应用数学描述的措施,建立数学模型。(解析法)长处:较为简朴、普遍。缺陷:由于诸多工业过程内部日勺工艺过程较为复杂,对某些物理、化学过程尚不完全清晰,因此,有些复杂过程的数学模型较难建立;工业过程多半有非线性原因,在推届时常常作了某些近似和假设,虽然这些近似和假设具有一定的实际根据,但并不能完全反应实际状况,甚至会带来估计不到日勺影响。2)试验措施(系统辨识方)。由于解析法日勺缺陷,因此虽然用解析法得到了过程0数学模型,仍然但愿采用试验措施
3、加以检查。尤其当推到不出过程数学模型时,更需要通过试验措施来求得。常用响应曲线法来辨识过程B数学模型。2建立数学模型2.1由过程阶跃响应曲线确定其数学模型为了研究、分析和设计过程控制系统,需要根据试验获得的阶跃响应曲线来求出过程控制的微分方程和传递函数。由阶跃响应曲线确定其数学模型,首先要选定模型的构造。题目中规定选用一阶(包括无滞后和有滞后)和二阶来描述,既:一阶:Wo=的_Tos-V一阶延迟:kTos+响应曲线阶跃信号2.1.1 由阶跃响应曲线确定一阶环节的特性曲线(2)取0.632y(8)时t,7b-t0一阶响应曲线2.1.2 由阶跃响应曲线确定一阶滞后环节的特性曲线(1)KOJ(山XO
4、(2)取0.39y(8)时的储取0.63y(8)时BdTb=2X(AF);一阶滞后响应曲线2.1.3由阶跃响应曲线确定二阶环节的)特性曲线(1)KoJ(8)i)XO(2)取0.4y(8)时gn,丁|+722(/1+/2 );2.16福74二阶响应曲线取O.8y(g)时电,3试验环境计算机Matlab软件,GUI界面。MATLAB的优势:工作平台编译环境十分友好,编译语言简朴易用,数据的计算处理能力十分强大,图形处理能力强大,模块集合工具箱应用广泛,程序日勺接口和公布平台很实用,可以开发顾客界GUI是Matlab中面向对象B编程,可以使Matlab程序日勺终端顾客,虽然不懂的Matlab也可以轻
5、易操作该程序。4设计过程GUT控制界面上述界面包括:1个坐标轴对象、2个静态文本框、2个可编辑文本框、4个按钮。4.2设置控件的有关属性设置第一种控件的有关属性*1QI屋PrprtyInspectorI PositionSeIectionHighIight - SIiderSIepStringTag89 8 28.30813 81 846 二JOn0.01 0.1 国连线 I pushbuttonPUShbuttoneStartTooHipString UlContextMenu Units UserData ValueVisible t)Ur.Wod1 IBEE TCIO”文本标签属性设置菜
6、单编辑4. 2.2设置第二个控件的有关属性 J Uioontiol (pushbutton QI8。*K)MaxMin- PositionSeIectonHighIightI I SllderSlepString StyleTag1.00089.8 24.46213.8 1,846Ion0 01 0.1星关闭I pushbuttonpushbutton,coseTooltipStringUlContextMenuUnitsUserData(Valuel visible菜单编辑文本标签属性设置设置第三个控件的有关属性文本标签属性设置设置第四个控件的有关属性3Uioontrol(pushbutto
7、nvi*-lfr)MaxMin:PositionSeIectionHighIightSIiderStepStnngStyleTagTooItipStringUlContGXlMGnuUnitsUserOatavalueVisible1.00.098167691381846)二JOn0.010.1至!一阶Ipushbuttonpushbutton文本标签属性设置设置第五个控件的J有关属性PropertyInsectrJSJUicoMioIOuihbuttonj-zIfr*)MaxMin-PositionSeIectionHighIightMSllderStepStringStyleTagTool
8、tipStringUlContextMenu0.089.812.92313.81.8461Ion00101司二阶Ipushbuttonpushbutton.ejUnitsUserData一ValuevisibleNchloonJTl照回Tl文本标签属性设置kcsjclose_mune_Callbackedit_x_CalIbaCkedit_x_CreateFCnedit_y_Callbackedit_y_CreateFenkcsj_0peningFCnkcsj_OiItPUtFcnPUShbUtton-close_CallbackPUShbUtton_ej_CallbackPUShbUtton
9、_start_CallbackpushbuttOnjj_Callbackpushbutton_yjyc_Callbackstart_nenu_CallbackUntitledJ-Callback4.4仿真(1)任意输入数据程VntiU41*O 01 0.2 03 04 0.5 06 0.7 OB OS 1(2)按下连线按钮gty1、001020304050607060910.461993276.167X)87347,569689459.3411.4(3)按下一阶延迟按钮k=54.7000T=0.3971tao=0.0422w54.700-0.0422sWo=P0.39715+1e(4)按下一阶
10、按钮k = 54. 7000T=0.4480Wo54.700(5)按下二阶按钮k=54.7000Tb=0.5128Ta=0.0149w_54.700-0.014952+0.51285+1(6)按下关闭按钮关闭5心得体会通过为期三周BMatlab课程设计实践,使我对MatlabB使用有了深入日勺理解和熟悉,理解了GUl控制界面。增强了我查找资料日勺能力。刚开始,我连怎么安装Matlab都不懂得,连GUl是什么都不懂得;对于这道题目,我更感到一头雾水,无从下手;在查找资料时也常常无功而返我从一开始就觉得自己主线无法完毕这项课题。不过通过同学日勺协助,我终于安装了MatIab,通过老师日勺和同学日勺
11、讲解,我慢慢理解了题目。我减少了搜索关键词日勺字数,扩大了搜索范围,终于找到了诸多我所需要的资料。我还去了自己很少去的图书馆,发现了诸多与这个题目有关日勺书籍不过面对陌生日勺GUI,我又不得不停下了脚步。在老师日勺提议下,我通过观看教学视频理解GUI。通过慢慢探索,终于学会了某些简朴日勺GIn设计。编程并不是一件有趣日勺事情,相反,它十分枯燥无味。在调试的过程中我常常碰到某些很难发现的问题,我只能逐字逐句地反复检查(例如数字1和字母1弄混,某些固定的函数名写漏了某些字母等等)。为了以便调试,我设计了多种按钮,一种功能一种功能地实现。面对大量的资料,怎样找到你所需要的J内容细心和耐心是关键。学习
12、是没有捷径日勺。终于还算圆满地完毕了这份工程设计,它鞭策着我去巩固MatlabB基础理论知识,还提高了我对Matlab日勺实际操作运用,使得理论与实践相结合,为深入学习MatIab打下坚实的基础;在实践的工程中,也让我体会到一种努力付出并得到回报的满足感觉;面对这个不得不面对的难题我懂得了逃避是处理不了问题的,只有迎难而上才能收获成功之花的道理感谢老师和同学在这个过程中对我的鼓励和协助。参考文献口邵裕森.过程控制及仪表-2版(修定版).上海:上海交通大学出版社,1995.7(2023重印)。11-262陈春光,毛涛涛,王正林,王玲.精通MATLABGUI设计-2版.北京:电子工业出版社,202
13、3.1279-2803方康玲,王新民,潘炼,吴怀宇,刘晓玉.过程控制及其MATLAB实现-2版.北京:电子工业出版社,2023.9.353-3644杨佳,许强,徐鹏,余成波.控制系统MATLAB仿真与设计.北京:清华大学出版社.2023.4.49附录functionvarargout=kcsj(varargin)gui_Singleton=1;guiState二struct(,gui-Name,mfiIename,gui-Singleton,gui_Singleton,gui_0peningFc11,kcsj_OpeningFcn,gui-0utputFcn,kcsj_OUtPUtFCn,gu
14、i-LayoutFcn,.,gui-Callback,口);ifnargin&ischar(varargin1)gui_State.gui_CalIback=str2func(varargin1);endifnargoutvarargout(1:nargout)=gui_mainfcn(gui_State,varargin:);elsegui_mainfcn(gui_State,varargin:);endfunctionkcsj_OpeningFcn(hbject,eventdata,handles,varargin)set(handles.edit_x,string,);set(handl
15、es,edity,string,);handles,output-hbject;guidata(hbject,handles);functionvarargout=kcsj_OutputFcn(hbject,eventdata,handles)varargout1=handles,output;functionpushbutton_start_CalIback(hbject,eventdata,handles)x=str2num(get(handles.edit_x,string,);y=str2num(get(handles,edity,string,);plot(x,y,k:,marker
16、,o,);axes(handles,axesl)holdon;functionpushbutton_yjyc_CalIback(hbject,eventdata,handles)t=str2num(get(handles.edit_x,string,);h=str2num(get(handles,edity,string,);delta_u=20/100;k=(h(end)-h(l)/delta_uy=hh(end);t_tau=10;tw=t(2:end)-t_tau;yw=y(2:end);hl=O.39;tl=interpl(yw,tw,hl)+t_tau;h2=0.63;t2=inte
17、rpl(yw,tw,h2)+t_tau;T=2*(t2-tl)tao=2*tl-t2G-tf(k,T,1,inputdelay,tao);yG,tG=step(G,Iinspace(t(1),t(end),50);yG=yG*delta_u;plot(tG,yG,);axes(handles,axesl)holdon;functionpushbutton_close_CalIback(hbject,eventdata,handles)closefunctionstart_menu_CalIback(hbject,eventdata,handles)pushbutton_start_CalIba
18、ck(hbject,eventdata,handles)functionclosemuneCallback(hbject,eventdata,handles)closefunctionUntitled_l_Callback(hObject,eventdata,handles)functionedit_x_CalIback(hbject,eventdata,handles)functionedit_x_CreateFcn(hbject,eventdata,handles)ifispcset(hbject,BackgroundColor,);elseset(hbject,BackgroundCol
19、or,get(0,defaultUicontrolBackgroundColor,);endfunctionedit_y_CalIback(hbject,eventdata,handles)functionedit_y_CreateFcn(hObject,eventdata,handles)ifispcset(hbject,BackgroundCo1or,);elseset(hbject,BackgroundColor,get(O,defau1tUiControlBackgroundCo1or,);endfunctionpushbutton_yj_CalIback(hbject,eventda
20、ta,handles)t=str2num(get(handles.edit_x,string,);h=str2num(get(handles.edit_y,string5);deltau=20100;k=(h(end)-h(l)delta_uy-h/h(end);t_tau=10;tw=t(2:end)-t_tau;yw=y(2:end);hl=O.632;T=interpl(yw,tw,hl)+t_tauG=tf(k,T,1,inputdelay,O);yG,tG=step(G,Iinspace(t(1),t(end),50);yG=yG*deltau;plot(tG,yG,g,);axes
21、(handles,axesl)holdon;functionpushbutton_ej_CalIback(hbject,eventdata,handles)t=str2num(get(handles.edit_x,string5);h=str2num(get(handles.edit_y,string,);deltau=20100;k=(h(end)-h(D)/delta_u;y=hh(end);t_tau=10;tw=t(2:end)-t_tau;yw=y(2:end);hl=0.4;tl=interpl(yw,tw,hl)+ttau;h2=0.8;t2=interpl(yw,tw,h2)+t_tau;Tb=(tl+t2)2.16Ta=sqrt(1.74*tlt2-0.55)*Tb2)2)G=tf(k,TaTb1,inputdelay,0);yG,tG=step(G,Iinspace(t(1),t(end),50);yG=yG*delta_u;plot(tG,yG,m,);axes(handles,axesl)holdon;