任學平,武鵬飛
(內蒙古科技大學 機械工程學院,內蒙古 包頭 014010)
隨著現代化城市的發展越來越快,建筑的規模也越來越大,電梯已成為必不可少的交通工具;而電梯是一個具有非線性、隨機性的復雜系統,對電梯群的合理調度不但可以減少成本、節約能源,而且還為乘客節約了時間,乘客的安全也得到了保障[1]。目前,電梯的控制方法有繼電器控制系統、PLC控制系統及微機控制系統。繼電器控制系統的可靠性較差并且控制繁瑣等,逐漸被淘汰。微機控制系統結構比較復雜,并且抗干擾能力普遍較差。因此在電梯控制方面常常采用PLC控制系統,其編程簡單、抗干擾能力強、程序設計簡單靈活,被廣泛應用于對電梯的控制。常見的PLC電梯控制系統有2種:1)并列電梯。這種方式為每一部電梯都配置了一個控制器,各電梯獨立運行互不相關。該方法增加了設備成本,并且效率十分低下。2)群控電梯。即使用一個或極少數幾個控制器通過各種算法調度多部電梯,使各電梯的載客量、運行時間、能耗等達到最優[2-4]。目前,用于這種群控電梯的算法主要有蟻群算法、神經網絡算法、模糊控制等智能算法,但這些智能算法實現起來相對復雜[5-8]。本文通過對電梯系統請求信號不確定性的分析,提出了數組記憶循環預分配的方法,該方法不僅思路簡單、易于開發,而且各方面的性能指標都有所提升,此外還可以擴展到多部多層電梯,對實際工程應用具有一定的推廣價值。
本文的調度算法是基于時間最優,即在最短的時間內響應乘客的呼梯請求。時間最短,也就等價于電梯持續高速運行到請求信號的距離是最短的,而電梯的實際運行狀態又可分為空閑狀態、加減速狀態、開關門狀態和上下行狀態,不可能一直處于高速運行狀態,所以要想用距離作為研究對象,我們必須將這些狀態等效轉化為高速運行狀態無中斷走過的距離。由于轎廂從減速到平層抱閘開門,再到轎廂關門、加速到高速運行狀態所耗費的時間約等于電梯持續高速運行經過2層樓距離的時間,根據這個規律,我們就可以將不同的運行狀態轉化為高速運行狀態無中斷行駛的距離[9-10],但是乘客出入轎廂所耗費的時間是個不確定值,永遠無法估量,而且轎廂由空閑開始運行只有加速,所以這里的誤差是在所難免的;但如果不考慮乘客出入耗時,只記入開關門和加減速的時間,我們可以運用該規律計算出近似距離,然后再逐步消除這些誤差,就可算出準確的距離;本文把運用這個規律進行的調度稱為預分配法。
當轎廂響應一個內選信號,就會多出大約2層的距離。由此可知,只要計算出3個轎廂當前位置到外部呼梯請求層有多少個未響應的按鍵請求就可以計算出大致的距離。但是,還有一個不確定因素會使我們這個計算的準確性嚴重降低,即呼梯的不確定性,也就是說,即使某些呼梯請求信號的預分配是最優的,電梯也正準備去響應該請求,突然有n個外部呼梯信號分配給這部電梯,而這些信號又位于該梯的當前位置與初始準備去響應的呼梯信號之間,這就使該梯的距離增加了2n層,顯然首次呼梯信號已不再是最優的分配。此外,電梯有上行、下行、空閑等3種狀態,而外部呼梯信號又有上行和下行等2種情況,如果將這些狀態分為6種情況分別進行討論計算,無疑會增加程序實現的難度,所以我們對其進行簡化,將電梯的狀態分為與呼梯請求上、下同向運行和空閑等3種情況。當呼梯請求與電梯的運行方向同向或者電梯處于空閑時,我們對每部電梯進行總距離計算,找出最優的那部電梯進行預分配;當乘客呼梯請求信號的方向與電梯轎廂的運行方向不一致時,我們把該呼梯請求信號暫時保存起來,等到電梯響應完該方向的所有請求后,電梯必將處于空閑狀態,此時如果該請求沒有被其他電梯響應就進行調度計算;這樣既把所有情況考慮周全,又簡化了程序。
綜上可知,只要解決了乘客出入轎廂耗時不確定性和呼梯的不確定性帶來的誤差,然后運用預分配的規律,我們就可以實現電梯調度分配的時間最優化。為此我們定義了記憶數組和外部按鍵采集數組,記憶數組把已分配的外部呼梯信號全部存放起來,不停地計算著3部電梯到外部請求信號的總距離,判斷當前分配是否為最優分配,一旦發現中間有呼梯信號插入致使當前分配不再是最優分配,則立馬擦除該分配并進行重新分配;直到有電梯響應了該請求信號,自動消去記憶數組中對這個信號的存儲;這就實現了時間最優化調度。等效距離計算公式為

