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

新聞中心

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

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

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

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

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

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

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

1.客戶(hù)端登錄驗(yàn)證功能

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

 

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

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

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


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


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

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

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

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

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

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

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


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

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

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

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

2)叉車(chē)指令優(yōu)先級(jí)算法
     叉車(chē)指令選擇界面如圖所示,框中的指令即為在展開(kāi)樹(shù)形指令表時(shí)指令優(yōu)先級(jí)算法自動(dòng)選中的指令。 


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

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

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


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

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

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

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



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

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

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

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