第五章第二节面向系统结构图的数字仿真
- 格式:ppt
- 大小:2.10 MB
- 文档页数:52
2009-2010年第2学期系统仿真原理及应用教学内容绪论离散事件系统仿真输入数据的分析仿真结果与系统方案分物流仿真软件介绍学校:武汉科技学院学院:机电工程学院班级:工业工程071姓名:学号:参考教材•《物流系统仿真原理与应用》张晓萍主编.中国物资出版社,2005.•《生产系统建模与仿真》孙小明编著.上海交通大学出版社,2006.•《制造系统建模与仿真》目录第1讲绪论系统仿真技术的发展历史1.2 系统仿真的基本概念系统仿真技术的特点系统仿真的应用系统仿真的相关技术第2讲离散事件系统建模与仿真的基本原理 系统建模与仿真的基本步骤离散事件系统建模的基本要素建立系统模型的常用方法离散事件系统仿真程序的基本结构系统建模与仿真案例分析第3讲输入数据的分析简介原始数据的收集随机变量的识别参数估计拟合度检验第4讲随机变量的产生随机数的生成方法随机数发生器的检验随机变量的生成原理典型随机变量的生成第5讲排队系统的建模与仿真⏹排队论的基本概念排队系统的组成到达模式服务机构排队规则队列的度量⏹排队模型的分类⏹排队系统的分析单服务台M/M/1模型多服务台M/M/c模型M/M/c和M/M/1模型比较第6讲系统仿真算法事件调度法活动扫描法进程交互法第1讲绪论1.1 系统仿真技术的发展历史一、系统模型系统模型——对实际系统进行简化和抽象、能够揭示系统元素之间关系和系统特征的相关元素实体。
•物理模型——根据相似准则缩小和简化的实际系统,对这样的物理模型进行实验研究,其结果可以近似推广到原系统。
存在的主要问题:研究费用较为昂贵试验是有限制的需要花费大量的时间数学模型仿真模型1952年美国成立仿真学会美国的《21世纪制造业发展战略报告》中提出,2020年前世界制造业面临的6大挑战和10大关键技术中,10大关键技术的第5项是“企业建模及仿真”。
20世纪40年代,冯·诺依曼正式提出了系统仿真的概念世界先进国家的生产企业将生产仿真研究作为研究生产系统的一个重要手段,如英特尔、戴尔、马士基等,在企业扩建和改造的前期、新产品生产的投入之前,都会运营计算机仿真技术对企业将要采用的生产系统进行仿真和预测,为生产系统的调度决策、生产能力预测、生产设备的合理匹配、生产线的效率提高提供量化依据,为生产系统的早日投入正常生产运行起到出谋划策的作用。
实验二、面向结构图的仿真一、实验过程1.线性系统仿真(1)定义参数并为参数赋值,求解Kc、bc、Kd 、ad 、a1 、K1、a2 、K2等参数;(2)为uc(1)、ud(1)、u1(1)、u2(1)、xc(1)、xd(1)、x1(1)、x2(1)、yd(1)、yc(1)、y1(1)、y2(1)参数赋值为0;(3)迭代求解uc(k)、ud(k)、xc(k)、xd(k)等输入输出变量;(4)将液位高度转换为转换为百分比高度;(5)绘制响应曲线;(6)用MATLAB 求出从输入到输出的传递函数,并将其用c2d 函数,利用双线性变换法转换为离散模型,再用dstep()函数求离散模型的阶跃响应,阶跃幅值为3。
2.含有非线性环节的控制系统仿真非线性环节控制系统与线性控制系统实验方法相同,但离散化模型存在不同,同时需要增加饱和环节判断。
二、实验程序1、线性系统仿真clcclear all%%%%%%%%%%%%%%%%%%%%%定义参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%A=2; %水箱横截面积ku=0.1/0.5; %阀门流量系数H10=1.5; %水箱1的平衡高度H20=1.4; %水箱2的平衡高度alpha12 = 0.25/sqrt(H10); %水箱1流向水箱2流量系数alpha2 = 0.25/sqrt(H20); %水箱2流出水流量系数R12=2*sqrt(H10)/alpha12; %线性化数学模型中的参数R2=2*sqrt(H20)/alpha2; %线性化数学模型中的参数H1SpanLo=0; %水箱1量程下限H2SpanLo=0; %水箱2量程下限H1SpanHi=2.52; %水箱1量程上限H2SpanHi=2.52; %水箱2量程上限Kp=1.78; %PI控制器比例系数Ti=85; %PI控制器积分时间常数Kc=Kp/Ti; %式(4)中参数bc=Ti; %式(4)中参数Kd = 1/A; %式(5)中参数ad = 1/(A*R12); %式(5)中参数a1 = 1/(A*R12); %式(6)中参数K1 = ku/A; %式(6)中参数a2 = 1/(A*R2); %式(7)中参数K2 = 1/(A*R12); %式(7)中参数%%%%%%%%%%%%%%%%%%%%%%%%%%%赋初值%%%%%%%%%%%%%%%%%%%%%%%%%uc(1)=0;ud(1)=0;u1(1)=0;u2(1)=0;xc(1)=0;xd(1)=0;x1(1)=0;x2(1)=0;yd(1)=0;yc(1)=0;y1(1)=0;y2(1)=0;k=2;Qd=0; %干扰流量H20_percent=(H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100;H2=80;tend = 700; %总长T=10;%%%%%%%%%%%%%%%%%%%迭代求解输入输出变量%%%%%%%%%%%%%%%%%%%%%for t=T:T:tenduc(k)= (H2 - (y2(k-1)+H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100)/100; ud(k)=Qd;u1(k)=yc(k-1);u2(k)=y1(k-1); %扰动为零xc(k) = xc(k-1) + Kc*T*uc(k-1);yc(k)=xc(k)+bc*Kc*uc(k);xd(k) = exp(-ad*T)*xd(k-1) + Kd/ad*(1-exp(-ad*T))*ud(k);yd(k)=xd(k);x1(k) = exp(-a1*T)*x1(k-1) + K1/a1*(1-exp(-a1*T))*u1(k);y1(k)=x1(k);x2(k) = exp(-a2*T)*x2(k-1) + K2/a2*(1-exp(-a2*T))*u2(k);y2(k)=x2(k);k=k+1; %递增end%%%%%%%%%%%%%%%%%%%转换为百分比高度%%%%%%%%%%%%%%%%%%%%%%%Hlevel(:,1)=(y1+H10-H1SpanLo)/(H1SpanHi-H1SpanLo)*100;Hlevel(:,2)=(y2+H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100;yc=(yc+0.5)*100;H2setpoint=H2*ones(size(y1')); %%%%%%%%%%%%%%%%%%%%%%%%%%%%绘图%%%%%%%%%%%%%%%%%%%%%%%%%% textPositionH1=max(Hlevel(:,1));textPositionH2=max(Hlevel(:,2));H2Steady=Hlevel(size(Hlevel(:,1),1),1)*ones(size(y1'));scrsz = get(0,'ScreenSize');gca=figure('Position',[5 10 scrsz(3)-10 scrsz(4)-90]);set(gca,'Color','w');plot(0:T:tend,Hlevel(:,1),'r','LineWidth',2)hold onplot(0:T:tend,Hlevel(:,2),'b','LineWidth',2)hold onplot(0:T:tend,yc,'k','LineWidth',2)hold onplot(0:T:tend,H2setpoint,'g','LineWidth',2)hold onplot(0:T:tend,H2Steady,'y','LineWidth',2)line([500 525],[105 105],'Color','r','LineWidth',6)text(525,105,' 第1个水箱的液位H1','FontSize',16)line([500 525],[101 101],'Color','b','LineWidth',6)text(525,101,' 第2个水箱的液位H2','FontSize',16)line([500 525],[97 97],'Color','g','LineWidth',6)text(525,97,' 第2个水箱的液位给定值','FontSize',16)line([500 525],[93 93],'Color','k','LineWidth',6)text(525,93,' 阀位变化情况','FontSize',16)axis([0 700 50 110]);text(145,112,' 实验二不考虑阀位饱和特性时的控制效果','FontSize',22) grid2、线性系统仿真(采用c2d函数)clcclear all%%%%%%%%%%%%%%%%%%%%%定义参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%A=2; %水箱横截面积ku=0.1/0.5; %阀门流量系数H10=1.5; %水箱1的平衡高度H20=1.4; %水箱2的平衡高度alpha12 = 0.25/sqrt(H10); %水箱1流向水箱2流量系数alpha2 = 0.25/sqrt(H20); %水箱2流出水流量系数R2=2*sqrt(H20)/alpha2; %线性化数学模型中的参数H1SpanLo=0; %水箱1量程下限H2SpanLo=0; %水箱2量程下限H1SpanHi=2.52; %水箱1量程上限H2SpanHi=2.52; %水箱2量程上限Kp=1.78; %PI控制器比例系数Ti=85; %PI控制器积分时间常数Kc=Kp/Ti; %式(4)中参数bc=Ti; %式(4)中参数Kd = 1/A; %式(5)中参数ad = 1/(A*R12); %式(5)中参数a1 = 1/(A*R12); %式(6)中参数K1 = ku/A; %式(6)中参数a2 = 1/(A*R2); %式(7)中参数K2 = 1/(A*R12); %式(7)中参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% numc=[Kc*bc,Kc];denc=[1,0];numd=[Kd]dend=[1,ad]num1=[K1]den1=[1,a1]num2=[K2]den2=[1,a2]Gc=tf(numc,denc);G1=tf(num1,den1);G2=tf(num2,den2);Sysq=Gc*G1*G2;SysG=feedback(Sysq,1);GG=c2d(SysG,10,'tustin');dstep(3*GG.num{1},GG.den{1});3、含有非线性环节的控制系统仿真clcclear all%%%%%%%%%%%%%%%%%%%%%定义参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% A=2; %水箱横截面积ku=0.1/0.5; %阀门流量系数H10=1.5; %水箱1的平衡高度H20=1.4; %水箱2的平衡高度alpha12 = 0.25/sqrt(H10); %水箱1流向水箱2流量系数alpha2 = 0.25/sqrt(H20); %水箱2流出水流量系数R12=2*sqrt(H10)/alpha12; %线性化数学模型中的参数H1SpanLo=0; %水箱1量程下限H2SpanLo=0; %水箱2量程下限H1SpanHi=2.52; %水箱1量程上限H2SpanHi=2.52; %水箱2量程上限Kp=1.78; %PI控制器比例系数Ti=85; %PI控制器积分时间常数Kc=Kp/Ti; %式(4)中参数bc=Ti; %式(4)中参数Kd = 1/A; %式(5)中参数ad = 1/(A*R12); %式(5)中参数a1 = 1/(A*R12); %式(6)中参数K1 = ku/A; %式(6)中参数a2 = 1/(A*R2); %式(7)中参数K2 = 1/(A*R12); %式(7)中参数%%%%%%%%%%%%%%%%%%%%%%%%%%%赋初值%%%%%%%%%%%%%%%%%%%%%%%%%A=2; uc(1)=0;uv(1)=0;ud(1)=0;u1(1)=0;u2(1)=0;xc(1)=0;xv(1)=0;xd(1)=0;x1(1)=0;x2(1)=0;yc(1)=0;yv(1)=0;yd(1)=0;y1(1)=0;y2(1)=0;nCounter = 70;T=10;k=1;deltaQd=0;c=0.5;H20_percent=(H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100;H2set_percent=80;tend = nCounter*T;%%%%%%%%%%%%%%%%%%%迭代求解输入输出变量%%%%%%%%%%%%%%%%%%%%%for t=T:T:tendk=k+1;uc(k)=(H2set_percent-(y2(k-1)+H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100)/100;uv(k)=yc(k-1);ud(k)=deltaQd;if uv(k)>cyv(k)=c;endif uv(k)<-cyv(k)=0;endif uv(k)<=c & uv(k)>=-cyv(k)=uv(k);endu1(k)=yv(k);u2(k)=y1(k-1);xc(k) = xc(k-1) + Kc*T*uc(k-1);yc(k)=xc(k)+bc*Kc*uc(k);xd(k) = exp(-ad*T)*xd(k-1) + Kd/ad*(1-exp(-ad*T))*ud(k);yd(k)=xd(k);x1(k) = exp(-a1*T)*x1(k-1) + K1/a1*(1-exp(-a1*T))*u1(k);y1(k)=x1(k);x2(k) = exp(-a2*T)*x2(k-1) + K2/a2*(1-exp(-a2*T))*u2(k);y2(k)=x2(k);end%%%%%%%%%%%%%%%%%%%转换为百分比高度%%%%%%%%%%%%%%%%%%%%%%%Hlevel(:,1)=(y1+H10-H1SpanLo)/(H1SpanHi-H1SpanLo)*100;Hlevel(:,2)=(y2+H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100;yc=(yc+0.5)*100;y2sp=H2set_percent*ones(size(y1')); %%%%%%%%%%%%%%%%%%%%%%%%%%%%绘图%%%%%%%%%%%%%%%%%%%%%%%%%% textPositionH1=max(Hlevel(:,1));textPositionH2=max(Hlevel(:,2));H2Steady=Hlevel(size(Hlevel(:,1),1),1)*ones(size(y1'));scrsz = get(0,'ScreenSize');gca=figure('Position',[5 10 scrsz(3)-10 scrsz(4)-90])set(gca,'Color','w');plot(0:T:tend,Hlevel(:,1),'r','LineWidth',2)hold onplot(0:T:tend,Hlevel(:,2),'b','LineWidth',2)hold onplot(0:T:tend,yv,'k','LineWidth',2)hold onplot(0:T:tend,y2sp,'g','LineWidth',2)hold onplot(0:T:tend,H2Steady,'y','LineWidth',2)line([500 525],[105 105],'Color','r','LineWidth',6)text(525,105,' 第1个水箱的液位H1','FontSize',16)line([500 525],[101 101],'Color','b','LineWidth',6)text(525,101,' 第2个水箱的液位H2','FontSize',16)line([500 525],[97 97],'Color','g','LineWidth',6)text(525,97,' 第2个水箱的液位给定值','FontSize',16)line([500 525],[93 93],'Color','k','LineWidth',6)text(525,93,' 阀位变化情况','FontSize',16)axis([0 700 50 110]);text(145,112,' 实验三考虑阀位饱和特性时的控制效果','FontSize',22) grid三、实验分析离散模型的阶跃响应四、实验思考1.在未考虑调节阀饱和特性时,讨论一下两个水箱液位的变化情况,工业上是否允许?讨论阀位的变化情况,工业上是否能实现?2.实验三与实验二相比,考虑调节阀饱和特性前后,响应有何不同?五、实验总结。
计算机体系结构仿真与基础知识计算机体系结构仿真是一种模拟计算机体系结构行为的方法,通过仿真可以帮助我们更好地理解和研究计算机系统的运行原理和性能特征。
本文将介绍计算机体系结构仿真的基础知识以及其在计算机领域的应用。
一、什么是计算机体系结构仿真计算机体系结构仿真是指通过构建计算机的逻辑结构和行为模型,并在计算机上运行这些模型来模拟实际计算机系统的行为。
通过仿真,我们可以观察和分析计算机在不同条件下的运行状态,以及不同组件之间的相互影响。
计算机体系结构仿真通常分为两种类型:离散事件仿真和连续仿真。
离散事件仿真是指按事件发生的顺序模拟计算机系统的行为,比如模拟指令执行、缓存命中、中断等事件的发生与处理过程。
而连续仿真则是指对计算机系统各个组件的状态进行连续模拟,比如模拟处理器的时钟周期、总线传输的过程等。
二、计算机体系结构仿真的基础知识1. 计算机体系结构的基本概念计算机体系结构是指计算机系统中各个组件之间的关系和相互作用方式。
常见的计算机体系结构有冯·诺依曼体系结构、哈佛体系结构等。
了解这些基本概念对于进行计算机体系结构仿真非常重要。
2. 计算机系统的层次结构计算机系统可以分为硬件层和软件层两个部分。
硬件层包括计算机的处理器、内存、输入输出设备等;软件层则是指操作系统、应用程序等。
在进行体系结构仿真时,需要考虑这两个层次的相互影响。
3. 指令集架构(ISA)指令集架构是计算机体系结构的一种抽象模型,定义了计算机系统对外提供的指令集和编程模型。
在进行仿真时,需要根据具体的ISA 来模拟和测试各种指令的执行效果和性能。
4. 性能评估指标在进行计算机体系结构仿真时,通常需要考虑一些性能评估指标,如处理器的时钟周期、执行时间、吞吐量等。
这些指标可以帮助我们评估和比较不同体系结构设计的优劣。
三、计算机体系结构仿真的应用计算机体系结构仿真在计算机领域有着广泛的应用。
以下是一些常见的应用场景:1. 体系结构设计和优化通过仿真来模拟和评估不同体系结构设计的性能和效果,帮助设计师进行选择和优化。
实验四面向系统结构图的仿真验证(2学时)
一.实验目的:
从控制系统常见的结构形式拓扑描述入手,掌握面向连续控制系统结构图的计算机仿真方法及其程序实现。
二.实验原理及预习内容:
1.原理:任何复杂连接结构的线性控制系统都是由一些简单的线性环节组合而成,按照它们之间相互连接的拓扑关系列出连接矩阵,可以得到能清晰地描述复杂连接系统的仿真模型。
2.预习内容:利用连接矩阵进行复杂控制系统建模的方法和原理。
三.实验步骤:
1.对具有复杂连接闭环结构形式的系统,可用一阶环节作为典型环节,再运用拓扑描述中联接矩阵的表达方法得出此类系统结构的仿真模型;
2.再通过数值积分法求取各环节的动态响应。
注意:所确定的典型环节中,参数0
B ,以保证系统仿真求解的基本条件。
i
四.实验内容:
习题3-2.设典型闭环结构控制系统如下图所示,当阶跃输入幅值R=20时,用面向系统结构图的数字仿真法sp3-1.m求取系统的输出响应。
五.实验要求:
1.列出复杂连接闭环系统的仿真程序框图;
2.列出MATLAB程序实现的主要程序,包括输入数据、形成闭环各系统阵、数值积分求解、以及输出结果。