劉華鋒,周俊榮,許東霞,徐 娟,簡(jiǎn)志雄,王亞晗
(1.廣東環(huán)境保護(hù)工程職業(yè)學(xué)院,廣東 佛山 528216;2.五邑大學(xué),廣東 江門 529020;3.新鄉(xiāng)職業(yè)技術(shù)學(xué)院,河南 新鄉(xiāng) 453006)
立體倉(cāng)庫(kù)又稱為自動(dòng)化立體倉(cāng)庫(kù),能按照指定的任務(wù),自動(dòng)將貨物從立體倉(cāng)庫(kù)入口處搬運(yùn)到指定的庫(kù)位或自動(dòng)將指定庫(kù)位的貨物搬運(yùn)到立體倉(cāng)庫(kù)的出口處。如圖1所示,立體倉(cāng)庫(kù)使用起來(lái)非常方便,在充分利用空間的同時(shí),也節(jié)省了勞動(dòng)力,提升了系統(tǒng)的自動(dòng)化程度,是現(xiàn)代倉(cāng)儲(chǔ)的重要組成部分,在現(xiàn)代化物流倉(cāng)儲(chǔ)系統(tǒng)中的應(yīng)用也越來(lái)越廣泛[1]。碼垛機(jī)是自動(dòng)化立體倉(cāng)庫(kù)搬運(yùn)貨物的設(shè)備,是整個(gè)控制系統(tǒng)的核心。自動(dòng)化立體倉(cāng)庫(kù)的整體性能在很大程度上取決于碼垛機(jī)的控制精度[3]。
如圖2所示,立體倉(cāng)庫(kù)主要由立體倉(cāng)庫(kù)本體和碼垛機(jī)組成。
立體倉(cāng)庫(kù)本體是用來(lái)存儲(chǔ)貨物的,本文的立體倉(cāng)庫(kù)有四行七列,共28個(gè)庫(kù)位,每個(gè)庫(kù)位都有一個(gè)微動(dòng)開(kāi)關(guān),用于檢測(cè)對(duì)應(yīng)庫(kù)位上有沒(méi)有放置貨物[2]。
圖1 立體倉(cāng)庫(kù)實(shí)物
圖2 立體倉(cāng)庫(kù)的硬件構(gòu)成
碼垛機(jī)的主要作用是取立體倉(cāng)庫(kù)上的貨物或者是放置貨物到立體倉(cāng)庫(kù)上,碼垛機(jī)的X軸、Y軸和Z軸均采用PLC來(lái)控制變頻器進(jìn)而拖動(dòng)電動(dòng)機(jī),X軸方向的運(yùn)動(dòng)采用了渦輪減速裝置,具有一定的自鎖性;X軸和Z軸的驅(qū)動(dòng)電機(jī)帶有剎車裝置,保證機(jī)器斷電后能夠立即停車;為了防止設(shè)備運(yùn)行過(guò)程中發(fā)生碰撞,X軸和Y軸運(yùn)動(dòng)都帶有防撞裝置[1,2]。
立體倉(cāng)庫(kù)的控制系統(tǒng)是自動(dòng)化立體倉(cāng)庫(kù)的核心,立體倉(cāng)庫(kù)控制系統(tǒng)的硬件決定了編程的算法,而編程的算法又決定了系統(tǒng)的可靠性和效率。
立體倉(cāng)庫(kù)的控制系統(tǒng)采用S7-1200 CPU1215C型PLC作為系統(tǒng)的控制器件,由于此系統(tǒng)中有較多的輸入信號(hào),故系統(tǒng)中又增加了3個(gè)I/O擴(kuò)展模塊。系統(tǒng)中還配備了西門子TP700型觸摸屏,用于數(shù)據(jù)交換設(shè)置和倉(cāng)庫(kù)庫(kù)位狀態(tài)檢測(cè)顯示。當(dāng)有貨物放置在立體倉(cāng)庫(kù)本體上時(shí),對(duì)應(yīng)庫(kù)位的微動(dòng)開(kāi)關(guān)會(huì)被壓下去,此時(shí),觸摸屏上對(duì)應(yīng)庫(kù)位的顏色會(huì)發(fā)生變化,即代表該庫(kù)位有貨物。要取庫(kù)位的貨物時(shí),在觸摸屏上點(diǎn)擊該庫(kù)位即可。在PLC的控制下,碼垛機(jī)會(huì)運(yùn)動(dòng)到對(duì)應(yīng)庫(kù)位前,伸出貨叉,將貨物取下,從而完成取貨任務(wù)。
圖3 硬件組態(tài)拓?fù)鋱D
立體倉(cāng)庫(kù)上有很多個(gè)庫(kù)位,需要對(duì)每一個(gè)庫(kù)位作編址處理,再尋址,才能使碼垛機(jī)準(zhǔn)確地定位到每一庫(kù)位。
2.2.1 編址
為方便取放貨物,需要對(duì)立體倉(cāng)庫(kù)的每個(gè)庫(kù)位編址。行在前,列在后,把1行1列的原點(diǎn)位置定為11,則2行1列庫(kù)位編址地址為21,3行3列庫(kù)位編址地址為33。當(dāng)用戶按下觸摸屏上對(duì)應(yīng)的庫(kù)位,此時(shí)程序便記錄下目標(biāo)庫(kù)位,目標(biāo)庫(kù)位除以10的商為目標(biāo)行,目標(biāo)庫(kù)位除以10的余數(shù)即為目標(biāo)列。
2.2.2 尋址
立體倉(cāng)庫(kù)庫(kù)位的編址方法是以水平方向?yàn)樾?,以豎直方向?yàn)榱校畹讓訛榈谝恍?,逐層遞增行號(hào);以出庫(kù)平臺(tái)位為第一列,逐列遞增列號(hào)。
在每個(gè)庫(kù)位的前立柱上分別安裝有行定位片和列定位片,碼垛機(jī)上安裝有行定位和列定位的對(duì)射型光電傳感器各3個(gè)。當(dāng)碼垛機(jī)左右運(yùn)動(dòng)時(shí),對(duì)射型光電傳感器將經(jīng)過(guò)行定位片,當(dāng)左邊和中間的對(duì)射型光電傳感器傳送給PLC的信號(hào)變?yōu)?時(shí),說(shuō)明碼垛機(jī)正經(jīng)過(guò)定位片,且在行定位片的右側(cè);當(dāng)三個(gè)傳感器傳送給PLC的信號(hào)都為1時(shí),說(shuō)明碼垛機(jī)正位于行定位片上;當(dāng)中間和右邊的傳感器傳送給PLC的信號(hào)變?yōu)?時(shí),說(shuō)明碼垛機(jī)已經(jīng)經(jīng)過(guò)行定位片,且在行定位片的左側(cè)。碼垛機(jī)每經(jīng)過(guò)一個(gè)行定位片時(shí),對(duì)碼垛機(jī)的當(dāng)前行值作+1或者-1處理。當(dāng)當(dāng)前行值等于目標(biāo)行值時(shí),說(shuō)明行尋址已經(jīng)完成。
當(dāng)碼垛機(jī)上下運(yùn)動(dòng)時(shí),對(duì)射型光電開(kāi)關(guān)將經(jīng)過(guò)列定位片,當(dāng)上面和中間的對(duì)射型光電傳感器傳送給PLC的信號(hào)變?yōu)?時(shí),說(shuō)明碼垛機(jī)正經(jīng)過(guò)列定位片,且在列定位片的下方;當(dāng)三個(gè)傳感器傳送給PLC的信號(hào)都為1時(shí),說(shuō)明碼垛機(jī)正位于列定位片的位置上;當(dāng)中間和下面的傳感器傳送給PLC的信號(hào)變?yōu)?時(shí),說(shuō)明碼垛機(jī)已經(jīng)經(jīng)過(guò)列定位片,且在列定位片的上方。碼垛機(jī)每經(jīng)過(guò)一個(gè)列定位片時(shí),對(duì)碼垛機(jī)的當(dāng)前列值作+1或者-1處理。當(dāng)當(dāng)前列值等于目標(biāo)列值時(shí),說(shuō)明列尋址已經(jīng)完成。
當(dāng)行尋址和列尋址完成后,說(shuō)明碼垛機(jī)已經(jīng)位于對(duì)應(yīng)庫(kù)位的前方,再控制碼垛機(jī)貨叉的運(yùn)動(dòng)即可完成取貨動(dòng)作??刂曝洸娴倪\(yùn)動(dòng)即為碼垛機(jī)Z軸方向的運(yùn)動(dòng),碼垛機(jī)的貨叉是用來(lái)取放貨物的。當(dāng)碼垛機(jī)在做左右運(yùn)動(dòng)或者上下運(yùn)動(dòng)時(shí),貨叉一定要在原點(diǎn)位置,否則貨叉會(huì)碰撞立體倉(cāng)庫(kù)本體。貨叉上也有4個(gè)對(duì)射型傳感器,用于確定貨叉的位置。當(dāng)PLC接收到中間兩個(gè)傳感器發(fā)出的信號(hào)時(shí),代表貨叉位于中間位置;當(dāng)PLC接收到左邊傳感器發(fā)出的信號(hào)時(shí),代表貨叉位于左極限,位于取貨位置;當(dāng)PLC接收到右邊傳感器發(fā)出的信號(hào)時(shí),代表貨叉位于右極限,位于放貨位置。
為了便于安全操作設(shè)備和日常維護(hù),要求系統(tǒng)能夠通過(guò)操作觸摸屏實(shí)現(xiàn)手動(dòng)運(yùn)行模式和自動(dòng)運(yùn)行模式,并且能夠通過(guò)觀測(cè)觸摸屏,了解系統(tǒng)的運(yùn)行狀態(tài)。手動(dòng)運(yùn)行模式是指手動(dòng)控制碼垛機(jī)三個(gè)軸的獨(dú)立運(yùn)動(dòng)來(lái)完成取貨動(dòng)作。碼垛機(jī)每個(gè)軸的動(dòng)作都有獨(dú)立的控制按鈕,操作者通過(guò)操作觸摸屏即可完成碼垛機(jī)要完成的動(dòng)作。自動(dòng)運(yùn)行模式下,操作者在觸摸屏上點(diǎn)擊放有貨物的庫(kù)位,在PLC控制下,碼垛機(jī)便向相應(yīng)的庫(kù)位運(yùn)動(dòng),將貨物抬起并回到原點(diǎn)位置處,從而完成取貨動(dòng)作;當(dāng)碼垛機(jī)的貨叉上面有貨物時(shí),在觸摸屏點(diǎn)擊對(duì)應(yīng)的庫(kù)位,在PLC的控制下,碼垛機(jī)便將貨物放置到對(duì)應(yīng)的庫(kù)位上并回到原點(diǎn)位置處,從而完成入庫(kù)動(dòng)作。由于手動(dòng)運(yùn)行模式和自動(dòng)運(yùn)行模式不可同時(shí)運(yùn)行,為保證系統(tǒng)和人員的安全,兩種運(yùn)行模式應(yīng)為互鎖關(guān)系[3]。
整個(gè)系統(tǒng)采用Profinet協(xié)議通信,PLC、觸摸屏以及三個(gè)變頻器各占用一個(gè)IP地址,用于內(nèi)部通信。設(shè)備組態(tài)圖如圖4所示。
根據(jù)本控制系統(tǒng)的功能和要求,I/O端口規(guī)劃如下。
程序流程圖是系統(tǒng)控制要求的圖形化表達(dá),也是系統(tǒng)程序設(shè)計(jì)的基礎(chǔ)。根據(jù)系統(tǒng)控制要求,系統(tǒng)有手動(dòng)運(yùn)行模式和自動(dòng)運(yùn)行模式兩種。
3.4.1 手動(dòng)運(yùn)行模式
手動(dòng)運(yùn)行模式即PLC通過(guò)手動(dòng)控制三個(gè)變頻器來(lái)拖動(dòng)三個(gè)電動(dòng)機(jī)。由于三個(gè)軸的硬件相同,編程方法相類似,故在此處僅列出手動(dòng)控制X軸方向運(yùn)動(dòng)的程序。
圖4 設(shè)備組態(tài)圖
表1 系統(tǒng)I/O端口規(guī)劃
圖5 手動(dòng)控制程序
圖6 碼垛機(jī)流程圖
M1.4和M0.7為觸摸屏按鈕對(duì)應(yīng)地址,PLC先發(fā)送控制字047e讓變頻器停止下來(lái),再賦予變頻器速度值,最后再啟動(dòng)變頻器即可拖動(dòng)電動(dòng)機(jī)沿著X軸方向運(yùn)動(dòng)。相同的控制方式便能控制Y軸和Z軸電動(dòng)機(jī)運(yùn)動(dòng),這樣就能通過(guò)手動(dòng)方式使碼垛機(jī)運(yùn)動(dòng)到指定的貨位并取下貨物。
3.4.2 自動(dòng)運(yùn)行模式
自動(dòng)運(yùn)行模式的程序流程圖主要有1個(gè)自動(dòng)出庫(kù)子程序、1個(gè)自動(dòng)入庫(kù)子程序和1個(gè)主程序組成。主程序主要完成系統(tǒng)初始化和碼垛機(jī)運(yùn)行狀態(tài)判斷等[3]。碼垛機(jī)啟動(dòng)后,首先對(duì)系統(tǒng)做初始化處理,判斷碼垛機(jī)是否處于異常狀態(tài),若異常,則報(bào)警,正常則碼垛機(jī)處于待命狀態(tài)。當(dāng)系統(tǒng)接收到來(lái)自觸摸屏的入庫(kù)或出庫(kù)命令,系統(tǒng)便完成對(duì)應(yīng)的動(dòng)作[4]。
以自動(dòng)出庫(kù)為例說(shuō)明碼垛機(jī)的運(yùn)動(dòng)過(guò)程。在自動(dòng)運(yùn)行模式下,當(dāng)觸摸屏接收到出庫(kù)命令后,系統(tǒng)先開(kāi)始自檢。先檢查碼垛機(jī)和貨叉是否在原點(diǎn)位置,若不在原點(diǎn)位置,則讓碼垛機(jī)和貨叉回原點(diǎn)。再檢查貨叉和對(duì)應(yīng)庫(kù)位上面有沒(méi)有貨物,若有貨位,則系統(tǒng)報(bào)警;若無(wú)貨物,程序繼續(xù)執(zhí)行。然后,系統(tǒng)開(kāi)始借助行列定位片開(kāi)始尋址,當(dāng)碼垛機(jī)的當(dāng)前行值等于目標(biāo)行值、當(dāng)前列值等于目標(biāo)列值時(shí),說(shuō)明碼垛機(jī)已經(jīng)運(yùn)動(dòng)到指定庫(kù)位了。當(dāng)碼垛機(jī)到達(dá)目標(biāo)位置后,便開(kāi)始取貨。貨叉取下貨物后,再次借助行列定位片返回原點(diǎn)。出庫(kù)流程如圖7所示。
圖7 自動(dòng)出庫(kù)程序流程圖
自動(dòng)入庫(kù)流程與自動(dòng)出庫(kù)流程過(guò)程相反,入庫(kù)流程圖如圖8所示。
根據(jù)系統(tǒng)運(yùn)行控制的需要,本系統(tǒng)共開(kāi)發(fā)了2個(gè)觸摸屏畫(huà)面,一個(gè)是手動(dòng)運(yùn)行模式下對(duì)系統(tǒng)的控制及監(jiān)視,一個(gè)是自動(dòng)運(yùn)行模式下對(duì)系統(tǒng)的控制及監(jiān)視。手動(dòng)運(yùn)行模式下,如果需要碼垛機(jī)在X軸方向運(yùn)動(dòng),需要先點(diǎn)擊X軸速度,然后再點(diǎn)擊X軸前進(jìn)或X軸后退控制碼垛機(jī)在X軸方向的運(yùn)動(dòng)。在Y軸和Z軸方向的運(yùn)動(dòng)控制與此類似。需要讓碼垛機(jī)回到原點(diǎn),直接點(diǎn)擊回復(fù)位,碼垛機(jī)即可自動(dòng)回到原點(diǎn)位置。需要切換到自動(dòng)運(yùn)行模式下時(shí),點(diǎn)擊觸摸屏上的自動(dòng)界面即可切換到倉(cāng)庫(kù)位取入貨界面,觸摸屏上有貨物的庫(kù)位會(huì)被點(diǎn)亮,點(diǎn)擊被點(diǎn)亮的庫(kù)位,碼垛機(jī)即可運(yùn)動(dòng)到對(duì)應(yīng)的庫(kù)位并取下貨物,隨后,碼垛機(jī)便會(huì)載著貨物運(yùn)動(dòng)至出貨處。無(wú)論系統(tǒng)是在手動(dòng)運(yùn)行模式還是自動(dòng)運(yùn)行模式下,碼垛機(jī)的運(yùn)行狀態(tài)都可以在觸摸屏上顯示。
圖8 自動(dòng)入庫(kù)程序流程圖
為了保證整個(gè)系統(tǒng)能夠安全穩(wěn)定的運(yùn)行,需要對(duì)每個(gè)功能做單獨(dú)調(diào)試,然后再整體調(diào)試。調(diào)試的過(guò)程大致可分為系統(tǒng)組態(tài)功能調(diào)試、碼垛機(jī)手動(dòng)取件功能調(diào)測(cè)、碼垛機(jī)自動(dòng)復(fù)位功能調(diào)試、自動(dòng)出庫(kù)功能調(diào)測(cè)以及自動(dòng)入庫(kù)功能調(diào)試。
系統(tǒng)組態(tài)功能測(cè)試:打開(kāi)系統(tǒng)總電源,PLC軟件編譯項(xiàng)目后,下載數(shù)據(jù),觀察PLC的狀態(tài)指示燈,若PLC數(shù)據(jù)下載成功,且PLC狀態(tài)指示燈正常,則說(shuō)明組態(tài)成功。
碼垛機(jī)手動(dòng)取件功能測(cè)試:觸摸屏頁(yè)面切換至圖9,點(diǎn)擊“X軸速度”按鈕,然后再點(diǎn)擊“X軸前進(jìn)”和“X軸后退”按鈕,觀察碼垛機(jī)的狀態(tài),若碼垛機(jī)能在水平方向上來(lái)回運(yùn)動(dòng),則說(shuō)明X軸方向調(diào)試沒(méi)有問(wèn)題。同樣的方法,調(diào)試Y軸和Z軸,若碼垛機(jī)在三個(gè)方向上都能按照指令運(yùn)動(dòng),則可以手動(dòng)取件測(cè)試。通過(guò)按鈕能夠控制碼垛機(jī)取件且返回原點(diǎn)位置則說(shuō)明手動(dòng)取件功能測(cè)試成功。
碼垛機(jī)自動(dòng)復(fù)位功能測(cè)試:觸摸屏頁(yè)面切換至圖9,點(diǎn)擊“復(fù)位”按鈕,碼垛機(jī)應(yīng)該從當(dāng)前位置直接運(yùn)動(dòng)至原點(diǎn)位置,若碼垛機(jī)能夠回到原點(diǎn)位置并且停下來(lái)則說(shuō)明自動(dòng)復(fù)位功能測(cè)試成功。
圖9 手動(dòng)運(yùn)行模式畫(huà)面
自動(dòng)出庫(kù)功能測(cè)試:在觸摸屏上選中對(duì)應(yīng)庫(kù)位,再點(diǎn)擊“啟動(dòng)”按鈕,碼垛機(jī)從原點(diǎn)位置運(yùn)動(dòng)至對(duì)應(yīng)庫(kù)位,然后取下貨物,回至原點(diǎn)位置,并將貨物放置在前方工位上。若碼垛機(jī)能夠成功完成這一動(dòng)作,則說(shuō)明自動(dòng)出庫(kù)功能測(cè)試成功。
自動(dòng)入庫(kù)功能測(cè)試:在觸摸屏上選中對(duì)應(yīng)庫(kù)位,再點(diǎn)擊“入庫(kù)”按鈕,碼垛機(jī)能夠?qū)⑶胺焦の簧系呢浳锶∠拢缓髮⒇浳锞珳?zhǔn)的放置到選中的庫(kù)位上,并且能夠自動(dòng)回至原點(diǎn)位置,則說(shuō)明自動(dòng)出庫(kù)功能測(cè)試成功。
以西門子S7-1200型PLC作為系統(tǒng)的主控制器,采用變頻器和三相異步電動(dòng)機(jī)拖動(dòng)碼垛機(jī)的三個(gè)軸,采用觸摸屏控制和監(jiān)視整個(gè)系統(tǒng),結(jié)合立體倉(cāng)庫(kù)本體,搭建了工業(yè)自動(dòng)化立體倉(cāng)庫(kù)的實(shí)驗(yàn)控制平臺(tái)。借助傳感器和定位片,實(shí)現(xiàn)碼垛機(jī)的精確定位。經(jīng)過(guò)反復(fù)測(cè)試,系統(tǒng)運(yùn)行穩(wěn)定,滿足系統(tǒng)的控制要求。本系統(tǒng)可以提升倉(cāng)儲(chǔ)系統(tǒng)的自動(dòng)化水平和空間利用率,減少勞動(dòng)強(qiáng)度,提升系統(tǒng)的效率和自動(dòng)化程度。