在楼层请求寄存器的置位与复位进程”的设计中,通过楼层选择指示变量DR,电梯所在楼层变量LIFTOR和输入信号UPIN、DOWNIN、ST_CH来判断UR、DR的置位。其判断原则为:若电梯所在楼层为NUM,假设电梯处于运行中,这时若楼层选择指示为T且T)NUM时按下了楼层选择确认键ST_CH,或者按下了上升按键UPIN,则对应的上升请求寄存器UR(T)置为“1”,否则,若电梯运行时间到(HAND=T,亦即WAI_T=''101'')且没有任何请求,则对应的上升请求寄存器UR(T)置为“0”;若电梯所在楼层为NUM,假设电梯处于运行中,这时若楼层选择指示为T且T<NUM时按下了楼层选择确认键ST_CH,或者按下了下降按键DOWN,则对应的下降请求寄存器DR(T)置为“1”,否则,若电梯运行时间到(HAND='1',亦即WAI_T='101')且没有任何请求,则对应的下降请求寄存器DR(T)置为“0”:其余情况,各个楼层的上升请求寄存器UR、下降请求寄存器DR均复位为“0”。在使UR(T)或DR(T)置位的程序设计中,由于是使用MAX+p1us Ⅱ进行程序调试的,而MAX+p1us Ⅱ不支持给下标为变量的数组单元赋值,因而程序中使用CASE多选一语句给对应的寄存器赋值。有关的具体语句如下(详细请见前述的VHDL程序):
在电梯运行次态的控制进程P3的设计中,根据URiDR的寄存器状态和电梯所在楼层变量LIFTOR,当WAI+T=''110''时,给出电梯的下一个状态。LADD为电梯的下一状态的指示变量,“11”表示上升,“10”表示下降,“01”或“∞”表示等待状态。其设计思路为:若电梯在运行状态(即RUN_STOP='1'),假设运行时间到(即WAI_T=''110''),如果这时上升寄存器或下降寄存器均等于零(即(UR OR DR)=''0000000000000000''),则电梯处于等待状态(LADD(1)<='0');否则,若电梯处于第N层,这时若N+1层的上升或下降寄存器有请求,则电梯处于运行等待状态(即LADD(1)<='0'),这时若N+1层以上的上升或下降寄存器有请求或是N层及以下的上升或下降寄存器有请求,电梯处于运行上升状态(即LADD(=''11''),其余情况电梯处于下降状态(即LADD<=''11'')。有关的具体语句如下(详细请见前述的VHDL程序):
全部0条评论
快来发表一下你的评论吧 !