朱建紅,顧菊平,姚 娟
(南通大學(xué) 電氣工程學(xué)院,南通 226007)
隨著市場(chǎng)貨物需求向著小批量、多品種和時(shí)效性方向發(fā)展,貨物流動(dòng)頻率、品種和數(shù)量迅速增加[1],立體倉(cāng)庫(kù)在配送中心運(yùn)作中的儲(chǔ)存作業(yè),信息管理內(nèi)容不斷擴(kuò)展,主要是提高下位機(jī)的存取效率和上位機(jī)有效維護(hù)倉(cāng)庫(kù)的動(dòng)態(tài)信息。高效的倉(cāng)庫(kù)分類(lèi)信息管理,將提高企業(yè)內(nèi)部運(yùn)作效率,降低運(yùn)作成本,提高企業(yè)對(duì)市場(chǎng)需求的反應(yīng)速度,增強(qiáng)企業(yè)的競(jìng)爭(zhēng)力[2]。本論文在文獻(xiàn)[3]中就機(jī)械手不同庫(kù)位之間快速移動(dòng)路徑的最短化(直線)問(wèn)題研究的基礎(chǔ)上,設(shè)計(jì)了下位機(jī)控制系統(tǒng)。同時(shí)基于貨位優(yōu)化的策略,采用SQL Server數(shù)據(jù)庫(kù)技術(shù)對(duì)庫(kù)位信息的動(dòng)態(tài)快速查詢(xún)系統(tǒng)進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn),實(shí)現(xiàn)了立體倉(cāng)庫(kù)現(xiàn)場(chǎng)的遠(yuǎn)程監(jiān)控,提高了生產(chǎn)線的自動(dòng)化水平。
圖1 立體倉(cāng)庫(kù)庫(kù)位分配示意圖
小型倉(cāng)庫(kù)的庫(kù)位分配示意圖如圖1所示,根據(jù)待存貨種類(lèi)分為C1、C2、C3存儲(chǔ)區(qū),庫(kù)位按存放貨質(zhì)量大小分為重、較重、較輕三個(gè)層次,重型存于下幾層,較重放于中間,較輕的放于上幾層。存取信息動(dòng)態(tài)管理系統(tǒng)設(shè)計(jì)的核心主要是結(jié)合上位機(jī)對(duì)下位機(jī)系統(tǒng)機(jī)械手位置的動(dòng)態(tài)監(jiān)控信息及倉(cāng)庫(kù)數(shù)據(jù)信息,采用相關(guān)尋優(yōu)策略對(duì)數(shù)據(jù)庫(kù)進(jìn)行相關(guān)操作,實(shí)現(xiàn)動(dòng)態(tài)管理功能。
分類(lèi)存取系統(tǒng)在對(duì)存儲(chǔ)區(qū)域進(jìn)行分類(lèi)基礎(chǔ)上,主要實(shí)現(xiàn)取到所需貨物品種的功能,也就是在相應(yīng)類(lèi)別動(dòng)態(tài)查詢(xún)結(jié)果中隨機(jī)取貨,或?qū)ο鄳?yīng)的存放區(qū)的空庫(kù)位進(jìn)行隨機(jī)放貨。
在分類(lèi)存取基礎(chǔ)上加以條件約束,即移庫(kù)、入庫(kù)或出庫(kù)都要在該區(qū)域中選擇最近庫(kù)位來(lái)調(diào)庫(kù),這就實(shí)現(xiàn)了分類(lèi)就近存取的功能,這種存取方式下,所有的物品調(diào)庫(kù)都遵循最近原則,因而可以節(jié)省大量時(shí)間,獲取更高效率。關(guān)鍵技術(shù)就是最優(yōu)庫(kù)位點(diǎn)位選擇、查詢(xún)和點(diǎn)點(diǎn)之間路徑優(yōu)化,生產(chǎn)實(shí)際中更需要功能兼顧效益的存取模式,系統(tǒng)設(shè)計(jì)采用分類(lèi)存取與就近原則相結(jié)合的存取模式,即在分類(lèi)查詢(xún)基礎(chǔ)上按就近距離來(lái)進(jìn)行存取操作。由于系統(tǒng)涉及較大數(shù)目的貨物信息與庫(kù)位信息的復(fù)雜管理,且涉及到相關(guān)數(shù)量運(yùn)算,所以引進(jìn)SQL Server數(shù)據(jù)庫(kù)對(duì)倉(cāng)庫(kù)信息進(jìn)行動(dòng)態(tài)管理。
系統(tǒng)設(shè)計(jì)主要涉及庫(kù)位信息的查詢(xún)與動(dòng)態(tài)更新、下位機(jī)機(jī)械手位置的實(shí)時(shí)跟蹤及每次存取動(dòng)作總行程的計(jì)算與尋優(yōu),所包含的主要功能如下:
1)倉(cāng)庫(kù)總體信息的動(dòng)態(tài)查詢(xún)與管理:為了實(shí)施可視化的管理,系統(tǒng)為倉(cāng)庫(kù)所有庫(kù)位信息建立數(shù)據(jù)庫(kù),并記錄庫(kù)中貨物的相關(guān)信息,如ID、排、層、條碼、貨號(hào)、區(qū)位號(hào)、庫(kù)存標(biāo)志、類(lèi)別和重量等;
2)關(guān)系數(shù)據(jù)表建立:在分類(lèi)存取和就近存取原則基礎(chǔ)上,結(jié)合上位機(jī)監(jiān)控的動(dòng)態(tài)信息及可操作存取庫(kù)位,建立相關(guān)表數(shù)據(jù)庫(kù);
3)貨位動(dòng)態(tài)尋優(yōu)設(shè)計(jì):根據(jù)存取路徑最小化對(duì)目的取貨位置與目的放貨進(jìn)行位置動(dòng)態(tài)尋優(yōu),實(shí)現(xiàn)堆垛機(jī)的路徑最優(yōu);
4)數(shù)據(jù)庫(kù)的更新:存入和取出貨物后數(shù)據(jù)庫(kù)中的信息實(shí)時(shí)更新,以便下次存取貨查詢(xún)。
立體倉(cāng)庫(kù)動(dòng)態(tài)信息緊密結(jié)合下位機(jī)的存取操作。對(duì)貨位優(yōu)化來(lái)說(shuō),就近存貨就是在現(xiàn)有貨存狀況已知的條件下,結(jié)合機(jī)械手的當(dāng)前位置,查詢(xún)機(jī)械手經(jīng)過(guò)庫(kù)入口點(diǎn)至庫(kù)位總行程的最短路徑,確定入貨庫(kù)位地址。就近取貨就是結(jié)合機(jī)械手的當(dāng)前位置,查詢(xún)機(jī)械手經(jīng)過(guò)庫(kù)出口點(diǎn)至庫(kù)位總行程的最短路徑,確定出貨庫(kù)位地址。
在貨位尋優(yōu)時(shí),可采用窮舉法。比如,在放貨時(shí),機(jī)械手任意位置,找出所有的空庫(kù)位,計(jì)算出它們到機(jī)械手的距離與入貨點(diǎn)距離,對(duì)照區(qū)域號(hào)與質(zhì)量進(jìn)行查詢(xún),找出總距離最短的點(diǎn)。該方法算法簡(jiǎn)單,不過(guò)當(dāng)數(shù)據(jù)很多時(shí)計(jì)算量比較大。不適合大型倉(cāng)庫(kù)的數(shù)據(jù)管理。
其次,采用分塊法位置查詢(xún),先比較所有空庫(kù)輻射區(qū)域的x方向上坐標(biāo)到xi最遠(yuǎn)的距離為m,確定區(qū)間,y方向到y(tǒng)i最遠(yuǎn)的距離為n,確定區(qū)間,對(duì)照區(qū)域類(lèi)別查看在這區(qū)間內(nèi)是否有空庫(kù),若有則m和n都減1,在繼續(xù)檢查,直至該區(qū)間內(nèi)不再有空庫(kù),找出該邊界線上所有的空庫(kù),再計(jì)算它們到機(jī)械手的距離及入貨點(diǎn)距離,選擇距離最短的點(diǎn)。取貨算法類(lèi)似,該方法計(jì)算量要比上一種方法計(jì)算量要小,不過(guò)它的程序設(shè)計(jì)要復(fù)雜。
考慮到系統(tǒng)在信息維護(hù)方面需求的重要地位,且兩種方案都離不開(kāi)庫(kù)位的查詢(xún),為了庫(kù)位的直接跟蹤與管理,必須建立一系列關(guān)系數(shù)據(jù)表。因此設(shè)計(jì)中采用庫(kù)的分層管理法,對(duì)數(shù)據(jù)進(jìn)行分層動(dòng)態(tài)查詢(xún)與計(jì)算,在一定程度上減少了計(jì)算復(fù)雜程度,本系統(tǒng)擬采用在庫(kù)中穿插采用窮舉法進(jìn)行存取庫(kù)位的查詢(xún)與管理。同時(shí)為方便計(jì)算與管理,在計(jì)算庫(kù)位間距時(shí)只計(jì)算平方和非開(kāi)方。當(dāng)對(duì)所需庫(kù)位區(qū)域進(jìn)行查詢(xún)比較時(shí),以首條記錄作為基準(zhǔn),逐一與其他記錄相比,保留距離最小對(duì)應(yīng)的庫(kù)位作為所要查找的位置。這種方法易于實(shí)現(xiàn),容易理解。
數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì)的核心技術(shù)為關(guān)系數(shù)據(jù)表的建立,所用字段如下:ID、層、排條碼(XXXXXXX)、貨號(hào)(XXXX)、分區(qū)號(hào)(C1、C2、C3)、質(zhì)量權(quán)重()庫(kù)存標(biāo)志 (1、0)、貨物類(lèi)別(B1、B2、B3)和機(jī)械手至入貨口距離,入貨時(shí)入貨口至候選庫(kù)位距離,出貨時(shí)機(jī)械
1)系統(tǒng)總表A字段:排、層、條碼、質(zhì)量權(quán)重、存貨標(biāo)志、貨號(hào)、類(lèi)別和區(qū)位號(hào);
2)可存貨位表A1:排、層、條碼、質(zhì)量權(quán)重、存貨標(biāo)志(0)、類(lèi)別B*和區(qū)位號(hào)C*;
4)可取貨位表A2:排、層、條碼、質(zhì)量權(quán)重、存貨標(biāo)志(1)、類(lèi)別B*和區(qū)位號(hào)C*;
整個(gè)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)的貨位動(dòng)態(tài)尋優(yōu)示意圖如圖2所示,尋優(yōu)步驟如下:
1)出貨時(shí)按貨號(hào)及類(lèi)別關(guān)鍵字查詢(xún),得數(shù)據(jù)庫(kù)A2;
2)入貨時(shí)按分區(qū)、質(zhì)量權(quán)重查詢(xún),得數(shù)據(jù)庫(kù)A1;
3)調(diào)取下位機(jī)機(jī)械手當(dāng)前位置,等待上位機(jī)存取命令,判斷存取貨命令,動(dòng)態(tài)搜尋最優(yōu)貨位并發(fā)送命令給下位機(jī),更新數(shù)據(jù)庫(kù);具體如下:
結(jié)合當(dāng)前機(jī)械手位置,按照需出貨貨號(hào)及存貨標(biāo)志(1)兩條件邏輯“與”關(guān)系對(duì)當(dāng)前數(shù)據(jù)庫(kù)進(jìn)行查詢(xún),得數(shù)據(jù)庫(kù)A2;添加字段“排層至機(jī)械手”,“距離”,生成數(shù)據(jù)庫(kù)A21,對(duì)庫(kù)中字段距離由小到大進(jìn)行篩選,第一條記錄對(duì)應(yīng)的層、排即是所要求取的貨位。原數(shù)據(jù)庫(kù)相應(yīng)貨位的存貨標(biāo)志(1)更新為“0”。貨號(hào)更新為“空”。更新機(jī)械手當(dāng)前的位置。
結(jié)合當(dāng)前機(jī)械手位置,按照需入貨分區(qū)號(hào)及質(zhì)量權(quán)重及存貨標(biāo)志(0)條件邏輯“與”關(guān)系對(duì)當(dāng)前數(shù)據(jù)庫(kù)進(jìn)行查詢(xún),得數(shù)據(jù)庫(kù)A1;添加字段“排層至入貨點(diǎn)”“距離”,生成數(shù)據(jù)庫(kù)A11,對(duì)庫(kù)中字段距離由小到大進(jìn)行篩選,選中第一條記錄對(duì)應(yīng)的層、排即是所要求取的貨位。原數(shù)據(jù)庫(kù)貨位的存貨標(biāo)志(0)更新為“1”,貨號(hào)由空更新為相應(yīng)的貨號(hào),條碼更新,機(jī)械手更新當(dāng)前位置。
圖3 監(jiān)控示意圖
如圖3所示的組態(tài)王主監(jiān)控畫(huà)面設(shè)計(jì),當(dāng)按下控件“庫(kù)存信息”時(shí),系統(tǒng)顯示當(dāng)前貨存的情況,比如:有無(wú)貨物、貨物的顏色、重量、條碼、所在庫(kù)位、時(shí)間及日期;當(dāng)按下控件“就近存貨”或“就近放貨”時(shí),系統(tǒng)經(jīng)過(guò)詢(xún)問(wèn)待存取貨信息,切換至“可存貨信息表”或“可放貨信息表”畫(huà)面,點(diǎn)擊“取貨”按鈕,通過(guò)尋優(yōu)“目的取排”、“目的取層”顯示,系統(tǒng)會(huì)把所要的貨物信息提取出;同理,當(dāng)按下 “放貨”時(shí),跟取貨類(lèi)似,通過(guò)尋優(yōu)“目的放排”、“目的放層”顯示,系統(tǒng)會(huì)把所取貨物信息提取出。同時(shí)把所提取信息通過(guò)數(shù)據(jù)通信網(wǎng)絡(luò)傳至下位機(jī)PLC,系統(tǒng)根據(jù)程序設(shè)計(jì)自動(dòng)啟動(dòng)設(shè)備運(yùn)行,進(jìn)行取貨、放貨操作。下位機(jī)系統(tǒng)邏輯控制的算法流圖如圖4所示,同時(shí)數(shù)據(jù)庫(kù)同步動(dòng)態(tài)更新顯示當(dāng)前貨架上貨物信息。
在數(shù)據(jù)庫(kù)管理中,上位機(jī)根據(jù)存取策略獲取存取貨位置信息,然后根據(jù)不同取放貨位置信息給出相應(yīng)的變量控制信息,如:各傳輸方向電機(jī)拖動(dòng)的運(yùn)行速度、方向等,最后系統(tǒng)把各數(shù)據(jù)信息通過(guò)通信網(wǎng)絡(luò)傳輸給下位機(jī),系統(tǒng)才能按預(yù)定的目的軌跡運(yùn)行[3]。
當(dāng)機(jī)械手完成從取貨或放貨一次動(dòng)作結(jié)束時(shí),倉(cāng)庫(kù)總體信息數(shù)據(jù)庫(kù)也要同步更新。在檢測(cè)到當(dāng)前下位機(jī)根據(jù)上位機(jī)發(fā)出數(shù)據(jù)信息執(zhí)行完成時(shí),數(shù)據(jù)庫(kù)更新一次,原來(lái)有貨的庫(kù)位在取貨以后標(biāo)志位要由1變?yōu)?,同時(shí)清除貨物的信息,即顏色、條形碼、重量等。而原來(lái)無(wú)貨的庫(kù)位在放貨以后標(biāo)志位要由0變?yōu)?,同時(shí)增加相應(yīng)的貨物的信息,畫(huà)面信息同步變化,實(shí)現(xiàn)動(dòng)態(tài)監(jiān)控。
圖4 堆垛機(jī)邏輯控制算法示意圖
系統(tǒng)設(shè)計(jì)結(jié)合實(shí)際應(yīng)用,采用分類(lèi)就近存取策略進(jìn)行設(shè)計(jì),把SQL Server數(shù)據(jù)庫(kù)技術(shù)引入工程設(shè)計(jì),并對(duì)動(dòng)態(tài)監(jiān)控進(jìn)行了程序設(shè)計(jì)。在組態(tài)王監(jiān)控環(huán)境下,可以很方便的查看數(shù)據(jù)庫(kù)的相關(guān)信息并能實(shí)現(xiàn)立體倉(cāng)庫(kù)信息的實(shí)時(shí)更新。設(shè)計(jì)成果經(jīng)現(xiàn)場(chǎng)實(shí)驗(yàn)平臺(tái)調(diào)試,成功運(yùn)行,實(shí)現(xiàn)了調(diào)庫(kù)系統(tǒng)的跟蹤與管理。
文中設(shè)計(jì)方案經(jīng)過(guò)適當(dāng)?shù)男薷目蓱?yīng)用到實(shí)際規(guī)模較大的工業(yè)現(xiàn)場(chǎng)調(diào)庫(kù)系統(tǒng)中。實(shí)現(xiàn)現(xiàn)場(chǎng)遠(yuǎn)程監(jiān)控,提高企業(yè)運(yùn)作的自動(dòng)化水平,滿(mǎn)足企業(yè)信息系統(tǒng)管理的要求。
[1] 李曉林,劉波濤.配送中心儲(chǔ)位動(dòng)態(tài)管理模型研究[J].軟件導(dǎo)刊,2007(1).
[2] 吳和平,陳建宏.基于生產(chǎn)數(shù)據(jù)監(jiān)控與動(dòng)態(tài)管理系統(tǒng)的礦業(yè)集團(tuán)信息化研究[J].工礦自動(dòng)化,2007.
[3] 朱建紅,顧菊平等.堆垛機(jī)實(shí)時(shí)控制系統(tǒng)優(yōu)化設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2011(4).