李映月,任光勝
(重慶大學機械工程學院,重慶 400044)
隨著國際競爭的日益激烈,以計算機輔助加工為背景的數控加工在機械制造業中的地位越來越突出。數控機床相比于普通機床具有精度高,效率高,柔性好等特點,正好順應了當今加工制造業的發展要求[1]。隨之而來的是大批量數控刀具出現在生產第一線,成為數控加工中的主要角色。在實際生產中,刀具既是重要的資源,也是昂貴的消耗品,減少其流動的次數,不僅影響機床的使用和生產效率,也會影響加工成本。雖然我國的數控加工發展迅速,創造出了巨大的社會價值,但對數控刀具的物流管理大多仍然集中于人工手動記錄和查詢,這樣的刀具管理已經不能滿足柔性生產需要[2-3]。
傳統手工記賬的刀具管理模式,管理不規范、刀具信息管理更跟不上需求,信息容易丟失,造成刀具使用混亂、資源浪費、生產效率低。更加嚴重的是由于數控刀具的數量多,種類復雜,管理人員不能及時獲取刀具的庫存信息,導致庫存堆積或生產作業中斷,造成巨大的資源浪費。目前,國外刀具管理軟件相對成熟,軟件種類也比較多。如德國zoller刀具管理系統、英國CTMS公司的CYMS刀具管理系統等,但是這些軟件售價昂貴,并且國內的制造環境與國外不同,不能很好地應用于國內企業。國內的刀具管理系統研究起步于高校,多是針對刀具管理的某一環節開發的研究。如上海交通大學與上海煙草機械責任有限公司合作開發的刀具管理系統,重慶大學開發的適合于自動生產線的刀具管理及中央刀具庫的實時調度系統[4]。
也有一些商用的刀具管理系統,如上海蓋勒普公司的tracker刀具智能數據庫管理系統等,國內這些商用軟件大多采用流水碼作為刀具編碼,編碼不能體現刀具信息,管理流程和監控過程不夠完善等缺點[5]。重慶大學就聯合北京機床研究所建立了鏜、銑類刀具的統一編碼,實現了鏜、銑類刀具比較完整的一套編碼[4],南京航空航天大學也建立了基于二維加密編碼的刀具編碼體系[1],其涉及的刀具種類比較完整,刀具信息豐富,編碼也比較復雜,識別性較差。
以數控刀具為主要管理對象,以刀具的特征為基礎建立編碼體系,設計一套適合中小型數控加工企業的刀具庫存管理系統。
系統以數控刀具從需求、使用到報廢的全生命周期的管理和記錄為目的,研究并開發適合中小型制造企業使用的數控刀具管理系統[6]。系統包括建立刀具的統一編碼,刀具的自動識別,刀具的調用管理,刀具的訂貨和入庫管理等。實現刀具整個生命周期的使用情況的完整描述(圖1)。

圖1 數據庫管理框架
刀具信息載體最為基礎的是刀具的編碼,是形成系的主要統信息流。而目前常用的刀具識別技術有射頻識別技術和二維碼技術。相比射頻識別技術,二維碼也是一種成熟的條碼技術,它有自己獨有的安全性和低成本的有點[8],刀具的編碼可以通過加密轉別成二維碼,使刀具的識別更為方便。
在對刀具編碼已有研究的基礎之上建立相對完整、開放、簡潔的編碼體系,由此編碼作為刀具二維碼生成的基礎。利用Google開發的ZXing二維碼生產和解析應用程序拓展文件,生產刀具的二維碼圖像,為刀具在移動終端的識別提供了錄入基礎。
由于數控刀具種類繁多,對刀具的分類是復雜而系統的工程。目前研究中最常見的分類方法有2種,一種以加工表面形狀為依據,另一種則以切削方式或者工藝類型為分類依據[1]。本系統的刀具編碼體系以傳統的刀具分類方式為基礎,結合目前數控機床刀具的結構,將刀具系統總體上設計四級分類(圖2),列出了車刀刀片部分分類情況。這四級分類依次代表如下。

圖2 車刀刀片的部分分類
第一級分類代表該零件的功用。例如將整個刀具系統分為刀片、刀柄、夾頭、整體刀具、輔助零件和工具。
第二級分類代表該零件或者其接口零件的切削方式和工藝屬性。例如車削、銑削、鏜削、復合工藝類型等。需要說明的是,這里的齒輪刀具是特指以展成法加工齒輪的刀具。
第三級分類代表各類型特有的幾何形狀。如刀片這部分代表其幾何形狀,可分為菱形、圓形、三角形、六邊形等,如刀柄在這部分代表其導桿部分形狀,可分為方向刀柄,圓形刀柄和莫氏刀柄等。
第四級分類代表該零件或者其接口零件的對應切削表面屬性。例如車刀刀片可分為通用刀片、螺紋刀片。
刀具編碼也就是刀具信息標識,就是用簡單的字母或數字表示一把刀具的某些特征。根據前面論述,本系統以刀具的特征信息作為編碼的基礎,刀具的特征類型豐富多樣,將這些豐富多樣的特征系統且有效的組織起來構成能合理的刀具編碼需要對刀具的靜態特征信息做一定取舍。在本系統中,刀具編碼總體上分為四個部分,編碼位由必要位和非必要位構成,編碼各部分結構和意義如圖3所示。

