电梯智能控制算法.doc_第1页
电梯智能控制算法.doc_第2页
电梯智能控制算法.doc_第3页
电梯智能控制算法.doc_第4页
电梯智能控制算法.doc_第5页
免费预览已结束,剩余75页可下载查看

下载本文档

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

文档简介

电梯运行的智能算法设计摘 要本文研究了关于电梯智能控制算法,提出了智能动态阶梯模型,在提高电梯运送效率的同时,针对一般新型电梯设计中所经常被忽视的乘客舒适度进行研究,使得在舒适度方面得到大大的改善。这项研究对于打破国外各大公司的电梯控制技术垄断,支援目前国内所不多见的具有自主知识产权的电梯控制系统有重大的意义。在智能电梯控制算法的设计中,本文的作者根据对日常生活的仔细观察,结合自身的逻辑思考,提出了智能动态阶梯模型。在智能动态阶梯模型中,电梯的控制系统自动根据乘客的乘坐信息,包括出发点、目的地、人数等,将乘客分流为从近到远的多级分类,使得乘客对电梯的利用达到更优的效果。本文的作者采用的是Adobe公司开发的编程语言ActionScript 3.0以及Adobe Flash CS4加上FlashDevelop 3开发环境。该语言和开发环境在图形图像上的处理比其它语言较为优秀,在动态显示电梯运行状态有较佳的效果。虽然ActionScript 3.0主要运行在个人微型计算机以及智能移动设备上,采用ActionScript无法直接应用到工业芯片中,但拥有算法的核心思想,用其它语言开发出工业版本是非常容易的。相较于国内其它类似于全盘统计的算法,该方案在降低计算机运算负担起到一定的作用。从仿真看,智能电梯控制算法模型非常好地实现了预期效果,对日常生活中的电梯频繁加速减速、路程较远的乘客得不到最佳速度、完全以命令先后定策略的现象有较好的解决。关键词:电梯控制 算法 大厅呼叫 ActionScript3.0 距离ABSTRACTThis paper a study on the elevator intelligent control algorithm, the intelligent dynamic Ladder in Tigao elevator delivery efficiency, while for the general new elevator in the design process often overlooked passenger comfort 进行 researches make in the comfort are much improved . The study abroad for major companies to break the technological monopoly of the elevator control, the rare domestic support with independent intellectual property rights of the elevator control system has great significance. Elevator control algorithms in intelligent design, the author of this article, based on careful observation of everyday life, combined with their own logical thinking, put forward an intelligent dynamic Ladder. Intelligent dynamic ladder model, the elevator control system automatically according to passenger travel information, including the starting point, destination, size, etc., will divert passengers away from the past to the multi-level classification, making use of passenger elevators achieve more excellent effect. The author of this paper is used in programming language developed by Adobe, and Adobe Flash CS4 ActionScript 3.0 with FlashDevelop 3 development environment. The language and development environment in the graphic image on a good deal more than other languages, running in a dynamic display lift better results. Although ActionScript 3.0 is running on your main computer and smart mobile devices, micro-, using the ActionScript can not be directly applied to the chip industry, but has Suanfa the core ideas of the development of the industrial versions of other languages is very easy. Compared to other domestic algorithm similar to the overall statistics, the program in reducing the burden of computing play a role. View from the simulation, intelligent elevator control algorithm model very well to achieve desired results, on the daily life frequent acceleration and deceleration of the elevator, walk a longer distance passengers to get the best rate, fully to command the phenomenon has a better strategy for solution.Keyword: control ActionScript3.0 distance button71目 录1. 前言11.1 选题背景11.2 研究现状21.2.1 国际研究现状21.2.2 国内研究现状31.3 本课题研究概述31.3.1 本课题研究的意义及内容31.4 本章小结42. 电梯智能控制系统的研究42.1 结构概述42.2 一般运行原则52.3 特点及性能要求62.3.1 不确定性62.3.2 非线性62.3.3 扰动性72.3.4 信息不完备性72.3.5 性能要求72.4 设计时主要考虑的问题82.5 本章小结83. 智能动态阶梯算法的研究93.1 算法控制逻辑研究及设计93.3.1逻辑规则简述93.2智能动态阶梯算法函数的设计93.2.1电梯控制系统的重要指标93.2.2电梯运行中几个控制的特殊情景93.2.3情景的分析103.2.4智能动态阶梯算法的设计113.2.5评价函数的设计113.2.6 仿真结果123.3 大厅呼叫的特点133.3 本章小结134. 模拟仿真程序的编写及设计144.1 ActionScript 3.0编程语言简介144.1.1 Adobe Flash 简介144.1.2 ActionScript 3.0 编程144.1.3 Adobe Flash Create Suit 4 开发平台154.1.4 FlashDevelop 3.1.1 RTM 开发环境154.2仿真程序的整体结构154.2.1仿真程序的整体编程思路154.2.2 仿真程序的用户交互界面164.3 各功能模块的设计与开发164.3.1 程序中各个全局变量及对象的说明164.3.2 程序中辅助函数说明174.3.3 电梯按钮模块184.3.4 电梯乘客指示模块204.3.5 电梯乘客分配模块204.3.6 电梯运行模块244.3.7 电梯楼层判断模块284.3.8 电梯移动模块294.4 仿真与调试294.5 本章小结305. 总结与展望30参考文献32致谢32附录:仿真程序源程序32正 文1. 前言1.1 选题背景随着高层建筑和智能大厦日益增多,和人们对效率的要求越来越高,时间的观念变得更强,活动中人们尽可能的缩短不必要的时间,在楼宇内部的交通也是如此。电梯,作为高层建筑内部一种非常重要,甚至是唯一的交通工具,其应用规模日益扩大、复杂化,人们对电梯系统的性能和服务质量也提出了越来越高的要求。单台电梯往往不能满足建筑物内的交通要求,为了缩短乘客的候梯时间,减少能量损耗,需要合理安装多台电梯,电梯控制系统EGCS(Elevator Group Control System)正是应这样一种需求而产生和发展的。电梯控制系统EGCS是指将建筑物中的多台电梯根据大楼的功能及楼层人口分布情况组成梯群,由微机控制系统统一管理电梯群的召唤信号,根据系统设定的优化目标和建筑物中的实际交通状况,产生最优派梯决策的控制系统。应用电梯控制系统可以提高整个电梯系统的性能,如缩短平均侯梯时间、平均乘梯时间、降低系统运行能耗等。而电梯交通系统设计的关键是满足乘客生理上和心理上的承受力,有效地解决高层建筑复杂的楼内垂直交通,寻求优化的策略,优化调度多部电梯以提高电梯的运行效率和服务质量。传统的控制算法只有一个目标,即最小候梯时间,但是在控制系统中仅满足侯梯时间,就难免会将乘客在轿箱中的时间忽略掉,而这一时间也确确实实的考验着乘客的生理和心理的承受力。另外,乘客在轿厢中的频繁加速与减速,代给乘客多余的重力加速度,使得乘客的血液在身体中不断冲击,不适感有时过于强烈,因此开发一种科学高效、并且考虑到乘客舒适感的电梯控制系统就成为一个十分值得研究的课题,同时它的价值也是不言而喻的。从电梯控制技术研究的角度看,国外已有的先进控制技术,多都掌握在各个大电梯公司的手中,其核心技术是各自保密,我们往往只能看到它的控制结果,却很难知道它的控制过程或者方法,而国内在这些方面的研究起步比较晚,虽然发展迅速但仍有相当大的差距。尽快学习和掌握这些先进的控制技术,对国内电梯工业以及其它行业的发展会有极大的促进作用。同时对自主知识产权的扩展也将起到举足轻重的作用。1.2 研究现状电梯控制技术的发展分为三个阶段,第1阶段是1949年1971年1971年以前,是电梯控制技术的初级阶段,采用的是继电器时序控制和预选分区控制,轿厢指派方式为区间指派方式。第2阶段是1971年1975年硬件采用了集成电路可以进行较为复杂的逻辑计算。第3阶段是1975年1988年计算机应用于电梯控制标志着现代电梯控制阶段的开始。着重研究电梯控制系统的动态特性,控制方式主要是最小候梯时间控制和综合评价函数控制。从1988年至今,是电梯控制技术的快速发展阶段。电梯系统的控制提出了两个不同的工程问题。首先,必须提供轿厢在垂直方向上运行和在指定层站停靠的控制方法,即传统意义上的电梯控制;其次,在一组电梯同时工作时,为了有效地使用电梯群,需要协调各台电梯的运行,这就是电梯控制制。随着电梯控制技术的不断发展,人们对其服务质量提出越来越高的要求,而电梯的控制方法直接影响其运行效率,因此对于控制技术的研究已成为电梯控制的核心问题。采用何种控制策略,优化调度多部电梯群以提高电梯的运行效率和服务质量,这己是电梯界众多专家关注的问题。1.2.1 国际研究现状电梯控制系统的发展大约已有半个世纪的时间,最早是由日本Toshiba公司提出的。它是指3台或3台以上的电梯作为1个群体,应用人工智能技术进行控制和管理。1949年,纽约联合国大厦首次使用了继电器逻辑组成的电梯控制系统,经历了由当初的预选控制到后来的分区控制。随着计算机技术的迅速发展,国际上各大电梯公司相继推出了一些控制算法,如:日本Mitsubishi公司的综合分散度控制方法、Hitachi公司的时间最小/最大控制方法,瑞士Schindler公司的综合服务成本控制方法,美国Otis公司的相对时间因子控制方法等。这些控制系统已经开始应用专家系统、模糊控制、人工神经网络等先进的控制技术。1996年,迅达电梯公司公布的最新电梯技术,其中包括将“Miconic VXTM/ATM”用于电梯的人工智能技术,使电梯控制系统可以改变运行参数,具有学习功能。1.2.2 国内研究现状在我国,电梯控制技术的研究最早见于1990年,主要是研究电梯控制系统的人工智能调度策略。近几年,我国在这方面的工作主要表现在引进国外先进技术和产品上,并在此基础上力争推出自己的产品。例如1994年,上海电梯有限公司制造出智能化电脑网络控制电梯GPS/GPM型,具有缩短候梯时间,设置服务楼层,消除错误指令及为用户提供保安召唤等功能。我国对电梯系统特征研究与国外相比还处于比较落后的状态,国内使用的先进的电梯控制系统基本上都是国外电梯公司制造的或由国外电梯公司提供其控制系统部分,而国内自主版权的控制方法和技术在实际中的应用还很少,很多只停留在产品引进上,对电梯控制系统的关键技术仍需要不断消化吸收并进行创新。1.3 本课题研究概述1.3.1 本课题研究的意义及内容电梯控制系统采用优化的控制策略来协调多台电梯的运行,以提高电梯的运输效率和服务质量。由于电梯控制系统本身具有多目标性、不确定性、非线性、扰动性和信息的不完备性等特点,导致电梯控制系统变得十分庞大,调度算法日趋复杂,仅仅通过传统的控制方法很难提高电梯控制系统的性能。近年来,大量先进的控制技术应用于电梯控制系统,使电梯控制系统的控制特性得到很大的改善,但仍有不少问题需要进一步研究。国内使用的先进的电梯控制系统大都是从国外电梯公司引进的,具有独立知识产权的产品尚不多见,而且大多数集中在控制理论和算法的研究上,在实际中的应用还比较少,与国外的先进技术相比还有很大的差距。从控制技术研究的角度看,国外己有的先进控制技术,很多都掌握在各个大的电梯公司手中,其核心技术是不公开的,而国内在这些方面的研究还有相当大的差距。同时,现有的电梯控制技术仍存在缺点和不足,如何把更先进的技术应用于电梯控制之中,以进一步提高现有电梯系统的运行效率,满足乘客的需求,仍需要进一步探索和研究。因此深入研究电梯控制技术,对提高我国的整体电梯控制技术水平具有重要的实际应用价值。本文从提高我国整体电梯控制技术水平的角度出发,注重实用性和可行性,本文里分别对一种新提出的算法和算法的仿真系统做深入研究,算法的本身是基于实际控制需要提出的,有较强的针对性,当然算法本身只是一种控制的逻辑,是一种方式的提出,并不能代替实际的控制系统,对其应用的可靠性及可行性必须有个判断,基于此目的,同时,本文作者在得到多方的指导意见下,利用Adobe公司开发的编程语言ActionScript 3.0编写了一套完整的模拟仿真程序,该程序可以真实的模拟电梯的运行状况,同时给出实时的输出结果,用户在这套系统上不但可以实际操作电梯,还可以真实的看到该算法的运行效率。该仿真系统的开发的意义不光在于对本算法的仿真,更在于它可以用于实际应用中,通过改写程序的输入和算法的逻辑控制方式,同样可以用来模拟仿真其他的控制算法,具有很强的灵活性。1.4 本章小结本章阐述了电梯控制的发展历史,并且展望了控制系统的未来,并根据国内外对电梯控制的研究情况对我国目前和将来的发展方式和趋势做了评价和预期,并以此为起点提出了本文的研究问题及其重点和要达到的预期目标,同时也表达了作者对本文的期望以及对祖国电梯智能控制系统的发展的信心。2. 电梯智能控制系统的研究本章主要介绍电梯控制的结构特点,一般电梯的运行原则以及电梯控制系统的特性和控制系统需要达到的性能,电梯控制通常要考虑的几种交通模式,最后介绍电梯控制系统设计过程中要主要考虑的问题。2.1 结构概述由于控制技术属于各个电梯公司的商业机密,通常是不透明的,因此国际上各大电梯公司相继推出了一些带有自身特色的电梯控制系统。但对比发现,他们的基本组成结构都有类似之处。一般来说通常采用两种结构,而这两种结构方式最大的不同之处就在于呼叫方式的不同,通常都采取大厅发指令、进轿箱再指定楼层的方法,这种方法目前的国内使用得最多,而另一种结构,采用的是大厅发指令并指定目的楼层,两步操作同时完成,这可以大大的提高电梯的运行效率,同时能减少乘客的操作步骤。电梯控制系统的基本组成结构如下图2-1所示。电梯控制控制器在电梯控制系统中起关键作用:它根据系统控制策略,执行相应的控制算法,同时分配任务给各个电梯;控制器的输入输出部分分别提供给控制算法必须的输入信息和输出信息,例如:载重,呼叫位置,目的楼层,当前楼层等等,而输出部分例如:分派命令,显示当前位置,运行状况,语音输出等等。如图2-1所示。用户端按钮主控制器输入输出语音输出控制器群图2-1 电梯控制系统的基本组成结构2.2 一般运行原则电梯服务过程可以描述为:在随机的时间和楼层,乘客随机地到达电梯前厅,发出上行或下行的层站呼叫,直到乘客进入轿厢按下轿厢呼叫按钮之前,其目的层是不确定的,而调度程序必须以一种基于全局系统优化的方式,通过选择轿厢运动方向,对所有指派给它的当前方向上的层站呼叫提供服务。目前电梯控制控制系统的控制方式主要遵循以下一些基本原则:a. 自动定向原则。电梯首先响应内选信号,按内选的顺序进行自动定向,如果只有呼梯信号,则将采集的所有呼梯信号按先来先到的原则自动定向。b. 顺向截车原则电梯按确定的方向运行,只响应同向呼梯信号,对于反向呼梯信号,换向后再响应。c. 最远程反向截车原则,电梯如果向上运行,对于有向下方向的呼梯信号,电梯先响应最远的呼梯信号,换向后再按顺向截车原则响应向下方向的其他呼梯信号。这些原则是根据乘客搭乘电梯的基本需求和电梯应该满足的基本功能而提出的,电梯群的运行控制是一个多输入和多输出的多目标决策过程,应根据不同的建筑物交通模式采用不同的调度方法或者算法,人工免疫算法,智能控制调度算法,排队论和多目标规划理论等算法或者控制方式也都是从这些最基本的原则出发设计并不断改进的。2.3 特点及性能要求电梯控制实际上是对多台电梯的调度问题,其复杂性是由电梯控制系统的系统特性所决定的。主要表现为电梯控制系统的不确定性、非线性、扰动性、信息的不完备性等几个方面2.3.1 不确定性电梯交通系统存在着大量的不确定性,具体表现在以下几个方面:a.各层站的乘客数是不确定的;b.乘客的目的层站是事先不能确定的(但是如果采用厅内呼叫并指定目的层的控制方式可以解决这个矛盾);c.召唤信号即将在哪一层产生也是不能事先确定的;d.建筑物内存在的与环境因素变化有关的交通状况是不确定的。这些不确定性因素的存在给电梯控制系统确定交通模式、优化调度都带来极大的困难,使系统不能对某一特定情况给出最优控制。2.3.2 非线性a.对于同一组厅外召唤,在不同的时间标度下,轿厢的分配是不同的,轿厢分配的变化是不连续的;b.所能分配的轿厢数目有限,受系统所有轿厢数目限制;c.轿厢容量是有限的,当轿厢乘客达到满载时,轿厢会不停而过;d.轿厢会在中间层频繁改变方向。2.3.3 扰动性a. 电梯控制系统还不可避免的具有不确定的随机干扰,如:b. 乘客可能登记了错误的厅外召唤而造成不必要的停站;c. 乘客可能登记了错误的内召指令而造成不必要的停站;d. 乘客或其他非人为的因素可能造成轿厢门不能关闭而干扰系统正常运行;e. 一些人为的捣乱因素,如小孩在轿厢内人为地呼上很多内召指令,或者在厅内呼叫模式下,认为的呼很多目的楼层指令。2.3.4 信息不完备性电梯控制系统中存在着大量的不准确信息:a. 电梯轿厢中的乘客人数不能准确获得。虽然轿厢的底部装有称重装置,但是由于人的个体体重差异较大而不能获得轿厢内乘客数的准确数据,这会导致对轿厢内拥挤度的预测不准确,增加系统控制的难点;b. 乘客进出轿厢的时间因个体的差异而不同,同样不能准确获得;c. 乘客进入轿厢前,其目的层是不可知的(厅内呼叫并指定楼层的系统除外)。这使我们对乘客乘梯时间的预测和对其他乘客候梯时间和乘梯时间的影响的预测误差较大。综上所述,电梯控制系统是一个具有多目标性、非线性、不确定性、扰动性和信息的不准确性等特性的非常复杂的控制系统。设计电梯控制系统的主要目的是用最经济的配置,在保持乘客的等待时间在合理极限内的前提下,实现电梯交通流量的最大化。2.3.5 性能要求电梯控制系统对电梯进行控制和调度,而电梯作为公共交通工具,最重要的是安全性和可靠性。因此,控制系统整体性能应满足以下要求:a. 可靠性高。系统的运行要安全可靠,能够在恶劣的环境下长期连续工作;b. 实时性好。控制系统要根据电梯系统实时状态来进行优化调度,要能及时采集系统信息,并且能及时分析处理得出控制结果;c. 硬件维护方便、软件操作性强;d. 性价比高;e. 容错性能好。当控制系统出现问题时,电梯系统不应该瘫痪,而应该在适当地降低系统总体性能的情况下继续工作。2.4 设计时主要考虑的问题电梯控制系统的设计主要应考虑如下问题:a. 电梯动态特性:额定速度、加速度、运动时间、加载卸载乘客数量;b. 评价准则:平均候梯时间、长候梯率;c. 评价方法:主要用仿真的方法;d. 层站呼叫指派方法:当一个新的层站呼叫发生时,层站呼叫指派方法需完成3个步骤:输入当前交通条件、性能预测及确定服务轿厢;e. 交通量的自适应性:用已知的当前交通数据预测层站呼叫的发生情况,估计可能的指派而后作出决策;f. 再指派能力:根据最新的系统条件重新作出指派,这也是当今备受关注的一个问题;g. 乘客舒适度:乘客受不了经常性的加速减速,在电梯运行期间,有必要减少加速减速的次数。2.5 本章小结本章节主要介绍了电梯控制的结构特点,一般电梯的运行原则以及电梯控制系统的特性和控制系统需要达到的性能,还介绍了电梯控制通常要考虑的几种交通模式,最后介绍了电梯控制系统设计过程中要主要考虑的问题。3. 智能动态阶梯算法的研究3.1 算法控制逻辑研究及设计3.3.1逻辑规则简述在没有控制的电梯系统中,任何电梯接收外召唤后,立即响应这个召唤,这个召唤的分配是立即的:在引入电梯控制这个“交通指挥员”后,召唤分配需要经过一定的“思考”,首先要根据一定的派梯方案选择当前合适的电梯,然后再把召唤分配给相应电梯。根据以上所述,控制算法的实现主要有两个部分:最佳派梯策略和召唤分配策略。最佳派梯策略一定是基于派梯选择算法的,首先,让我们看看是什么3.2智能动态阶梯算法函数的设计3.2.1电梯控制系统的重要指标电梯控制调度是一个多目标问题,主要的评价指标有:a. 平均候梯时间(AWT,Average Waiting Time);b. 平均乘梯时间(ART,Average Riding Time);c. 长侯梯率(LWP,Long Waits Percent);电梯控制的目的就是优化上述各项指标,既满足电梯的效率指标又使电梯的能耗最小,使乘客得到高效优质的服务。3.2.2电梯运行中几个控制的特殊情景我们在日常生活中大量地使用电梯,在我们的常识中,电梯有那么几个情景,想必很多人都可以注意到,这些情景对我们所理解的电梯的效率有着很大的影响,对具体到每个人的乘坐电梯体验同样的息息相关。那么,接着让我们来看看是什么样的情景。情景一:一栋有20层的楼房,有一部电梯,乘客A在19楼想去10楼,他按了向下的按钮;另外,在一楼有8名乘客B、C、D、想一起去10楼,他们也同样按了向上的按钮;而此时,电梯在10楼,来自19楼与来自1楼的指令几乎是同时发出的,不过,19楼的乘客A稍稍按早了一点,那么此时,电梯得怎么响应乘客的指令?向上载乘客A,还是向下载B、C、D?一般情况下,我们现有的设计的大部分电梯都是先载乘客A的,原因是乘客A先发出了指令。基于电梯逻辑中的“谁先发指令先响应谁的原则”,这样做是正确的。情景二:一栋大厦,同样有20层,并且装有两部电梯,两部电梯同样可从1层运行到20层。此时正值上班高峰期,大厦楼下排满了正等待上楼的工司职员,两部电梯都排了很长的队伍。职员B的工作地点在20楼,他排在了队伍的中间。当电梯的门一打开,他一起挤了进去。在电梯向上运行的过程中,他发现他平时非常快就到达20楼的电梯,此时变得非常的缓慢。为什么?因为电梯不停地在1楼、2楼、17楼等楼层将其它低层的职员送到目的地。电梯不断地在此过程中加速,减速,再加速,减速,反反复复,以致使电梯到20楼的平均速度变慢。情景三:老奶奶C住在一栋高层住宅。老奶奶C身体不大好,有点贫血。她最不喜欢的就是坐电梯,一坐电梯,在出发与到达那两个时间段她就头晕。而最差的情况是,一同上楼的人特多,而且都比她先到。那样头晕的次数就比较多,但是因为住的楼层比较高,又不得不坐电梯。3.2.3情景的分析(考虑到三个特点,电梯的人数,长距离与短距离速度的区别,乘客的舒适度)前面说到的三个特殊情况,虽然不是真实的例子,但却又最真实不过了。因为这些例子在我们的日常生活中俯拾皆是。一般的电梯的控制设计,由于其逻辑控制上的特点的局限性,经常造成以上三个情形的发生,而往往人们已经习以为常。所以设计新的控制算法,必须考虑到以上的三个特殊情景。而且,在众多的新型电梯控制算法中,往往沿袭了大部分的电梯运行原则,而且把大部分的注意力放在电梯的效率上,往往忽略了电梯频繁加速减速对乘客舒适度的影响。根据这些条件与要求,本文的作者设计了这样的一个关于电梯的逻辑判断算法,简称为智能动态阶梯算法。3.2.4智能动态阶梯算法的设计考虑到以上的各个情景,采取这样的设计方式来进行电梯调用。a. 将电梯的楼层按钮放置在候梯大厅。让电梯系统得到关于乘客去向的信息。b. 在记录乘客去向信息的同时,记录乘客数。所以乘客在重复按下按钮时,电梯是有进行记数的。c. 在记数的同时,必须有取消方法。这里采用“长按取消”这一方法来实现指令的消除。这样的方法乘客简单易懂,而且在显示屏上用LED显示乘客数量,一目了然。d. 电梯收集乘客的信息后,必须用一定的方法来进行乘客的调配。这里采用将乘客分为长途乘客与短途乘客的方法,将乘客分成类似一级一级的阶梯,如图3-1。长距离乘客中距离乘客短距离乘客图3-1 智能动态阶梯算法示意图3.2.5评价函数的设计为了测得AWT、ART、LWT三个参数,必须统计各个乘客的状况。设计一个函数,生成模拟的乘客,用一个时间计时器分别对每个乘客的时间进行计时。再设计一个统计函数进行统计而得出结果。3.2.6 仿真结果统计数据共节省时间74秒平均节省时间8.22秒3.3 大厅呼叫的特点该呼叫方式与传统的呼叫方式相比各有利弊,例如:a. 目标不可临时更改采用这种方式,一旦乘客进入轿箱内就无法再更改目的楼层,因为轿箱内部没有号码操纵盘,如果乘客想临时去其他的楼层必须等到电梯停靠后,在厅内重新呼叫,或者电梯正好在临时想去的楼层停靠。但在进入电梯之前仍有机会更改指令。b. 操作更加人性化乘客在厅外完成操作后就再也不用为进入轿箱内寻找号码盘,并确定是否有人已经按下了自己的目标楼层等事情而分心,无形中减轻了乘客的心理压力。c. 侯梯更加轻松同时因为按下目的楼层按钮后,LOP显示屏立刻告诉乘客去几号梯等候,乘客可以直接走过去,等电梯门开了,走进去搭乘就可以了。不用象传统梯那样,先左顾右盼看哪部梯子将会先行到达,并且判断是上行还是下行。d. 信息提取快速完整当乘客在厅外完成操作后,既完成了全部操作,也就是说,此时电梯控制系统已经得到了该次呼叫的全部信息,系统可以立刻进行计算并得出最佳的派梯方案。跟传统方式相比,这是一个非常大的优势,可以大大提到控制的效率。e. 派梯更加准确如果遇到残疾人行动不方便,可以在LOP相应的按钮做专门设置,按下去之后,电梯会等待稍长时间再关门,能让行动不便的人可以及时搭乘,或者如果是坐轮椅的,可以派空间比较大的轿箱,并且加长开门时间,方便其搭乘。3.3 本章小结4. 模拟仿真程序的编写及设计4.1 ActionScript 3.0编程语言简介4.1.1 Adobe Flash 简介Adobe Flash,简称为Flash,前身为Macromedia Flash,是美国Macromedia公司所设计的一种二维动画软件。通常包括Macromedia Flash,用于设计和编辑Flash文档,以及Adobe Flash Player,用于播放Flash文档。后被世界闻名的出品Adobe Photoshop 等知名软件的Adobe公司收购。Flash被大量应用于因特网网页的矢量动画文件格式。它使用向量运算Vector Graphics的方式,产生出来的影片占用存储空间较小。使用Flash创作出的影片有自己的特殊档案格式*.swf。该公司声称全世界97%的网络浏览器都内建Flash播放器Flash Player。Flash是Macromedia提出的“富因特网应用”(RIA)概念的实现平台。4.1.2 ActionScript 3.0 编程ActionScript 动作脚本是遵循 ECMAscript第四版 的 Adobe Flash Player 运行时环境的编程语言。它在 Flash 内容和应用程序中实现交互性、数据处理以及其他功能。 ActionScript是Flash的脚本语言,与JavaScript相似,ActionScript是一种面向对象编程语言。ActionScript 是针对 Adobe Flash Player 运行时环境的编程语言,它在 Flash 内容和应用程序中实现了交互性、数据处理以及其它许多功能。 ActionScript 是由 Flash Player 中的 ActionScript 虚拟机 (AVM) 来执行的。ActionScript 代码通常被编译器编译成字节码格式(一种由计算机编写且能够为计算机所理解的编程语言),如 Adobe Flash Create Suit Professional 或 Adobe® Flex Builder 的内置编译器或 Adobe® Flex SDK 和 Flex Data Services 中提供的编译器。字节码嵌入 SWF 文件中,SWF 文件由运行时环境 Flash Player 执行。ActionScript 3.0 的优点:ActionScript 3.0 的脚本编写功能超越了 ActionScript 的早期版本。它旨在方便创建拥有大型数据集和面向对象的可重用代码库的高度复杂应用程序。它使用新型的虚拟机 AVM2 实现了性能的改善。ActionScript 3.0 代码的执行速度可以比旧式 ActionScript 代码快10倍。ActionScript 3.0作为一种脚本语言,它的优点是不需要编译,可以直接用,由解释器来负责解释。4.1.3 Adobe Flash Create Suit 4 开发平台Adobe Systems公司推出新一代网络、设计与开发软件套装“Creative Suite 4”(简称CS4),所有创意套件包含的软件图组件和套件都升级到了最新版。 Adobe Flash CS4属于其中之一。4.1.4 FlashDevelop 3.1.1 RTM 开发环境适用于ActionScript 2.0与ActionScript 3.0的开发环境软件,比Adobe Flash CS4更为优秀的开发平台,在进行ActionScript 编程时有方便的类似于Microsoft Visual Studio 2008的“智能感知”功能。大大方便ActionScript开发者。目前在国内用的还不是很多,相关中文资料较少。4.2仿真程序的整体结构4.2.1仿真程序的整体编程思路根据电梯智能控制的实际运行方式和ActionScript 3.0的编程特点,本文作者将基于ActionScript 3.0的仿真系统的功能模块按图4-3所示方式进行划分,如图4-1。图4-1 仿真程序整体模块设计一览4.2.2 仿真程序的用户交互界面4.3 各功能模块的设计与开发4.3.1 程序中各个全局变量及对象的说明a.在程序开始时声明一个8 * 8的矩阵,用于放置乘客的输入命令,以及计录乘客的数量。var supperList_arr:Array=;supperList_arr0 = 0, 0, 0, 0, 0, 0, 0, 0, ;supperList_arr1 = 0, 0, 0, 0, 0, 0, 0, 0, ;supperList_arr2 = 0, 0, 0, 0, 0, 0, 0, 0, ;supperList_arr3 = 0, 0, 0, 0, 0, 0, 0, 0, ;supperList_arr4 = 0, 0, 0, 0, 0, 0, 0, 0, ;supperList_arr5 = 0, 0, 0, 0, 0, 0, 0, 0, ;supperList_arr6 = 0, 0, 0, 0, 0, 0, 0, 0, ;supperList_arr7 = 0, 0, 0, 0, 0, 0, 0, 0, ;声明orderLineA数列用于存放cabA的一次运行队列var orderLineA_arr:Array = ;orderLineA_arr0 = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ;orderLineA_arr1 = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ;orderLineA_arr2 = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ;另外再声明一个orderLineB。各个变量的说明变量名称变量说明whichFloor整型变量,用于储存界面下拉框的楼层数,使电梯按钮响应不同的楼层,节省按钮空间的占用cabAStatus整型变量,用于表示轿厢A的命令状态,共用五种状态,分别为-2,向下长距离状态,-1,向下短距离状态,0,空闲状态,1,向上短距离状态,2,向上长距离状态cabBStatus整型变量,功能同cabAStatusATimer计时器对象,用于在轿厢A前进时计时,作用类似于步进电机BTimer计时器对象,功能同ATimerAWaitTimer计时器对象,用于在轿厢到达目的地时模拟乘客入轿厢而设置的等待时间BWaitTimer计时器对象,功能同AWaitTimer4.3.2 程序中辅助函数说明function toMoveCabA(event:flash.events.TimerEvent):void moveCabA();function toMoveCabB(event:flash.events.TimerEvent):void moveCabB();函数toMoveCabA与函数toMoveCabB内容只有一行,用于运行moveCabA与moveCabB函数。这样做的原因是在Timer类的addEventListener方法中只支持接收两个参数。且后一个参数接收的参数一定是TimerEvent的事件,使得与moveCabA函数的接收事件类型不匹配,所以在这里用一个toMoveCabA函数承接TimerEvent事件,通过它再执行moveCabA函数。function abs(a:Number):Numberreturn a 4:passengerStatus = -2; break;case j - i 4:passengerStatus = 2; break;case i - j0:passengerStatus=-1;break;case j - i0:passengerStatus=1;break;default:passengerStatus = 0;if (cabAstatus=0 | cabBstatus=0) distribute(passengerStatus,i,j);else interrupt(passengerStatus,i,j);Go函数是电梯按钮按下时启动的函数,属于全部函数的源头。负责直接接收乘客的指令,并判断其状态,对乘客进行阶梯分类。具体的分类方法是根据乘客的路程决定,当乘客的目的地与出发地大于4时,系统将乘客定义为长途乘客,那么乘客在乘坐电梯期间转少有4层楼梯经过时没有停止,一直以原定的速度向上或向下运行。流程图见图4-1。图4-1 电梯乘客分配模块流程图另外,在电梯停止时,同样触发一个电梯分配模块pick

温馨提示

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

评论

0/150

提交评论