亚洲h精品动漫直播_色婷婷狠狠久久综合五月_亚洲综合国产成人丁香五_国产一区二区色午夜在线_免费日本中文少妇_无码高潮又大又黄_日韩有码中文字幕精品_欧美Z0ZO人禽交免费观看99_亚洲有码中文字幕在线观看_求网址你懂你的2021

新聞中心

如何實現(xiàn)RFID卷煙倉庫系統(tǒng)數(shù)字化管理

如何實現(xiàn)RFID卷煙倉庫系統(tǒng)數(shù)字化管理

發(fā)布日期:2020-08-24 09:53:39 作者:Ling 點擊:17881

     在前面的系統(tǒng)分析與設(shè)計基礎(chǔ)之上,本節(jié)對基于RFID的數(shù)字化卷煙倉庫管理系統(tǒng)進行了部分模塊的開發(fā)工作。下面將詳細(xì)闡述數(shù)字化卷煙倉庫管理系統(tǒng)中的服務(wù)器消息處理子系統(tǒng)、出庫管理模塊和叉車電子貨位導(dǎo)航系統(tǒng)三個部分的開發(fā)。

1、系統(tǒng)開發(fā)工具
     本系統(tǒng)采用Java開發(fā)平臺和Eclipse開發(fā)工具中提供的RCP框架設(shè)計,而數(shù)據(jù)庫采用SQL Server 2005。
     Java編程語言是一個簡單的、面向?qū)ο?、分布式、健壯、安全與系統(tǒng)無關(guān)、可移植高性能、多線程和動態(tài)的語言。Java的跨平臺性使得開發(fā)出的基于RFID的數(shù)字化卷煙倉庫管理系統(tǒng)可以在不同的系統(tǒng)上使用,這樣在以后可以方便地進行系統(tǒng)的擴展和二次開發(fā)。

     Eclipse是IBM公司開發(fā)的一款強大的Java開發(fā)工具。它倡導(dǎo)插件開發(fā)RCP(Rich Client Platform)的設(shè)計理念、采用客戶端平臺的思想,是基于ECLIPSE插件開發(fā)的一種應(yīng)用。通過RCP可以快速構(gòu)建應(yīng)用程序,提高系統(tǒng)的穩(wěn)定性。
     SQL Server 2005是運行于Windows操作系統(tǒng)的,面向分布式客戶機/服務(wù)器結(jié)構(gòu)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是新一代電子商務(wù)、數(shù)據(jù)倉庫和數(shù)據(jù)庫解決方案。SQL Server 2005適合本系統(tǒng)的應(yīng)用需求。
1.1、服務(wù)器消息處理子系統(tǒng)的實現(xiàn)
        服務(wù)器消息處理子系統(tǒng)采用Java網(wǎng)絡(luò)編程方式來實現(xiàn)和客戶端的交互,系統(tǒng)的整個通信過程為:
(1)客戶端(主控機、叉車)向服務(wù)器發(fā)送請求,按照TCP協(xié)議連接到服務(wù)器上; 

(2)主控機客戶端通過TCP協(xié)議向服務(wù)器端發(fā)送請求和指令;
(3)叉車客戶端通過TCP協(xié)議向服務(wù)器端發(fā)送請求,查詢指令;
(4)叉車客戶端通過TCP協(xié)議向服務(wù)器端發(fā)送指令狀態(tài)信息;
(5)服務(wù)器接收到叉車客戶端傳來的指令狀態(tài)信息后,更改服務(wù)器上儲存指令的狀態(tài),然后以組播的方式向各個客戶端廣播指令狀態(tài)信息;
(6)主控機客戶端和叉車客戶端接收到組播后,更新本機界面上的狀態(tài)。
       綜上所述,服務(wù)器消息處理子系統(tǒng)具有客戶端登錄驗證和消息儲存轉(zhuǎn)發(fā)兩項基本功能。下面將分別實現(xiàn)這兩項功能。

1.客戶端登錄驗證功能

       服務(wù)器消息處理子系統(tǒng)客戶端登錄驗證功能實現(xiàn)的界面,可以看見當(dāng)前的一個IP為192.168.1.13的主控機正登錄進來。
服務(wù)器消息處理子系統(tǒng)客戶端登錄驗證功能實現(xiàn)的界面
客戶端登錄驗證功能的代碼如下:

 

    在上面的代碼中,線程thread用于監(jiān)聽客戶端的連接。當(dāng)客戶端連接服務(wù)器時,線程thread監(jiān)聽到請求后,驗證登錄客戶端的用戶名和密碼,按照TCP協(xié)議建立連接線程talk用于客戶端和服務(wù)器端的交互。線程talk在客戶端和服務(wù)器建立TCP后啟動,建立數(shù)據(jù)的輸入和輸出流,并和客戶端進行一對一的TCP交互。