式中:D為等效距離;i為梯號;Nin和Nout分別為該梯的內選請求和外選請求個數;LR為請求信號的位置;LC為電梯所在位置。
當有外部呼梯請求信號時,控制器會采集到該信號并將這個請求信號存放在采集記憶數組中,然后計算出與該請求信號同向運行的電梯所對應的數組中分配給該梯的未響應請求信號的個數,將這個數值乘以2,再加上外部請求信號到該轎廂當前位置的直線層距離,結果就是這部電梯到乘客呼梯請求層的等效總距離,這個距離與時間等效;將3部電梯的總距離進行比較,最小值的那部電梯就是最優解,將此請求信號暫時分配給這部最優電梯,即預分配。
由于這種分配存在誤差,所以采集記憶數組中一直保存著這個請求信號,并且不停地循環計算著采集記憶數組中所有信號在3部電梯中的總距離并找出最優解,如果前一次分配仍為最優,則保留分配,如果計算出前次分配不再是最優解,則擦除前次分配,重新分配采集記憶數組中的這個請求信號。最后,總會有一部電梯率先到達該請求信號層,這時將采集記憶數組中對應的請求信號擦除,流程圖如圖1所示。采用這種預分配的方法,雖然每次運算都存在著誤差,但它總是接近最優,再加上采集記憶數組對所有外部信號的保留且不斷地對這些信號循環地進行著預分配校正,直到有電梯最先響應請求才擦除,這就逐步消除了上述誤差和呼梯的不確定性,實現了時間的最優調度。

圖1 群控分配調度流程
當外部呼梯請求信號分配給了各部電梯之后,接下來就是單梯控制。以1號梯為例,若是內選請求信號,我們直接把該信號存放在電梯所對應的數組中,即1號梯數組;而外選信號在時間最優調度計算時已經分配給了各梯,也就是說,不管是內選還是外選信號,都存放到了各號梯數組中,然后電梯對信號進行響應。由于電梯每次運行都是單向的,在沒有響應完當前運行方向上的所有請求時是不會改變運行方向的,也就是說如果轎廂向上運行,它必須上行到最高層的請求信號,如果是向下運行,則必須下行到最底層的請求信號處,然后改變方向后處于空閑;所以我們只需在1號梯數組中找到最大值和非零的最小值即可決定電梯運行方向。起始時刻電梯處于空閑狀態,如果請求信號值大于轎廂當前位置則轎廂上行,小于轎廂當前位置則轎廂下行;上下行狀態位互鎖,如果沒有響應完某一方向的請求信號,這個方向的狀態位是不會失電的,另一個方向狀態位也就不會得電。當轎廂在某一方向運行時,我們可以根據轎廂的當前位置判斷是否到達請求層,如果轎廂當前位置與該梯數組中存放的內選值或者同方向的外選值相同,則開門狀態位得電,說明到了目的層,開始減速,到了平層時抱閘停機響應請求。當轎廂門打開時,我們擦除該梯數組中相應的請求信號,同時開門狀態位自動失電;響應完請求后繼續運行,如此便實現了單梯控制。
表1是虛擬電梯仿真系統測試表,表中將單次分配算法和數組循環分配算法及文獻[11]的蟻群算法做了對比。文獻[11]中所使用的測試軟件及版本與本文的完全相同,可以將其作為對比使用。

表1 虛擬電梯系統評分表
通過表1可以看出:與單次分配法相比,使用循環預分配調度算法的群控電梯的乘客平均候梯時間、乘客長時間候梯率及乘客平均乘梯時間都有一定幅度的下降。在單次獨立分配算法中乘客的平均乘梯時間是84.82,平均候梯時間為142.72,乘客長時間候梯率為0.52,而在運用了循環預分配調度算法中平均候梯時間則下降為90.17,乘客長時間候梯率下降為0.32,乘客平均乘梯時間由84.42下降為60.92,總的載客量也由172上升到195,這是十分理想的。隨著總的載客量的增加,系統的啟停次數和運行總距離會相應地增加,這是無法避免的客觀事實,所以本文提出的方法在這兩個指標上比其他兩種方法差。
在乘客平均乘梯時間方面,循環預分配法稍大于蟻群算法。在乘客長時間候梯率和乘客平均候梯時間這2項指標中,本文提出的方法不及蟻群算法,而運輸乘客數量卻多于蟻群算法。在這3種方法中,基本安全階段都無故障發生,減去蟻群算法中的安全故障得分,循環預分配法的系統評分最高,是蟻群算法所不及。總體來看,本文提出的方法與文獻[11]中提出的蟻群算法各有優缺點,差距不大。因此本文提出的循環預分配法在時間最優化方面達到了良好的效果。
本文提出的數組記憶循環預分配的方法,成功解決了對某外選呼梯信號分配后其他呼梯信號不確定性和乘客出入轎廂耗時的不確定性所導致的調度分配的不精確問題。通過數組對外選呼梯信號的記憶和循環預分配對誤分配的校正,最終實現了候梯時間的最優化。最后,通過3部10層虛擬電梯仿真軟件測試表可知,加入外選按鍵記憶數組循環預分配的方法,乘客的候梯時間和乘梯時間相對于直接分配來說都有大幅度下降,運輸乘客數量顯著提升,相對于智能算法來說,該方法易于實現,便于開發,效率也相對較高,具有一定的應用價值。