电梯设计文档文档格式.docx
- 文档编号:17708643
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:22
- 大小:460.96KB
电梯设计文档文档格式.docx
《电梯设计文档文档格式.docx》由会员分享,可在线阅读,更多相关《电梯设计文档文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
4.1采用的技术路线及芯片选择14
4.2硬件实现描述14
4.2.1组内状态机描述14
4.2.2单个电梯状态机描述16
4.2.3模块描述16
4.2.4信号描述19
5.调试方案20
5.1白盒测试20
5.2黑盒测试24
5.2.1模拟界面说明24
5.2.2测试流程24
5.3测试总结25
6.任务分工25
7.体会和感想26
1.需求分析
1.1需要实现的功能
设计出一个分组电梯系统,设计的功能:
该电梯系统运用到至少九层的建筑,实现二组六个电梯的分组控制,每个组有三个电梯,组内电梯具有同时或者不同上下、等待等功能,并且保证二组之间至少有一个电梯与其他电梯不同时上下。
1.1.1UML需求分析模型
(1)
用例名称:
上楼
参与执行者:
用户、电梯
前置条件:
电梯已开启
主事件流:
1.用户按下某一组电梯的向上键;
2.如果满足用户要求,所有电梯是否全朝一方向运行,如果是则不满足用户请求转去执行5.,否则进行调度。
3.该组电梯控制中心进行调度
3.1如果按照调度算法能选出一个最佳电梯,满足用户的请求。
否则不满足用户的请求转去执行5.。
3.2被请求电梯运行到用户所在楼层停下,为用户服务。
4.用户按下所去楼层的按钮,电梯响应,上升到用户所要求楼层。
如果在运行当中有其他用户请求该电梯为其上楼服务转去执行2.。
5.结束。
辅助事件流:
4.a用户按下当前楼层以下的楼层按钮,不予响应,转入主事件流步骤4.。
后置条件:
无。
(2)
下楼
1.用户按下某一个电梯的向下键;
2.如果满足用户要求,所有电梯是否全朝一方向运行,如果是则不满足用户请求转去执行5.,否则进行调度。
3.该组电梯控制中心进行调度
4.用户按下所去楼层的按钮,电梯响应,下降到用户所要求楼层。
如果在运行当中有其他用户请求该电梯为其下楼服务转去执行2.。
5.结束。
4.a用户按下当前楼层以上的楼层按钮,不予响应,转入主事件流步骤4.。
图1.1用例图
2.设计指标
2.1逻辑指标
实现一个分组电梯系统,达到1.1所要求的所有功能。
2.2非逻辑指标
工作速度:
达到目前市场同类产品平均工作速度;
系统消耗:
须符合国家电梯消耗标准;
可靠性:
达到年平均故障5次以下;
开发周期:
两个月半;
成本价格:
尽力控制在目前市场同类产品平均价格,可以略微高出。
注:
(具体市场同类产品平均工作速度和平均价格请参考市场评估报告)。
3.系统设计
3.1总体结构描述
3.1.1电梯分为两组,每组三个,使用的楼层为16(-1、1、--------15)层.
使用混合控制,每组分别设置一个控制器,控制组内的电梯;
组间再设置一个总的控制器,来控制组间的电梯。
控制请求到来后,先向组内的控制器发出请求,若组内可以处理,则直接发出控制信号,否则向组件控制器请求,由组间控制器发出控制信号。
图3.1控制流程图
控制结构如下图:
图3.2控制结构框图
整个电梯控制系统由五部分构成,分别是调度部分,控制部分,中断部分,电梯信息及楼层信息部分。
系统结构框图如下图:
图3.3系统结构框图
它是监控楼层信息,发现有用户请求立即将请求信息给控制器CU。
用户请求有两种,向上(up),向下(down)。
结构框图如下:
图3.4中断模块的结构
用楼层状态控制字来表示,每层楼的楼层状态字共八位,前四位表示楼层的地址(Lift_Add),后四位中,第一位表示当前楼层是否有电梯(Lift_in),第二位表示是否有启动请求(Stert),第三位表示是否有向上请求(Up),第四位表示是否有向下请求(Down)。
如下图所示:
图3.5楼层状态控制字FSW(8位)
用电梯状态控制字表示,电梯状态字共24位,前四位表示电梯状态,第一位表示空闲,第二位表示向上,第三位表示向下,第四位表示等待人进出;
接下来四位表示当前电梯的位置;
最后十六位表示目的楼层。
图3.6电梯状态控制字LSW(24位)
根据中断信息,电梯状态控制字LSW在本组找出最佳的响应电梯。
具体调度算法框图见后。
它是整个系统的核心,它的功能是:
(a)时事监视电梯的状态变化,如发生请求,立即调度条度部件寻找响应电梯,并将结果所存到DDR中;
(b)参考另一组电梯的状态,决定是否响应用户请求;
(c)改变电梯状态控制字,以实现对电梯的控制;
(d)当处理完用户响应后,提示用户,并清除此次请求,以准备接收下次请求
(a)原则:
尽量优先选择空闲电梯,同时兼顾运行电梯,在二者之间权衡,选择最佳调度电梯。
(b)当电梯向一个方向运行时,只对本方向前方的请求进行应答,直到满足本方向前方无请求时,才允许对反方向的请求进行应答。
采用当前内部控制面板上有的请求,只要经过所在楼层均会立即响应.在所有内部外部请求都已完成后,电梯转入空闲状态。
除-1层和15层分别只有上/下按钮外,每个楼层(电梯外)的面板都有两个按钮,分别指示上楼和下楼请求。
当按下上/下按钮后,对应按钮灯亮,当按下启动按钮后,电梯关门,开始启动。
如果电梯已经到达该楼层,按钮灯熄灭。
每个电梯都有18个按钮,16个是目的楼层号,一个开门、一个关门。
当按下按钮后,对应按钮灯亮,如果电梯已经到达目的楼层,按钮灯熄灭。
3.2算法设计
3.2.1调度算法
通过设置一个当前偏移距离dis来调度电梯,哪个电梯偏移距离越小它越就有优势被选中。
设电梯i,dis[i]为其偏移距离,priority为电梯权重
abs[i]=|请求楼层与电梯当前所在楼层差|;
(1)电梯空闲时
dis[i]=abs[i];
式[1]
(2)电梯运行时
dis[i]=abs[i]+priority;
式[2]
通过式[1]和式[2]可以看出空闲电梯被选中的可能性高于运行电梯,即我们赋予了空闲电梯更高的优先权。
我们这样设计是为了提高整个电梯系统中电梯的使用率,同时也充分地保证了运行中的电梯响应那些它可以满足的用户请求。
调度算法通过初试一个最大的dis,以及初始化enable=0,然后去寻找最佳电梯。
(3)电梯空闲时,满足dis[i]<
=dis;
dis=dis[i];
best_lift=i;
enable=1;
(4)电梯运行时,满足[电梯运行方向与请求方向相同]&
&
[请求楼层在电梯运行方向的前方]&
[(abs[i]+priority)<
=dis]
(3)和(4)就是电梯被选中的条件,通过对一组三个电梯的逐个判断最终能选出一个最佳电梯。
如果调度不出一个电梯去满足用户的要求,则enable=0,best_lift=0;
图3.7电梯调度算法流程图
3.2.2组内控制算法
3.2.2.1组内控制流程描述
(1)等待用户请求,
(2)将请求信息传给调度部件,等调度部件寻找最优电梯
(3)将调度结果,锁存到DDR寄存器中
(4)查看调度产生的结果有效位是否为1,如不是,不响应此次请求,并提示用户;
(5)否则,查看响应后是否造成,组内电梯通上下,如不是,相应此次请求,并提示用户;
(6)否则,查看响应后是否造成,组间六个电梯通上下,如不是,相应此次请求,并提示用户;
(7)否则,不响应此次请求并提示用户;
(8)清除此次请求,准备接收下次请求。
3.2.2.2组内控制算法流程图
图3.8组内CU控制算法图
3.2.3电梯(单个)控制算法
下面试单个电梯的控制算法,单个电梯控制器根据电梯状态字LSW,决定电梯的运行状态。
图3.9单个电梯控制算法图
4.硬件实现
4.1采用的技术路线及芯片选择
考虑到可编程逻辑器件具有如下特点:
(1)当前中等批量,需求变化快,要求具有较高性能时采用;
(2)开发周期短、灵活性高;
(3)性能、功耗、资源利用可能不是最优的;
同时也考虑到电梯系统的需求和设计指标,我们决定采用HDL硬件描述语言verilog进行电梯系统的设计和实现,整个开发过程主要在XilinxISE7.1i开发平台上进行。
通过XilinxISE7.1i综合并进行模拟后,下载到FPGA芯片。
4.2硬件实现描述
状态机描述、模块描述、信号描述
4.2.1组内状态机描述
它描述组内控制的状态。
图4.1组内控制状态图
4.2.2单个电梯状态机描述
它描述单个电梯控制的状态。
图4.2单个电梯控制状态图
4.2.3模块描述
系统共有六大模块:
分别是调度模块,控制模块,中断模块,电梯信息及楼层信息模块,还有另一组的状态模块。
图4.3模块描述图
各个模块的作用及组成,前面3.1系统结构设计中已详细说明(图四——图十),下面就系统各个模块的具体实现详细说明。
如下图:
图4.4模块实现图
具体实现时划为19个模块、分5层,各个模块的层次,如下图:
图4.5具体模块结构实现层次图
4.2.4信号描述
下面就控制状态图(图4.1),模块实现图(图4.3)中所用到的数据信号、控制信号给与描述。
Requst:
请求捕获信号,当用户在某层楼发出请求后,该位置1;
Des_floor:
目的楼层信号,给位为1时表示电梯要在给位对应的楼层停止。
Free:
表示电梯的忙闲状态,为1时表示空闲。
Wait:
表示电梯处于等待用户进出的状态。
UP:
请求类型信号,当Free=0时,UP为1时表示向上。
UPLE:
UP置1信号。
DDRLE:
寄存器DDR的使能信号,DDR是用来锁存调度部件输出结果。
Answer:
DDR的最高位,表示调度部件选择的最优电梯有效,即当Answer=1时,结果有效。
Same_in:
表示允许请求后,组内三个电梯是否状态相同,为1时表示相同。
Same_out:
表示允许请求后,所有六个电梯是否状态相同,为1时表示相同。
LSW:
楼层状态控制字(各位的具体含义见图3.5);
FREELE:
置LSW的Free位为1的使能信号。
LSW1:
第一个电梯的状态控制字,用来表示和控制第一个电梯(各位的具体含义见图3.6)。
LSW2:
第二个电梯的状态控制字,用来表示和控制第二个电梯(各位的具体含义见图3.6)。
LSW3:
第三个电梯的状态控制字,用来表示和控制第三个电梯(各位的具体含义见图3.6)。
FILE1:
改变第一个电梯状态的使能信号。
FILE2:
改变第二个电梯状态的使能信号。
FILE3:
改变第三个电梯状态的使能信号。
Sorry:
表示系统暂时没有成功响应用户的此次请求。
Ok:
表示系统成功响应用户的此次请求。
5.调试方案
5.1白盒测试
先分别对各个模块用ModelSimSE6.0进行前仿和后仿;
再对总模块进行前仿,确保各个信号与设计相符;
最后对总模块进行后仿,特别注意对边沿情况进行完整的测试。
下边是部分测试代码
//*******这个模块主要测试第一组电梯**************
initialbegin
//***********************************//初始化
floor_address=3;
up_user1=1;
down_user1=1;
address_user1='
h1F;
start1=1;
address_ok1=1;
reset=0;
clk=0;
//***********************输入信号*************************
#100;
reset=1;
//Addstimulushere
#320floor_address=7;
up_user1=0;
#200up_user1=1;
#5000$stop();
h1A;
address_ok1=0;
#100address_ok1=1;
#100
h1E;
#50start1=0;
#100start1=1;
#5000$stop();
#500$stop();
floor_address=6;
#220up_user1=0;
#300
//address_user='
h0E;
#5000$stop();
end//***********************第一组电梯测试结束****************
//*******这个模块主要测试第二组电梯**************
initialbegin
//***********************************//初始化**************
up_user2=1;
down_user2=1;
address_user2='
h0F;
start2=1;
address_ok2=1;
//***********************输入信号*************************
#120floor_address=5;
up_user2=0;
#200up_user2=1;
address_ok2=0;
#100address_ok2=1;
h0C;
#50start2=0;
#100start2=1;
#220up_user2=0;
#300floor_address=4;
#5000$stop();
end//第二组电梯测试结束
always#20clk=~clk;
前仿波形图
后仿波形图
5.2黑盒测试
5.2.1模拟界面说明
(1)除第负一层只有向上和第十五层向下外,其余每层楼有的每一组分别有一个向上和向下的按钮,每个按钮可以用一个脉冲开关来表示,按上脉冲开关表示按下电梯按钮,表达一个请求;
(2)每个电梯内部有一个按钮面板,每个电梯按钮对应一层楼的请求,每个按钮可以用脉冲开关来表示按下否,脉冲开关按下表示按下电梯按钮,此时对应的灯会亮;
(3)每个电梯都有十六个指示灯来表示此电梯当前在哪一层。
5.2.2测试流程
(1)首先在电梯开始加电时不加请求,观察电梯是否状态稳定的停在1楼.
(2)在初态时(即所有电梯稳定的停在1楼),按下这两组电梯的向上召唤,观察所有电梯中能否有至少一个电梯不响应,仍然停在1楼,然后并撤销控制面板的请求.
(3)在电梯内控制面板上在第一组加4,5在第二组加6,7层的目的地请求,观察这每组中两个电梯能否正常暂停在这4,5层或6,7层,并撤销控制面板的请求.
(4)在行驶过4,5层后在第一组分别按下这两层的向上召唤请求,同时还在5楼按下向下召唤,观察这组剩下这个电梯是否在只响应其中第4层,并且在到达5层时能否响应5层,并且当这组在有电梯下行时能否响应5层并撤销电梯外部召唤.
(5)在第二组未到第6层的电梯运行时在电梯内控制面板加上该组第6层的请求,检查电梯是不是正常停下,并撤销控制面板的请求。
(6)在第二组未到第7层的电梯运行时按下7层的向上召唤请求,观察改组剩下的这个电梯是否能同时撤销向上的召唤,处于等待状态.
(7)下行以后,只在5楼是目的地,在它停的时候无请求,观察它是否稳定停止在5楼.
(8)待所有电梯稳定地停在一层时,分别在第9,8,7层按下第一组的向下召唤,分别在第6,5,4层按下第二组的向下召唤,看这六个电梯是否在有一个电梯不响应当前这些请求.并撤销电梯外部召唤..
5.3测试总结
通过系统详细的测试,系统的输出结果与我们的预期结果一致,系统并未出现问题,说明系统基本上是无故障的。
在我们的测试过程中,我们真切的体会到了可测性设计的重要性。
在我们最初的测试中,对硬件综合时,发现了的警告并没有重视,直到仿真不通过,后来经老师提醒后,我们修改或确认了所有的所有的警告,消除了很多隐患。
6.任务分工
6.1任务和创新
1.完成的电梯控制系统是:
两组、四个电梯、16层楼,组间确保了不同上下;
2.整个电梯的控制、工作流程,极为接近现实,方便用户使用;
3.实现了电梯的多任务、多请求工作:
组内可及时响应用户请求,一次响应允许多个用户到达不同目的楼层;
4.系统具有较强的容错能力:
单个电梯自成体系、有各自的状态控制器,还允许用户根据实际需求,取消已按的目的楼层号(即中途可改变目的地而不影响外部请求的目的地)。
5.调度算法灵活科学:
运用轮转优先级调度算法,优先级根据电梯的距离和状态确定,且距离和状态各自的权值可灵活改变。
6.运用模块化的设计思想:
整个系统共有19个模块分5层,这使得整个的设计逻辑明了、扩展容易、重用性好。
7.进行了详尽的测试:
确保设计的完整性、可靠性。
6.2分工
7.体会和感想
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电梯 设计 文档