国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于物流管理的防竄碼前關(guān)聯(lián)軟件設(shè)計與實現(xiàn)

2019-06-27 05:59陳延文陳旭文
物流技術(shù) 2019年6期
關(guān)鍵詞:賦碼外包裝功能模塊

陳延文,陳旭文,管 永

(1.天水師范學(xué)院 電子信息與電氣工程學(xué)院,甘肅 天水 741001;2.蘭州達(dá)嘉噴碼標(biāo)識設(shè)備有限公司,甘肅 蘭州 730050)

1 引言

為了實現(xiàn)工業(yè)生產(chǎn)過程中對產(chǎn)品的跟蹤和追溯,對產(chǎn)品內(nèi)外包裝進(jìn)行賦碼,并將內(nèi)外包裝的賦碼結(jié)果和內(nèi)外包裝的關(guān)聯(lián)結(jié)果保存到數(shù)據(jù)庫。通過軟件控制向打印機(jī)發(fā)送編碼或二維編碼,完成賦碼功能;內(nèi)外包裝的關(guān)聯(lián)由軟件完成,并存儲到數(shù)據(jù)庫中,要求可靠、快速、穩(wěn)定;便于企業(yè)后續(xù)利用本軟件產(chǎn)生的數(shù)據(jù),在ERP系統(tǒng)中開發(fā)更復(fù)雜的應(yīng)用。

本軟件主要解決食品飲料行業(yè)中包裝的賦碼與關(guān)聯(lián)問題。系統(tǒng)工作模型如圖1所示。

1.1 背景

受蘭州達(dá)嘉噴碼標(biāo)識設(shè)備有限公司委托,開發(fā)設(shè)計該公司代理銷售產(chǎn)品的配套軟件,該公司主要銷售產(chǎn)品包括激光噴碼打印機(jī)、條碼打印機(jī)等產(chǎn)品,該公司還為相關(guān)企業(yè)提供產(chǎn)品集成服務(wù),包括賦碼控制、關(guān)聯(lián)軟件的開發(fā)。

向激光打印機(jī)和條碼打印機(jī)發(fā)送編碼,經(jīng)打印機(jī)打印賦碼,要求快速、準(zhǔn)確、穩(wěn)定;要求在賦碼打印的同時,還要進(jìn)行內(nèi)、外包裝碼的相互關(guān)聯(lián),并將關(guān)聯(lián)結(jié)果存入數(shù)據(jù)庫,以備后續(xù)查詢、跟蹤及ERP應(yīng)用開發(fā)。

圖1 系統(tǒng)工作模型

1.2 定義

(1)賦碼。指將軟件根據(jù)客戶要求的格式生成的代碼按照激光打印機(jī)和條碼打印機(jī)的通訊協(xié)議要求,經(jīng)過處理后,發(fā)送給激光打印機(jī)或者條碼打印機(jī),經(jīng)過激光打印機(jī)和條碼打印機(jī)雕刻或打印在產(chǎn)品的外包裝上的過程。

(2)關(guān)聯(lián)。指產(chǎn)品的外包裝(箱)的條形碼和產(chǎn)品的內(nèi)包裝(盒或瓶)的編碼之間的對應(yīng)關(guān)系。例如:如果對于6瓶(盒)/箱的包裝形式,那么,1個箱碼則對應(yīng)6個瓶(盒)碼,箱碼和瓶(盒)碼編碼要求必須唯一,不能重復(fù),防止內(nèi)外包裝碼之間對應(yīng)關(guān)系混亂,造成竄碼。

(3)前關(guān)聯(lián)。指在賦碼前,由軟件根據(jù)廠家設(shè)置的參數(shù),形成內(nèi)包裝(盒或瓶)的編碼與外包裝(箱)的條形碼之間的對應(yīng)關(guān)系。

2 總體設(shè)計

2.1 需求規(guī)定

(1)要求計算機(jī)與激光打印機(jī)和條碼打印機(jī)通訊協(xié)議采用RS232通訊。

(2)要求激光打印機(jī)和條碼打印機(jī)在波特率為19 200和9 600的情況下,關(guān)聯(lián)速度要達(dá)到最少2箱/s的速度。

(3)要求每個產(chǎn)品批次產(chǎn)品數(shù)量在10~200 000瓶之間。