2.消息儲存轉(zhuǎn)發(fā)功能
   服務(wù)器消息處理子系統(tǒng)的消息儲存轉(zhuǎn)發(fā)功能有兩種工作方式:當(dāng)叉車發(fā)送查詢請求時,將儲存的客戶端發(fā)來的指令發(fā)送給叉車;對叉車發(fā)來的指令狀態(tài)信息或LED顯示屏信息的消息進行組播,將其傳遞給各個客戶端,客戶端再按照指令狀態(tài)信息或LED顯示屏信息進行刷新指令,監(jiān)控界面指令狀態(tài)或更新LED顯示屏信息。消息儲存轉(zhuǎn)發(fā)功能的代碼如下:

    上述代碼是executeMethods()方法中的部分代碼,可實現(xiàn)消息的儲存轉(zhuǎn)發(fā)功能。這個方法會根據(jù)報頭的不同而執(zhí)行不同的動作。當(dāng)報頭為“1”時,表示叉車發(fā)送查詢請求,這時服務(wù)器消息處理子系統(tǒng)將保存在服務(wù)器上的指令發(fā)送給叉車;當(dāng)報頭為“2”時,服務(wù)器消息處理子系統(tǒng)對叉車發(fā)來的指令狀態(tài)信息或LED顯示屏信息的消息進行組播。


2、出庫管理模塊的實現(xiàn)
     出庫管理模塊用來完成出庫的各種操作,如出庫單據(jù)的管理、出庫貨位的分配、出庫指令的生成及監(jiān)控。出庫單據(jù)的管理功能主要是指完成單據(jù)的導(dǎo)入/手工錄入,未處理單據(jù)的修改和刪除。系統(tǒng)界面中會顯示所有當(dāng)日未處理的單據(jù),并可以對顯示單據(jù)進行修改。在完成單據(jù)的生成后,就需要使用出庫貨位分配功能。出庫貨位分配需要按照一定的規(guī)則進行。這些規(guī)則要實現(xiàn)優(yōu)先出暫存區(qū),防止暫存區(qū)堆積;貨位的先進先出,防止貨物積壓;出庫貨位少,提高作業(yè)效率等目標(biāo)。實現(xiàn)出庫貨位分配的界面如圖所示。界面上矩形框標(biāo)出來的地方是系統(tǒng)按照出庫貨位分配規(guī)則分配的貨位。在庫管認(rèn)為貨位不合理時,系統(tǒng)也提供手工修改分配貨位的功能,由此可提高系統(tǒng)的靈活性。出庫貨位分配界面中分配的貨位是按出庫貨位算法得出的。


 出庫貨位分配規(guī)則的核心有以下幾個方面。

(1)出庫貨位分配規(guī)則是計算機自動分配的,把數(shù)據(jù)庫存儲過程寫入數(shù)據(jù)庫,在程序中只需提供出庫的卷煙品牌規(guī)格和數(shù)量。這樣會帶來兩方面的好處:一方面,存儲過程在第一次被調(diào)用時由系統(tǒng)編譯并存儲在數(shù)據(jù)庫中,編譯后的存儲過程經(jīng)過優(yōu)化處理,執(zhí)行速度更快,可以提高系統(tǒng)的響應(yīng)速度;另一方面,在需要修改出庫貨位分配規(guī)則時,只需要在數(shù)據(jù)庫中修改存儲過程即可。
(2)為保證出庫托盤盡量少,該算法首先判斷出庫的是整托盤還是散托盤,若為整托盤出庫,而暫存區(qū)沒有該品牌的整托盤時,則直接從庫區(qū)出庫中減去出庫托盤數(shù)。
(3)防止暫存區(qū)貨物的積壓。該算法在出庫時,在滿足出庫托盤盡量少的前提下,優(yōu)先出暫存區(qū)。

(4)出庫指令的生成及監(jiān)控功能:出庫貨位核對,生成作業(yè)指令和指令監(jiān)控。主控機在開啟時,便已和服務(wù)器端建立TCP連接,使用TCP協(xié)議將指令傳到服務(wù)器上,便于叉車查詢,指導(dǎo)叉車到指定的貨位作業(yè)。系統(tǒng)保證了貨物的先進先出,使用算法優(yōu)先出同品牌的、入庫時間早的卷煙。

     這個界面將實時接收服務(wù)器組播的指令狀態(tài),改變指令監(jiān)控界面上的指令狀態(tài)。當(dāng)所有指令完成后,提交更新系統(tǒng)庫存。用出庫指令打開監(jiān)控界面,系統(tǒng)將會開辟一個線程用于出庫校對。在入庫時,將掃描的RFID標(biāo)簽ID寫入數(shù)據(jù)庫,并和貨位進行綁定,因此在出庫時可通過掃描RFID標(biāo)簽ID解析貨位地址,將其與出庫指令進行核對。出庫核對功能的代碼如下:
     在上面的代碼中,hashMap存放著 程序預(yù)先從數(shù)據(jù)庫中獲取的RFID標(biāo)簽ID和貨位編碼的對應(yīng)關(guān)系。在出庫時,通過RFID閱讀器讀取的RFID標(biāo)簽ID就可以獲取貨位編碼,再與出庫指令中的貨位地址進行核對,若兩者一致會將RFID標(biāo)簽ID寫入出庫指令監(jiān)控界面中;而不一致則代表出錯托盤,無法將RFID標(biāo)簽ID寫入上面的界面中,并彈出“叉出貨位出錯,請將該托盤放回”的警告以提示叉車工,這時叉車工需將叉錯的托盤放回原貨架,再將正確的托盤取出。

