您好,欢迎访问三七文档
电梯控制分析一、我们将要讨论的是电梯的控制问题,下面给出对在一幢有mn部电梯的产品,要求这n部电梯根据下列约束条件在楼层间C1:每部电梯有m个按钮,每个按钮代表一个楼层。当按下一个按钮时该按钮指示灯亮,同时电梯驶向相应的楼层,当到达由按钮指定的楼层时指示灯熄灭。C2:除了大厦的最低层和最高层之外,每层楼都有两个按钮分别指示电梯上行和下行。当这两个按钮之一被按下时相应的指示灯亮,当电梯到达此楼层时灯熄灭,C3二、分析的第一步是构造控制对象模型。在这个步骤中将抽象出控制对象和它的属性,并用模型图描绘控制对象及它们彼此之间的关系。控制对象所提供的服为了抽象出问题域中包含的控制对象,可以用下述三个过程产生候选对象,并对所得到的结果加以精1应该尽可能简洁地定义所需要的产品,最好只用一句话来描述目标系统。例如,对电梯系统可以像下在一个m层楼的大厦里,用每层楼的按钮和电梯内的按钮来控制n2.为了提出一种解决上述问题的非形式化策略,必须确定问题的约束条件。在上面已经对电梯问题提出了三种约束。最好能用一小段文字把非形式化策略清楚地表达出来,对电梯问题来说,解决问题的非形式在一幢有m层楼的大厦里,用电梯内的和每个楼层的按钮来控制n部电梯的运动。当按下电梯按钮以请求在某一指定楼层停下时,按钮指示灯亮;当请求获得满足时,指示灯熄灭。当电梯无升降操作时,关门3.在以上这段描述非形式化策略的文字中,共有八个不同的名词:按钮、电梯、楼层、运动、大厦、指示灯、请求和门。这些名词所代表的事物可作为控制对象的初步候选者。其中,楼层和大厦是处于问题边界之外的,因此可以忽略;运动、指示灯、请求和门可以作为其他类的属性,例如,指示灯(的状态)可作为按钮类的属性,门(的状态)可作为电梯类的属性。经过上述筛选后只剩下两个候选类,即电梯和按钮。补充了电梯控制器类之后,得到了图1所示的对象模型。图1电梯系统对象模型的第一次迭代图2电梯系统对象模型的第二次迭代三、1.这一步的目的是,决定每一个类应该做的操作。达到这个目的的一种有效的方法,是列出用户和系统之间相互作用的典型情况,即写出脚本(包括正常情况脚本和异常情况脚本)。表1和表2分别是正常情况脚本表1·用户A在3楼按上行按钮呼叫电梯,用户A希望到7楼去·上行按钮指示灯亮·一部电梯到达3楼,电梯内的用户B已按下了到9楼的按钮·上行按钮指示灯熄灭·电梯开门·用户A进入电梯·用户A按下电梯内到7楼的按钮·7楼按钮指示灯亮·电梯关门·电梯到达7楼·7楼按钮指示灯熄灭·电梯开门·用户A走出电梯·电梯在等待时间到后关门·电梯载着用户B继续上行到达9表2电梯系统异常情况脚本·用户A在3楼按上行按钮呼叫电梯,但是用户A希望到1楼·上行铵钮指示灯亮·一部电梯到达3楼,电梯内用户B已按下了到9楼的按钮·上行按钮指示灯熄灭·电梯开门·用户A进入电梯·用户A按下电梯内到1楼的按钮·电梯内1楼按钮指示灯亮·电梯在等待超时后关门·电梯上行到达9楼·电梯内9楼按钮指示灯熄灭·电梯开门·用户B走出电梯·电梯在等待超时后关门·电梯载着用户A下行驶向12.电梯控制器是在电梯系统中起核心控制作用的类,我们将画出这个类的状态转换图。为简单起见,仅考虑一部电梯(n=1)的情况。电梯控制器的动态模型如图3所示,这个状态图的画法读者可对照电梯系统图3电梯控制器类的动态模型五、根据从功能模型中获得的信息,重新审查对象模型(图2)和动态模型(图3),以便进一步完善控制对象分析的结果。增加了“电梯门”类和“请求”类之后,得到对象模型的第三次求精结果,如图5所示。修改了对象模型之后,必须重新审查动态模型和功能模型,看看是否需要进一步求精。显然,必须修改功能模型,把数据存储“电梯门”和“请求”标识为可做类.图5电梯系统对象模型的第三次迭代
本文标题:电梯控制模型
链接地址:https://www.777doc.com/doc-3563007 .html