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