湯曉燕(蘇州工業(yè)職業(yè)技術(shù)學(xué)院,江蘇 蘇州 215104)
基于C#的KD產(chǎn)品重量檢測軟件設(shè)計與實現(xiàn)
湯曉燕
(蘇州工業(yè)職業(yè)技術(shù)學(xué)院,江蘇 蘇州 215104)
摘 要:采用C#編程創(chuàng)建窗體應(yīng)用程序,結(jié)合實際應(yīng)用,實現(xiàn)工業(yè)數(shù)據(jù)的串口采集處理。在數(shù)據(jù)的閾值報警和Excel數(shù)據(jù)導(dǎo)入導(dǎo)出方面進(jìn)行了開發(fā)實踐,較好地解決了生產(chǎn)實踐中的關(guān)鍵問題。本文從系統(tǒng)功能設(shè)計、流程設(shè)計、代碼實現(xiàn)等方面進(jìn)行了詳細(xì)的闡述。
關(guān)鍵詞:C#編程;檢測;串口采集
在現(xiàn)代生產(chǎn)型企業(yè)中,KD(Knocked Down)是指“成品組裝”或“散件組裝”,KD有三種形式:CKD(全散件組裝)、SKD(半散件組裝)、DKD(直接組裝或成品組裝)。KD產(chǎn)品重量檢測的主要目的通過是稱重用來檢驗包裝盒中產(chǎn)品或原料零部件的數(shù)量,確保出貨產(chǎn)品數(shù)量達(dá)標(biāo)。
目前有些企業(yè)的稱重檢測仍然依靠人工進(jìn)行。工人將產(chǎn)品包裝箱搬運至電子秤上稱重,以此判斷盒中產(chǎn)品數(shù)量是否達(dá)標(biāo),同時使用相機拍照留底。檢測數(shù)據(jù)及電子照片以文件形式保存在磁盤中。此舉費時費力,更不便于信息的查詢。隨著企業(yè)信息化的不斷推進(jìn),重量檢測已由單一的稱量工具逐步演變成自動化生產(chǎn)中重要的組成部分,向著自動化、智能化、集成化和信息化方向發(fā)展。利用計算機技術(shù)設(shè)計開發(fā)稱重檢測系統(tǒng),達(dá)到數(shù)據(jù)保存自動化、數(shù)據(jù)查詢便捷化的目標(biāo),在企業(yè)實際生產(chǎn)過程中有十分重要的意義。
1.1 系統(tǒng)功能設(shè)計
通過對實地的考察調(diào)研,結(jié)合目前檢測領(lǐng)域的發(fā)展趨勢,提出了基于C#和串口通訊的重量檢測系統(tǒng)。經(jīng)過分析,檢測系統(tǒng)的具體功能設(shè)計如下:(1)由掃描槍掃入產(chǎn)品包裝箱上的條碼信息,系統(tǒng)能自動識別產(chǎn)品類型,并從數(shù)據(jù)庫中讀取相關(guān)信息,顯示在窗口中;(2)稱重時自動啟動相機對產(chǎn)品進(jìn)行取像并保存;(3)設(shè)置稱重上下誤差范圍值,根據(jù)預(yù)設(shè)值判斷箱內(nèi)產(chǎn)品重量是否合格,即每稱重一次,在系統(tǒng)界面中顯示合格(OK)或不合格(NG);(4) 每天將檢測記錄保存在log文檔中,系統(tǒng)提供數(shù)據(jù)匯出到Excel的功能;(5)具有系統(tǒng)查詢功能,能查詢以往的稱重記錄及產(chǎn)品圖像。
根據(jù)上述功能需求及重量檢測系統(tǒng)所涉及的范圍,同時考慮到系統(tǒng)的應(yīng)用環(huán)境在工廠車間,不能確保長期穩(wěn)定的網(wǎng)絡(luò)環(huán)境,故決定采用Windows桌面應(yīng)用程序,使用Visual Studio 2010作為開發(fā)環(huán)境,選擇C#作為系統(tǒng)開發(fā)語言。系統(tǒng)硬件部分,選用高精度工業(yè)電子秤來采集產(chǎn)品包裝盒重量數(shù)據(jù),選用高清數(shù)碼攝像頭作為圖像采集設(shè)備。電子秤與系統(tǒng)之間通過串口通信實現(xiàn)數(shù)據(jù)傳輸。
1.2 系統(tǒng)業(yè)務(wù)流程設(shè)計
重量檢測系統(tǒng)工作流程包括產(chǎn)品條碼掃描取像、檢測判定及信息存儲三個步驟,首先,由工作人員對無線掃描儀進(jìn)行條碼掃描,電子秤讀數(shù)通過數(shù)據(jù)端口傳輸至PC端;接著,系統(tǒng)根據(jù)條碼信息獲取產(chǎn)品類型并與該類型的合格范圍預(yù)設(shè)值進(jìn)行比對,將檢測結(jié)果顯示在電腦屏幕上,最后,系統(tǒng)將所有信息存儲至數(shù)據(jù)庫,業(yè)務(wù)流程如圖1所示。
1.3 數(shù)據(jù)庫設(shè)計
系統(tǒng)設(shè)計三個數(shù)據(jù)表,分別是包裝箱類型表(BoxInfo_T)、待檢測產(chǎn)品包裝箱信息表(BoxInfo_T)、稱重記錄信息表(Record_T),數(shù)據(jù)結(jié)構(gòu)如下:
產(chǎn)品信息包裝箱信息表:ID(流水號)、BoxID(箱編號)、TypeID(類型編號)、Qty(數(shù)量);
包裝箱類型表:ID(類型ID)、Type(名稱)、BoxWeight(箱重量)、Threshold(閥值)、SingleWeight(單個產(chǎn)品重量);
稱重記錄信息表:ID(記錄ID)、Date(日期)、BoxID(箱編號)、Result、Qty(數(shù)量)。
重量檢測是本系統(tǒng)的核心功能。對采集來的不合格的產(chǎn)品包裝箱信息,能夠?qū)崟r報警,準(zhǔn)確的反映客觀情況,為管理人員提供實時報警信息,用特殊符號或醒目的顏色顯示不合格的結(jié)果,引起重視。檢測界面如下圖2所示。
檢測的具體實現(xiàn)思路是:將條碼掃描槍掃描的包裝箱條碼讀取至窗體文本框,通過條碼編號查詢數(shù)據(jù)庫得到該包裝箱的基本信息,通過自定義串口通訊類SerialPort的Get()方法讀取電子秤上包裝箱重量,根據(jù)預(yù)設(shè)門限值計算產(chǎn)品數(shù)量,通過與數(shù)據(jù)庫中的合格數(shù)據(jù)比對,判斷產(chǎn)品包裝箱中待出貨的產(chǎn)品是否存在遺漏或其他問題。檢測判定代碼如下:
}
CountQty = Convert.ToInt32(Math.Floor((KDData.Weight - KDData. BoxWeight) / KDData.SingleWeight));
KDData.WeightQty = (Quantity – CountQty) < KDData.Threshold? CountQty: CountQty + 1;
checkResult=((KDData.WeightQty == KDData.Qty? "OK":"Error") }
本系統(tǒng)主要實現(xiàn)出貨前產(chǎn)品的稱重檢測判定,并且提供數(shù)據(jù)導(dǎo)入導(dǎo)出、系統(tǒng)參數(shù)設(shè)置、日志記錄等輔助功能。系統(tǒng)按照企業(yè)操作業(yè)務(wù)流程進(jìn)行設(shè)計,簡化了操作步驟,條碼槍輸入數(shù)據(jù)方便,既提高了效率,又減少操作失誤帶來的問題。系統(tǒng)目前已應(yīng)用于某電子企業(yè),實現(xiàn)警報及圖像傳送是下一步考慮的問題。
參考文獻(xiàn):
[1]基于C/S的視頻車輛檢測系統(tǒng)設(shè)計[J].電子測試,2014(10).
[2]基于C Sharp和PLC的聯(lián)軸節(jié)貼合率自動檢測系統(tǒng)設(shè)計[J]. 制造業(yè)自動化,2015(06).
[3]新型重量檢測控制儀的設(shè)計與實現(xiàn)[J].電子技術(shù),2011(11).
[4]C#下串口通信編程的開發(fā)和擴展[J].微型機與應(yīng)用,2014(06).
作者簡介:湯曉燕(1981-),女,江蘇太倉人,蘇州工業(yè)職業(yè)技術(shù)學(xué)院講師、研究方向為軟件開發(fā)。