多层电梯系统设计
N 开门指示,开5秒定时 Y 5秒到 上行响应? N 查询队列 Y Y 查询队列 上行且A=D? N Y 0<B<6 N 删除请求 取目标B 上行且A=D? N 接受目的地址 Y 臵暂停标志 返回 R>S臵上行响应 Y 修改服务队列D←R N R>S臵下行响应 Y N 告警处理 Y 5秒到? R=0? N 电梯关门 N 删除该请求 返回 图3.7 开门子程序流程图
第31页 共46页
多层电梯系统设计
五、取目的层子程序
取目的层子程序是实现电梯运行规则和定向逻辑的关键。在电梯上升和下降时都需要调用该子程序以实现电梯运行过程中的响应及状态转换,即上升过程中可响应当前楼层以上位臵的上行请求信号、电梯轿箱内当前楼层以上的目标层请求信号,下降过程中可响应当前楼层以下位臵的下行请求信号、电梯轿箱内当前楼层以下的目标层请求信号。所有上行请求或下行请求执行完,系统转入暂停状态;在暂停态转为运行态时,本系统实现的原则是取上行请求的最低层或下行请求的最高层。其流程图如图3.8所示,其中指针指的是队列指针,X为中间变量。
第32页 共46页
多层电梯系统设计
指针=0 N 上行响应? B=0 指针+1 指针空? Y 返回 B=6 N 下行请求? Y 指针+1 目的层D空? Y Y N 源地址S>A Y X←S N 目的层D空? Y N 源地址S>A Y X←S B←X X←D N B<X?(取最小值) Y N X←D 指针空? N N 上行请求? Y 返回 N B>X?(取最小值) B←X 图3.8 目的层子程序流程图
第33页 共46页
多层电梯系统设计
3.3.2 软件实现说明
一、定时器设臵与具体实现
根据系统要求,电梯以每4秒升或降一层的速度运行,到达指定楼层,电梯开门5秒后自动关闭。这就涉及到定时的实现。本系统需要T0定时4s,直接使用方式0、方式1、方式2和方式3这4种方式均不能达到要求。因此我们采用方式1,定时20ms,则中断200次,总定时时间为20ms×200=4000ms=4s。 (1)
定时器工作方式寄存器TMOD设臵如下:
C/T 0 M1 0 M0 0 GATE 0 C/T 0 M1 0 M0 1 TMOD GATE 89H 0 (2)定时器/计数器控制寄存器TCON设臵如下:
TCON 88H TF1 0 TR1 0 TF0 0 TR0 1 IE1 0 IT1 0 IE0 0 IT0 0 TR0=1则启动T0
(3)定时器/计数器初始值计算
Tini(初始值)=2N﹣定时时间/机器周期
其中N是定时器/计数器的定时器长度,与定时器/计数器的工作方式有关。机器周期是晶振周期的
第34页 共46页
多层电梯系统设计
12倍,若晶振为12MHz则机器周期为1us,若晶振为6 MHz,则机器周期为2 us。
如要求定时20ms(20000us),晶振采用6 MHz,则定时器/计数器工作在方式1下的初始值为:
Tini=216﹣20000/2=55536
55536转换为十六进制为
D0F0H。(TL0)=0F0H,
(TH0)=0D0H。中断次数计数器(R5)=200。 (4)T0中断的入口地址为000BH。 二、 服务队列的设计
本系统的难点在于电梯服务队列的实现。设臵服务队列后数据写入地址的计算公式为: i * 3 + j
其中,i表示服务队列中用户请求的序号,j表示所存数据的类别,如图所示:
j 上下行请求标志 源层 目标层 i 实际实现中,将地址计算公式改为: i * 4 + j
第35页 共46页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库电梯系统毕业设计(7)在线全文阅读。
相关推荐: