李映月,任光勝
(重慶大學(xué)機械工程學(xué)院,重慶 400044)
隨著國際競爭的日益激烈,以計算機輔助加工為背景的數(shù)控加工在機械制造業(yè)中的地位越來越突出。數(shù)控機床相比于普通機床具有精度高,效率高,柔性好等特點,正好順應(yīng)了當今加工制造業(yè)的發(fā)展要求[1]。隨之而來的是大批量數(shù)控刀具出現(xiàn)在生產(chǎn)第一線,成為數(shù)控加工中的主要角色。在實際生產(chǎn)中,刀具既是重要的資源,也是昂貴的消耗品,減少其流動的次數(shù),不僅影響機床的使用和生產(chǎn)效率,也會影響加工成本。雖然我國的數(shù)控加工發(fā)展迅速,創(chuàng)造出了巨大的社會價值,但對數(shù)控刀具的物流管理大多仍然集中于人工手動記錄和查詢,這樣的刀具管理已經(jīng)不能滿足柔性生產(chǎn)需要[2-3]。
傳統(tǒng)手工記賬的刀具管理模式,管理不規(guī)范、刀具信息管理更跟不上需求,信息容易丟失,造成刀具使用混亂、資源浪費、生產(chǎn)效率低。更加嚴重的是由于數(shù)控刀具的數(shù)量多,種類復(fù)雜,管理人員不能及時獲取刀具的庫存信息,導(dǎo)致庫存堆積或生產(chǎn)作業(yè)中斷,造成巨大的資源浪費。目前,國外刀具管理軟件相對成熟,軟件種類也比較多。如德國zoller刀具管理系統(tǒng)、英國CTMS公司的CYMS刀具管理系統(tǒng)等,但是這些軟件售價昂貴,并且國內(nèi)的制造環(huán)境與國外不同,不能很好地應(yīng)用于國內(nèi)企業(yè)。國內(nèi)的刀具管理系統(tǒng)研究起步于高校,多是針對刀具管理的某一環(huán)節(jié)開發(fā)的研究。如上海交通大學(xué)與上海煙草機械責任有限公司合作開發(fā)的刀具管理系統(tǒng),重慶大學(xué)開發(fā)的適合于自動生產(chǎn)線的刀具管理及中央刀具庫的實時調(diào)度系統(tǒng)[4]。
也有一些商用的刀具管理系統(tǒng),如上海蓋勒普公司的tracker刀具智能數(shù)據(jù)庫管理系統(tǒng)等,國內(nèi)這些商用軟件大多采用流水碼作為刀具編碼,編碼不能體現(xiàn)刀具信息,管理流程和監(jiān)控過程不夠完善等缺點[5]。重慶大學(xué)就聯(lián)合北京機床研究所建立了鏜、銑類刀具的統(tǒng)一編碼,實現(xiàn)了鏜、銑類刀具比較完整的一套編碼[4],南京航空航天大學(xué)也建立了基于二維加密編碼的刀具編碼體系[1],其涉及的刀具種類比較完整,刀具信息豐富,編碼也比較復(fù)雜,識別性較差。
以數(shù)控刀具為主要管理對象,以刀具的特征為基礎(chǔ)建立編碼體系,設(shè)計一套適合中小型數(shù)控加工企業(yè)的刀具庫存管理系統(tǒng)。
系統(tǒng)以數(shù)控刀具從需求、使用到報廢的全生命周期的管理和記錄為目的,研究并開發(fā)適合中小型制造企業(yè)使用的數(shù)控刀具管理系統(tǒng)[6]。系統(tǒng)包括建立刀具的統(tǒng)一編碼,刀具的自動識別,刀具的調(diào)用管理,刀具的訂貨和入庫管理等。實現(xiàn)刀具整個生命周期的使用情況的完整描述(圖1)。
圖1 數(shù)據(jù)庫管理框架
刀具信息載體最為基礎(chǔ)的是刀具的編碼,是形成系的主要統(tǒng)信息流。而目前常用的刀具識別技術(shù)有射頻識別技術(shù)和二維碼技術(shù)。相比射頻識別技術(shù),二維碼也是一種成熟的條碼技術(shù),它有自己獨有的安全性和低成本的有點[8],刀具的編碼可以通過加密轉(zhuǎn)別成二維碼,使刀具的識別更為方便。
在對刀具編碼已有研究的基礎(chǔ)之上建立相對完整、開放、簡潔的編碼體系,由此編碼作為刀具二維碼生成的基礎(chǔ)。利用Google開發(fā)的ZXing二維碼生產(chǎn)和解析應(yīng)用程序拓展文件,生產(chǎn)刀具的二維碼圖像,為刀具在移動終端的識別提供了錄入基礎(chǔ)。
由于數(shù)控刀具種類繁多,對刀具的分類是復(fù)雜而系統(tǒng)的工程。目前研究中最常見的分類方法有2種,一種以加工表面形狀為依據(jù),另一種則以切削方式或者工藝類型為分類依據(jù)[1]。本系統(tǒng)的刀具編碼體系以傳統(tǒng)的刀具分類方式為基礎(chǔ),結(jié)合目前數(shù)控機床刀具的結(jié)構(gòu),將刀具系統(tǒng)總體上設(shè)計四級分類(圖2),列出了車刀刀片部分分類情況。這四級分類依次代表如下。
圖2 車刀刀片的部分分類
第一級分類代表該零件的功用。例如將整個刀具系統(tǒng)分為刀片、刀柄、夾頭、整體刀具、輔助零件和工具。
第二級分類代表該零件或者其接口零件的切削方式和工藝屬性。例如車削、銑削、鏜削、復(fù)合工藝類型等。需要說明的是,這里的齒輪刀具是特指以展成法加工齒輪的刀具。
第三級分類代表各類型特有的幾何形狀。如刀片這部分代表其幾何形狀,可分為菱形、圓形、三角形、六邊形等,如刀柄在這部分代表其導(dǎo)桿部分形狀,可分為方向刀柄,圓形刀柄和莫氏刀柄等。
第四級分類代表該零件或者其接口零件的對應(yīng)切削表面屬性。例如車刀刀片可分為通用刀片、螺紋刀片。
刀具編碼也就是刀具信息標識,就是用簡單的字母或數(shù)字表示一把刀具的某些特征。根據(jù)前面論述,本系統(tǒng)以刀具的特征信息作為編碼的基礎(chǔ),刀具的特征類型豐富多樣,將這些豐富多樣的特征系統(tǒng)且有效的組織起來構(gòu)成能合理的刀具編碼需要對刀具的靜態(tài)特征信息做一定取舍。在本系統(tǒng)中,刀具編碼總體上分為四個部分,編碼位由必要位和非必要位構(gòu)成,編碼各部分結(jié)構(gòu)和意義如圖3所示。
圖3 刀具編碼個位意義
第一部分刀具基本信息,包括刀具類型、材料,結(jié)構(gòu)和商業(yè)等信息。該信息部分編碼如表1~表6所示。
第二部分刀具幾何信息,包括刀具幾何結(jié)構(gòu)和尺寸部分等信息(表7)。針對每一類刀具,六位表示對應(yīng)不同特征值,在本系統(tǒng)中分別定義為 size1name,size2name,size3name,size4name,size5name,size6name。
第三部分刀具擴展信息,包括刀具特殊處理、加工工序和加工材料等信息。例如對于刀片而言,這里可以定刀片的加工工序、加工精度、刀片樣式、進給方向、有無斷屑槽等信息。
第四部分刀具接口信息,包括與刀片、刀柄、夾頭、機床等接口信息。
開發(fā)數(shù)據(jù)庫最關(guān)鍵的是設(shè)計數(shù)據(jù)的模型,好的數(shù)據(jù)模型既要減少數(shù)據(jù)的冗余,也要避免數(shù)據(jù)的不完整性。本系統(tǒng)數(shù)據(jù)采用E-R模型(實體-關(guān)系模型),當今大多數(shù)數(shù)據(jù)庫設(shè)計工具都利用E-R模型的概念。E-R數(shù)據(jù)模型采用了3種基本概念:實體集、聯(lián)系集和屬性。實體集就是現(xiàn)實世界里可以區(qū)別于其他事物的集合;聯(lián)系集就是實體間聯(lián)系的集合;屬性就是實體的一個或者多個描述[9]。
表1 刀具第一級分類(功用)編碼
表2 刀具第二級分類(切削方式和工藝屬性)部分編碼
表3 刀具第三級分類(幾何形狀)編碼
表4 刀具第四級分類(切削表面)部分編碼
表5 部分刀具材料
表6 刀具部分生產(chǎn)廠商碼
表7 部分刀具類型定義
本數(shù)據(jù)庫涉及3個獨立實體分別是:刀具、員工和供貨商。刀具的使用和購買是2個聯(lián)系,刀具的使用聯(lián)系刀具和員工2個實體,刀具購買是刀具和供貨商2個實體的聯(lián)系。于是數(shù)據(jù)庫總體設(shè)計為如圖4所示。其中3個獨立實體構(gòu)成整個數(shù)據(jù)庫的骨架,2個與聯(lián)系集將數(shù)據(jù)構(gòu)成1個系統(tǒng)。此外,用戶信息實體獨立于系統(tǒng)主體以外,記錄使用這個系統(tǒng)的用戶的屬性。
圖4 數(shù)據(jù)庫系統(tǒng)總體結(jié)構(gòu)
本系統(tǒng)采用MySQL作為數(shù)據(jù)庫。MySQL擁有較高的訪問速度和較好的靈活性。所使用的 SQL語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。此外,MySQL由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型運用的開發(fā)都選擇 MySQL作為數(shù)據(jù)庫。
MySQL作為數(shù)據(jù)庫平臺最關(guān)鍵是要構(gòu)建表,以及表的結(jié)構(gòu),這是整個數(shù)據(jù)庫技術(shù)的關(guān)鍵。本系統(tǒng)涉及3個信息管理模塊,2個運用功能模塊和登錄模塊。6個模塊分別是員工信息管理,刀具信息管理,供貨商信息管理,用戶登錄,刀具使用,刀具購買。數(shù)據(jù)庫系統(tǒng)設(shè)計就是要設(shè)計出滿足這6個模塊需要的表及內(nèi)部約束。各表字段和表之間的關(guān)系的詳細內(nèi)容見圖5所示。
圖5 數(shù)據(jù)庫中表和字段
數(shù)據(jù)庫的應(yīng)用程序是針對實際工作的需要而開發(fā)的各種基于數(shù)據(jù)庫管理方式的應(yīng)用程序。通常有2種方案:一是使用數(shù)據(jù)庫管理系統(tǒng)提供的各種命令直接開發(fā);二是使用開發(fā)工具在開發(fā)前臺界面的同時,去訪問后臺數(shù)據(jù)庫。由于后者由于將專業(yè)性很強數(shù)據(jù)庫編程語言封裝于界面之后,降低了使用者的專業(yè)技能,本系統(tǒng)采用后者。
目前后者常用的開發(fā)信息系統(tǒng)方式分別是:客戶/服務(wù)器模式(Client/server,C/S),瀏覽器/服務(wù)器模式(Brower/Server,B/S)。鑒于實際的應(yīng)用情況,此次系統(tǒng)的開發(fā)模式選用C/S結(jié)構(gòu)。C/S模式是一種軟件系統(tǒng)結(jié)構(gòu),軟件多建立在Windows平臺上。它是基于企業(yè)內(nèi)部網(wǎng)絡(luò)的應(yīng)用系統(tǒng),服務(wù)器通常采用高性能的PC、工作站或者小型機,并采用大型數(shù)據(jù)庫系統(tǒng),客戶端需要安裝專用的客戶端軟件。該模式采用局域網(wǎng),安全性高??蛻舳藶閷iT設(shè)計的軟件能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理之后再提交給服務(wù)器,響應(yīng)速度快。
C/S結(jié)構(gòu)不存在中間服務(wù)器,客戶端通過應(yīng)用程序接口標準直接與數(shù)據(jù)庫服務(wù)器通信,通信簡單。在客戶端,本系統(tǒng)采用VS2010開發(fā)環(huán)境下C#作為編程語言。C#是微軟為.NET Framework量身訂做的程序語言,C#擁有C/C++的強大功能以及Visual Basic簡易使用的特性,并且面向?qū)ο蟮脑O(shè)計思想也是最強大的。是目前可視化和面向?qū)ο笞顝姶蟮拈_發(fā)工具[2]。本系統(tǒng)圖視層程序結(jié)構(gòu)如圖6所示。根據(jù)設(shè)計的應(yīng)用功能,創(chuàng)建各個應(yīng)用模塊用戶控件類,以此實現(xiàn)各種正確的邏輯操作。再創(chuàng)建MySql-Net普通類與MySQL公司開發(fā)MySQL.Data.dll動態(tài)鏈接庫共同實現(xiàn)簡化數(shù)據(jù)傳遞和SQL語言編譯功能。
系統(tǒng)將復(fù)雜的數(shù)據(jù)管理封裝在界面之下,大大降低了對使用者的要求。通過界面可以增加、修改和刪除刀具信息;處理刀具借用、歸還、定購、到貨和這些信息查詢事件;處理人員增加、修改、刪除和查詢事件等功能。此外,系統(tǒng)為熟悉SQL數(shù)據(jù)庫語言的技術(shù)人員開通一條操縱數(shù)據(jù)庫的快捷通道。圖7到圖9展示了本系統(tǒng)的部分功能。
圖6 程序結(jié)構(gòu)
圖7 軟件界面
圖8 系統(tǒng)生成的刀具領(lǐng)用單報表
圖9 刀具二維碼
通過對刀具特征信息的分析,創(chuàng)新地建立了一套基于刀具特征信息的編碼體系,利用統(tǒng)一的刀具編碼系統(tǒng)作為刀具的識別主鍵,作為本系統(tǒng)刀具信息載體,實現(xiàn)刀具在系統(tǒng)內(nèi)的讀取和識別;系統(tǒng)運用數(shù)據(jù)庫技術(shù)和網(wǎng)絡(luò)技術(shù),將刀具的管理實現(xiàn)了數(shù)字化,避免了人工管理的諸多弊端,改善了小規(guī)模柔性制造企業(yè)刀具管理過程。再以本編碼體系為基礎(chǔ)設(shè)計了刀具的二維碼圖像,以此為擴展系統(tǒng)功能,實現(xiàn)刀具全生命周期的管理提供了數(shù)字化讀取和識別刀具的基礎(chǔ)[10]。