器材倉儲管理是裝備器材保障的重要組成部分, 是裝備技術(shù)性能充分發(fā)揮的重要保障, 也是影響部隊?wèi)?zhàn)斗力的關(guān)鍵因素[1]。目前, 我軍器材倉庫中保障物資種類和數(shù)量繁多, 但倉儲管理手段卻比較落后, 大部分仍主要依賴人工方式, 信息化程度不高。雖然也有部分倉庫利用條碼化管理實現(xiàn)了信息采集的數(shù)字化, 但是條碼技術(shù)存在信息無法更改、存儲容量小以及讀取信息不方便等缺點, 不能適應(yīng)新形勢下器材倉儲管理快速、有效獲取信息的要求[2]。RFID (Radio Frequency Identification) 無線射頻識別技術(shù)具備對多個高速移動目標(biāo)進(jìn)行非接觸識別、電子標(biāo)簽可重復(fù)使用且存儲容量大等優(yōu)勢[3], 正逐漸被廣泛應(yīng)用于物流倉儲、交通以及軍事等多個領(lǐng)域。本文以“試點部隊射頻識別系統(tǒng)建設(shè)”項目為依托, 深入分析了RFID在器材倉儲管理中的應(yīng)用需求, 設(shè)計并實現(xiàn)了基于RFID的器材倉儲管理信息系統(tǒng), 實現(xiàn)器材倉儲信息的自動采集, 改善器材倉儲管理流程, 大大提高器材倉儲的管理效率, 有效實現(xiàn)了對器材的信息化、自動化管理。
器材倉儲管理主要指對器材庫中的物資、環(huán)境、人及其運行過程, 有目的地加以計劃、組織、指揮、監(jiān)督和調(diào)節(jié)的工作行為, 其主要任務(wù)是完成器材出入庫、器材倉庫盤點、貨位管理等工作[2]。針對傳統(tǒng)器材倉儲管理存在的問題, 實現(xiàn)器材倉儲管理從手工方式到信息化的根本轉(zhuǎn)變, 首先需要對各類裝備器材進(jìn)行數(shù)字化統(tǒng)一編碼, 完成器材倉儲管理中的入庫、出庫、盤點和貨位分配的規(guī)范化和自動化, 減少工作量, 全面提高了工作效率。根據(jù)對實際倉儲管理作業(yè)流程的分析, 得出具體需求分析如下:
(1) 器材出入庫自動化信息采集。結(jié)合RFID固定式讀寫器和手持式讀寫器正確獲取器材的RFID數(shù)據(jù)信息, 快速、準(zhǔn)確地完成器材出入庫操作。
(2) 倉儲庫存盤點。通過手持讀寫器讀取器材標(biāo)簽信息, 完成庫存盤點工作;或隨機抽取貨物獲取貨位信息, 進(jìn)行進(jìn)程抽查盤點工作。
(3) 動態(tài)貨位管理。通過貨位標(biāo)簽標(biāo)識倉庫貨位信息, 監(jiān)控貨位使用情況, 根據(jù)貨位倉儲空間信息, 動態(tài)分配貨位, 最大限度地利用倉儲空間。
(4) 查詢追蹤貨物位置。通過查詢獲取貨物實際存儲位置, 將信息傳輸?shù)绞殖纸K端, 實現(xiàn)貨物定位。
根據(jù)RFID系統(tǒng)的概念和工作原理, 結(jié)合器材倉儲管理的實際需要, 系統(tǒng)硬件拓?fù)浣Y(jié)構(gòu)如圖1所示。
系統(tǒng)主要由前端硬件設(shè)備、工作站及數(shù)據(jù)庫服務(wù)器三部分組成。系統(tǒng)前端硬件設(shè)備主要包括電子標(biāo)簽、讀寫器和電子標(biāo)簽打印機。通過電子標(biāo)簽打印機和相應(yīng)的標(biāo)簽管理軟件自動完成標(biāo)簽信息寫入和打印, 生成唯一的器材和貨位電子標(biāo)簽。固定式和手持式讀寫器完成RFID標(biāo)簽信息采集, 固定讀寫器安裝在器材倉庫出入口, 完成器材出入庫標(biāo)簽信息的讀取, 數(shù)據(jù)通過交換機傳送到器材倉庫管理局域網(wǎng)上;手持式讀寫器主要在庫存盤點和貨位管理中使用, 數(shù)據(jù)通過無線方式發(fā)送給無線接收器, 再由交換機傳送到器材倉庫管理局域網(wǎng)上, 之后由工作站完成日常業(yè)務(wù)數(shù)據(jù)處理, 并實現(xiàn)數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)存儲和更新。
根據(jù)系統(tǒng)需要進(jìn)行大量數(shù)據(jù)傳遞的特點, 利用客戶端快速處理和響應(yīng)的優(yōu)勢, 系統(tǒng)采用C/S模式進(jìn)行開發(fā), 基于.net平臺構(gòu)建系統(tǒng)三層軟件架構(gòu), 即數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層, 系統(tǒng)軟件架構(gòu)如圖2所示。
表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層形成了一個緊密的整體, 它們在邏輯上相對獨立, 在功能上相互依賴。業(yè)務(wù)邏輯層依賴于表示層顯示和傳送數(shù)據(jù), 依賴數(shù)據(jù)訪問層提供和存儲數(shù)據(jù), 數(shù)據(jù)訪問層依賴業(yè)務(wù)邏輯層調(diào)用相關(guān)接口來傳遞數(shù)據(jù)。其中, 數(shù)據(jù)訪問層也稱數(shù)據(jù)持久層, 主要用于訪問數(shù)據(jù)庫, 主要的操作有查詢 (Select) 、更新 (Update) 、添加 (Insert) 、刪除 (Delete) 等。
由于器材存在的形態(tài)和類別多種多樣, 因此對各類裝備器材進(jìn)行數(shù)字化統(tǒng)一編碼就成為實現(xiàn)器材信息自動采集的關(guān)鍵問題。系統(tǒng)對主要涉及到的單件器材、集合體器材及貨位三類電子標(biāo)簽進(jìn)行了唯一編碼設(shè)計, 標(biāo)簽編碼格式如圖3所示。
標(biāo)簽編碼格式由TID區(qū)和唯一編碼區(qū)兩部分組成。TID區(qū)即標(biāo)簽ID號, 是一組64 b的號碼, 是標(biāo)簽芯片的生產(chǎn)商在生產(chǎn)芯片時就燒死在標(biāo)簽芯片內(nèi)的信息, 不可改寫, 具有全球唯一性。唯一編碼區(qū)針對三種情況有不同設(shè)計, 其中發(fā)行機構(gòu)代碼是一組8位數(shù)字的編碼, 用于標(biāo)識發(fā)行該標(biāo)簽的組織, 可以使用部隊番號作為發(fā)行機構(gòu)代碼。
單件標(biāo)簽編碼是對單一器材、包裝箱進(jìn)行的標(biāo)簽編碼。其唯一編碼區(qū)采用“類別代碼+發(fā)行機構(gòu)代碼+順序號”的方式進(jìn)行編碼, “類別代碼”是一組18位數(shù)字的編碼, 用于標(biāo)識管理對象的類別, 可采用軍用器材編碼進(jìn)行標(biāo)識。“順序號”規(guī)定為一組14位數(shù)字的號碼, 是該類器材的順序編號。三組號碼共計40位數(shù)字, 共同組成了某一單件器材、包裝箱的唯一標(biāo)識。
貨位標(biāo)簽編碼是對某一貨位進(jìn)行唯一標(biāo)識的標(biāo)簽編碼, 其唯一編碼區(qū)采用“發(fā)行機構(gòu)代碼+‘庫號+區(qū)號+架號+層號+位號'”的方式實現(xiàn)庫位信息的唯一編碼?!皫焯?區(qū)號+架號+層號+位號”五組號位用于標(biāo)識某一貨位的位置, 每組號位分別采用4位數(shù)字表示, 具體結(jié)構(gòu)如圖4所示。
其中, 每組號位中的前三位數(shù)字‘ABC'表示貨位針對該號位的具體位置, 第四位‘D'是擴展數(shù), 當(dāng)庫位調(diào)整不超過9個位置時, 該位可用于標(biāo)識增加的位置, 而無需調(diào)整其他貨位信息, 提高了系統(tǒng)的靈活性和擴展性。例如, 當(dāng)3號庫12區(qū)需要在34架和35架間增加一個貨架時, 新增貨架可表示為“0341”, 其它號位可保持不變。
集合體編碼主要是對打包了多個或多種器材的集合體進(jìn)行標(biāo)識, 其唯一編碼區(qū)采用“發(fā)行機構(gòu)代碼+順序號”進(jìn)行編碼, 順序號規(guī)定為一組32位數(shù)字編碼, 是集合體的順序號。需要注意的是, 集合體在拆分或重組時, 需要重新建立新的集合體標(biāo)簽編碼, 而不是在原有標(biāo)簽編碼的基礎(chǔ)上進(jìn)行修改, 避免造成系統(tǒng)數(shù)據(jù)混亂。
持久化是把內(nèi)存中的對象永久保存到存儲設(shè)備中使其持久, 可以保存到關(guān)系型數(shù)據(jù)庫、磁盤文件或XML數(shù)據(jù)文件中。系統(tǒng)采用了ORM (Object/Relational Mapper) 對象-關(guān)系型數(shù)據(jù)映射持久化技術(shù), 選用Entity Framework (EF) 實體框架在ADO.NET上層實現(xiàn)ORM封裝[4]。EF利用抽象化數(shù)據(jù)結(jié)構(gòu)的方式, 將數(shù)據(jù)庫中的E/R模型完全轉(zhuǎn)成對象模型。在創(chuàng)建實體時采用DB-First的設(shè)計方式, 先設(shè)計數(shù)據(jù)庫, 再由EF自動生成模型, 通過EF自動創(chuàng)建一個類型為Object Context的上下文環(huán)境變量以及所有的實體類的定義, 由這個上下文環(huán)境變量完成對實體類的持久化操作。
MVVM模式由MVC模式演變而來, 是運用數(shù)據(jù)綁定和命令相結(jié)合的方法將顯示層和業(yè)務(wù)邏輯層完全分離, 具有非常良好的可擴展性[5]。標(biāo)準(zhǔn)MVVM模式分為三層, 即Model層、View層和View Model層, 如圖5所示。
Model層是MVVM模式架構(gòu)的底層, 與EF密切相關(guān), Model層中的類就是EF生成的實體, 可以通過訪問該層中的對象實現(xiàn)對數(shù)據(jù)庫的讀寫。View Model層介于Model層和View層之間, 實現(xiàn)多Model層的封裝和對View層的數(shù)據(jù)綁定。系統(tǒng)中選用Caliburn.Micro (CM) 實現(xiàn)基于WPF的MVVM模式。首先, 集成CM程序集, 通過加載器Bootstrapper啟動框架, 配置CM的加載策略, 重載Configure函數(shù)設(shè)置IOC (Inversion of Control) 控制反轉(zhuǎn)容器, 使用MEF (Managed Extensibility Framework) 作為默認(rèn)的IOC實現(xiàn), 通過Get Instance方法獲取IOC容器中的組件, 通過重載On Startup方法定義程序的入口-登錄界面, 通過配置App.xaml文件使其發(fā)揮作用。之后, 通過CM的Bind.Model屬性綁定View和View Model, 將所有與界面相關(guān)的業(yè)務(wù)邏輯都封裝在View Model中, 使界面設(shè)計與業(yè)務(wù)邏輯開發(fā)相分離, 從而提高開發(fā)效率, 便于測試。
系統(tǒng)實現(xiàn)后, 為驗證系統(tǒng)的效率及準(zhǔn)確性, 對系統(tǒng)進(jìn)行了實際部署及試運行, 并針對安裝于器材倉庫門口的固定讀寫器進(jìn)行大批量電子標(biāo)簽識別壓力測試。測試時, 將貼有RFID標(biāo)簽不同數(shù)量的器材分批次經(jīng)過固定讀寫器進(jìn)行出入庫操作, 測試結(jié)果如表1所列。
表1中, 單位器材入庫數(shù)量是指單次進(jìn)行出入庫操作的器材標(biāo)簽數(shù)量, 每單位數(shù)量的讀取測試重復(fù)6次, 表中給出每次識別成功標(biāo)簽數(shù)量以及該批次器材標(biāo)簽平均讀取成功率。為最大限度測試器材出入庫操作讀取準(zhǔn)確率, 測試時選取的單位讀取數(shù)量較大, 從測試結(jié)果可以看出, 單位器材出入庫數(shù)量越少識別成功率越高。當(dāng)單位器材入庫數(shù)量過大時, 由于電磁干擾等多因素影響, 會導(dǎo)致識別時間過長、讀取率下降等問題, 但在該項目實際使用中, 單次出入庫器材數(shù)量不大, 即使固定讀寫器識別出現(xiàn)誤差, 也可以通過手持讀寫器予以確認(rèn), 該系統(tǒng)完全滿足用戶需要。
本系統(tǒng)目前已經(jīng)在部隊某器材倉庫正式上線使用, 運行效果良好, 徹底改善了傳統(tǒng)的器材管理模式, 極大地提高了器材倉儲管理效率。RFID技術(shù)在器材倉儲管理中的應(yīng)用是一項復(fù)雜的工程, 關(guān)于RFID的一些關(guān)鍵問題仍需得到進(jìn)一步研究。目前, 全軍沒有形成系統(tǒng)性信息編碼體系, 各種RFID應(yīng)用中的信息編碼都是基于各自的管理需求制定的, 難以滿足不同系統(tǒng)間的互聯(lián)互通;此外, 作為各類軍事信息系統(tǒng)的一種高效采集手段, RFID標(biāo)簽會存有一些重要的信息, 其安全問題必須加強研究[6]。隨著全軍信息化建設(shè)的全面推進(jìn), 作為信息采集手段的RFID在軍事應(yīng)用方面必將得到更廣泛的應(yīng)用。
權(quán)所有©:上海陽合儲運
專業(yè)承接上海倉庫租賃、上海倉儲配送物流、上海電商倉儲企業(yè)服務(wù)與微笑同在"的先進(jìn)理念不斷發(fā)展壯大。