隨著現(xiàn)代物流建設(shè)的發(fā)展, 倉(cāng)儲(chǔ)管理在物流管理工作中的重要性日益提高, 已成為企業(yè)物流管理的核心部分。目前我國(guó)倉(cāng)儲(chǔ)管理基本處于人工管理或半自動(dòng)化管理, 即傳統(tǒng)的數(shù)據(jù)采集方式, 靠人員現(xiàn)場(chǎng)手工記錄, 并且手工錄入計(jì)算機(jī)內(nèi), 特別是對(duì)于一些單體大型倉(cāng)庫(kù)、多倉(cāng)庫(kù)存儲(chǔ)或面積較大的露天場(chǎng)地等, 存在產(chǎn)品信息難以實(shí)時(shí)獲取, 人力勞動(dòng)的重復(fù)以及差錯(cuò)的出現(xiàn)機(jī)率增大。此外, 在一些以機(jī)械設(shè)計(jì)加工為主的企業(yè)倉(cāng)儲(chǔ), 在生產(chǎn)加工過(guò)程中存在的毛坯、半成品、成品等需要管理, 這些產(chǎn)品型號(hào)、品種繁多, 庫(kù)房產(chǎn)品清理、排查、存儲(chǔ)等存在一系列問(wèn)題[1,2]。為了提高倉(cāng)儲(chǔ)管理的高效性, 通過(guò)射頻識(shí)別實(shí)現(xiàn)對(duì)物料、訂單、人員、設(shè)備等信息的實(shí)時(shí)采集與現(xiàn)場(chǎng)處理, 設(shè)計(jì)多功能便攜式數(shù)據(jù)終端, 采集的數(shù)據(jù)可以實(shí)時(shí)的與控制平臺(tái)數(shù)據(jù)庫(kù)相交換, 這樣, 既可實(shí)現(xiàn)采集業(yè)務(wù)數(shù)據(jù), 又能現(xiàn)場(chǎng)進(jìn)行較復(fù)雜的業(yè)務(wù)處理, 避免人工錄入出錯(cuò)的可能, 提高工作效率。將便攜式終端應(yīng)用于智能倉(cāng)儲(chǔ)管理系統(tǒng), 可以解決企業(yè)倉(cāng)儲(chǔ)的一些實(shí)際性問(wèn)題。
該便攜式終端主要以射頻技術(shù) (radio frequency identification, RFID) 為基礎(chǔ), 由嵌入式主控模塊、人機(jī)交互模塊、傳感器輸入模塊、以及與PC機(jī)或其他通信設(shè)備的通訊模塊組成。
根據(jù)實(shí)際所需解決的庫(kù)房管理問(wèn)題, 該便攜式終端系統(tǒng)設(shè)計(jì)如圖1所示。
主要功能包括:
①產(chǎn)品清點(diǎn)。該系統(tǒng)設(shè)計(jì)以電子標(biāo)簽作為產(chǎn)品識(shí)別和信息采集的技術(shù)紐帶, 通過(guò)手持RFID讀寫器對(duì)產(chǎn)品進(jìn)行自動(dòng)識(shí)別, 與傳統(tǒng)的識(shí)別方式相比具有無(wú)需直接接觸、無(wú)需人工干預(yù)即可完成數(shù)據(jù)比對(duì)等優(yōu)點(diǎn)。針對(duì)小體積而且規(guī)則零件可以采用紅外脈沖計(jì)數(shù)清點(diǎn)功能;對(duì)于大型零件產(chǎn)品, 采用壓力傳感器, 稱其質(zhì)量來(lái)清點(diǎn)零件數(shù)目。這些功能可以通過(guò)無(wú)線或有線方式接入各類傳感器設(shè)備。
②入庫(kù)/出庫(kù)管理。入庫(kù)時(shí)對(duì)于新增的貨物需要登記產(chǎn)品的名稱、型號(hào)、入庫(kù)數(shù)量、放置位置、產(chǎn)品單位重量等。如果原有數(shù)據(jù)庫(kù)存在該產(chǎn)品則只需輸入產(chǎn)品型號(hào), 然后增加其庫(kù)存數(shù)目即可。出庫(kù)時(shí)需要登記出庫(kù)產(chǎn)品型號(hào)、出庫(kù)數(shù)量以及領(lǐng)取人編號(hào)。
③詳細(xì)入出庫(kù)記錄。在產(chǎn)品入庫(kù)、出庫(kù)的時(shí)候系統(tǒng)都會(huì)自動(dòng)生成一個(gè)記錄數(shù)據(jù)表, 來(lái)記錄每一次入庫(kù)出庫(kù)產(chǎn)品的型號(hào)、數(shù)量、入庫(kù)出庫(kù)時(shí)間 (由系統(tǒng)自動(dòng)獲取) 以及領(lǐng)取人編號(hào)。
④產(chǎn)品快速查找、定位。需要查找某種產(chǎn)品時(shí), 只需選擇產(chǎn)品查詢菜單, 即可在系統(tǒng)的引導(dǎo)下, 輸入需要查找的產(chǎn)品的基本信息, 就可以準(zhǔn)確查詢, 同時(shí)如果在庫(kù)房的每個(gè)存放位置安裝無(wú)線信號(hào)接收裝置, 則可以發(fā)送無(wú)線信號(hào)點(diǎn)亮貨物具體位置的信號(hào)燈。這樣管理員就能很快找到所需要的貨物。
⑤庫(kù)房環(huán)境溫度、濕度檢測(cè)。
⑥數(shù)據(jù)的實(shí)時(shí)更新。操作員在任何地點(diǎn)都可以及時(shí)通過(guò)無(wú)線傳輸?shù)玫接上到y(tǒng)傳過(guò)來(lái)的出入庫(kù)預(yù)報(bào)通知, 根據(jù)手持終端的提示進(jìn)行出入庫(kù)操作。這樣就避免了操作員頻繁的穿梭于計(jì)算機(jī)與庫(kù)房之間來(lái)處理各種出入庫(kù)單據(jù)。該終端還可以與本地計(jì)算機(jī)數(shù)據(jù)中心進(jìn)行數(shù)據(jù)實(shí)時(shí)交換, 同時(shí), 在建立計(jì)算機(jī)互聯(lián)網(wǎng)絡(luò)基礎(chǔ)上能夠?qū)崿F(xiàn)物品信息的實(shí)時(shí)共享和互通, 將會(huì)把倉(cāng)儲(chǔ)管理帶入物聯(lián)網(wǎng)應(yīng)用領(lǐng)域。運(yùn)用物聯(lián)網(wǎng)技術(shù), 實(shí)現(xiàn)企業(yè)倉(cāng)儲(chǔ)管理的智能化, 可以有效地掌握原料、產(chǎn)品的流向, 避免發(fā)貨失誤等[3,4]。
系統(tǒng)硬件框圖如圖2所示。
本系統(tǒng)核心處理器采用ARM9芯片S3C2440, 是三星公司設(shè)計(jì)的資源豐富、模塊體積小、擴(kuò)展性較強(qiáng)的基于ARM920T核的微處理器, 芯片上集成了分開的16KB指令/數(shù)據(jù)Cache、外部存儲(chǔ)器控制器、集成LCD控制器、4通道DMA、3通道UART、IIC總線等。外圍接有人機(jī)交互模塊、存儲(chǔ)器模塊、通訊模塊、傳感器輸入模塊、電源管理以及實(shí)時(shí)時(shí)鐘[5]。其中, 人機(jī)交互模塊主要是通過(guò)觸摸屏或鍵盤按鍵的響應(yīng)向系統(tǒng)發(fā)出不同的用戶請(qǐng)求, 然后通過(guò)LCD液晶顯示屏將處理結(jié)果以直觀的方式顯示給用戶;而存儲(chǔ)管理模塊主要是由SDRAM和FLASH組成, 它們構(gòu)建了Linux嵌入式操作系統(tǒng)運(yùn)行的內(nèi)存環(huán)境以及文件系統(tǒng)、數(shù)據(jù)庫(kù)的存儲(chǔ)介質(zhì);通訊模塊則主要包括有線/無(wú)線傳輸通訊子模塊, 可以根據(jù)實(shí)際需要完成數(shù)據(jù)的交互;傳感器輸入模塊主要有RFID掃描輸入模塊、庫(kù)房溫濕度監(jiān)測(cè)模塊以及紅外脈沖計(jì)數(shù)傳感器和壓力傳感器模塊, RFID掃描用于錄入產(chǎn)品的進(jìn)出信息, 將進(jìn)出信息送給ARM主控單元, 再將信息存儲(chǔ)于數(shù)據(jù)庫(kù)文件, 同樣, 溫濕度檢測(cè)以及庫(kù)房盤點(diǎn)計(jì)數(shù)的操作都是通過(guò)外圍傳感器獲取信息, 經(jīng)主控單元處理后反應(yīng)到LCD界面中。
本系統(tǒng)的軟件包括操作系統(tǒng)軟件和應(yīng)用程序兩部分。應(yīng)用程序控制著系統(tǒng)的運(yùn)作和行為;而操作系統(tǒng)控制著應(yīng)用程序編程與硬件的交互作用。嵌入式操作系統(tǒng)平臺(tái)的構(gòu)建主要包括嵌入式引導(dǎo)程序、操作系統(tǒng)內(nèi)核、文件系統(tǒng)的實(shí)現(xiàn)等[6]。基于Qt/E的智能倉(cāng)儲(chǔ)管理便攜式終端的軟件系統(tǒng)可分為以下5個(gè)層次, 如圖3所示。
①BootLoader, 是在操作系統(tǒng)啟動(dòng)時(shí)所運(yùn)行的第一個(gè)程序, 嵌入式系統(tǒng)通過(guò)BootLoader初始化硬件設(shè)備、建立系統(tǒng)內(nèi)存空間映射圖, 從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài), 為最終調(diào)用操作系統(tǒng)內(nèi)核做好準(zhǔn)備。
②操作系統(tǒng)內(nèi)核, 本系統(tǒng)采用的是Linux操作系統(tǒng), 它是整個(gè)嵌入式軟件的核心, 設(shè)備驅(qū)動(dòng)程序是連接硬件設(shè)備與內(nèi)核的紐帶。
③文件系統(tǒng), 內(nèi)核啟動(dòng)之后的運(yùn)行需要根文件系統(tǒng)的支持。內(nèi)核需要從文件系統(tǒng)中裝載和運(yùn)行內(nèi)核模塊以及應(yīng)用程序。
④QT/Embedded, QT/Embedded是Qt的組成部分之一, 是一個(gè)多平臺(tái)的C++圖形界面應(yīng)用程序框架, 有可視化的圖形化開發(fā)界面、界面美觀、功能較強(qiáng), 適合于做復(fù)雜的應(yīng)用程序等特點(diǎn)[7]。它用于開發(fā)我們所需要的用戶圖形交互界面應(yīng)用程序。
⑤用戶應(yīng)用程序的開發(fā), 主要是QT應(yīng)用程序的編寫, 可以通過(guò)Qt-creator開發(fā)平臺(tái)來(lái)開發(fā)QT應(yīng)用程序。
RFID, 即射頻識(shí)別, 是一種非接觸式的自動(dòng)識(shí)別技術(shù), 通過(guò)射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù), 識(shí)別工作無(wú)須人工干預(yù), 可在許多惡劣環(huán)境下正常工作。將RFID模塊加裝至便攜式終端, 其主要功能為對(duì)貨物的出庫(kù)、入庫(kù)、清點(diǎn)貨物的信息進(jìn)行采集、傳輸[8]。
本系統(tǒng)采用的是超高頻915M遠(yuǎn)距離一體式讀卡器, 首先在貨物上貼上RFID電子標(biāo)簽, 由于這種遠(yuǎn)距離一體式讀寫器既可以讀取單個(gè)標(biāo)簽也可以一次性批量讀取多個(gè)標(biāo)簽, 因此可以實(shí)現(xiàn)對(duì)貨物的個(gè)體管理或者批量管理。當(dāng)貨物進(jìn)入RFID讀寫天線范圍后, 標(biāo)簽接受讀寫器發(fā)出的射頻信號(hào), 憑借感應(yīng)電流所獲得的能量發(fā)送出存儲(chǔ)在芯片中的信息, RFID讀寫器讀取信息后, 通過(guò)RS232接口將數(shù)據(jù)傳送至ARM主控模塊中。該RFID讀寫器通信參數(shù)的默認(rèn)設(shè)置為波特率9 600, 8位數(shù)據(jù)位, 1位停止位和校驗(yàn)方式。在QT應(yīng)用程序中首先需要打開串口ttySAC1, 設(shè)置與讀寫器一致的通信參數(shù), 再根據(jù)Reader通訊協(xié)議, 給讀寫器發(fā)送讀寫指令, RFID讀寫器接收后根據(jù)命令來(lái)對(duì)標(biāo)簽進(jìn)行讀寫。其命令幀格式如圖4所示。
幀格式說(shuō)明:
● Packet Type 是包類型域, 命令幀包類型固定為0xA0。
● Length是包長(zhǎng)域, 表示Length域后幀中字節(jié)數(shù)。
● Command Data是命令幀中的參數(shù)域。
● Status是狀態(tài)域。
● Check是校驗(yàn)和域, 規(guī)定校驗(yàn)范圍是從包類型域到參數(shù)域最后一個(gè)字節(jié)為止所有字節(jié)的校驗(yàn)和。讀寫器接收到命令幀后需要計(jì)算校驗(yàn)和來(lái)檢錯(cuò)。
利用RFID讀出的電子標(biāo)簽的ID號(hào)存入創(chuàng)建好的數(shù)據(jù)庫(kù)中, 同時(shí)也可與已經(jīng)存在的信息進(jìn)行查詢比較, 進(jìn)行入庫(kù)或出庫(kù)處理。
嵌入式人機(jī)界面決定了對(duì)數(shù)據(jù)庫(kù)的需求, 主要包括體積小巧、功能完善、源碼開放等。目前嵌入式數(shù)據(jù)庫(kù)有很多, 比如Oracle、Sybase、MySQL、SQLite等[9]。本便攜式終端所選擇的是SQLite類型數(shù)據(jù)庫(kù), SQLite是一種小型嵌入式數(shù)據(jù)庫(kù)。SQLite是一個(gè)小型的C語(yǔ)言鏈接庫(kù), 這個(gè)鏈接庫(kù)本身就完全包含數(shù)據(jù)庫(kù)引擎的功能, 可以方便地運(yùn)用于嵌入式系統(tǒng)中。SQLite支持大多數(shù)標(biāo)準(zhǔn)的SQL92語(yǔ)句, 支持多表、索引、事務(wù)、視圖和觸發(fā)等一系列用戶接口及驅(qū)動(dòng)。簡(jiǎn)單易用, 運(yùn)行速度快, 同時(shí)提供了豐富的數(shù)據(jù)庫(kù)接口[10]。
在Qt應(yīng)用程序開發(fā)中我們可以利用QSQLITE數(shù)據(jù)庫(kù)驅(qū)動(dòng)來(lái)添加SQLite數(shù)據(jù)庫(kù)文件。
QsqlDatabasedb=QSqlDatabase::addDatabase (“QSQLITE”) ;//添加數(shù)據(jù)庫(kù)驅(qū)動(dòng)
db.setDatabaseName (“kufang.db:”) ;
db.open () //打開數(shù)據(jù)庫(kù)
QSqlQuery query; //以下執(zhí)行相關(guān)QSL語(yǔ)句
query.exec (QObject::tr ("create table ku (型號(hào)Integer, 名稱 varchaer (20) , 數(shù)量 Integer, 放置位置varchaer
(20) , 單重 varchar (20) ) ") ) ;//創(chuàng)建數(shù)據(jù)庫(kù)文件表格
以入庫(kù)的數(shù)據(jù)更新為例, 入庫(kù)時(shí)需要錄入的信息一般有產(chǎn)品名稱、型號(hào)、數(shù)量、放置位置、單位重量等。
入庫(kù)實(shí)現(xiàn)程序流程圖如圖5所示。
①如果檢測(cè)到所輸入的產(chǎn)品型號(hào)在原始數(shù)據(jù)庫(kù)中已存在, 則系統(tǒng)會(huì)自動(dòng)識(shí)別并在原有數(shù)據(jù)上增加其庫(kù)存數(shù)量。
b=rkcount.toInt (&ok, 10) ; //利用Qstring::toInt () 將數(shù)量輸入lineEdit內(nèi)容轉(zhuǎn)為十進(jìn)制數(shù)
a=query.value (2) .toInt () ;//提取表中庫(kù)存量
c=a+b; //算出增加后的值
query.prepare ("update ku set Count=? where Type='"+rktype+"'") ;//更新數(shù)據(jù)表中的庫(kù)存量
query.bindValue (0, c) ;
query.exec () ;
②如果數(shù)據(jù)庫(kù)中沒(méi)有原始數(shù)據(jù), 則插入新的產(chǎn)品信息。
query.exec ("insert into ku values () ") ;
③在更新完產(chǎn)品信息后, 我們需要將該操作記錄到詳細(xì)記錄列表, 此時(shí)需要記錄的是此次入庫(kù)產(chǎn)品的型號(hào)、數(shù)量以及入庫(kù)時(shí)間。
QDateTime time=QDateTime::currentDateTime () ;
QString str=time.toString ("yyyy-MM-dd hh:mm:ss dddd") ;//獲取系統(tǒng)時(shí)間
QSqlQuery query2 (db2) ;//對(duì)詳細(xì)記錄數(shù)據(jù)庫(kù)進(jìn)行操作
完成庫(kù)存數(shù)據(jù)的存儲(chǔ)后, 為了提高該終端的智能便捷性, 在需要查找某種產(chǎn)品時(shí), 打開快速查找界面, 輸入需要查找的產(chǎn)品名稱或型號(hào), 就可以準(zhǔn)確查詢到其基本信息, 界面設(shè)計(jì)如圖6所示。
同時(shí), 也可以增加定位功能按鈕, 在此我們?cè)黾觧RF905無(wú)線收發(fā)模塊, 將所查找的型號(hào)以字符串通過(guò)nRF905發(fā)送給接收裝置的nRF905模塊, 在庫(kù)房的一些存放位置安裝無(wú)線信號(hào)接收裝置, 接收裝置的nRF905由單片機(jī)控制, 如果收到的型號(hào)屬于一段范圍內(nèi), 則單片機(jī)控制點(diǎn)亮具體位置的LED燈, 如圖7所示, 管理員通過(guò)定位能很快找到所需要的貨物。
系統(tǒng)通過(guò)測(cè)試, 實(shí)現(xiàn)了產(chǎn)品信息的RFID識(shí)別出入庫(kù)、存儲(chǔ)、準(zhǔn)確查找定位, 數(shù)據(jù)共享等功能。其交互式觸摸控制平臺(tái)測(cè)試結(jié)果如圖8所示。
點(diǎn)擊產(chǎn)品入庫(kù)操作, 執(zhí)行相應(yīng)的功能模塊即可實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)功能, 圖9為產(chǎn)品入庫(kù)功能設(shè)計(jì)實(shí)現(xiàn)結(jié)果。
利用Qt/E所設(shè)計(jì)的便攜式終端可以有效的解決各種環(huán)境下的倉(cāng)儲(chǔ)管理系統(tǒng)對(duì)數(shù)據(jù)的采集、檢索、存檔和統(tǒng)計(jì)的實(shí)時(shí)化, 使管理者更加準(zhǔn)確高效的掌握倉(cāng)儲(chǔ)信息, 以及對(duì)貨物準(zhǔn)確快速的查找定位。將此便攜式終端根據(jù)企業(yè)的需求應(yīng)用于實(shí)際生產(chǎn)中, 使管理者能及時(shí)、準(zhǔn)確、全面地了解到庫(kù)房物品流通情況, 減少了信息查詢時(shí)間, 降低了成本, 提高了精度, 將會(huì)給企業(yè)的管理帶來(lái)顯著的效果。
權(quán)所有©:上海陽(yáng)合儲(chǔ)運(yùn)
專業(yè)承接上海倉(cāng)庫(kù)租賃、上海倉(cāng)儲(chǔ)配送物流、上海電商倉(cāng)儲(chǔ)企業(yè)服務(wù)與微笑同在"的先進(jìn)理念不斷發(fā)展壯大。