原標(biāo)題:自動化立體倉庫wcs的設(shè)計與實(shí)現(xiàn)!
作為典型的自動化物流倉儲設(shè)備之一,自動化立體倉庫在各行業(yè)中的應(yīng)用越來越廣泛,它代替了傳統(tǒng)的平面?zhèn)}庫和貨架,通過充分利用空間高度,增加了相同占地面積上的可用存儲空間;通過堆垛機(jī)和貨叉的移動,實(shí)現(xiàn)了由物到人的便捷存取;通過配套信息管理系統(tǒng),提高了庫房及物料管理的工作效率和信息化程度。自動化立體倉庫的主體由貨架、堆垛機(jī)、輸送機(jī)及操作控制系統(tǒng)組成,可引入agv小車完成托盤或料箱的流轉(zhuǎn)及搬運(yùn)任務(wù),提高了整個系統(tǒng)的自動化程度,能同時完成物料的存取及信息存儲功能。這其中,操作控制系統(tǒng)主要由倉庫控制系統(tǒng)(wcs)和wms組成,在自動化立體倉庫系統(tǒng)中起著主導(dǎo)性的作用。
wcs體系架構(gòu)
wcs系統(tǒng)的整體架構(gòu)采用四層結(jié)構(gòu)自上至下進(jìn)行構(gòu)建,分別為:應(yīng)用層、服務(wù)層、功能層和數(shù)據(jù)層。