(4)要求將賦碼結(jié)果和關(guān)聯(lián)結(jié)果存入數(shù)據(jù)庫,便于數(shù)據(jù)查詢和數(shù)據(jù)導(dǎo)出。

(5)要求對賦碼出現(xiàn)失敗的情況下,可以進(jìn)行補(bǔ)救或重新打印賦碼。

(6)要求用戶界面友好、操作方便。

2.2 運(yùn)行環(huán)境

(1)硬件環(huán)境:X86 架構(gòu),主頻4.5GHZ,1G 內(nèi)存,天燦加密鎖,研華PCI1761-I/O卡。

(2)軟件環(huán)境:Windows XP、Windows 7、Windows 10平臺,.NET Framework 3.5以上版本,研華PCI1761 I/O卡驅(qū)動程序DAQNavi_PCI1761_PCM3761I_MIC3761_4.0.3.0以上版本,Access2010數(shù)據(jù)庫引擎。

2.3 基本設(shè)計概念和處理流程

軟件設(shè)計中的功能模塊包括:

(1)“新建任務(wù)”功能模塊。本功能模塊的功能是生成產(chǎn)品任務(wù)(實際就是生成Access 數(shù)據(jù)庫文件),將產(chǎn)品生產(chǎn)日期、產(chǎn)品批次、班次、每箱瓶數(shù)、生產(chǎn)線編碼、廠家編碼等信息存入數(shù)據(jù)庫,并根據(jù)瓶數(shù)產(chǎn)生瓶碼數(shù)據(jù)庫表(BottleTable)和箱碼數(shù)據(jù)庫表(BoxTable),BottleTable 表的記錄條數(shù)等于瓶數(shù),BoxTable表的記錄條數(shù)等于瓶數(shù)/每箱瓶數(shù)。在每條記錄中產(chǎn)生唯一的隨機(jī)碼,為在關(guān)聯(lián)時產(chǎn)生盒(或瓶)碼、箱碼做準(zhǔn)備。

(2)“產(chǎn)品信息設(shè)置”模塊。本功能模塊的功能是設(shè)置產(chǎn)品基本信息,信息包括:產(chǎn)品編碼、產(chǎn)品名稱、每箱瓶數(shù)、每垛箱數(shù)。將這些信息存入數(shù)據(jù)庫的表BasicTable中。要求實現(xiàn)增、刪、改的功能。

(3)“補(bǔ)印漏碼”模塊。本功能模塊的功能是對打印機(jī)打印賦碼過程中由于打印機(jī)故障或因打印質(zhì)量原因,對瓶(盒)碼及箱碼需要重新打印時,通過查詢箱碼,實現(xiàn)對箱碼和瓶(盒)碼的查詢和打印功能。要求通過輸入箱碼的后8位,然后查詢出箱碼以及與箱碼關(guān)聯(lián)的瓶碼,然后選擇打印。

(4)“系統(tǒng)參數(shù)設(shè)置”模塊。本功能模塊的功能是設(shè)置條碼打印機(jī)(打印箱碼)的通訊串行口及波特率、激光打印機(jī)(打印瓶(盒)碼)的通訊串行口及波特率,廠家代碼、生產(chǎn)線代碼、導(dǎo)出文件夾、備份文件夾等。這些信息保存在系統(tǒng)配置文件sysconfig.ini文件中,以備使用。

(5)“導(dǎo)出關(guān)聯(lián)數(shù)據(jù)”模塊。本功能模塊的功能是以文本文件格式(擴(kuò)展名為TXT)導(dǎo)出數(shù)據(jù)庫文件中的關(guān)聯(lián)結(jié)果數(shù)據(jù),并保存在“系統(tǒng)參數(shù)設(shè)置”中設(shè)置的“導(dǎo)出文件夾”的文件夾下,以備開發(fā)其他ERP應(yīng)用時使用。

(6)“系統(tǒng)日志瀏覽”模塊。本功能模塊的功能是在對系統(tǒng)運(yùn)行過程中產(chǎn)生的日志文件打開并進(jìn)行瀏覽,通過瀏覽日志文件,對系統(tǒng)的運(yùn)行過程中的錯誤進(jìn)行處理,對系統(tǒng)運(yùn)行性能進(jìn)行評估。

