孫學(xué)凱,徐世許,張世綜
(青島大學(xué) 自動化學(xué)院,青島 266071)
自動化立體倉庫又被稱為自動存取系統(tǒng)(Automated Storage and Retrieval System,AS/RS),是近年來在世界上上迅速發(fā)展起來的一種新型貨物倉儲,它的特點在于以先進計算機設(shè)備為主要手段,高效率地利用空間、時間和人力進行倉庫的操作管理[1]。為了實現(xiàn)貨物的智能管理,系統(tǒng)具有管理員查詢、時間查詢、貨物批次查詢等功能,且在貨物的存取過程中會出現(xiàn)人為的數(shù)據(jù)錄入錯誤,要求系統(tǒng)應(yīng)具有修改功能[2]。
該管理系統(tǒng)主要分為兩個部分,第一部分為數(shù)據(jù)庫部分,第二部分為軟件設(shè)計部分。數(shù)據(jù)庫負責對信息進行存儲,當信息需要修改時應(yīng)對數(shù)據(jù)庫進行訪問操作,因此數(shù)據(jù)庫與查詢系統(tǒng)之間的操作是雙向的[3]。該系統(tǒng)的總體架構(gòu)設(shè)計如圖1所示。
圖1 系統(tǒng)總體架構(gòu)
該查詢系統(tǒng)的數(shù)據(jù)庫采用SQL server數(shù)據(jù)庫,該數(shù)據(jù)庫為服務(wù)器類型數(shù)據(jù)庫,具有網(wǎng)絡(luò)遠程監(jiān)視、數(shù)據(jù)保護等優(yōu)點,符合本系統(tǒng)設(shè)計要求。根據(jù)管理系統(tǒng)的功能,需要進行在數(shù)據(jù)庫中建立表格。根據(jù)對管理系統(tǒng)的需求分析,我們需要在數(shù)據(jù)庫中建立庫存表、登錄表、操作員表等。各個表的鏈接關(guān)系如圖2所示(對于表的數(shù)據(jù)類型及表之間的觸發(fā)器、為程序設(shè)計的存儲過程、約束等具體內(nèi)容這里沒有詳細列出)。
圖2 數(shù)據(jù)庫表鏈接關(guān)系
貨物的信息都存在于二維碼之中,對二維碼之中的信息進行編碼,可使計算機進行解碼得到我們需要的信息[4]。二維碼具有唯一性,數(shù)據(jù)容量大的優(yōu)點,在這里我們采用了二維碼的十二位編碼,在二維碼讀取后的編碼規(guī)則如圖3所示。
圖3 二維識別碼編碼規(guī)則
本系統(tǒng)的軟件部分采用了OMRON公司的CX_super visor組態(tài)平臺進行開發(fā)[5]。CX_super visor組態(tài)平臺VB語言作為開發(fā)語言,VB語言主要的開發(fā)工作是對SQL server數(shù)據(jù)庫進行操作,與數(shù)據(jù)庫相連的控件為Adodc控件,該控件可實現(xiàn)與數(shù)據(jù)庫的連接,以及對數(shù)據(jù)庫的刪除修改新增等操作[6]。下面本文將通過利用CX_super visor組態(tài)平臺對軟件的各部分進行實現(xiàn)。
查詢部分主要實現(xiàn)的功能為操作人員查詢,時間查詢,貨物查詢。軟件的UI界面如圖4所示。
本部分實現(xiàn)的操作主要是對數(shù)據(jù)庫的查詢操作,主要涉及到的編程語言為SQL語言和VB腳本語言,涉及到的控件為Adodc控件和Datagrid控件[7]。Adodc控件的主要功能為實現(xiàn)對SQL數(shù)據(jù)庫的連接以及查詢操作,Datagrid控件主要作用是實現(xiàn)對表中數(shù)據(jù)的顯示。在本部分中,主要通過對各個查詢條件條件的判斷,在數(shù)據(jù)庫中篩選出所要現(xiàn)實的記錄,從而實現(xiàn)查詢[8]。軟件流程圖如圖5所示。
圖4 查詢界面
圖5 查詢部分設(shè)計流程圖
在完成軟件的界面UI布局任務(wù)和軟件的流程圖設(shè)計后,我們通過對操作人員查詢這一例子來對軟件的核心代碼進行解析,基于操作人員的查詢代碼如下文所示。
在上述代碼中我們通過標志位czry_cx對所要查詢的項目進行判斷,當標志位czry_cx為1時,輸出為真[9],且其他項目不可選,再通過SQL語句select * from對文本框Textbox1中的文本在庫存表進行查詢,Datagrid控件可將所查詢到的數(shù)據(jù)顯示出來。其他項目的操作人員查詢的方法類似[10]。查詢結(jié)果通過Datagrid顯示如表1所示。
當要獲得單一貨物的各項具體信息時,需要對貨物進行精確查詢,該精確查詢是基于及其視覺對二維碼的識別,將識別出的二維碼轉(zhuǎn)為數(shù)字,再通過數(shù)字解碼與數(shù)據(jù)庫查詢獲得貨物的精確信息[11],流程如圖6所示。
表1 Datagrid查詢到的記錄
圖6 查詢流程
在貨物的存儲過程中如出現(xiàn)貨物信息錄入錯誤,以及需要對操作人員信息、產(chǎn)品信息修改的情況下,此時需要對信息進行新增、修改和刪除,因此需要通過軟件實現(xiàn)對數(shù)據(jù)庫中的信息進行操作,管理軟件的部分界面如圖7所示。
圖7 貨物信息修改界面
實現(xiàn)本部分軟件的主要思路為,在對信息進行查詢后,選中Datagrid中的信息可顯示到文本框中,在文本框中對信息進行修改,可將信息更新到數(shù)據(jù)庫中,查詢部分軟件流程圖如圖8所示。
圖8 查詢部分軟件流程圖
與查詢部分不同的是,本部分在查詢功能的基礎(chǔ)上新增了修改新增等功能,新增功能的核心代碼如下所示:
Adodc2.RecordSource="select * from 庫存表"
Adodc2.Refresh
Adodc2.recordset.addnew
Adodc2.recordset.fields("存入日期")=comm_date
Adodc2.recordset.fields("操作員")=textbox2
Adodc2.Recordset.update
在上述代碼中將Adodc2作為與數(shù)據(jù)庫通信的控件,addnew語句為向數(shù)據(jù)庫中新增記錄的語句,再最后通過update語句將textbox中的字符更新到到數(shù)據(jù)庫中。在此去掉Adodc2.recordset.addnew語句即為對記錄進行修改,addnew語句改為delete語句即為刪除記錄。
作為自動化倉儲必不可少的組成部分之一,管理系統(tǒng)的開發(fā)是當今的熱門研究課題,本文基于OMRON公司的CX_super visor平臺開發(fā)了一款針對自動化倉儲的管理系統(tǒng),具有前瞻性、廣泛的適用性和極大的發(fā)展前景。該管理系統(tǒng)已應(yīng)用到某醫(yī)療用自動化冷庫中,也可移植到其他自動化倉儲系統(tǒng)中,對其他研究人員的開發(fā)也極具參考意義。