4、 叉車電子貨位導(dǎo)航子系統(tǒng)的實現(xiàn)

4、1.叉車客戶端通信模塊的實現(xiàn)叉車的客戶端通信模塊需要兩種通信模式:和服務(wù)器一對一的交互;接收服務(wù)器組播的消息。

連接服務(wù)器時調(diào)用的函數(shù)代碼如下:


     這段代碼的功能是:在叉車電子貨位導(dǎo)航子系統(tǒng)運行時,將建立與服務(wù)器的TCP連接,用于叉車客戶端查詢服務(wù)器消息處理系統(tǒng)儲存的出/入庫指令,以及向服務(wù)器發(fā)送指令狀態(tài)和LED屏所需信息。同時開辟一個線程監(jiān)聽服務(wù)器組播的消息,用于更新指令狀態(tài)。 

4、2.叉車電子貨位導(dǎo)航模塊的實現(xiàn)
   叉車電子貨位導(dǎo)航模塊的功能是指導(dǎo)叉車司機的作業(yè),給叉車司機進行直觀的電子貨位圖導(dǎo)航。叉車電子貨位導(dǎo)航子系統(tǒng)導(dǎo)航模塊的執(zhí)行流程如圖所示。

叉車司機打開叉車計算機后,叉車計算機會自動運行叉車電子貨位導(dǎo)航子系統(tǒng)。單擊“查詢”后,叉車電子貨位導(dǎo)航子系統(tǒng)會從服務(wù)器上查詢出所有的指令。
叉車電子貨位導(dǎo)航模塊的核心問題有以下幾個方面。
1)叉車指令樹表中指令狀態(tài)的互鎖問題 

     在叉車電子貨位導(dǎo)航的流程中,按照叉車指令優(yōu)先級算法選中指令時,會立刻改變指令狀態(tài)并將其發(fā)送出去。若選中其中一項作業(yè)并將其展開,則叉車上的自動指令算法將選中優(yōu)先級最高的指令并將其狀態(tài)改為“正在處理”,并用TCP協(xié)議將“正在處理”的指令狀態(tài)發(fā)送到服務(wù)器上,服務(wù)器接收到改變的指令狀態(tài)后進行組播,改變主控機上指令監(jiān)控界面的指令狀態(tài)和另外一個叉車的指令狀態(tài)。在沒單擊“執(zhí)行”就改變指令狀態(tài)是為了保證在兩臺叉車協(xié)同作業(yè)(兩臺叉車執(zhí)行同一項作業(yè))時,當(dāng)一臺叉車選中作業(yè)將其展開自動選中指令時,立刻改變另外一臺叉車上的指令狀態(tài),這樣,當(dāng)另一臺叉車選中該項作業(yè)將其展開選中指令時,系統(tǒng)會正確地選中下一條指令,實現(xiàn)指令狀態(tài)在選擇上的互鎖。

