在樓層請求寄存器的置位與復位進程”的設(shè)計中,通過樓層選擇指示變量DR,電梯所在樓層變量LIFTOR和輸入信號UPIN、DOWNIN、ST_CH來判斷UR、DR的置位。其判斷原則為:若電梯所在樓層為NUM,假設(shè)電梯處于運行中,這時若樓層選擇指示為T且T)NUM時按下了樓層選擇確認鍵ST_CH,或者按下了上升按鍵UPIN,則對應的上升請求寄存器UR(T)置為“1”,否則,若電梯運行時間到(HAND=T,亦即WAI_T=''101'')且沒有任何請求,則對應的上升請求寄存器UR(T)置為“0”;若電梯所在樓層為NUM,假設(shè)電梯處于運行中,這時若樓層選擇指示為T且T<NUM時按下了樓層選擇確認鍵ST_CH,或者按下了下降按鍵DOWN,則對應的下降請求寄存器DR(T)置為“1”,否則,若電梯運行時間到(HAND='1',亦即WAI_T='101')且沒有任何請求,則對應的下降請求寄存器DR(T)置為“0”:其余情況,各個樓層的上升請求寄存器UR、下降請求寄存器DR均復位為“0”。在使UR(T)或DR(T)置位的程序設(shè)計中,由于是使用MAX+p1us Ⅱ進行程序調(diào)試的,而MAX+p1us Ⅱ不支持給下標為變量的數(shù)組單元賦值,因而程序中使用CASE多選一語句給對應的寄存器賦值。有關(guān)的具體語句如下(詳細請見前述的VHDL程序):
在電梯運行次態(tài)的控制進程P3的設(shè)計中,根據(jù)URiDR的寄存器狀態(tài)和電梯所在樓層變量LIFTOR,當WAI+T=''110''時,給出電梯的下一個狀態(tài)。LADD為電梯的下一狀態(tài)的指示變量,“11”表示上升,“10”表示下降,“01”或“∞”表示等待狀態(tài)。其設(shè)計思路為:若電梯在運行狀態(tài)(即RUN_STOP='1'),假設(shè)運行時間到(即WAI_T=''110''),如果這時上升寄存器或下降寄存器均等于零(即(UR OR DR)=''0000000000000000''),則電梯處于等待狀態(tài)(LADD(1)<='0');否則,若電梯處于第N層,這時若N+1層的上升或下降寄存器有請求,則電梯處于運行等待狀態(tài)(即LADD(1)<='0'),這時若N+1層以上的上升或下降寄存器有請求或是N層及以下的上升或下降寄存器有請求,電梯處于運行上升狀態(tài)(即LADD(=''11''),其余情況電梯處于下降狀態(tài)(即LADD<=''11'')。有關(guān)的具體語句如下(詳細請見前述的VHDL程序):
來源:ks991次