飞机场的模拟起降程序报告-C语言课程设计_第1页
飞机场的模拟起降程序报告-C语言课程设计_第2页
飞机场的模拟起降程序报告-C语言课程设计_第3页
飞机场的模拟起降程序报告-C语言课程设计_第4页
飞机场的模拟起降程序报告-C语言课程设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

机场起飞降落调度仿真系统课程设计报告控制科学与工程系自动化0902班组长:朱时中u200914293组员:闫士杰u200914292目录引言任务概述功能分析模块分析函数介绍系统流程图程序代码一、引言1.1课题要求模拟机场飞机起飞、降落,以及空中交通调度,具有动画仿真效果。1.2应用背景目前在中国经济高速发展时期,飞机已经成为了人们不可缺少的交通工具。而机场作为飞机起飞与降落的大型枢纽,其作用更是不可小视。机场的运行效率直接关系到了航班准点高效的运行。而机场的调度系统更是保证机场可以高效率运行的核心。本机场仿真系统可以在用户给定单位时间内需要起飞,中转,降落的飞机数量和机场跑道的数量的情况下动画模拟飞机场的运行状况,在模拟结束以后统计机场处理各种飞机用户可以根据飞机场的模拟情况来判断机场的容纳能力,并以此为参考得到不同机场最佳的运行状态。二、功能分析2.仿真运行模块2.1模拟系统的简要说明用户在选择仿真模式和输入参数确定后即进入程序的仿真运行模块。此仿真界面下的机场主画面如图所示机场主界面图形及注释·1.机场整个机场一共分为三大区域:空中等待区,地面等待区和跑道区。其中空中等待区和地面等待区为系统默认的分为了6个区域,而跑道区的跑道数量可以由用户在0条和3条间自由选择。区域内各个子区域的位置和编号如图所示。我们这里用的各个区域用的是同一种结构的结构体structarea,期中根据了各种区域的不同功能对结构体的数据加以利用使之得到了不同的实现。空中等待区(Waitair):空中的飞机在没有分配到机场跑道的区域时在空中等待区里进行盘旋等待。地面等待区(Waitland):处于地面暂时没有分配到跑道的飞机会停留在地面等待区地面等待区内若用飞机正在停留则会在区域内部用淡蓝色高亮显示。机场地面等待区跑到区(Runway):飞机起飞和降落的区域。跑道两边的灯会根据跑道的使用状态改变颜色。若有飞机正在使用跑道则显示为红色;若跑道已经预定给某架飞机使用则显示为黄色;若跑道为被飞机预定使用则显示为绿色。机场跑道·2.飞机本模拟系统中的飞机一共有三种,他们分别为中转的飞机,降落的飞机和起飞的飞机。中转飞机(TRANS):颜色为红色。拥有最高的优先级。中转的飞机定义从画面的左上方生成,使用的空中等待区为0-2号等待区。中转的飞机主要完成的动作是降落,地面中转和起飞。其中地面中转的过程是让中转飞机在地面等待区停留一会而模拟实现的,可以使用地面上任意的等待区。模拟过程中没有考虑中转过程的时间而假定飞机瞬间中转完成。降落飞机(ARRIVE):颜色为白色。优先级为中等。降落的飞机定义从画面的右上方生成,使用的空中等待区为3-5号。其主要完成的动作是降落和从地面进入停机坪离场。起飞飞机(DEPART):颜色为绿色。优先级为最低。起飞的飞机定义从画面的右下方生成。其主要完成的动作是地面等待和起飞。起飞的飞机可以使用地面任意的等待区。2.2.模拟的实现模拟的动画采用换页的方式实现,使用的图形模式为EGAHI。其中算法的核心的部分是飞机坐标点的计算模块和处理飞机起飞降落请求的模块。在退出模拟时会对模拟中的各种信息统计记录。2.2.1模拟界面和飞机的绘制模块此模块的入口函数为drawpage,即画一页上的内容。其中drawpage所调用的具体实现的函数如下:drawmian:画出机场的主体,包括天空和地面的颜色,天空的云彩,机场的栏杆,地面上通向停机坪的park箭头。draw_pwl:画出机场的等待区。根据地面等待区的结构体的x,y坐标画出6个地面等待区。draw_pd:画出机场的跑道。根据跑道结构体的x,y坐标和规定的机场跑道数画出机场的跑道。draw_plane:画飞机的函数。主要根据飞机结构体的x,y坐标,飞机的朝向,飞机的高度和飞机的种类画出飞机。其中不同种类的飞机有不同的颜色,分别为中转:红色;降落:白色;起飞:绿色。高度位于地面的飞机将画出飞机的起落架。