應(yīng)用層:系統(tǒng)應(yīng)用的前端形式,可根據(jù)客戶需求進(jìn)行不同平臺的搭建。應(yīng)用層負(fù)責(zé)用戶界面的呈現(xiàn)和數(shù)據(jù)信息的顯示,以及部分控制功能的入口,不對業(yè)務(wù)邏輯或數(shù)據(jù)操作進(jìn)行處理。
服務(wù)層:與設(shè)備的通訊需要搭建plc通訊服務(wù),完成plc狀態(tài)信息的讀取和操作指令的寫入;數(shù)據(jù)庫訪問服務(wù)完成系統(tǒng)內(nèi)部管理和控制信息的記錄及讀取;可視化效果的實(shí)現(xiàn)需要具備資源文件讀寫和加載服務(wù);wcs與外部上游管理系統(tǒng)(wms、erp、sap、mes等)或控制系統(tǒng)(pda.rfid、pad、led等)進(jìn)行信息交互和指令下達(dá),通過外部系統(tǒng)接口完成服務(wù)。
功能層:結(jié)合具體的業(yè)務(wù)邏輯,針對特定的設(shè)備任務(wù)進(jìn)行操作,負(fù)責(zé)對訪問服務(wù)調(diào)用的數(shù)據(jù)模型進(jìn)行處理,完成數(shù)據(jù)的管理和應(yīng)用功能的實(shí)現(xiàn)。
數(shù)據(jù)層:針對plc狀態(tài)點(diǎn)進(jìn)行數(shù)據(jù)采集,創(chuàng)建持久化的數(shù)據(jù)模型,供服務(wù)訪問和功能調(diào)用。針對數(shù)據(jù)庫對象實(shí)體進(jìn)行存儲和管理,完成編程對象和數(shù)據(jù)庫表之間的映射。
通過該架構(gòu)的設(shè)計,使得軟件系統(tǒng)結(jié)構(gòu)的劃分更為明確,在保證功能模塊獨(dú)立完整的同時降低了耦合度;有助于開發(fā)團(tuán)隊(duì)分工合作,促進(jìn)合作開發(fā)和資源共享,解決了協(xié)同開發(fā)過程中的沖突問題;提高了各功能模塊的可復(fù)用性,使得開發(fā)成本和后期維護(hù)成本都大大降低。
wcs功能實(shí)現(xiàn)
wcs的核心功能模塊如圖2所示。
任務(wù)調(diào)度模塊:對上游系統(tǒng)發(fā)送的自動出入庫任務(wù)及自身發(fā)起的手動出入庫任務(wù)生成隊(duì)列,并按照插入優(yōu)先級進(jìn)行排序,如設(shè)備發(fā)生報警,可對隊(duì)列進(jìn)行新和清空等操作。
手動控制模塊:包括手動岀入庫任務(wù)的發(fā)起,對巷道進(jìn)行封鎖,控制輸送機(jī)進(jìn)行移動,對設(shè)備報警進(jìn)行總體恢復(fù)。
設(shè)備監(jiān)控模塊:包括整體布局俯視動態(tài)圖,堆垛機(jī)水平移動實(shí)時位置監(jiān)控,提升機(jī)實(shí)時高度顯示,控制模式顯示,移動設(shè)備的速度、加速度、功耗、運(yùn)行時長、電流值,存儲空間分布,料箱或托盤狀態(tài),以及部分關(guān)鍵plc狀態(tài)點(diǎn)顯示。
參數(shù)設(shè)置模塊:包括貨位初始化及禁用操作,料箱或托盤的初始化及凍結(jié)操作,plc通訊必要參數(shù)配置和數(shù)據(jù)庫服務(wù)必要參數(shù)設(shè)置等。
系統(tǒng)管理模塊:包括用戶角色創(chuàng)建及賬號密碼管理,角色權(quán)限分配及配置,系統(tǒng)出入庫操作日志記錄及查詢,設(shè)備報警記錄瀏覽及檢索,針對出入庫頻次、料箱使用頻次、設(shè)備報警頻次等數(shù)據(jù)的統(tǒng)計圖表.
系統(tǒng)流程設(shè)計
wcs可根據(jù)實(shí)際需求接入掃描槍、rfid、pda等眾多周邊設(shè)備,接口對接方式眾多,應(yīng)囊括絕大部分市面主流的數(shù)據(jù)對接方式,例如,webservices數(shù)據(jù)庫中間表、socket報文、rest、http協(xié)議等,并可根據(jù)客戶實(shí)際需求完成數(shù)據(jù)及功能接口的定制開發(fā)。下面以與wms對接為例進(jìn)行說明,wcs服務(wù)檢測到數(shù)據(jù)表中記錄發(fā)生變化,根據(jù)操作類型識別出入庫操作類型,根據(jù)料箱號和取貨口號進(jìn)行設(shè)備動作指令發(fā)送,根據(jù)任務(wù)狀態(tài)進(jìn)行作業(yè)條件變更。出入庫流程如圖3所示。
圖3wcs與wms對接流程
項(xiàng)目案例
(1)項(xiàng)目簡介:
客戶為煙臺某集橡膠油封、ptfe油封、聚氨酯高壓油封等產(chǎn)品的研發(fā)、制造于一體的專業(yè)化公司。通過為其提供雙存儲位的自動化立體倉庫設(shè)備,并在項(xiàng)目中運(yùn)用本文設(shè)計的wcs,對其共計1500多種規(guī)格的系列產(chǎn)品進(jìn)行管控,包括減振器油封、發(fā)動機(jī)油封、氣門油封、傳動系統(tǒng)油封、車橋油封、轉(zhuǎn)向系統(tǒng)油封、軸承油封、液壓缸油封等的原材料、半成品和成品。該項(xiàng)目wcs設(shè)計與實(shí)現(xiàn),使倉庫的岀入庫、調(diào)撥、庫存轉(zhuǎn)移和庫存盤點(diǎn)等日常業(yè)務(wù)都能夠穩(wěn)定、高效地進(jìn)行,并能夠應(yīng)對多用戶協(xié)同使用和任務(wù)交叉排序的情況,促進(jìn)了客戶的信息化建設(shè)和智能生產(chǎn)。
(2)技術(shù)路線:
首先,以本文提出的架構(gòu)搭建思路作為整體設(shè)計的前提。其次,基于客戶實(shí)際的業(yè)務(wù)特點(diǎn)進(jìn)行需求分析,對客戶的實(shí)際功能需求和業(yè)務(wù)流程進(jìn)行了歸納總結(jié),完成信息架構(gòu)的搭建。然后,在wcs系統(tǒng)整體的設(shè)計階段分別對架構(gòu)、功能和數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計。相對于傳統(tǒng)wcs系統(tǒng),本項(xiàng)目的wcs在常規(guī)架構(gòu)基礎(chǔ)上加入了數(shù)據(jù)感知服務(wù),通過異步方式完成plc信息狀態(tài)的獲取。在通過訂閱機(jī)制獲取plc狀態(tài)的基礎(chǔ)上,結(jié)合sqldependency技術(shù)實(shí)現(xiàn)任務(wù)的異步更新和優(yōu)先級排序,從而完成任務(wù)的拆分、調(diào)度和優(yōu)化。在系統(tǒng)的實(shí)現(xiàn)階段,采用mvvm模式搭建系統(tǒng)基礎(chǔ)框架,并基于opcua標(biāo)準(zhǔn)模型進(jìn)行改造和建模,提升了通訊接口的實(shí)時性和通用性。另外,為了規(guī)范整個物流系統(tǒng)內(nèi)所有硬件設(shè)備的通訊格式和協(xié)議標(biāo)準(zhǔn),采用相對更容易序列化和較為主流的json文件格式進(jìn)行傳輸和交互。在任務(wù)分解的過程中,結(jié)合自身設(shè)備和現(xiàn)場物流環(huán)境的特點(diǎn),將堆垛機(jī)、傳輸線、agv的任務(wù)作為一個完整任務(wù)的三個獨(dú)立單元,根據(jù)實(shí)際情況進(jìn)行組合和協(xié)調(diào)。在設(shè)備調(diào)試和用戶后期使用過程中,對wcs系統(tǒng)功能和性能展開了測試與分析,通過用戶真實(shí)使用環(huán)境下的實(shí)際操作和編寫測試用例方式相結(jié)合進(jìn)行測試,針對用戶體驗(yàn)進(jìn)行了部分優(yōu)化和調(diào)整。
(3)架構(gòu)設(shè)計:
應(yīng)用層:應(yīng)用層主要針對ui進(jìn)行設(shè)計和客戶端開發(fā),實(shí)現(xiàn)用戶和業(yè)務(wù)流程及后端數(shù)據(jù)的接入及交互。本項(xiàng)目采用wpf進(jìn)行客戶端開發(fā),并利用其mvvm模式進(jìn)行模塊解耦。viewmodel層為view層和model層的中間傳遞層,它將前端view層所需展示的數(shù)據(jù)從model層中進(jìn)行獲取和轉(zhuǎn)化,并完成傳遞。同時,viewmodel層還可以針對前端用戶指令和功能接口進(jìn)行業(yè)務(wù)流程的封裝。數(shù)據(jù)的更新、增加和刪除等實(shí)際操作則交由model層來完成,在完成持久化操作的同時,還可感知數(shù)據(jù)綁定視圖的信息和狀態(tài)變化,并在發(fā)生變化時通知view-model層執(zhí)行相應(yīng)的操作。
服務(wù)層:針對plc信息獲取的服務(wù)以plc供應(yīng)商提供的opcua服務(wù)作為基礎(chǔ),針對具體功能流程服務(wù)進(jìn)行自主開發(fā),包括plc通訊、路徑規(guī)劃、任務(wù)生成和分解、入庫單據(jù)服務(wù)、庫位存儲服務(wù)、電子標(biāo)簽服務(wù)等功能。將上述功能進(jìn)行整合并形成通用功能服務(wù),整體層次以功能流程為基本單位,針對具體業(yè)務(wù)進(jìn)行開發(fā)。該過程需要使用服務(wù)的通信組件,使每個服務(wù)將自己提供給其他服務(wù)使用。
功能層:該層主要完成核心業(yè)務(wù)功能,同時將設(shè)備控制動作進(jìn)行串聯(lián),完成設(shè)備與軟件功能的交互,針對不同的功能需求進(jìn)行邏輯處理和指令響應(yīng)。根據(jù)客戶的需求和設(shè)備的動作流程,按照設(shè)備的每個獨(dú)立結(jié)構(gòu)和功能單元進(jìn)行模塊劃分,控制輸送線和堆垛機(jī)運(yùn)動的模塊為內(nèi)部傳輸模塊;控制外形檢測、稱重的部分為檢測模塊;控制agv的模塊為搬運(yùn)模塊。
數(shù)據(jù)層:數(shù)據(jù)層是系統(tǒng)數(shù)據(jù)訪問與操作的接口,包括數(shù)據(jù)庫存儲和資源文件的存儲等。根據(jù)客戶要求,數(shù)據(jù)庫采用sqlserver注行搭建,并利用redis進(jìn)行緩存和遠(yuǎn)程字典服務(wù)。針對兩種數(shù)據(jù)庫的操作進(jìn)行通用化封裝,形成數(shù)據(jù)庫操作組件,供各個功能模塊進(jìn)行調(diào)用。
(4)功能設(shè)計:
根據(jù)系統(tǒng)的架構(gòu)設(shè)計,將整體wcs系統(tǒng)劃分為功能模塊:基礎(chǔ)管理、庫位管理、任務(wù)調(diào)度、agv管理、設(shè)備監(jiān)控。
基礎(chǔ)管理包括用戶管理、角色管理、權(quán)限管理。用戶管理對系統(tǒng)用戶的基本信息進(jìn)行增、刪、改、査,超級管理員賬戶可對普通操作用戶進(jìn)行管理,普通操作用戶可對自己的密碼進(jìn)行修改。角色管理可使管理員對普通用戶的角色進(jìn)行劃分和分配,如管理員、操作員、審計員等。權(quán)限管理結(jié)合角色管理進(jìn)行用戶行為的限制和歸類,如托盤的使用權(quán)限分配、操作功能入口的可進(jìn)入限制等。
庫位管理是對當(dāng)前自動化立體倉庫所有庫位進(jìn)行序列化生成和管理,對其他設(shè)備外部的平庫貨架、虛擬貨區(qū)進(jìn)行定義和劃分,釆用統(tǒng)一的編碼規(guī)則進(jìn)行界定和標(biāo)識。在推薦入庫貨位時,根據(jù)每個貨位的狀態(tài)和位置,可以配合agv及堆垛機(jī)完成路線優(yōu)化。結(jié)合用戶權(quán)限,可針對庫位進(jìn)行用戶分配、狀態(tài)變化,通過“禁用”和“啟用”功能來規(guī)定某貨位是否能放置托盤,通過“凍結(jié)”和“解凍”功能來規(guī)定某托盤是否能用于出入庫操作。
任務(wù)管理包括任務(wù)的生成、插入、排序、刪除、轉(zhuǎn)化等。根據(jù)任務(wù)操作類型的不同和涉及的硬件設(shè)備不同,進(jìn)行整體任務(wù)的串聯(lián)和調(diào)度。在每一條任務(wù)生成時,對當(dāng)前時間進(jìn)行序列化,并在當(dāng)前數(shù)據(jù)庫中最新任務(wù)的基礎(chǔ)上進(jìn)行追加,生成流水號與當(dāng)前任務(wù)綁定,從而保證任務(wù)的性。如遇到出庫任務(wù)為內(nèi)側(cè)料箱,需要將外側(cè)料箱首先進(jìn)行轉(zhuǎn)儲,則生成一條轉(zhuǎn)儲類型的子任務(wù),同當(dāng)前父任務(wù)一同插入任務(wù)隊(duì)列,隊(duì)列中所有任務(wù)根據(jù)優(yōu)先級進(jìn)行排序。另外,為了防止任務(wù)意外沖突和死鎖,為用戶提供了人工追加和刪除任務(wù)的功能按鈕。
agv管理分為agv調(diào)度、agv本體檢測、工作站管理、充電站管理、通訊站管理和接駁點(diǎn)管理等。通過webapi方式進(jìn)行通訊,實(shí)現(xiàn)點(diǎn)位部署、agv配置、搬運(yùn)任務(wù)生成與調(diào)度、交通管制、整體日志管理等功能。
設(shè)備監(jiān)控實(shí)現(xiàn)針對當(dāng)前任務(wù)隊(duì)列的顯示、所有硬件設(shè)備實(shí)時狀態(tài)的顯示、用戶操作軌跡的實(shí)時顯示、物流設(shè)備整體運(yùn)動狀態(tài)的可視化。得益于本設(shè)計架構(gòu)的良好兼容性,在整體可視化系統(tǒng)的實(shí)現(xiàn)方式選擇時,既可采用二維也可采用三維的方式進(jìn)行開發(fā)。由于本項(xiàng)目涉及的堆垛機(jī)較多,且堆垛機(jī)兼顧巷道較多,故采用二維俯視圖的方式進(jìn)行展示,用戶可觀測到每個硬件設(shè)備的實(shí)時位置和移動速度。
結(jié)語
本文介紹了自動化立體倉庫wcs的體系架構(gòu)和核心功能,探討了其系統(tǒng)流程,并以某客戶項(xiàng)目為案例進(jìn)行了設(shè)計思路驗(yàn)證。文中闡述的設(shè)計架構(gòu)和搭建方法已經(jīng)在多個實(shí)際項(xiàng)目中交付客戶并通過驗(yàn)證,對同類軟件系統(tǒng)具有一定的參考意義。然而,本文中wcs在與plc通訊時采用的是基于opcua的交互方式,依賴于plc供應(yīng)商提供的opcua服務(wù)器構(gòu)建的服務(wù)環(huán)境,訂閱plc的狀態(tài)點(diǎn)數(shù)量為500個,超過上限之后會出現(xiàn)短時間內(nèi)斷線無法重連的情況。可以通過自主研發(fā)opc服務(wù)來解決這一問題,同時應(yīng)用服務(wù)器冗余守護(hù)進(jìn)程機(jī)制,構(gòu)建冗余狀態(tài)機(jī),對系統(tǒng)進(jìn)行故障處理,提高了系統(tǒng)的可靠性。
來源:《物流技術(shù)》
編輯轉(zhuǎn)發(fā)只為傳遞更多信息,并不代表本號觀點(diǎn)。
如有侵權(quán),請聯(lián)刪。