(7)“開始生產(chǎn)”模塊。本功能模塊的功能是根據(jù)生成的產(chǎn)品任務(wù),根據(jù)客戶要求格式,產(chǎn)生瓶(盒)碼和箱碼,并發(fā)送給激光打印機(jī)和條碼打印機(jī),將瓶碼存入數(shù)據(jù)庫表BottleTable中,將箱碼存入數(shù)據(jù)庫表BoxTable 中,并且進(jìn)行瓶(盒)碼和箱碼的關(guān)聯(lián),并將關(guān)聯(lián)結(jié)果存入數(shù)據(jù)庫的BoxTable 中,要求在向激光打印機(jī)發(fā)送瓶碼時,通過研華的PCI1761 I/O卡,接受激光打印機(jī)的“Marking”應(yīng)答信號的下降沿后,才發(fā)送,系統(tǒng)處理流程如圖2所示。

圖2 處理流程圖

2.4 結(jié)構(gòu)

基于物流管理的防竄碼前關(guān)聯(lián)軟件程序結(jié)構(gòu)如圖3所示。

2.5 功能需求與程序的關(guān)系

系統(tǒng)功能需求與程序的關(guān)系見表1-表3。

表1 功能需求與程序的關(guān)系1

表2 功能需求與程序的關(guān)系2

表3 功能需求與程序的關(guān)系3

圖3 基于物流管理的防竄碼前關(guān)聯(lián)軟件程序結(jié)構(gòu)圖

2.6 人工處理過程

在賦碼過程中,如果打印機(jī)出現(xiàn)故障、人為造成內(nèi)外包裝關(guān)聯(lián)錯誤、打印質(zhì)量不理想的情況,需要人工處理。如果打印機(jī)出現(xiàn)故障,造成漏碼,需要人工找出遺漏的碼,然后用“補(bǔ)印漏碼”的功能進(jìn)行補(bǔ)打漏碼。若打印質(zhì)量不理想,也可以利用“補(bǔ)印漏碼”的功能重新打印。

2.7 尚未解決的問題

數(shù)據(jù)庫讀寫速度優(yōu)化的問題,用戶要求在打印機(jī)波特率為19 200時,根據(jù)打印內(nèi)容,賦碼打印速率達(dá)到3 箱/s,當(dāng)然這個速率和計算機(jī)配置有關(guān)系,與數(shù)據(jù)庫的讀寫方法也有關(guān)系。目前在Pentium4 3.5G,1GB 內(nèi)存配置下,能達(dá)到 3 箱/s 的速率,滿足客戶要求。這個速率越高越好。

3 接口設(shè)計

3.1 用戶接口

(1)用戶主界面,啟動程序后,該界面首先顯示,實現(xiàn)與用戶總體交互,如圖4所示。

(2)“系統(tǒng)配置設(shè)置”界面,完成軟件系統(tǒng)運(yùn)行環(huán)境的信息配置,如圖5所示。

(3)“產(chǎn)品基本信息設(shè)置”界面,完成生產(chǎn)產(chǎn)品基本信息的設(shè)置,并存入數(shù)據(jù)庫,如圖6所示。

(4)“生產(chǎn)任務(wù)”界面,完成生產(chǎn)任務(wù)的生成,并把生成數(shù)據(jù)寫入數(shù)據(jù)庫,如圖7所示。

圖4 用戶主界面

圖5 “系統(tǒng)配置”設(shè)置界面

圖6 “產(chǎn)品基本信息設(shè)置”界面

(5)“打開生產(chǎn)任務(wù)”界面,完成生產(chǎn)任務(wù)的打開(打開對應(yīng)的數(shù)據(jù)庫文件),如圖8所示。

(6)“補(bǔ)印漏碼”界面,完成在賦碼過程中對漏碼或質(zhì)量不理想的碼進(jìn)行補(bǔ)打的對話框,如圖9所示。

(7)“關(guān)聯(lián)數(shù)據(jù)導(dǎo)出”界面,完成關(guān)聯(lián)數(shù)據(jù)以文本文件導(dǎo)出,以備開發(fā)ERP應(yīng)用,如圖10所示。

(8)“瀏覽日志文件”界面,完成對日志文件的瀏覽功能,如圖11所示。

圖7 “生產(chǎn)任務(wù)”界面