圖3 刀具編碼個位意義
第一部分刀具基本信息,包括刀具類型、材料,結構和商業等信息。該信息部分編碼如表1~表6所示。
第二部分刀具幾何信息,包括刀具幾何結構和尺寸部分等信息(表7)。針對每一類刀具,六位表示對應不同特征值,在本系統中分別定義為 size1name,size2name,size3name,size4name,size5name,size6name。
第三部分刀具擴展信息,包括刀具特殊處理、加工工序和加工材料等信息。例如對于刀片而言,這里可以定刀片的加工工序、加工精度、刀片樣式、進給方向、有無斷屑槽等信息。
第四部分刀具接口信息,包括與刀片、刀柄、夾頭、機床等接口信息。
開發數據庫最關鍵的是設計數據的模型,好的數據模型既要減少數據的冗余,也要避免數據的不完整性。本系統數據采用E-R模型(實體-關系模型),當今大多數數據庫設計工具都利用E-R模型的概念。E-R數據模型采用了3種基本概念:實體集、聯系集和屬性。實體集就是現實世界里可以區別于其他事物的集合;聯系集就是實體間聯系的集合;屬性就是實體的一個或者多個描述[9]。

表1 刀具第一級分類(功用)編碼

表2 刀具第二級分類(切削方式和工藝屬性)部分編碼

表3 刀具第三級分類(幾何形狀)編碼

表4 刀具第四級分類(切削表面)部分編碼

表5 部分刀具材料

表6 刀具部分生產廠商碼

表7 部分刀具類型定義
本數據庫涉及3個獨立實體分別是:刀具、員工和供貨商。刀具的使用和購買是2個聯系,刀具的使用聯系刀具和員工2個實體,刀具購買是刀具和供貨商2個實體的聯系。于是數據庫總體設計為如圖4所示。其中3個獨立實體構成整個數據庫的骨架,2個與聯系集將數據構成1個系統。此外,用戶信息實體獨立于系統主體以外,記錄使用這個系統的用戶的屬性。

圖4 數據庫系統總體結構
本系統采用MySQL作為數據庫。MySQL擁有較高的訪問速度和較好的靈活性。所使用的 SQL語言是用于訪問數據庫的最常用標準化語言。此外,MySQL由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型運用的開發都選擇 MySQL作為數據庫。
MySQL作為數據庫平臺最關鍵是要構建表,以及表的結構,這是整個數據庫技術的關鍵。本系統涉及3個信息管理模塊,2個運用功能模塊和登錄模塊。6個模塊分別是員工信息管理,刀具信息管理,供貨商信息管理,用戶登錄,刀具使用,刀具購買。數據庫系統設計就是要設計出滿足這6個模塊需要的表及內部約束。各表字段和表之間的關系的詳細內容見圖5所示。

圖5 數據庫中表和字段
數據庫的應用程序是針對實際工作的需要而開發的各種基于數據庫管理方式的應用程序。通常有2種方案:一是使用數據庫管理系統提供的各種命令直接開發;二是使用開發工具在開發前臺界面的同時,去訪問后臺數據庫。由于后者由于將專業性很強數據庫編程語言封裝于界面之后,降低了使用者的專業技能,本系統采用后者。
目前后者常用的開發信息系統方式分別是:客戶/服務器模式(Client/server,C/S),瀏覽器/服務器模式(Brower/Server,B/S)。鑒于實際的應用情況,此次系統的開發模式選用C/S結構。C/S模式是一種軟件系統結構,軟件多建立在Windows平臺上。它是基于企業內部網絡的應用系統,服務器通常采用高性能的PC、工作站或者小型機,并采用大型數據庫系統,客戶端需要安裝專用的客戶端軟件。該模式采用局域網,安全性高。客戶端為專門設計的軟件能充分發揮客戶端PC的處理能力,很多工作可以在客戶端處理之后再提交給服務器,響應速度快。
C/S結構不存在中間服務器,客戶端通過應用程序接口標準直接與數據庫服務器通信,通信簡單。在客戶端,本系統采用VS2010開發環境下C#作為編程語言。C#是微軟為.NET Framework量身訂做的程序語言,C#擁有C/C++的強大功能以及Visual Basic簡易使用的特性,并且面向對象的設計思想也是最強大的。是目前可視化和面向對象最強大的開發工具[2]。本系統圖視層程序結構如圖6所示。根據設計的應用功能,創建各個應用模塊用戶控件類,以此實現各種正確的邏輯操作。再創建MySql-Net普通類與MySQL公司開發MySQL.Data.dll動態鏈接庫共同實現簡化數據傳遞和SQL語言編譯功能。
系統將復雜的數據管理封裝在界面之下,大大降低了對使用者的要求。通過界面可以增加、修改和刪除刀具信息;處理刀具借用、歸還、定購、到貨和這些信息查詢事件;處理人員增加、修改、刪除和查詢事件等功能。此外,系統為熟悉SQL數據庫語言的技術人員開通一條操縱數據庫的快捷通道。圖7到圖9展示了本系統的部分功能。

圖6 程序結構

圖7 軟件界面

圖8 系統生成的刀具領用單報表

圖9 刀具二維碼
通過對刀具特征信息的分析,創新地建立了一套基于刀具特征信息的編碼體系,利用統一的刀具編碼系統作為刀具的識別主鍵,作為本系統刀具信息載體,實現刀具在系統內的讀取和識別;系統運用數據庫技術和網絡技術,將刀具的管理實現了數字化,避免了人工管理的諸多弊端,改善了小規模柔性制造企業刀具管理過程。再以本編碼體系為基礎設計了刀具的二維碼圖像,以此為擴展系統功能,實現刀具全生命周期的管理提供了數字化讀取和識別刀具的基礎[10]。