2)叉車指令優(yōu)先級算法
     叉車指令選擇界面如圖所示,框中的指令即為在展開樹形指令表時指令優(yōu)先級算法自動選中的指令。 


     在選中一項作業(yè)后,叉車電子貨位導(dǎo)航子系統(tǒng)的指令優(yōu)先級算法會自動算出優(yōu)先級最高的指令。叉車上查詢到的指令是同出庫貨位分配的貨位順序相同;在出庫貨位分配時,分配的貨位是按照貨位地址降序排列的。因此,出庫第一條狀態(tài)為“未處理”的指令優(yōu)先級最高。在選中一條指令時,會完成下列動作:將指令選擇界面上的指令狀態(tài)改為“正在處理”;將指令的背景顏色改為黃色;將“正在處理”的指令狀態(tài)發(fā)送給服務(wù)器。叉車指令優(yōu)先級算法的代碼如下:

    上面的代碼功能為:完成叉車指令表上的不同選擇并產(chǎn)生相應(yīng)的動作。叉車指令選擇界面的選擇方式有:當(dāng)樹形指令表都沒有展開時,選中一項作業(yè),則將樹形指令表展開,選中該項作業(yè)中優(yōu)先級最高的指令,并將改變的指令狀態(tài)發(fā)送給服務(wù)器進行組播;當(dāng)樹形指令表中有一項展開時,若選中的是同一項作業(yè),則將樹形指令表收起,并將還原的指令狀態(tài)發(fā)送給服務(wù)器組播,若選中的是不同作業(yè),則將先選中的作業(yè)收起,并將還原的指令狀態(tài)發(fā)送給服務(wù)器組播,再將當(dāng)前選中的作業(yè)展開,選中新的指令,并將改變的指令狀態(tài)發(fā)送給服務(wù)器組播。

    上述代碼中的search()方法用于將樹形指令表展開,查找第一條未完成的指令并選中,然后發(fā)送“正在處理”的指令狀態(tài)給服務(wù)器組播并使選中的指令背景顏色為黃色。recover()方法用于還原指令狀態(tài),即把先前選中的指令狀態(tài)改為“未處理”,并發(fā)送給服務(wù)器組播。在選中指令,單擊“執(zhí)行”后,會出現(xiàn)電子貨位地圖界面,如圖所示。


在圖所示界面中,長方形的框中的區(qū)域為作業(yè)區(qū)域,深色的貨位是叉車當(dāng)前指令作業(yè)貨位,而下面的文字是對當(dāng)前指令作業(yè)貨位的解釋。
3)LED屏控制信息算法
     叉車電子貨位導(dǎo)航子系統(tǒng)上組合的LED屏控制信息是13位字符串。字符串的第一位是指令號;第二位是作業(yè)號;第三位是單據(jù)類型;第四位是品牌規(guī)格;第五位是作業(yè)庫區(qū)入庫數(shù)量(僅是某個庫區(qū),可能和單據(jù)上的入庫數(shù)量不一致);第六位是作業(yè)庫區(qū)已入庫數(shù)量;第八位是指令狀態(tài);第九位是車牌號;第十位是銷售去向;第十一位是出庫總數(shù);第十二位是已出庫區(qū)數(shù)量; 
第十三位是單據(jù)號。

若是出庫作業(yè),則將字符串的第五位和第六位總數(shù)置為空;若是入庫作業(yè),則將字符串第九位、第十位、第十一位和第十二位置為空;若是貨位調(diào)整作業(yè),則不存入13位字符串的LED屏控制信息中。
字符串的第七位是控制LED如何刷新的標(biāo)志位。
(1)S[6]=“1”:表示通道的第一條或庫區(qū)的第一條,LED屏幕由靜態(tài)庫 存信息變成動態(tài)作業(yè)信息。

(2)S[6]=“2”:表示庫區(qū)的最后一條,LED屏幕由動態(tài)作業(yè)信息變成靜態(tài)庫存信息。
(3)S[6]=“3”:表示中間的指令,LED屏幕由動態(tài)作業(yè)信息變成動態(tài)作業(yè)信息,刷新數(shù)量。
(4)S[6]=“4”:庫區(qū)的最后一條,同時又是通道的第一條,也就是說該庫區(qū)的該通道只有一條指令。S[6]的具體算法流程如圖所示。 

如圖=所示是基于RFID的數(shù)字化倉庫管理系統(tǒng)在一號成品庫的運行實景圖。



該系統(tǒng)實現(xiàn)了以托盤為單位的可視化的電子貨位管理、貨物先進先出,自 動的出入庫管理和實時庫存信息查詢,并通過電子顯示屏顯示庫區(qū)貨位信息及其產(chǎn)品信息。同時,它在數(shù)字化倉庫管理系統(tǒng)的基礎(chǔ)上,通過各種網(wǎng)絡(luò)建立了實時的物流信息共享平臺,可實現(xiàn)物流信息的共享。

本文網(wǎng)址:http://greezubamboo.cn/article/ruheshixianRFIDjuanyancangkuxitongshuzihuaguanli.html

關(guān)鍵詞: 如何實現(xiàn)RFID卷煙倉庫系統(tǒng)數(shù)字化管理RFID倉庫管理系統(tǒng)rfidRFID系統(tǒng)

芯創(chuàng)益技術(shù)專注于RFID標(biāo)簽讀寫器設(shè)備生產(chǎn)廠家,所提供RFID解決方案集成RFID系統(tǒng)、RFID標(biāo)簽,RFID讀寫器等設(shè)備應(yīng)用,為國內(nèi)外企業(yè)提供完善高效的RFID技術(shù)應(yīng)用。
服務(wù)熱線  13691762133
服務(wù)熱線  13691762133服務(wù)熱線 13691762133
微信二維碼
手機二維碼
返回頂部
返回頂部返回頂部