圖8 “打開生產(chǎn)任務(wù)”界面

圖9 “補(bǔ)印漏碼”界面

3.2 外部接口

有四個外部硬件接口,分別為:

USB接口:利用第三方U盤加密鎖(天燦加密鎖)對軟件實現(xiàn)加密,防止用戶非法重復(fù)拷貝。與加密鎖有關(guān)的軟件包括:readPasswordDog 方法讀密碼,RegisterDeviceNotification()注冊設(shè)備。

PCI IO接口卡:型號為研華PCI1761 IO卡,需要安裝相應(yīng)的驅(qū)動程序。

與激光打印機(jī)連接的串行口:波特率可以設(shè)置。

與條形碼打印機(jī)連接的串行口:波特率可以設(shè)置。

外部軟件接口:access2010數(shù)據(jù)庫驅(qū)動引擎。

圖10 “關(guān)聯(lián)數(shù)據(jù)導(dǎo)出”界面

圖11 “瀏覽日志文件”界面

3.3 內(nèi)部接口

軟件中有一個類,是接口類,為串行通信提供統(tǒng)一接口,接口中有兩個方法。一個是事件處理方法Datareceived,另一個是數(shù)據(jù)發(fā)送方法SendData()。

4 運(yùn)行設(shè)計

4.1 運(yùn)行控制

操作步驟:參考圖2處理流程。

在圖12所示的主界面中,點擊“開始”按鈕,程序開始運(yùn)行,開始賦碼并關(guān)聯(lián)。在運(yùn)行過程中,如果要停止系統(tǒng),可以在圖12所示的主界面中,點擊“停止”按鈕,使程序停止運(yùn)行。

圖12 系統(tǒng)主界面

4.2 運(yùn)行時間

用戶要求在打印機(jī)波特率為19 200 時,根據(jù)打印內(nèi)容,賦碼打印速率達(dá)到3箱/s,經(jīng)過測試,在生成任務(wù)為20萬瓶時,賦碼打印速率可以達(dá)到5箱/s。

5 系統(tǒng)邏輯結(jié)構(gòu)設(shè)計

(1)產(chǎn)品基本信息E-R圖,如圖13所示。

圖13 產(chǎn)品基本信息E-R圖

(2)瓶(盒)碼信息E-R圖,如圖14所示。

圖14 瓶(盒)碼信息E-R圖

(3)箱信息E-R圖,如圖15所示。

圖15 箱信息E-R圖

6 結(jié)論

通過本軟件系統(tǒng)的設(shè)計,實現(xiàn)了客戶提出的要求和功能,并很好地利用C#提供的多線程并行運(yùn)算功能解決了數(shù)據(jù)庫的快速讀寫,提供了在C#中通過網(wǎng)口和串口與賦碼設(shè)備的接口設(shè)計規(guī)范,為研華PCI卡在工控機(jī)中的工業(yè)應(yīng)用提供了參考。

猜你喜歡
賦碼外包裝功能模塊
目的論視域下的木制品外包裝英語翻譯策略分析
冷鏈?zhǔn)称吠獍b檢出新冠病毒,冷凍生鮮還能吃嗎?
茶產(chǎn)品外包裝外觀設(shè)計分析
英語視頻新聞?wù)Z料庫的構(gòu)建
“拆”和“折”
基于ASP.NET標(biāo)準(zhǔn)的采購管理系統(tǒng)研究
輸電線路附著物測算系統(tǒng)測算功能模塊的研究
功能模塊的設(shè)計與應(yīng)用研究
迎接食品安全新法麒銳與您共謀發(fā)展
加強(qiáng)科學(xué)化管理 全面提高代碼工作質(zhì)量
南川市| 丰镇市| 江油市| 靖安县| 洪洞县| 南漳县| 临洮县| 黄浦区| 田阳县| 昔阳县| 湘潭市| 罗甸县| 千阳县| 丰镇市| 望奎县| 江都市| 如皋市| 嵊州市| 平遥县| 丰镇市| 微博| 新营市| 苗栗县| 岳阳市| 徐州市| 宜宾县| 平阳县| 鄯善县| 修文县| 桃园县| 黄石市| 洛川县| 新巴尔虎右旗| 苏尼特左旗| 彭山县| 城步| 象山县| 凌海市| 和政县| 京山县| 北安市|