机场模拟仿真过程示意图模拟的初始化该模块的入口函数为init,主要是对模拟过程中的结构体进行初始化。、init_plane:初始化飞机init_pwl:初始化地面等待区init_pwa:初始化空中等待区init_pd:初始化跑道2.2模拟过程中的运算2.2.1机场飞机坐标运算模块(do_xy):此模块根据飞机目前的正处于的运行状态(飞机结构体中的process参数)计算飞机在下一时刻的坐标位置。开始的所有飞机都是预设为FTA的状态,进入机场以后,根据飞机的种类改变飞机的模拟运行状态。整个坐标运算过程的思想是:飞机进入一个模拟状态→用该模拟状态的算法计算坐标→判断飞机是否进入下一个模拟状态其中飞机各种运行状态的宏定义与对应的含义如下:#defineFTA0//flytoairport飞向机场#defineWIA1//waitinair于空中等待#defineWOL2//waitonland于地面等待#defineRTL3//readytoland准备降落#defineRTD4//readytodepart准备起飞#defineTL5//toland正在降落#defineTD6//todepart正在起飞#defineRTT7//readytotrans准备地面中转#defineLOL8//leaveonland从地面离开机场#defineOUT10//outtheairport飞机已经离开机场该模块执行的入口函数为do_xy.其中每一种运行的状态都有一个相应的函数计算处理该状态的飞机的坐标。如对于状态FTA则有相应的函数do_FTA。所有这些函数都被do_xy调用。·下面对飞机各种状态的动作做简要的解释。FTA:此状态中飞机从外部接近飞机场。WIA:此状态中会检测空中等待区的使用状况,并分配给飞机空闲的等待区。若飞机被分配了等待区则进入该等待区。飞机处于空中没有接到降落指示时会在空中进行盘旋等待。WOL:此状态中会检测地面等待区的使用情况,并分配给飞机空闲的等待区。若飞机没有分配到等待区则会在原地停留,若飞机被分配了等待区则进入该等待区。RTL:此状态的飞机已经被分配跑道并准备降落。RTD:此状态的飞机已经被分配跑道并准备起飞。TL:此状态的飞机正在降落的过程中。飞机降落后在跑道上滑行。TD:此状态的飞机正在起飞的过程中。飞机在跑道上滑行并起飞。RTT:此状态飞机为完成降落的中转飞机。飞机会检索地面的空闲等待区并进入等待区等待起飞。LOL:此状态飞机为完成降落的降落飞机。飞机回从地面离开飞机场。OUT:此状态的飞机完成了一架飞机模拟的全部过程。之后会执行飞机信息的统计,并在统计之后按照该飞机原有的种类对飞机的状态再一次进行初始化,使之在此进入模拟系统。2.2.2处理飞机起飞降落请求模块(do_pd):此模块在每次计算完飞机坐标后检索跑到区的使用状态。若跑道未被使用则检测空中和地面等待区中的0号和3号子区域(可以发送降落起飞请求的区域)看是否有需要处理的飞机。若有不止一架飞机需要处理,则按照一定的规则选出应该先处理的飞机。总体选择的规则是:空中的飞机优先于地面;飞机的等待时间不能过长;地面等待区不能填满。·实现此模块功能的函数如下:voiddo_pd检索跑道并分配的函数入口,被函数do_xy调用。voiddo_signal:检索跑道并将可用跑道进行分配的函数。被do_pd函数调用。此函数完成整个比较流程。structarea*signal_compare比较相同等待区(地面或空中)飞机优先级的函数。被do_signal函数调用。函数会返回在相同高度的可请求使用跑道的子等待区(0号和3号子等待区)中更应该被优先处理飞机的等待区的指针。若两个子等待区都没有飞机则返回空等待区指针。structarea*compare_12比较地面和空中等待区的飞机优先级的函数。被函数do_signal调用。该函数是对地面和空中等待区分别返回的子等待区进行比较,并得出此两个子区域中哪一个应该被优先处理,返回的是该等待区域的指针。voidmove_pw移动等待区域中的飞机的函数。被函数do_signal调用。如果最终返回的区域指针不是区域空指针,则将该区域的飞机指向区域的指针指向相应的

温馨提示

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

评论

0/150

提交评论