摘要:提供一種運(yùn)用西門(mén)子PLC 對(duì)自動(dòng)停車(chē)場(chǎng)車(chē)輛停放進(jìn)行有效管理的方案,組態(tài)軟件監(jiān)控到信號(hào),改變數(shù)據(jù)庫(kù)中指定內(nèi)容。根據(jù)停車(chē)場(chǎng)平面圖結(jié)構(gòu),設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),改進(jìn)最短路徑算法實(shí)現(xiàn)從入口到達(dá)每個(gè)車(chē)位的最短路徑。把停車(chē)場(chǎng)車(chē)位狀態(tài)信息和最短路線(xiàn)給予實(shí)時(shí)顯示。有效解決了停車(chē)場(chǎng)停車(chē)難的問(wèn)題,并提高了停車(chē)場(chǎng)的安全性和使用率。
關(guān)鍵詞:PLC;停車(chē)場(chǎng);最短路徑;監(jiān)控系統(tǒng)
隨著我國(guó)經(jīng)濟(jì)的高速發(fā)展,大中城市的汽車(chē)數(shù)量高速增長(zhǎng),從而引發(fā)了停車(chē)管理問(wèn)題。傳統(tǒng)人工停車(chē)場(chǎng)已不適應(yīng)日益激增的車(chē)輛發(fā)展形勢(shì),因此自動(dòng)停車(chē)場(chǎng)隨之而生。為了使停車(chē)場(chǎng)的管理工作有序化、合理化、效率化,本文設(shè)計(jì)了基于西門(mén)子PLC的自動(dòng)停車(chē)場(chǎng)管理系統(tǒng)。德國(guó)西門(mén)子公司的PLC其結(jié)構(gòu)簡(jiǎn)單、運(yùn)行平穩(wěn)、低噪聲、操作安全、性能價(jià)格比高、抗干擾能力強(qiáng)、維護(hù)方便,可以實(shí)現(xiàn)自動(dòng)化控制,節(jié)省人力資源和資金開(kāi)銷(xiāo)。
1 停車(chē)場(chǎng)監(jiān)控系統(tǒng)整體設(shè)計(jì)
隨著車(chē)輛的增多,停車(chē)場(chǎng)的規(guī)模也會(huì)日益增大。合理的設(shè)計(jì)各個(gè)程序模塊和模塊之間的連接方式尤為重要。由于篇幅限制,本文中只對(duì)58個(gè)停車(chē)位的地下停車(chē)場(chǎng)進(jìn)行設(shè)計(jì)。如果后續(xù)需要設(shè)計(jì)更多結(jié)點(diǎn)的停車(chē)場(chǎng),本文中提出的方法也會(huì)適用。本文將整個(gè)地下停車(chē)場(chǎng)監(jiān)控系統(tǒng)分為兩大部分進(jìn)行設(shè)計(jì),分別是下位機(jī)程序設(shè)計(jì)部分和上位機(jī)程序設(shè)計(jì)部分。下位機(jī)主要圍繞PLC梯形圖程序進(jìn)行設(shè)計(jì)。通過(guò)PLC梯形圖檢測(cè)到光電開(kāi)關(guān)(光電開(kāi)關(guān)安裝在各個(gè)車(chē)位正上方位置),并判斷車(chē)輛數(shù)量是否越界把結(jié)果通過(guò)指示燈(紅綠燈)進(jìn)行顯示。上位機(jī)包括組態(tài)王程序部分,數(shù)據(jù)庫(kù),界面程序等部分組成。組態(tài)程序可以和PLC進(jìn)行通信,獲得停車(chē)場(chǎng)實(shí)時(shí)情況,并整理信號(hào)用數(shù)據(jù)的形式寫(xiě)入到數(shù)據(jù)庫(kù)中。界面程序就可以通過(guò)讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù),獲得實(shí)時(shí)監(jiān)控信息并顯示到界面上,方便司機(jī)找到最佳停車(chē)位置[1]。
上位機(jī)主要負(fù)責(zé)接收下位機(jī)傳來(lái)的光電開(kāi)關(guān)信號(hào),判定是否為有效信號(hào)。然后搜索數(shù)據(jù)庫(kù),記錄停車(chē)請(qǐng)求。在數(shù)據(jù)庫(kù)中搜索可能的停車(chē)位,根據(jù)最短路徑算法確定停車(chē)位置,將數(shù)據(jù)庫(kù)更新后顯示到LED顯示屏上,提示駕駛員。而下位機(jī)則負(fù)責(zé)光電開(kāi)關(guān)的初始化及相關(guān)動(dòng)作的捕捉,隨時(shí)與上位機(jī)進(jìn)行通信。
2 數(shù)據(jù)庫(kù)設(shè)計(jì)
在實(shí)際的地下停車(chē)場(chǎng)應(yīng)用中,停車(chē)場(chǎng)車(chē)位數(shù)量十分龐大,如果在程序中用變量來(lái)記錄當(dāng)前停車(chē)場(chǎng)每個(gè)車(chē)位是否被占用信息顯然不太合理。用數(shù)據(jù)庫(kù)來(lái)實(shí)時(shí)記錄停車(chē)場(chǎng)每個(gè)車(chē)位是否被占用信息是一種十分便捷的方法。這里選用SQLite輕型數(shù)據(jù)庫(kù),相比于其他數(shù)據(jù)庫(kù),它的特點(diǎn)有方便操作無(wú)需安裝或配置管理,數(shù)據(jù)庫(kù)文件可以在不同機(jī)器間無(wú)限共享,支持多種高級(jí)語(yǔ)言的開(kāi)發(fā)。Table1表有兩個(gè)字段。Num,State分別表示車(chē)位編號(hào)和車(chē)位狀態(tài)(該車(chē)位是否被占用)。車(chē)位編號(hào)從1~58(給每個(gè)車(chē)位制定了一個(gè)編號(hào))。車(chē)位狀態(tài)有0,1,2三種情況。0表示該車(chē)位還未被占用,1表示該車(chē)位被預(yù)定(車(chē)輛駛?cè)胪\?chē)場(chǎng)后會(huì)自動(dòng)分配一個(gè)車(chē)位),2表示該車(chē)位已被占用。數(shù)據(jù)庫(kù)名為Park。如下:
表1 數(shù)據(jù)表定義
3 程序流程圖
當(dāng)司機(jī)把車(chē)輛駛?cè)胪\?chē)場(chǎng)入口位置時(shí)光電開(kāi)關(guān)被觸發(fā),檢測(cè)到有車(chē)輛駛?cè)胪\?chē)場(chǎng),對(duì)應(yīng)的變量加一,用來(lái)記錄當(dāng)前停車(chē)場(chǎng)內(nèi)的車(chē)輛數(shù)目(車(chē)輛不一定是在車(chē)上),當(dāng)司機(jī)把車(chē)輛駛出停車(chē)場(chǎng)時(shí)變量減一。指示燈根據(jù)變量數(shù)目和停車(chē)場(chǎng)能容納車(chē)輛的最大數(shù)目(這里是58)進(jìn)行比較,如果大于最大數(shù)目指示燈應(yīng)顯示為紅色,告訴后續(xù)司機(jī)停車(chē)場(chǎng)已經(jīng)沒(méi)有空閑車(chē)位禁止再駛?cè)胪\?chē)場(chǎng)。如果變量小于停車(chē)場(chǎng)能容納車(chē)輛的最大數(shù)目則指示燈應(yīng)顯示為綠色,告訴后續(xù)司機(jī)停車(chē)場(chǎng)有空閑車(chē)位,可以駛?cè)搿?/p>
當(dāng)車(chē)輛停放在車(chē)位上時(shí),會(huì)觸發(fā)車(chē)位上方光電開(kāi)關(guān)。光電開(kāi)關(guān)會(huì)產(chǎn)生一個(gè)電流信號(hào),傳送到PLC,PLC即可知道該車(chē)位已被占用。當(dāng)車(chē)輛從車(chē)位移開(kāi)時(shí)光電開(kāi)關(guān)電流會(huì)斷開(kāi),PLC不再檢測(cè)到信號(hào),可得出該車(chē)位當(dāng)前是空閑狀態(tài)。
4界面程序設(shè)計(jì)
因停車(chē)場(chǎng)內(nèi)車(chē)位數(shù)量眾多,在車(chē)輛稀少情況下停車(chē)容易。但在高峰期,停車(chē)場(chǎng)內(nèi)停放車(chē)輛較多,占用率大的時(shí)候往往出現(xiàn)停車(chē)效率低下的情況。針對(duì)這種情況本文中提出一種方案,顯示停車(chē)場(chǎng)內(nèi)全部車(chē)位實(shí)時(shí)狀態(tài)方便司機(jī)查看當(dāng)前空閑車(chē)位??紤]到停車(chē)場(chǎng)內(nèi)的車(chē)位利用率和司機(jī)最便捷的停車(chē)習(xí)慣,車(chē)輛剛駛?cè)胪\?chē)場(chǎng)內(nèi)的同時(shí)為司機(jī)預(yù)定一個(gè)車(chē)位并提供最短停車(chē)路線(xiàn)。
4.1最短路徑算法設(shè)計(jì)
關(guān)于求出定點(diǎn)之間的最短路徑,求頂點(diǎn)V0到頂點(diǎn)Vx(x(1,2,..,58))的最短路徑的基本思想是:
1)Park[x],x(1,2,..,58)里存儲(chǔ)了每個(gè)車(chē)位的最近圖上的結(jié)點(diǎn)編號(hào),也就是樹(shù)上的結(jié)點(diǎn)編號(hào)。
2)Path[y],y(0,1,2,3)里存儲(chǔ)了樹(shù)上各個(gè)分支上的結(jié)點(diǎn)編號(hào),從上到下的順序進(jìn)行存儲(chǔ)。
3)通過(guò)觀(guān)察可以得知,結(jié)點(diǎn)間的距離可以估算成等距的,特殊稍長(zhǎng)距離也不影響程序結(jié)果。
4)從Path[y]里找Park[X]結(jié)點(diǎn)編號(hào),如果未能找到,說(shuō)明沒(méi)有空閑車(chē)位。如果找到編號(hào)則記錄y為Y。時(shí)間復(fù)雜度是O(n)。
5)記錄Path[Y],從Path[Y,0]起始位置開(kāi)始連線(xiàn),直到編號(hào) Path[Y,Park[X]],即可得出最短路徑。
4.2顯示路徑
按照停車(chē)場(chǎng)的平面設(shè)計(jì)圖,同比例設(shè)計(jì)出顯示桌面[2]。每個(gè)方格表示一個(gè)車(chē)位,每個(gè)車(chē)位有編號(hào)。根據(jù)方格填充顏色我們可以知道該車(chē)位當(dāng)前狀態(tài)。方格沒(méi)有填充顏色表示該車(chē)位空閑,紅色表示該車(chē)位已被占用,黃色表示該車(chē)位被預(yù)定,綠色表示當(dāng)前車(chē)輛的目的車(chē)位。
5結(jié)論
結(jié)合PLC控制技術(shù)和組態(tài)軟件監(jiān)控技術(shù)設(shè)計(jì)基于PLC的地下停車(chē)場(chǎng)監(jiān)控系統(tǒng)具體方案,不僅提高了操作系統(tǒng)的可靠性,同時(shí)PLC還具有與上機(jī)位通信功能,為今后實(shí)現(xiàn)聯(lián)網(wǎng)遠(yuǎn)程實(shí)時(shí)控制提供了方便,尤其在實(shí)現(xiàn)快捷、便利、安全方面具有很大的發(fā)展空間和潛力。
參考文獻(xiàn):
[1]曾凡菊,陳子元.基于PLC控制停車(chē)場(chǎng)管理系統(tǒng)設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2014,09:17.
[2]謝宇.停車(chē)場(chǎng)最佳車(chē)位顯示系統(tǒng)的方案及設(shè)計(jì)[J].溫州職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012,04:44-47.
*基金項(xiàng)目:國(guó)家級(jí)大學(xué)生創(chuàng)新訓(xùn)練項(xiàng)目(編號(hào):201813324020)
作者簡(jiǎn)介:孫莉(1982-),女,安徽省淮北人,副教授,碩士,研究方向:工業(yè)綜合自動(dòng)化