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