鄧芳 邵煒
摘要
本設(shè)計以某公司的刻印系統(tǒng)要求為核心,改變過去人工操作的狀態(tài),設(shè)計了一套基于WCF框架的自動刻印接口系統(tǒng)。經(jīng)過測試,該系統(tǒng)達(dá)到了設(shè)計目的,能很好的為企業(yè)生產(chǎn)服務(wù)。
【關(guān)鍵詞】刻印 接口系統(tǒng) WCF框架
1 前言
隨著信息化、自動化的日益發(fā)展,工業(yè)生產(chǎn)也趨于智能化,從集中式控制向分散式增強(qiáng)型控制的基本模式轉(zhuǎn)變,以期望建立一個高度靈活的個性化和數(shù)字化的產(chǎn)品與服務(wù)的生產(chǎn)模式,降低生產(chǎn)成本,提高工業(yè)生產(chǎn)效率更高。
本設(shè)計根據(jù)企業(yè)需求,利用信息技術(shù),將掃描系統(tǒng)、刻印系統(tǒng)等硬件設(shè)備,結(jié)合串口通信技術(shù)、WCF技術(shù)優(yōu)化刻印流程,實現(xiàn)獲取數(shù)據(jù)、傳輸數(shù)據(jù)、控制刻印機(jī)工作、保存工作記錄等功能,將刻印環(huán)節(jié)納入公司信息化系統(tǒng)中,智能化生產(chǎn)流程,減小報廢率,降低成本,并極大地提高企業(yè)在刻印生產(chǎn)環(huán)節(jié)的效率。
2 需求分析
根據(jù)系統(tǒng)功能情況,在不改變實質(zhì)生產(chǎn)內(nèi)容的前提下,模擬當(dāng)前人工操作的刻印流程,設(shè)計用掃描條碼、線上查詢的方式快捷地完成整個刻印流程。系統(tǒng)完成以后的工作流程可總結(jié)為:數(shù)據(jù)庫中的相關(guān)信息,不再需要產(chǎn)品工程師來幫助查詢需要刻印的內(nèi)容??逃C(jī)操作員可以通過掃描槍兩次掃描條碼直接在數(shù)據(jù)庫中查詢到相關(guān)需要完成的任務(wù),同時將刻印記錄保留在數(shù)據(jù)庫中。簡化后的整個過程只需掃描的時間加上刻印機(jī)刻印的時間一共30秒左右,比之前效率倍增。并且用兩次掃描來確認(rèn)核對條碼,進(jìn)一步增加了可靠性和便利性?;谝陨戏治?,本設(shè)計考慮采用WCF框架,將客戶端與數(shù)據(jù)庫服務(wù)器端連接。
3 軟件設(shè)計
3.1 軟件架構(gòu)設(shè)計
在目前的應(yīng)用主流中,中間層采用Web服務(wù)器來擔(dān)任,通過發(fā)布一個特殊端口的Web頁面來提供數(shù)據(jù)服務(wù),客戶機(jī)通過這個端口連接到Web服務(wù)器提出數(shù)據(jù)請求,Web服務(wù)器接到請求后連接數(shù)據(jù)庫服務(wù)器查詢數(shù)據(jù),處理后返回給客戶機(jī)。
以上這種處理方式可以看作是一個BS架構(gòu)的變異,與BS架構(gòu)的不同點在于它采用了開發(fā)客戶端替代瀏覽器。它具有BS架構(gòu)數(shù)據(jù)庫隱蔽,應(yīng)用邏輯集中到Web端的優(yōu)勢,又能夠避免瀏覽器頁面開發(fā)受限,響應(yīng)速度慢的問題,兼具了BS架構(gòu)和CS架構(gòu)的優(yōu)勢。此外由于本系統(tǒng)需要與刻印機(jī)串口進(jìn)行硬件通信,瀏覽器頁面設(shè)計較難做到,為此,刻印系統(tǒng)采用了這種使用Web服務(wù)器為應(yīng)用服務(wù)的CS架構(gòu),如圖1所示。
3.2 軟件功能設(shè)計
根據(jù)分析,本設(shè)計所做的整個系統(tǒng)能便捷地完成刻印機(jī)刻印產(chǎn)品標(biāo)識的整個工作流程,硬件設(shè)備中掃描槍用于獲取條碼信息,串口用于連通計算機(jī)和刻印機(jī),最終由刻印機(jī)完成刻印。對于本設(shè)計的軟件而言,所做的更多是對數(shù)據(jù)的處理和操作流程的控制。其工作流程如圖2所示,掃描槍獲取機(jī)加工流轉(zhuǎn)卡上的條碼信息后,先由軟件系統(tǒng)對獲取到的條碼信息進(jìn)行初步處理,去掉條碼字符串前面的字母和占位零,然后軟件系統(tǒng)的客戶端會向服務(wù)器發(fā)送獲取刻印信息的請求,部署于服務(wù)器上的服務(wù)端將根據(jù)請求的數(shù)據(jù)信息查詢數(shù)據(jù)庫,獲取需要打印的產(chǎn)品圖號和產(chǎn)品序列號并送回到客戶端??蛻舳私?jīng)過固定的格式轉(zhuǎn)換,將待打印內(nèi)容轉(zhuǎn)換成十六進(jìn)制的格式,連帶控制指令按照說明書中給出的格式通過串口傳送到刻印機(jī)軟件??逃C(jī)根據(jù)指令完成操作之后,軟件系統(tǒng)再次訪問數(shù)據(jù)庫,將刻印的有關(guān)信息記錄在數(shù)據(jù)庫中。
軟件系統(tǒng)的設(shè)計分為三層:數(shù)據(jù)層、邏輯層和界面。數(shù)據(jù)層主要用于兩次訪問數(shù)據(jù)庫,第一次根據(jù)客戶端的請求,從數(shù)據(jù)庫獲取刻印信息,包括產(chǎn)品圖號以及產(chǎn)品的序列號,第二次將刻印操作的相關(guān)信息插入到數(shù)據(jù)庫表中記錄下來,以方便后期查詢操作記錄。邏輯層控制整個業(yè)務(wù)流程,與界面配合完成相關(guān)功能和結(jié)果展示。如圖3所示,當(dāng)?shù)谝淮尾樵償?shù)據(jù)庫時,軟件系統(tǒng)會對數(shù)據(jù)庫中的信息進(jìn)行判斷,如果不包含查詢的物料編號,在界面中會彈出信息提示使用者數(shù)據(jù)庫中不包含正在查詢的物料。如果數(shù)據(jù)庫中包含查詢的物料但是沒有需要打印的產(chǎn)品圖號以及產(chǎn)品序列號的信息,軟件系統(tǒng)也會給出相應(yīng)提示。如果工作正常,當(dāng)?shù)诙螔呙钑r會與第一次掃描的內(nèi)容進(jìn)行對比,當(dāng)判斷內(nèi)容一致時完成刻印,并且在刻印時,軟件會改變界面的輸入狀態(tài),在一定時間內(nèi)禁止用戶再次掃入條碼,防止出錯。
4 軟件實現(xiàn)
4.1 接口類型選擇
總的來說,串口傳輸設(shè)計簡單,可以在較低的成本下實現(xiàn)較高速率的傳輸,差分傳輸方式可以降低噪聲干擾問題??紤]到這些優(yōu)點,從工廠刻印機(jī)實際的情況出發(fā),考慮到點對點通信、通信協(xié)議簡單,本設(shè)計選取RS232接口,實現(xiàn)計算機(jī)和刻印機(jī)控制軟件之間的數(shù)據(jù)傳遞。本設(shè)計中用到的兩個端口號是COM8和COM9,將兩端口的2、3接線口交叉連接,就可以實現(xiàn)兩個端口之間的通信。COMB端口與刻印機(jī)軟件系統(tǒng)連接,COM9端口與掃描系統(tǒng)連接。掃描控制系統(tǒng)通過串口線發(fā)送控制指令到刻印機(jī)系統(tǒng),刻印機(jī)系統(tǒng)的刻印信息也能返回到掃描控制系統(tǒng)。
4.2 協(xié)議的選擇
通過比對,在同樣的硬件條件下采取WSHttpBinding能以較快速度傳送大量數(shù)據(jù),并且表現(xiàn)穩(wěn)定,因此本設(shè)計采取WSHttpBinding的通信協(xié)議連接WCF的服務(wù)端與客戶端。
4.3 WCF框架
在設(shè)計中,WCF服務(wù)端需要分別設(shè)置終結(jié)點、基地址、宿主、和服務(wù)元數(shù)據(jù)交換,客戶端可以訪問基地址獲得相應(yīng)服務(wù)?;刂肥荳CF服務(wù)端發(fā)布服務(wù)和操作的部分,宿主表明了WCF的服務(wù)端寄宿方式,有ⅡS、WinForm、控制臺程序等,考慮到需要在用戶界面更加清晰地顯示內(nèi)容以及代碼的簡易性,并且為了在后續(xù)維護(hù)中可以更加清晰看到服務(wù)的相關(guān)信息,系統(tǒng)中使用了WinForm的寄宿方式。
5 總結(jié)
圖4展示了當(dāng)生產(chǎn)工人正確掃描兩次條碼后,刻印機(jī)軟件獲取命令,更改刻印模板并刻印后,刻印機(jī)軟件的反饋信息。返回的兩個[ACK]表明正確刻印。
經(jīng)過系統(tǒng)現(xiàn)場測試,該設(shè)計運行良好,能很好的適應(yīng)企業(yè)的生產(chǎn)需求,解決了過去刻印操作員參與過多,易導(dǎo)致錯誤的問題,優(yōu)化了生產(chǎn)步驟,使得刻印操作更加智能化。在本設(shè)計中使用WCF技術(shù),不影響原有技術(shù),滿足與之前系統(tǒng)的兼容性。而且將連接數(shù)據(jù)庫、訪問數(shù)據(jù)庫的功能放于WCF的服務(wù)端中,將WCF服務(wù)在公司服務(wù)器發(fā)布,客戶端僅能獲取這些服務(wù)卻不能看到這些服務(wù)具體的實現(xiàn)方式,從而大大提高了數(shù)據(jù)的安全性。整個接口系統(tǒng)設(shè)計結(jié)構(gòu)分明,便于維護(hù)。
參考文獻(xiàn)
[1]張新國,尚建宇,高慧穎.基于一維條碼技術(shù)的新生注冊系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)系統(tǒng)應(yīng)用,2005,14(09):61-63.
[2]孔婷,鄔家煒,高云全.Web Service基本架構(gòu)及關(guān)鍵技術(shù)[J].科技廣場,2005,18(03):8-11.
[3]NMilanovic,M Malek.Current solutionsfor Web service composition[J].IEEEInternet Computing,2004,8(06):51-59.
[4]鄭文軒.基于WCF的分布式程序的研究和實現(xiàn)[D].西安電子科技大學(xué),2012.