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