在樓層請求寄存器的置位與復位進程”的設計中,通過樓層選擇指示變量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程序):
-
控制器
+關注
關注
112文章
16396瀏覽量
178512 -
寄存器
+關注
關注
31文章
5357瀏覽量
120632 -
程序
+關注
關注
117文章
3791瀏覽量
81156
發布評論請先 登錄
相關推薦
評論