聶紅紅 馬殷元
1.蘭州交通大學(xué) 機電技術(shù)研究所 蘭州 730070 2.蘭州交通大學(xué) 機電工程學(xué)院 蘭州 730070
近年來,隨著數(shù)字雙胞胎技術(shù)的發(fā)展,虛擬仿真技術(shù)被廣泛應(yīng)用在工業(yè)、交通、工程等領(lǐng)域。虛擬仿真技術(shù)應(yīng)用計算機技術(shù)、人工智能技術(shù),結(jié)合相關(guān)學(xué)科技術(shù),通過一個虛擬的仿真系統(tǒng)對一個真實的現(xiàn)實系統(tǒng)進行模擬。虛擬仿真系統(tǒng)在視覺、聽覺、觸覺等方面與現(xiàn)實系統(tǒng)高度相似,帶給用戶身臨其境的體驗,在高校實驗室的建設(shè)中得到了廣泛應(yīng)用。
在高校中,學(xué)生要采用真實電梯樣機設(shè)備進行試驗操作,能獲得較多的實踐知識和經(jīng)驗,但電梯設(shè)備需要投入較多資金,占用空間大,維護復(fù)雜,且電梯樣機設(shè)備使用強電,學(xué)生試驗過程中存在安全隱患,因此采用虛擬仿真技術(shù)構(gòu)建虛擬電梯系統(tǒng),能夠不受空間、人力的限制。通過虛擬電梯系統(tǒng),學(xué)生可深入了解可編程序控制器對電梯的邏輯控制過程,增強學(xué)生的直觀認識,激發(fā)學(xué)習(xí)興趣。
筆者基于Visual Studio 2017平臺,采用C#語言開發(fā)虛擬電梯系統(tǒng),并與仿真可編程序控制器連接,實現(xiàn)仿真可編程序控制器對虛擬電梯的控制。
面對高校實驗室真實電梯樣機投資大、維護復(fù)雜且存在安全隱患等問題,開發(fā)虛擬電梯系統(tǒng),可減少資金投入,節(jié)約硬件成本,避免使用真實電梯樣機中存在設(shè)備磨損以及維護困難大等問題。學(xué)生可通過虛擬電梯系統(tǒng)進行試驗并驗證可編程序控制器控制程序的正確性,虛擬電梯系統(tǒng)提供信號和執(zhí)行結(jié)果反饋及顯示,可增強學(xué)生的試驗興趣。
真實電梯結(jié)構(gòu)由轎廂、廳門、曳引機、安全裝置以及信號操作系統(tǒng)等組成,為使虛擬電梯模型簡化,在系統(tǒng)統(tǒng)建模時省略曳引機、安全裝置等,著重考慮電梯的控制功能,如外呼請求、開關(guān)門按鈕、內(nèi)呼請求,以及異常、故障、超載的仿真顯示等。虛擬電梯系統(tǒng)的結(jié)構(gòu)如圖1所示。
圖1 虛擬電梯系統(tǒng)結(jié)構(gòu)
虛擬電梯系統(tǒng)接收來自控制系統(tǒng)的指令,并根據(jù)控制指令實現(xiàn)被控對象的運動。虛擬電梯能夠響應(yīng)內(nèi)呼請求、外呼請求,具體功能包括電梯上行、下行控制,隨時對內(nèi)呼請求、外呼請求進行記錄,電梯運行至某一層后,對內(nèi)呼、外呼請求記錄進行消除,轎廂上下行時,只響應(yīng)順向截梯信號,保留反向呼梯信號。
虛擬電梯運行速度可連續(xù)調(diào)節(jié)。在最高速度下,虛擬電梯1 s左右通過層,與真實電梯一致。
通過虛擬電梯系統(tǒng)能直觀顯示虛擬電梯的運動狀態(tài)。
當(dāng)控制程序正確時,虛擬電梯正常運動,當(dāng)控制程序不正確時,虛擬電梯需提供不正常運動的狀態(tài)顯示。
虛擬電梯提供被控對象的異常、故障、超載的仿真顯示,以便驗證控制算法的故障安全性。
目前,虛擬仿真技術(shù)根據(jù)控制器及信號接口的不同分為全虛擬仿真和半實物虛擬仿真運行,筆者采用仿真可編程序控制器,對信號接口虛擬化,構(gòu)建全虛擬仿真的電梯系統(tǒng)。全虛擬仿真電梯系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 全虛擬仿真電梯系統(tǒng)結(jié)構(gòu)
虛擬電梯系統(tǒng)基于Visual Studio 2017開發(fā)平臺,采用C#語言開發(fā)虛擬電梯系統(tǒng),通過S7.Net動態(tài)鏈接庫實現(xiàn)與仿真可編程序控制器進行交互通信。仿真可編程序控制器實際采用西門子S7-PLCSIM Advanced,可實現(xiàn)S7-1500可編程序控制器基礎(chǔ)程序的運行仿真。S7-PLCSIM Advanced是西門子推出的一款高功能仿真器,除了提供內(nèi)部訪問接口PLCSIM功能外,還可通過外部網(wǎng)卡實現(xiàn)傳輸控制協(xié)議/網(wǎng)際協(xié)議網(wǎng)絡(luò)的通信仿真,實現(xiàn)與虛擬電梯系統(tǒng)的信息交互。
虛擬電梯的控制程序采用西門子S7-1500可編程序控制器的編程環(huán)境TIA Portal v14開發(fā),模塊需要和程序一起下載至S7-PLCSIM Advanced仿真可編程序控制器中。
虛擬電梯系統(tǒng)需根據(jù)輸入輸出信號對被控對象進行運動控制,因此首先需要對輸入輸出變量進行定義,再根據(jù)輸入輸出變量對被控對象的行為進行設(shè)計,包括轎廂和門的行為設(shè)計。
虛擬電梯部分輸入、輸出變量分配見表1。
通過建立相關(guān)輸入、輸出變量與轎廂控制的對應(yīng)關(guān)系,使轎廂能夠運動,達到模擬仿真的效果。當(dāng)仿真可編程序控制器接收到虛擬電梯系統(tǒng)的輸入呼梯命令后,運行可編程序控制器控制程序,虛擬電梯系統(tǒng)根據(jù)輸出變量對轎廂的運行進行控制,實現(xiàn)轎廂的上、下運動。
當(dāng)虛擬電梯接受收到輸出變量up信號時,轎廂進行上行運動,轎廂上行時每50 ms進行一次讀取,程序執(zhí)行間隔為20 ms,即每秒鐘進行20次讀取。轎廂高度與樓層高度相等,為1 000 mm。轎廂上行的腳本程序設(shè)計如下:
if(up==true)
{
If(h.goal!=h.current)
{
h=h.current+h′;
h′=v*t;
t=(h.goal-h.current)*2s;
}
}
表1 虛擬電梯部分輸入、輸出變量分配
當(dāng)虛擬電梯接受收到輸出變量控制down信號時,轎廂進行下行運動。轎廂下行的腳本程序設(shè)計如下:
if(down==true)
{
If(h.goal!=h.current)
{
h=h.current-h′;
h′=v*t;
t=(h.current-h.goal)*2s;
}
}
當(dāng)轎廂高度在目標樓層高度的±5 mm范圍內(nèi)時,表示轎廂成功到達目標樓層,則層停輸出變量設(shè)置為true,否則為false。如果轎廂的高度小于990 mm或大于5 010 mm,那么轎廂越過極限,極限傳感輸出變量為true,正常為false。
當(dāng)轎廂到達目標樓層或到達請求樓層后自動打開電梯門,固定時間或關(guān)門按鈕觸發(fā)后進行關(guān)門動作。當(dāng)轎廂到達目標樓層時電梯門打開,腳本程序如下:
if(h.goal==h.current)
{
Door.left= Door.left+200;
Door.right= Door.right+200;
}
虛擬電梯系統(tǒng)采用S7-PLCSIM Advanced仿真可編程序控制器,實現(xiàn)對虛擬電梯的邏輯控制。虛擬電梯為仿真可編程序控制器提供輸入信號、并根據(jù)仿真可編程序控制器的輸出信號執(zhí)行相應(yīng)動作,以便驗證電梯控制程序的正確性,虛擬電梯系統(tǒng)具體包括三個模塊。
(1) 虛擬輸入模塊。虛擬輸入器代替物理按鈕和開關(guān),為試驗者提供按鈕操作,并將操作結(jié)果作為輸出變量輸入至仿真可編程序控制器。
(2) 虛擬電梯模塊。虛擬電梯按照電梯運行規(guī)模,接受仿真可編程序控制器輸出的控制信號,通過算法軟件計算電梯門和轎廂的運行狀態(tài)信息,并進行相應(yīng)的動畫顯示。
(3) 輸出顯示模塊。輸出顯示內(nèi)容包括廳外按鈕燈、轎廂內(nèi)按鈕燈、當(dāng)前樓層數(shù)、電梯運行方向、狀態(tài)指示燈等。
虛擬電梯系統(tǒng)模塊如圖3所示。
虛擬電梯系統(tǒng)的界面包括通信設(shè)置模塊、電梯運行信號指示模塊、廳外呼叫按鈕模塊、轎廂內(nèi)按鈕模塊、虛擬電梯的運行模塊。虛擬電梯系統(tǒng)界面設(shè)計如圖4所示。
通訊設(shè)置模塊通過可編程序控制器網(wǎng)際協(xié)議地址進行連接與斷開可編程序控制器操作。電梯運行信號指示模塊主要顯示當(dāng)前電梯所在樓層數(shù)、運行方向,以及指示信號的顯示。廳外呼叫按鈕模塊與轎廂內(nèi)按鈕模塊產(chǎn)生控制命令,并將控制命令傳送給可編程序控制器。虛擬電梯的運行模塊根據(jù)可編程序控制器輸出信號進行動畫顯示,包括轎廂和門的動畫顯示。
圖3 虛擬電梯系統(tǒng)模塊
圖4 虛擬電梯系統(tǒng)界面設(shè)計
虛擬電梯系統(tǒng)采用S7.Net動態(tài)鏈接庫實現(xiàn)與仿真可編程序控制器進行交互通信,包括可編程序控制器變量的讀取與寫入。
(1) 可編程序控制器變量的讀取。在虛擬電梯系統(tǒng)中定義一個定時器,每隔20 ms讀取一次可編程序控制器輸出變量,包括電梯運行信號指示、廳外呼叫按鈕指示燈、轎廂內(nèi)按鈕指示燈等變量,根據(jù)讀取到的可編程序控制器輸出變量信息進行相應(yīng)的顯示及控制操作。
(2) 可編程序控制器變量的寫入。通過虛擬電梯系統(tǒng)中的操作按鈕產(chǎn)生請求數(shù)據(jù),并傳輸至可編程序控制器,可編程序控制器接收到數(shù)據(jù)后,執(zhí)行相應(yīng)的控制程序。
整個系統(tǒng)的程序包括虛擬電梯程序、通信程序、可編程序控制器控制程序,分別采用C#和TIA Portal v14進行編寫。
虛擬電梯系統(tǒng)進行試驗測試前,先進行通信設(shè)置,實現(xiàn)虛擬電梯系統(tǒng)與仿真可編程序控制器之間的數(shù)據(jù)交換,然后將可編程序控制器控制程序下載至仿真可編程序控制器,實現(xiàn)對虛擬電梯進行控制。虛擬電梯系統(tǒng)測試運行如圖5所示,試驗步驟如下:
(1) 打開S7-PLCSIM Advanced仿真可編程序控制器,并啟動仿真可編程序控制器實例,實例的網(wǎng)際協(xié)議地址需與組態(tài)中的可編程序控制器網(wǎng)際協(xié)議地址一致;
(2) 通過TIA Portal v14將可編程序控制器程序下載至S7-PLCSIM Advanced仿真可編程序控制器;
(3) 啟動虛擬電梯系統(tǒng),并連接至仿真可編程序控制器;
(4) 點擊虛擬電梯系統(tǒng)的開始試驗按鈕,開始試驗并進行操作,觀察虛擬電梯的運行情況。
試驗實例運行情況為乘客在一樓進入電梯,并按下轎廂內(nèi)四樓請求按鈕,三樓有乘客按下向下的請求按鈕。此時電梯開始上行,當(dāng)電梯上行至四樓,熄滅轎廂內(nèi)四樓請求按鈕指示燈,并打開電梯門,自動延時3 s后關(guān)閉電梯門。此時電梯改變運行方法并下行至三樓,熄滅三樓向下請求按鈕指示燈并打開電梯門,當(dāng)關(guān)門按鈕按下后或自動延時3 s后自動關(guān)閉電梯門。
筆者所描述的基于仿真可編程序控制器的虛擬電梯系統(tǒng),具有以下優(yōu)點:建設(shè)成本低,無需購買任何硬件設(shè)備,在計算機中搭建試驗環(huán)境;試驗安全,大大提高了試驗效率與教學(xué)質(zhì)量;系統(tǒng)配置靈活,操作簡單。試驗測試表明該系統(tǒng)能夠仿真真實電梯控制系統(tǒng),方便可編程序控制器程序的測試,實現(xiàn)了預(yù)期目標。由于時間所限,筆者提出的基于仿真可編程序控制器的虛擬電梯系統(tǒng)未能實現(xiàn)故障注入及自動測試功能,這也是今后的主要工作。
圖5 虛擬電梯系統(tǒng)測試運行