孫學凱,徐世許,張世綜
(青島大學 自動化學院,青島 266071)
自動化立體倉庫又被稱為自動存取系統(Automated Storage and Retrieval System,AS/RS),是近年來在世界上上迅速發展起來的一種新型貨物倉儲,它的特點在于以先進計算機設備為主要手段,高效率地利用空間、時間和人力進行倉庫的操作管理[1]。為了實現貨物的智能管理,系統具有管理員查詢、時間查詢、貨物批次查詢等功能,且在貨物的存取過程中會出現人為的數據錄入錯誤,要求系統應具有修改功能[2]。
該管理系統主要分為兩個部分,第一部分為數據庫部分,第二部分為軟件設計部分。數據庫負責對信息進行存儲,當信息需要修改時應對數據庫進行訪問操作,因此數據庫與查詢系統之間的操作是雙向的[3]。該系統的總體架構設計如圖1所示。

圖1 系統總體架構
該查詢系統的數據庫采用SQL server數據庫,該數據庫為服務器類型數據庫,具有網絡遠程監視、數據保護等優點,符合本系統設計要求。根據管理系統的功能,需要進行在數據庫中建立表格。根據對管理系統的需求分析,我們需要在數據庫中建立庫存表、登錄表、操作員表等。各個表的鏈接關系如圖2所示(對于表的數據類型及表之間的觸發器、為程序設計的存儲過程、約束等具體內容這里沒有詳細列出)。

圖2 數據庫表鏈接關系
貨物的信息都存在于二維碼之中,對二維碼之中的信息進行編碼,可使計算機進行解碼得到我們需要的信息[4]。二維碼具有唯一性,數據容量大的優點,在這里我們采用了二維碼的十二位編碼,在二維碼讀取后的編碼規則如圖3所示。

圖3 二維識別碼編碼規則
本系統的軟件部分采用了OMRON公司的CX_super visor組態平臺進行開發[5]。CX_super visor組態平臺VB語言作為開發語言,VB語言主要的開發工作是對SQL server數據庫進行操作,與數據庫相連的控件為Adodc控件,該控件可實現與數據庫的連接,以及對數據庫的刪除修改新增等操作[6]。下面本文將通過利用CX_super visor組態平臺對軟件的各部分進行實現。
查詢部分主要實現的功能為操作人員查詢,時間查詢,貨物查詢。軟件的UI界面如圖4所示。
本部分實現的操作主要是對數據庫的查詢操作,主要涉及到的編程語言為SQL語言和VB腳本語言,涉及到的控件為Adodc控件和Datagrid控件[7]。Adodc控件的主要功能為實現對SQL數據庫的連接以及查詢操作,Datagrid控件主要作用是實現對表中數據的顯示。在本部分中,主要通過對各個查詢條件條件的判斷,在數據庫中篩選出所要現實的記錄,從而實現查詢[8]。軟件流程圖如圖5所示。

圖4 查詢界面

圖5 查詢部分設計流程圖
在完成軟件的界面UI布局任務和軟件的流程圖設計后,我們通過對操作人員查詢這一例子來對軟件的核心代碼進行解析,基于操作人員的查詢代碼如下文所示。

在上述代碼中我們通過標志位czry_cx對所要查詢的項目進行判斷,當標志位czry_cx為1時,輸出為真[9],且其他項目不可選,再通過SQL語句select * from對文本框Textbox1中的文本在庫存表進行查詢,Datagrid控件可將所查詢到的數據顯示出來。其他項目的操作人員查詢的方法類似[10]。查詢結果通過Datagrid顯示如表1所示。
當要獲得單一貨物的各項具體信息時,需要對貨物進行精確查詢,該精確查詢是基于及其視覺對二維碼的識別,將識別出的二維碼轉為數字,再通過數字解碼與數據庫查詢獲得貨物的精確信息[11],流程如圖6所示。

表1 Datagrid查詢到的記錄

圖6 查詢流程
在貨物的存儲過程中如出現貨物信息錄入錯誤,以及需要對操作人員信息、產品信息修改的情況下,此時需要對信息進行新增、修改和刪除,因此需要通過軟件實現對數據庫中的信息進行操作,管理軟件的部分界面如圖7所示。

圖7 貨物信息修改界面
實現本部分軟件的主要思路為,在對信息進行查詢后,選中Datagrid中的信息可顯示到文本框中,在文本框中對信息進行修改,可將信息更新到數據庫中,查詢部分軟件流程圖如圖8所示。

圖8 查詢部分軟件流程圖
與查詢部分不同的是,本部分在查詢功能的基礎上新增了修改新增等功能,新增功能的核心代碼如下所示:
Adodc2.RecordSource="select * from 庫存表"
Adodc2.Refresh
Adodc2.recordset.addnew
Adodc2.recordset.fields("存入日期")=comm_date
Adodc2.recordset.fields("操作員")=textbox2
Adodc2.Recordset.update
在上述代碼中將Adodc2作為與數據庫通信的控件,addnew語句為向數據庫中新增記錄的語句,再最后通過update語句將textbox中的字符更新到到數據庫中。在此去掉Adodc2.recordset.addnew語句即為對記錄進行修改,addnew語句改為delete語句即為刪除記錄。
作為自動化倉儲必不可少的組成部分之一,管理系統的開發是當今的熱門研究課題,本文基于OMRON公司的CX_super visor平臺開發了一款針對自動化倉儲的管理系統,具有前瞻性、廣泛的適用性和極大的發展前景。該管理系統已應用到某醫療用自動化冷庫中,也可移植到其他自動化倉儲系統中,對其他研究人員的開發也極具參考意義。