2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩64頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  數(shù)控銑削加工工藝參數(shù)庫的設(shè)計(jì)</p><p><b>  2012年6月</b></p><p> 學(xué) 院機(jī)電工程</p><p> 專 業(yè)機(jī)械設(shè)計(jì)制造及其自動(dòng)化</p><p> 班 級(jí)</p><p> 學(xué) 號(hào)</p><p&g

2、t; 姓 名</p><p> 指導(dǎo)教師</p><p> 負(fù)責(zé)教師</p><p><b>  摘 要</b></p><p>  本文以Visual C++6.0作為開發(fā)工具,以Access建立銑削加工工藝參數(shù)數(shù)據(jù)庫,應(yīng)用MFC進(jìn)行ODBC編程,實(shí)現(xiàn)對(duì)機(jī)床參數(shù)信息的增加、修改、刪除以及查詢操作。所編寫的應(yīng)用程

3、序具有檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、成本低等優(yōu)點(diǎn)。憑借這些優(yōu)點(diǎn)能夠直觀的了解機(jī)床的參數(shù),方便對(duì)機(jī)床的維修和護(hù)理,極大地提高機(jī)床參數(shù)信息管理的效率,實(shí)現(xiàn)了參數(shù)科學(xué)化、正規(guī)化的管理。</p><p>  關(guān)鍵詞:ODBC ;MFC;Access</p><p>  The Design of Technological Parameters Database which P

4、rocessed by Numerically-Controlled Milling</p><p><b>  Abstract</b></p><p>  This system that manages the technology parameters of milling process has been developed with Visual C++6

5、.0.Through the database access technology based on ODBC with MFC,the parameters can be increased,modified,removed and queried.This system virtues of searching quickly,lookup conveniently,high reliability,large storage,co

6、nfidentiality, long longevity and low cost. These advantages to bars intuitive understanding of machine tools of parameters,easy to machine maintenance and nursing,greatly imp</p><p>  Keywords: ODBC MFC A

7、ccess</p><p><b>  目錄</b></p><p><b>  1 緒 論1</b></p><p>  1.1 課題由來1</p><p>  1.2 數(shù)據(jù)庫管理系統(tǒng)國內(nèi)外發(fā)展綜述2</p><p>  1.2.1 國外發(fā)展?fàn)顩r2</p&

8、gt;<p>  1.2.2 我國發(fā)展?fàn)顩r2</p><p>  1.3 目前存在的問題及發(fā)展方向3</p><p>  1.4 研究內(nèi)容8</p><p>  1.5 經(jīng)濟(jì)運(yùn)營分析9</p><p>  2 整體方案設(shè)計(jì)10</p><p>  2.1 系統(tǒng)框圖10</p>

9、<p>  2.2 數(shù)據(jù)庫設(shè)計(jì)12</p><p>  2.2.1 建立銑削數(shù)據(jù)庫的目的12</p><p>  2.2.2 銑削數(shù)據(jù)庫加工工藝參數(shù)的來源及內(nèi)容12</p><p>  2.3 銑削加工工藝參數(shù)分析13</p><p>  2.4 基于VC的數(shù)據(jù)庫訪問設(shè)計(jì)13</p><p>  2

10、.4.1 ODBC訪問技術(shù)的優(yōu)點(diǎn)13</p><p>  2.4.2 ODBC(Open Database Connectivity)簡介14</p><p>  2.4.3 VC++中使用ODBC的方法15</p><p>  3 程序設(shè)計(jì)17</p><p>  3.1 程序設(shè)計(jì)總流程圖17</p><p&

11、gt;  3.2 Access數(shù)據(jù)庫的建立17</p><p>  3.3 ODBC數(shù)據(jù)源的建立19</p><p>  3.3.1 ODBC管理器20</p><p>  3.3.2 開放數(shù)據(jù)庫連接20</p><p>  3.4 數(shù)據(jù)源的連接21</p><p>  3.4.1 ODBC應(yīng)用程序接口21

12、</p><p>  3.4.2 ODBC應(yīng)用編程22</p><p>  3.5 SQL語句的直接執(zhí)行25</p><p>  3.5.1 使用SQLGetDiagRec和SQLGetDiagField25</p><p>  3.5.2  應(yīng)用ODBC API建立應(yīng)用程序26</p><p&

13、gt;  3.5.3  分配ODBC環(huán)境26</p><p>  3.5.4 分配連接句柄26</p><p>  3.5.5  連接數(shù)據(jù)源27</p><p>  3.5.6 SQL語句編程32</p><p>  4 結(jié)果與分析35</p><p><b&g

14、t;  5 結(jié)論43</b></p><p>  6 參考文獻(xiàn)44</p><p><b>  致 謝46</b></p><p>  附 錄 MFC ODBC程序代碼47</p><p><b>  1 緒 論</b></p><p><

15、;b>  1.1 課題由來</b></p><p>  本設(shè)計(jì)是利用計(jì)算機(jī)來開發(fā)一種管理軟件。主要應(yīng)用對(duì)象便是銑削加工工藝參數(shù)庫的建立(數(shù)控機(jī)床參數(shù)庫的建立)。Visual C++為數(shù)據(jù)庫開發(fā)提供了多種多樣的技術(shù)支持。用戶可供選擇的數(shù)據(jù)庫訪問技術(shù)包括ODBC、MFC ODBC、DAO、OLE DB、ADO等。 </p><p>  銑削數(shù)據(jù)是衡量銑削技術(shù)水平高低的一個(gè)基本

16、量值。采用合理的銑削數(shù)據(jù),可以充分發(fā)揮銑削機(jī)床和銑削刀具的功能,尤其對(duì)于各種自動(dòng)化加工機(jī)床、數(shù)控機(jī)床和加工中心來說,自動(dòng)化加工的輔助時(shí)間已大大縮短,這樣,在有效的加工時(shí)間內(nèi)充分利用合理的或優(yōu)化的銑削數(shù)據(jù),對(duì)提高整個(gè)加工系統(tǒng)的經(jīng)濟(jì)效益更為重要。銑削數(shù)據(jù)傳統(tǒng)上通常依據(jù)銑削手冊(cè)、生產(chǎn)實(shí)踐資料或銑削試驗(yàn)來確定。銑削手冊(cè)上的數(shù)據(jù)來源最廣泛,條理性一般較強(qiáng),但針對(duì)性和準(zhǔn)確性較差,通過查閱銑削手冊(cè)來獲得數(shù)據(jù),在信息量和方法的先進(jìn)性上都非常不足;生產(chǎn)實(shí)

17、踐資料對(duì)具體應(yīng)用企業(yè)而言,針對(duì)性較強(qiáng),但數(shù)據(jù)太分散,缺乏規(guī)律性;通過銑削試驗(yàn)獲得的數(shù)據(jù),最有針對(duì)性,但受試驗(yàn)條件等多方面的限制,數(shù)據(jù)量極為有限,而 </p><p>  且試驗(yàn)條件與生產(chǎn)現(xiàn)場條件往往差別較大。</p><p>  隨著科學(xué)技術(shù)的發(fā)展,計(jì)算機(jī)在銑削加工中的應(yīng)用日益增多,國內(nèi)外已利用計(jì)算機(jī)來籌建銑削數(shù)據(jù)庫,將銑削加工中需用的數(shù)據(jù)和信息,按一定規(guī)律儲(chǔ)存在計(jì)算機(jī)中,可以根

18、據(jù)需要調(diào)用、打印,也可以隨時(shí)進(jìn)行修改和增刪。銑削數(shù)據(jù)庫的內(nèi)容應(yīng)包括銑削用量推薦值,根據(jù)加工條件,在不同的銑削深度-進(jìn)給量組合下,推薦不同壽命刀具下的銑削速度,并計(jì)算功率消耗。除此之外,還應(yīng)列入工件與刀具材料的牌號(hào)、成分、性能與機(jī)床的型號(hào)、性能參數(shù)等。由于計(jì)算機(jī)儲(chǔ)存數(shù)據(jù)高度密集,占空間小,便于修改、增刪,所以,凡是銑削加工所需的數(shù)據(jù),甚至 </p><p>  銑削實(shí)驗(yàn)的曲線圖形

19、及回歸公式(如Taylor公式、銑削力經(jīng)驗(yàn)公式等)、數(shù)學(xué)模型等均可儲(chǔ)存在數(shù)據(jù)庫中。</p><p>  1.2 數(shù)據(jù)庫管理系統(tǒng)國內(nèi)外發(fā)展綜述</p><p>  自第一個(gè)切削數(shù)據(jù)庫誕生以來,世界各工業(yè)發(fā)達(dá)國家大都開發(fā)了各自的金屬切削數(shù)據(jù)庫。據(jù)不完全統(tǒng)計(jì),迄今已有德國、美國、瑞典、英國、日本、挪威、比利時(shí)和匈牙利等12個(gè)國家建立了30多個(gè)金屬切削數(shù)據(jù)庫,提供各種形式的信息服務(wù)。對(duì)世界各國切削

20、數(shù)據(jù)庫所作的調(diào)查情況(見表)表明,目前切削數(shù)據(jù)庫中的數(shù)據(jù)來源于實(shí)驗(yàn)室、生產(chǎn)車間及文獻(xiàn),主要應(yīng)用于車削、切削、銑削及磨削。</p><p>  1.2.1 國外發(fā)展?fàn)顩r</p><p>  在已建立的切削數(shù)據(jù)庫中,當(dāng)屬CUTDATA與INFOS最為著名。1964年,美國金屬切削聯(lián)合研究公司和美國空軍材料實(shí)驗(yàn)所聯(lián)合建立了美國空軍加工性數(shù)據(jù)中心(AFMDC)。該中心開發(fā)的CUTDATA切削數(shù)據(jù)

21、庫,是世界上第一個(gè)金屬切削數(shù)據(jù)庫,該數(shù)據(jù)庫包含大量的切削試驗(yàn)數(shù)據(jù),并且經(jīng)過多次更新,比較全面、可靠,可以為3750種以上的工件材料,22種加工方式及12種刀具材料提供切削參數(shù)。德國1971年建立了切削數(shù)據(jù)情報(bào)中心 (INFOS)。該中心存儲(chǔ)的材料可加工性信息達(dá)二百多萬個(gè)單數(shù)據(jù),成為世界上存儲(chǔ)信息最多、軟件系統(tǒng)最完整和數(shù)據(jù)服務(wù)能力最強(qiáng)的切削數(shù)據(jù)庫之一。</p><p>  1.2.2 我國發(fā)展?fàn)顩r</p>

22、;<p>  我國建立的切削數(shù)據(jù)庫是從20世紀(jì)80年代開始的。目前,國內(nèi)有成都工具研究所、南京航空航天大學(xué)、北京理工大學(xué)、西北工業(yè)大學(xué)、上海工業(yè)大學(xué)、山東大學(xué)、哈爾濱理工大學(xué)和天津大學(xué)等單位,在切削數(shù)據(jù)庫方面開展了一些研究工作。</p><p>  成都工具研究所在1987年建成了我國第一個(gè)試驗(yàn)性切削數(shù)據(jù)庫TRN10,又于1988年從當(dāng)時(shí)的聯(lián)邦德國引進(jìn)了INFOS切削數(shù)據(jù)庫軟件 (在國內(nèi)運(yùn)行后,被稱

23、為ATRN90),并加以改進(jìn),向國內(nèi)推出其修訂版的ATRN90E。隨后又繼續(xù)開發(fā)并推出了切削數(shù)據(jù)庫軟件CTRN90V1.0。 CTRN90與原版INFOS比較,它改進(jìn)、擴(kuò)展了系統(tǒng),增強(qiáng)了功能,增添了中國數(shù)據(jù),應(yīng)用了“可加工性材料組——切削材料副”的概念,實(shí)現(xiàn)了軟件的漢語化和英語化。它在漢化的VAX/CVMS操作系統(tǒng)環(huán)境中運(yùn)行,用戶界面為人切對(duì)話方式,采用多層菜單驅(qū)動(dòng)。軟件本身規(guī)模約為8MB,帶有11個(gè)專用子程序庫。采用了國內(nèi)的切床、刀具

24、和試驗(yàn)數(shù)據(jù),同時(shí)也包含了部分國外數(shù)據(jù)。1991年推出了CTRN90V2.0,1992年又推出了CTRN90V3.0。在上述基礎(chǔ)上,1998年開發(fā)了在Windows環(huán)境下運(yùn)行的數(shù)據(jù)庫軟件。</p><p>  南京航空航天大學(xué)是研究金屬切削數(shù)據(jù)庫比較早的高校,早在1986年,南航的張幼楨教授就對(duì)建立金屬切削數(shù)據(jù)庫的若干問題進(jìn)行了探討,許洪昌等對(duì)金屬切削數(shù)據(jù)庫又進(jìn)行了更深一步的研究,近年來,著重研究切削數(shù)據(jù)的優(yōu)化和專

25、家系統(tǒng)技術(shù)在切削數(shù)據(jù)庫中的應(yīng)用。1988年,開發(fā)了一個(gè)專用切削數(shù)據(jù)庫軟件系統(tǒng)NAIMDS,1991年進(jìn)一步開發(fā)了KBMDBS切削數(shù)據(jù)庫系統(tǒng)。</p><p>  北京理工大學(xué)建立了一個(gè)主要面向硬質(zhì)合金刀具材料和涂層刀具生產(chǎn)廠家的切削數(shù)據(jù)庫系統(tǒng)。根據(jù)切削數(shù)據(jù)的不同來源和特點(diǎn),將其分為三大類:即濃縮型切削數(shù)據(jù)、離散型切削數(shù)據(jù)和資料型切削數(shù)據(jù)。北京理工大學(xué)對(duì)切削試驗(yàn)曲線在切削數(shù)據(jù)庫中的存儲(chǔ)與繪制進(jìn)行了研究,并在此基礎(chǔ)上

26、實(shí)現(xiàn)了刀具磨損、刀具壽命、斷屑和切削力等六種試驗(yàn)曲線的存儲(chǔ)和繪制,使金屬切削數(shù)據(jù)庫在功能上不僅能夠存儲(chǔ)數(shù)據(jù),而且也能處理曲線。這對(duì)于豐富切削數(shù)據(jù)庫的內(nèi)容,擴(kuò)大切削數(shù)據(jù)庫的范圍,以及工程數(shù)據(jù)庫的建立都有積極的意義。</p><p>  除了各國均建立自己的切削數(shù)據(jù)庫外,國際學(xué)術(shù)機(jī)構(gòu)也開展了切削數(shù)據(jù)庫的研究開發(fā)工作,如于1995年成立的國際生產(chǎn)工程學(xué)會(huì)(CIRP)切削加工模型研究小組,從事切削加工預(yù)報(bào)模型的研究,為機(jī)

27、械制造業(yè)提供切削參數(shù),自1998年開始邀請(qǐng)世界著名研究機(jī)構(gòu)加盟其切削數(shù)據(jù)庫的研究與建立。</p><p>  1.3 目前存在的問題及發(fā)展方向</p><p>  建立切削數(shù)據(jù)庫的根本目的是為生產(chǎn)實(shí)際服務(wù),但已建立的切削數(shù)據(jù)庫及工藝數(shù)據(jù)庫,付諸實(shí)用的還不多,分析其原因是多方面的:企業(yè)對(duì)切削數(shù)據(jù)庫的重視不夠;數(shù)據(jù)的信息量還不夠多,且尚未解決與CAPP、CAM等系統(tǒng)的聯(lián)接問題;關(guān)鍵的問題是現(xiàn)有

28、切削數(shù)據(jù)庫本身還存在一些問題,首先是切削數(shù)據(jù)的可靠性,由于數(shù)據(jù)的來源較多,有來自工廠的數(shù)據(jù)、實(shí)驗(yàn)室的數(shù)據(jù),還有來自各種手冊(cè)上的數(shù)據(jù),這些數(shù)據(jù)應(yīng)經(jīng)過嚴(yán)格的分析、處理和評(píng)估,否則,其應(yīng)用效果必然不佳。同時(shí),還有計(jì)算機(jī)軟件的問題,軟件功能的強(qiáng)弱對(duì)數(shù)據(jù)庫中數(shù)據(jù)作用的發(fā)揮至關(guān)重要。為了進(jìn)一步促進(jìn)切削數(shù)據(jù)庫的應(yīng)用,切削數(shù)據(jù)庫正在向集成化、智能化、實(shí)用化和網(wǎng)絡(luò)化方向發(fā)展。</p><p><b> ?。?)集成化&l

29、t;/b></p><p>  企業(yè)為了方便和準(zhǔn)確地查詢本企業(yè)的制造資源,需要建立制造資源數(shù)據(jù)庫,它一般包括工藝基本定義和分類、機(jī)床設(shè)備、刀具、工藝裝備、毛坯種類、材料牌號(hào)、材料規(guī)格、工藝規(guī)則庫、工藝簡圖庫、工藝參數(shù)庫(切削參數(shù)、設(shè)備參數(shù)、工時(shí)定額表)和典型工藝庫等。切削數(shù)據(jù)庫與CAPP、CAD/CAM和 CIMS等聯(lián)機(jī),作為制造數(shù)據(jù)庫的一部分,為這些自動(dòng)化制造系統(tǒng)提供合理的切削加工數(shù)據(jù),由切削數(shù)據(jù)中心向加

30、工信息中心乃至生產(chǎn)信息中心發(fā)展,對(duì)加工過程中的規(guī)律、規(guī)則、數(shù)據(jù)和技術(shù)進(jìn)行采集、評(píng)價(jià)、存儲(chǔ)、處理及應(yīng)用。因此,切削數(shù)據(jù)庫對(duì)NC機(jī)床、加工中心及CAD、CAM、CAPP、CIMS等而言,是基礎(chǔ)數(shù)據(jù)的提供者,是CAM、CAPP、GT等先進(jìn)技術(shù)的基礎(chǔ)。沒有數(shù)據(jù)庫的支持,就沒有真正的計(jì)算機(jī)集成制造系統(tǒng),所以集成化是切削數(shù)據(jù)庫發(fā)展的必然趨勢。</p><p>  意大利比薩大學(xué)開發(fā)的用于選擇刀具的COATS系統(tǒng),實(shí)現(xiàn)了與CA

31、PP系統(tǒng)的聯(lián)結(jié),其輸入數(shù)據(jù)來自CAPP的其他子系統(tǒng)。一些計(jì)算機(jī)輔助設(shè)計(jì)與制造軟件開發(fā)商開發(fā)了一些切削數(shù)據(jù)庫模塊,如UGCAM中包含了一個(gè)功能強(qiáng)大的切削數(shù)據(jù)庫,通過數(shù)據(jù)庫的查詢,可以定義工件材料、刀具材料、刀具尺寸參數(shù)以及切削方法等,并通過數(shù)據(jù)庫的運(yùn)算,獲得主軸轉(zhuǎn)速和進(jìn)給速度的數(shù)據(jù)。UG CAM數(shù)據(jù)庫由五個(gè)子庫組成:工件材料庫、刀具材料庫、刀具尺寸參數(shù)庫、切削方法庫和切削速度庫。UGCAM數(shù)據(jù)庫的結(jié)構(gòu)如圖1所示。刀具材料分為五類:高速鋼、

32、無涂層整體硬質(zhì)合金、無涂層可轉(zhuǎn)位硬質(zhì)合金、涂層可轉(zhuǎn)位硬質(zhì)合金及涂層高速鋼。切削方法分為四類:立切、開槽、面切和側(cè)切。刀具類型有:立切刀、面切刀、T形切刀、鼓形切刀、UG5參數(shù)切刀、UG7參數(shù)切刀和UG10參數(shù)切刀。工件材料類型有:碳素鋼、合金鋼、高速鋼、不銹鋼、工具鋼、鋁合金和銅合金。其他CAD/CAM軟件,如Pro/E、MasterCAM、Cimatron等,也都開發(fā)了各自的切削數(shù)據(jù)庫模塊。</p><p>&

33、lt;b>  (2)智能化</b></p><p>  傳統(tǒng)開發(fā)的切削數(shù)據(jù)庫和刀具管理系統(tǒng)所提供的數(shù)據(jù),大多只是“靜態(tài)”的原始數(shù)據(jù),比較具體、確定,從根本上來說,只能算作電子手冊(cè),對(duì)于生產(chǎn)現(xiàn)場出現(xiàn)的種類繁多的加工方式、性能千變?nèi)f化的工件材料和刀具材料,僅靠“靜態(tài)”數(shù)據(jù)庫往往難以解決。目前,切削數(shù)據(jù)庫正朝著智能化方向發(fā)展,利用人工智能的方法來建立切削數(shù)據(jù)庫,使其具有“動(dòng)態(tài)”特性。由于數(shù)據(jù)庫管理系統(tǒng)

34、不能從存儲(chǔ)的數(shù)據(jù)中進(jìn)行邏輯推理或作啟發(fā)性判斷,因而存儲(chǔ)數(shù)據(jù)的價(jià)值得不到充分發(fā)揮,而人工智能的優(yōu)勢卻可以解決這一難題。把人工智能與切削數(shù)據(jù)庫結(jié)合起來,可以解決切削數(shù)據(jù)庫中一些難以解決的問題。智能化是20世紀(jì)80年代以來切削數(shù)據(jù)庫研究的重點(diǎn),也是切削數(shù)據(jù)庫今后的發(fā)展方向。</p><p>  智能化就是將切削專家的經(jīng)驗(yàn),切削加工的某些一般規(guī)則與特殊規(guī)律存儲(chǔ)在計(jì)算機(jī)中,實(shí)現(xiàn)運(yùn)行與決策。很多切削技術(shù)及其專家的經(jīng)驗(yàn)很難用嚴(yán)

35、格的數(shù)學(xué)模型表達(dá),如果將數(shù)據(jù)庫與人工智能技術(shù)結(jié)合,則是解決這類問題的最好方法。</p><p>  專家系統(tǒng)由知識(shí)庫、推理機(jī)和人機(jī)界面三部分組成,其中最關(guān)鍵的部分是知識(shí)庫和推理機(jī)。COATS系統(tǒng)的知識(shí)表示采用了產(chǎn)生式規(guī)則。為了避免推理過程中出現(xiàn)多條規(guī)則同時(shí)滿足的不確定情況,給每條規(guī)則賦予一定的權(quán)重。刀具參數(shù)的選擇主要依靠知識(shí)庫中的規(guī)則及其權(quán)重,通過一定的算法運(yùn)算來得到。 COATS系統(tǒng)大約有300條規(guī)則,用PRO

36、LOG語言寫成。賓夕法尼亞州立大學(xué)開發(fā)的切削加工參數(shù)選擇專家系統(tǒng)ESMDS的推理方式為正向推理,系統(tǒng)的開發(fā)語言為FORTRAN77。加拿大溫莎大學(xué)開發(fā)了基于零件特征的機(jī)床和刀具選擇專家系統(tǒng),該系統(tǒng)用專家系統(tǒng)開發(fā)工具EXSYS開發(fā),知識(shí)表示采用產(chǎn)生式規(guī)則(共122條),推理方式為逆向推理。南斯拉夫開發(fā)了產(chǎn)生式規(guī)則和矩陣方法表示知識(shí)的刀具自動(dòng)選擇專家系統(tǒng)。國家“863”計(jì)劃資助北京理工大學(xué)開發(fā)的CIMS 環(huán)境下的切削數(shù)據(jù)庫和專家系統(tǒng)(BYJ

37、C-CIMS-MDES),將切削數(shù)據(jù)庫和專家系統(tǒng)服務(wù)多種功能加以集成,把專家系統(tǒng)中知識(shí)庫的設(shè)計(jì)與數(shù)據(jù)庫相結(jié)合,取得了較好的效果。</p><p>  專家系統(tǒng)采用規(guī)則匹配推理,適于容易找到因果關(guān)系的領(lǐng)域,切削加工中的有些現(xiàn)象卻很難用規(guī)律性的知識(shí)和因果關(guān)系來描述,規(guī)則匹配推理也需解決規(guī)則沖突問題。此外,還有利用人工神經(jīng)網(wǎng)絡(luò)、模糊算法、基因遺傳算法等,用于切削數(shù)據(jù)的計(jì)算推理,英國開發(fā)了基于實(shí)例推理的智能磨削參數(shù)選擇系

38、統(tǒng),山東大學(xué)正在開發(fā)基于實(shí)例推理的刀具材料與切削參數(shù)選擇的高速切削數(shù)據(jù)庫。</p><p>  根據(jù)人工智能學(xué)說,智能系統(tǒng)的智能越高,系統(tǒng)開發(fā)的成本就越大,所以,智能化切削數(shù)據(jù)庫的開發(fā)研究,應(yīng)充分利用目前智能技術(shù)和信息科學(xué)等領(lǐng)域已有的科研成果,綜合人與計(jì)算機(jī)的各自特點(diǎn),從而開發(fā)出新型的智能切削數(shù)據(jù)庫,以滿足企業(yè)對(duì)切削數(shù)據(jù)合理使用的要求。</p><p><b> ?。?)實(shí)用化&

39、lt;/b></p><p>  通用切削數(shù)據(jù)庫提供針對(duì)不同機(jī)床、不同切削方法、不同刀具材料的切削工藝參數(shù),能夠根據(jù)不同的加工條件,提供優(yōu)化的刀具角度、切削速度、進(jìn)給量等切削用量和切削液等一系列切削參數(shù)。但是,建立通用切削數(shù)據(jù)庫是一項(xiàng)巨大的工程,要耗費(fèi)大量的人力、物力和資金。作為一個(gè)公司、一個(gè)行業(yè)范圍來說,它用到的刀具、工件材料是有限的,基本切削數(shù)據(jù)可以通過資料獲得并經(jīng)實(shí)踐檢驗(yàn)。因此,建立一個(gè)公司自己的數(shù)據(jù)

40、庫是有必要的,并且不會(huì)太困難。</p><p>  許多刀具生產(chǎn)商和研究機(jī)構(gòu)開發(fā)了計(jì)算機(jī)刀具數(shù)據(jù)管理(Tool Data Management,TDM)系統(tǒng),如德國Walter公司的TDMeasy軟件,向用戶推薦該公司的各類刀具加工不同工件材料時(shí)的切削參數(shù)。 Walter公司的TDM刀具管理軟件具有縮短計(jì)劃時(shí)間、使調(diào)整時(shí)間和工序間斷時(shí)間降至最低、減少刀具種類、促進(jìn)刀具標(biāo)準(zhǔn)化、減少刀具庫存,以及對(duì)刀具訂貨進(jìn)行控制的

41、功能等。SandvikCoromant公司開發(fā)的AutoTAS刀具管理軟件,有11個(gè)集成模塊。軟件可為該公司提供3000多種刀具的 CAD模型(幾何尺寸、檢測、裝配),可自動(dòng)選擇該公司樣本與電子樣本中的刀具使用,提供各種刀具的庫存位置、成本、供應(yīng)商、切削性能、刀具壽命及要加工工件的信息。AutoTAS刀具管理軟件還提供刀具庫存管理、購買、統(tǒng)計(jì)分析,報(bào)表,刀具室計(jì)劃與質(zhì)量控制等功能。</p><p>  Kenna

42、metal公司也開發(fā)了自己的刀具管理軟件KATMS與ToolBoss。Datos計(jì)算機(jī)公司推出的刀具供應(yīng)軟件收錄有30多種刀具,并提供大量的信息,本身計(jì)算出的或獲取的切削數(shù)據(jù)可以集成在軟件內(nèi)。Mapal公司推出的全球刀具管理系統(tǒng)可為用戶提供正確的刀具品種和數(shù)量,可為用戶建立服務(wù)部,負(fù)責(zé)刀具的重磨、調(diào)整、發(fā)放等業(yè)務(wù),幫助用戶分析、評(píng)價(jià)加工過程等。Gunther公司和Seco公司的刀具電子樣本可幫助用戶正確選擇和使用切削刀具。EMUGE F

43、RANKEN公司的刀具電子樣本可計(jì)算和分析加工成本,還可對(duì)多功能刀具(如鉆-切螺紋刀具)提供編程指南和G代碼的運(yùn)行程序。</p><p>  德國CIM公司研制了金屬切削刀具的電子信息系統(tǒng)(在CDROM盤上,一般稱為CIMSOURCE),包括世界17個(gè)主要刀具公司生產(chǎn)的 115000種以上的刀具數(shù)據(jù)。CIMSOURCE系統(tǒng)對(duì)刀具用戶的服務(wù),包括為刀具用戶提供標(biāo)準(zhǔn)化圖形、優(yōu)化控制刀具業(yè)務(wù)和優(yōu)化組織大批或成批的刀具供

44、應(yīng)。CIMSOURCE系統(tǒng)的電子目錄可幫助用戶了解世界刀具市場推出的品種繁多的產(chǎn)品,并可獲得較深入的信息,以便進(jìn)一步用來準(zhǔn)備具體的加工工藝過程。刀具供應(yīng)商采用CIMSOURCE系統(tǒng),可保證做到:精確、按時(shí)地將刀具提供給用戶;因供應(yīng)的刀具是以電子產(chǎn)品形式的,故價(jià)格最佳:可擴(kuò)大市場和便于用戶進(jìn)入全球性貿(mào)易網(wǎng)絡(luò)。</p><p>  國內(nèi)許多研究機(jī)構(gòu)和企業(yè)對(duì)刀具管理系統(tǒng)進(jìn)行了研究開發(fā),如國家“863”計(jì)劃資助清華大學(xué)開

45、發(fā)的面向CIMS的計(jì)算機(jī)輔助刀具管理系統(tǒng),濟(jì)南輕騎發(fā)動(dòng)機(jī)廠開發(fā)的適合自己企業(yè)的計(jì)算機(jī)刀具管理系統(tǒng)等。西北工業(yè)大學(xué)還開發(fā)了14種常用鈦合金的切削數(shù)據(jù)庫。上海工業(yè)大學(xué)建立了一個(gè)適合石油行業(yè)的切削數(shù)據(jù)庫。航空工業(yè)部進(jìn)行了航空金屬材料切削數(shù)據(jù)庫的籌建工作。哈爾濱理工大學(xué)開發(fā)了PCBN 刀具切削數(shù)據(jù)庫。山東大學(xué)正在籌建高速切削數(shù)據(jù)庫和陶瓷刀具切削數(shù)據(jù)庫及模具切削加工數(shù)據(jù)庫。天津大學(xué)與汽車廠家合作,建立了一個(gè)針對(duì)汽車廠家使用的金屬切削數(shù)據(jù)庫。上海交

46、通大學(xué)建立了旋轉(zhuǎn)刀具/切削數(shù)據(jù)庫。</p><p><b> ?。?)網(wǎng)絡(luò)化</b></p><p>  迅速發(fā)展的Internet技術(shù),給切削數(shù)據(jù)庫應(yīng)用領(lǐng)域帶來了新的活力,網(wǎng)絡(luò)化強(qiáng)調(diào)數(shù)據(jù)交換和資源共享,將是未來切削數(shù)據(jù)庫技術(shù)發(fā)展的主要趨勢。</p><p>  目前,世界著名刀具制造公司紛紛開設(shè)了自己的網(wǎng)站,通過訪問這些網(wǎng)站,用戶可以了解該公

47、司的概貌、目前的生產(chǎn)科研情況、新產(chǎn)品目錄、特點(diǎn)、報(bào)價(jià)和出版物等,有的還可以提供切削參數(shù),有的可以下載軟件,如下載刀具制造的標(biāo)準(zhǔn)程序和刀具選擇軟件,以及刀具CAD圖紙等。如Guhring公司在網(wǎng)上提供免費(fèi)的刀具管理軟件。CIMSOURCE也已納入Internet,并以對(duì)話方式工作,將全世界的用戶聯(lián)系起來,不斷獲取關(guān)于切削刀具的信息。 CIMSOURCE可幫助解決下列刀具制造和使用問題:切削刀具的選擇、切削加工工藝、提供信息網(wǎng)絡(luò)內(nèi)的訂單、刀

48、具的圖形信息、刀具的生產(chǎn)和刀具的出口數(shù)據(jù)。 </p><p>  切削數(shù)據(jù)庫在向著集成化、智能化、實(shí)用化和網(wǎng)絡(luò)化方向發(fā)展的同時(shí),一方面需要進(jìn)行信息模型、數(shù)據(jù)模型、開發(fā)設(shè)計(jì)理論與模式等方面的基礎(chǔ)性研究;另一方面還應(yīng)進(jìn)行切削數(shù)據(jù)的標(biāo)準(zhǔn)化工作,切削數(shù)據(jù)的標(biāo)準(zhǔn)化是切削數(shù)據(jù)庫技術(shù)推廣應(yīng)用和穩(wěn)定發(fā)展的保障。</p><p><b>  1.4 研究內(nèi)容</b></p>

49、<p>  切削數(shù)據(jù)庫的建立包括結(jié)構(gòu)設(shè)計(jì)和應(yīng)用軟件設(shè)計(jì)。切削數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)包括切削數(shù)據(jù)的采集、處理和評(píng)價(jià),切削數(shù)據(jù)的建立,切削數(shù)據(jù)的優(yōu)化,切削數(shù)據(jù)的輸出和信息服務(wù)等功能。根據(jù)評(píng)價(jià)后切削數(shù)據(jù)的特征,可建立離散型切削數(shù)據(jù)庫或濃縮型切削數(shù)據(jù)庫。</p><p>  離散型切削數(shù)據(jù)庫的數(shù)據(jù)量十分龐大,涉及到切削方式、工件材料、刀具材料及其幾何參數(shù)與結(jié)構(gòu)、切削參數(shù)、切削液和機(jī)床等許多因素,以存儲(chǔ)檢索的方式管理

50、該類數(shù)據(jù)。在數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)中,首先建立切削數(shù)據(jù)的(實(shí)體—關(guān)系)模型,然后進(jìn)行邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)。離散型切削數(shù)據(jù)庫中與切削數(shù)據(jù)有關(guān)的影響因素一般用代碼表示,切削數(shù)據(jù)庫里的關(guān)鍵字由影響切削數(shù)據(jù)選擇的各代碼疊加而成。因此,各種切削方式的關(guān)鍵字是不相同的,必須分別建立其相應(yīng)的子庫,這就是切削數(shù)據(jù)庫的分庫技術(shù)。各子庫既要考慮它能在總控程序下運(yùn)行,又要保證它能獨(dú)立運(yùn)行,它采用模塊式結(jié)構(gòu)建立。數(shù)據(jù)庫內(nèi)部各影響因素的表之間應(yīng)建立參照完整性,

51、父表與子表之間具有約束關(guān)系,對(duì)表進(jìn)行修改(記錄的插入、更新或刪除)時(shí),計(jì)算機(jī)自動(dòng)對(duì)相應(yīng)的表進(jìn)行操作,免去重復(fù)操作和由此可能引起的錯(cuò)誤。</p><p>  濃縮型切削數(shù)據(jù)庫用于存儲(chǔ)和管理各種切削數(shù)學(xué)模型的算式及其系數(shù)和指數(shù)、產(chǎn)生這些數(shù)學(xué)模型的切削加工條件等。</p><p>  切削數(shù)據(jù)庫的應(yīng)用管理程序應(yīng)能滿足切削數(shù)據(jù)的輸入、更新、刪除、檢索和輸出等基本要求。目前,多采用窗口菜單顯示技術(shù),

52、同時(shí)在程序編制中采用循環(huán)嵌套,使系統(tǒng)具有相當(dāng)?shù)娜蒎e(cuò)和改錯(cuò)功能。為防止切削數(shù)據(jù)庫系統(tǒng)被其他人員隨便檢索和修改,保證數(shù)據(jù)庫的安全性,可對(duì)其訪問進(jìn)行控制及用戶認(rèn)證,只有輸入正確的用戶名及密碼才可擁有數(shù)據(jù)庫的使用權(quán)。</p><p>  1.5 經(jīng)濟(jì)運(yùn)營分析</p><p>  切削數(shù)據(jù)庫的建立帶來的經(jīng)濟(jì)效益是非??捎^的。在CUTDATA建庫的初期,就為工業(yè)部門節(jié)約了1.6億美元。INFOS可使單

53、件生產(chǎn)時(shí)間下降10%,生產(chǎn)成本下降10%。SWS經(jīng)300多家企業(yè)應(yīng)用,平均每年可節(jié)約工時(shí)15%~40%。據(jù)CIRP對(duì)切削數(shù)據(jù)庫經(jīng)濟(jì)效益的調(diào)查表明,切削數(shù)據(jù)庫可使加工成本下降10%以上。</p><p><b>  2 整體方案設(shè)計(jì)</b></p><p><b>  2.1 系統(tǒng)框圖</b></p><p>  本系統(tǒng)主

54、要用于管理銑削加工工藝參數(shù)。利用小型數(shù)據(jù)庫管理軟件Access建立銑削加工工藝參數(shù)數(shù)據(jù)庫。采用基于ODBC的數(shù)據(jù)訪問技術(shù),在VC++6.0環(huán)境下開發(fā)專門的人機(jī)交互界面,方便用戶對(duì)所建立的工藝參數(shù)進(jìn)行存儲(chǔ)和訪問。</p><p>  本軟件的功能是可以對(duì)銑削加工工藝參數(shù)庫的數(shù)據(jù)進(jìn)行添加、修改、刪除、查詢,方便對(duì)數(shù)控機(jī)床的參數(shù)管理,通過本軟件可以對(duì)一些數(shù)據(jù)進(jìn)行海量的管理。在我設(shè)計(jì)的系統(tǒng)中用戶可以直觀而方便的對(duì)數(shù)據(jù)管理

55、。當(dāng)數(shù)據(jù)既多又復(fù)雜的情況下,通過本軟件可以很輕松的對(duì)數(shù)據(jù)進(jìn)行一些操作。</p><p>  在計(jì)算機(jī)應(yīng)用方面,本系統(tǒng)絕對(duì)的是簡單又方便的參數(shù)處理系統(tǒng),它可以存儲(chǔ)海量的數(shù)據(jù),再加上強(qiáng)大的系統(tǒng)功能,可以快捷的查詢到想要得到的數(shù)據(jù)。本設(shè)計(jì)系統(tǒng)的操作界面簡明,可以很方便的對(duì)數(shù)據(jù)進(jìn)行管理操作。</p><p>  圖2.1 系統(tǒng)框圖</p><p><b>  

56、2.2 數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  2.2.1 建立銑削數(shù)據(jù)庫的目的</p><p>  隨著數(shù)控機(jī)床的發(fā)展,它在加工行業(yè)中起著越來越重要的作用。但是其切削參數(shù)的選擇主要依賴于操作人員的素質(zhì)和經(jīng)驗(yàn),這使得數(shù)控機(jī)床不能在合理的銑削參數(shù)下運(yùn)行。因此,有必要對(duì)銑削參數(shù)數(shù)據(jù)庫進(jìn)行研究,為這些生產(chǎn)中的關(guān)鍵設(shè)備配備合理的加工參數(shù)。</p><p>  2

57、.2.2 銑削數(shù)據(jù)庫加工工藝參數(shù)的來源及內(nèi)容</p><p>  銑削數(shù)據(jù)庫中的數(shù)據(jù)主要有以下3個(gè)來源:</p><p>  生產(chǎn)經(jīng)驗(yàn)數(shù)據(jù):車間生產(chǎn)經(jīng)驗(yàn)數(shù)據(jù)來源于本單位技術(shù)人員和操作工人的經(jīng)驗(yàn)積累,比較符合生產(chǎn)實(shí)際,但不一定最優(yōu),且比較離散,收集較難;</p><p>  實(shí)驗(yàn)數(shù)據(jù):實(shí)驗(yàn)數(shù)據(jù)針對(duì)具體生產(chǎn)條件而專門設(shè)計(jì)的試驗(yàn)獲得的,經(jīng)過教學(xué)處理后,系統(tǒng)性比較好,但采集

58、難度大;</p><p>  資料手冊(cè)數(shù)據(jù):資料手冊(cè)數(shù)據(jù)是多年眾多生產(chǎn)經(jīng)驗(yàn)數(shù)據(jù)的提煉,比較豐富和系統(tǒng),采集起來比較容易,可靠性中等。</p><p>  我設(shè)計(jì)的銑削數(shù)據(jù)庫內(nèi)容有:</p><p>  (1) 進(jìn)給量庫:高速鋼端銑刀、圓柱銑刀和盤銑刀加工時(shí)的進(jìn)給量(半精銑)、高速鋼端銑刀、圓柱銑刀和盤銑刀加工時(shí)的進(jìn)給量(粗、銑)、高速鋼立銑刀、角銑刀、半圓銑刀、切

59、槽銑刀和切斷銑刀加工鋼時(shí)的進(jìn)給量、高速鋼立銑刀在鋼料上銑槽時(shí)的進(jìn)給量、硬質(zhì)合金立銑刀加工平面和凸臺(tái)時(shí)的進(jìn)給量、硬質(zhì)合金面銑刀、圓柱銑刀和圓盤銑刀加工平面和凸臺(tái)時(shí)的進(jìn)給量(粗銑)、硬質(zhì)合金面銑刀、圓柱銑刀和圓盤銑刀加工平面和凸臺(tái)時(shí)的進(jìn)給量(精銑)。</p><p> ?。?) 切削用量庫: YG6硬質(zhì)合金端銑刀銑削灰鑄鐵的切削用量、YT15硬質(zhì)合金端銑刀銑削碳鋼、鉻鋼和鎳鉻鋼的切削用量、高速鋼細(xì)齒圓柱銑刀銑削鋼料

60、時(shí)的切削用量、高速鋼細(xì)齒圓柱銑刀銑削灰鑄鐵時(shí)的切削用量、高速鋼鑲齒圓柱銑刀銑削鋼料時(shí)的切削用量、高速鋼鑲齒圓柱銑刀銑削灰鑄鐵時(shí)的切削用量、金剛石端銑刀端銑平面的切削用量、涂層硬質(zhì)合金銑刀的切削用量等。</p><p>  2.3 銑削加工工藝參數(shù)分析 </p><p> ?。?)影響銑削速度的參數(shù)</p><p>  選擇你所要加工的材料,例如結(jié)構(gòu)碳鋼、鉻鋼、鎳鉻鋼

61、等。由于銑削深度和進(jìn)給量越大,銑削速度越小,所以要選擇合適的銑削速度和進(jìn)給量,就會(huì)得到對(duì)應(yīng)的銑削速度。</p><p> ?。?)影響進(jìn)給量的參數(shù)</p><p>  選擇加工的材料,由于刀桿越寬,刀桿越長,進(jìn)給量越小。此外,進(jìn)給量還受到工件直徑、切削深度的影響。所以要輸入這些參數(shù),就會(huì)得到對(duì)應(yīng)的進(jìn)給量。所以我再用Access設(shè)計(jì)表時(shí),根據(jù)不同的材料,輸入對(duì)應(yīng)的參數(shù),就完成了。</p

62、><p>  2.4 基于VC的數(shù)據(jù)庫訪問設(shè)計(jì)</p><p>  2.4.1 ODBC訪問技術(shù)的優(yōu)點(diǎn)</p><p>  訪問數(shù)據(jù)庫的方式有很多種,如ODBC、DAO、OLE DB 和ADO等,其中ODBC是被廣泛采用的用于數(shù)據(jù)庫訪問的應(yīng)用程序編制接口。對(duì)于數(shù)據(jù)庫API,它以X/Open和ISO/IEC的Call-Lelel Interface(CLI)規(guī)范為基礎(chǔ),并

63、使用結(jié)構(gòu)化查詢語言(SQL)作為其數(shù)據(jù)庫訪問語言。ODBC是為最大的互用性而設(shè)計(jì)的,即一個(gè)用相同的源代碼能夠訪問不同的數(shù)據(jù)庫管理系統(tǒng)(DBMS),數(shù)據(jù)庫應(yīng)用程序在ODBC接口中調(diào)用函數(shù),ODBC接口在驅(qū)動(dòng)程序的針對(duì)數(shù)據(jù)庫的模塊中實(shí)現(xiàn)。ODBC也是為了給訪問關(guān)系數(shù)據(jù)庫的客戶端應(yīng)用程序訪問數(shù)據(jù)庫時(shí)提供一個(gè)統(tǒng)一的接口。所以,對(duì)于不同的數(shù)據(jù)庫,ODBC提供了一套統(tǒng)一的API。應(yīng)用程序就可以用所提供的API 來訪問任何提供了ODBC驅(qū)動(dòng)程序的數(shù)據(jù)

64、庫。由于ODBC已經(jīng)成為了一種標(biāo)準(zhǔn),所以,一般說來,目前使用的所有的關(guān)系數(shù)據(jù)庫都提供了ODBC驅(qū)動(dòng)程序,這使得ODBC的應(yīng)用范圍非常廣泛,基本上可以用于所有的關(guān)系數(shù)據(jù)庫。</p><p>  因此,本課題選用ODBC訪問Access數(shù)據(jù)庫,只需是把Access數(shù)據(jù)庫的部分信息存入數(shù)據(jù)庫,然后就可以進(jìn)行相應(yīng)的數(shù)據(jù)庫操縱功能,如記錄的增加、刪除、修改、查詢等。</p><p>  2.4.2

65、ODBC(Open Database Connectivity)簡介</p><p>  ODBC是客戶應(yīng)用程序訪問關(guān)系數(shù)據(jù)庫時(shí)提供的一個(gè)統(tǒng)一的接口。對(duì)于不同的數(shù)據(jù)庫,ODBC提供了一套統(tǒng)一的API,使應(yīng)用程序可以應(yīng)用所提供的API來訪問任何提供了ODBC驅(qū)動(dòng)程序的數(shù)據(jù)庫。而且ODBC已經(jīng)成為一種標(biāo)準(zhǔn),所以目前所有的關(guān)系數(shù)據(jù)庫都提供了ODBC驅(qū)動(dòng)程序,這使ODBC的應(yīng)用非常廣泛,基本上可以用于所有的關(guān)系數(shù)據(jù)庫。例

66、如,可以用ODBC使用FoxPro 、Access 、SQL Server Oracle等不同的數(shù)據(jù)庫,而使用這些數(shù)據(jù)庫的方法是完全一致的 。ODBC為進(jìn)行數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì)提供了極大的方便,只要一種數(shù)據(jù)庫體系支持ODBC,我們就可以采用ODBC使用統(tǒng)一的方法來實(shí)現(xiàn)對(duì)這個(gè)數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)庫的存取和查詢等操作,而不必知道這個(gè)數(shù)據(jù)庫系統(tǒng)本身的存取方式和操作語言。由于ODBC是一種底層的訪問技術(shù),因此ODBC API可以客戶應(yīng)用程序從底層設(shè)置

67、和控制數(shù)據(jù)庫,完成一些高層數(shù)據(jù)庫技術(shù)無法完成的功能。一個(gè)完整的ODBC由下列幾個(gè)部件組成:</p><p>  (1)應(yīng)用程序(Application)。</p><p>  ODBC管理器(Administrator)。該程序位于Windows 95控制面板(Control Panel)的32位ODBC內(nèi),其主要任務(wù)是管理安裝的ODBC驅(qū)動(dòng)程序和管理數(shù)據(jù)源。</

68、p><p>  驅(qū)動(dòng)程序管理器(Driver Manager)。驅(qū)動(dòng)程序管理器包含在ODBC32.DLL中,對(duì)用戶是透明的。其任務(wù)是管理ODBC驅(qū)動(dòng)程序,是ODBC中最重要的部件。</p><p> ?。?)ODBC API。</p><p> ?。?)ODBC 驅(qū)動(dòng)程序。是一些DLL,提供了ODBC和數(shù)據(jù)庫之間的接口。</p>

69、<p> ?。?)數(shù)據(jù)源。數(shù)據(jù)源包含了數(shù)據(jù)庫位置和數(shù)據(jù)庫類型等信息,實(shí)際上是一種數(shù)據(jù)連接的抽象。ODBC結(jié)構(gòu)圖如下:</p><p>  圖2.4 ODBC結(jié)構(gòu)圖</p><p>  2.4.3 VC++中使用ODBC的方法</p><p>  ODBC的程序設(shè)計(jì)是通過一組API函數(shù)來實(shí)現(xiàn)的。在VC++的MFC應(yīng)用程序中,可以直接利用這些API來組織

70、數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì)。直接利用ODBC的API函數(shù)進(jìn)行程序的開發(fā)工作相對(duì)比較復(fù)雜和難學(xué)。為了更方便地利開發(fā)數(shù)據(jù)庫應(yīng)用程序,在MFC中有封裝了幾個(gè)進(jìn)行數(shù)據(jù)庫操作的MFC類,在這些類中將一些ODBC的API函數(shù)封裝在一起,可以完成一些具體的操作功能,應(yīng)用這些MFC類可以更快更容易地完成數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì)。</p><p>  這兩種開發(fā)數(shù)據(jù)庫應(yīng)用程序的方法個(gè)有利弊,直接利用ODBC的API函數(shù)進(jìn)行數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì)

71、比較復(fù)雜,但可以靈活地實(shí)現(xiàn)各種功能;而使用MFC中的類進(jìn)行數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì)比較簡單易學(xué),但能夠?qū)崿F(xiàn)的功能固定在框架內(nèi),不能夠靈活地組織框架外的各種功能。采用哪種方法來完成數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì),主要針對(duì)具體的情況,對(duì)于實(shí)現(xiàn)一些固定數(shù)據(jù)庫結(jié)構(gòu)、固定功能的數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì)時(shí),應(yīng)用MFC類具有較大的優(yōu)勢;而對(duì)于需要對(duì)數(shù)據(jù)庫進(jìn)行更多的控制,需要?jiǎng)討B(tài)創(chuàng)建或維護(hù)數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì)時(shí),采用ODBC的API函數(shù)去組織應(yīng)用程序的設(shè)計(jì)更加合適。</

72、p><p><b>  3 程序設(shè)計(jì)</b></p><p>  3.1 程序設(shè)計(jì)總流程圖</p><p>  用Access建立數(shù)據(jù)庫并用ODBC與數(shù)據(jù)源相連接,把文件中的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,編程實(shí)現(xiàn)管理員及用戶的權(quán)限限制,編程實(shí)現(xiàn)數(shù)據(jù)庫的增加、刪除、查詢、更新等操作, 其程序框圖如下:</p><p>  圖 3.1 本設(shè)

73、計(jì)的總體框架流程圖</p><p>  3.2 Access數(shù)據(jù)庫的建立</p><p>  在用Visual C++ 產(chǎn)生一個(gè)數(shù)據(jù)庫應(yīng)用之前,需要首先創(chuàng)建一個(gè)數(shù)據(jù)源,即為創(chuàng)建的數(shù)據(jù)庫應(yīng)用程序組織要管理的數(shù)據(jù)庫,里面存放著數(shù)控切削參數(shù)的詳細(xì)信息。然后打開Microsoft Access 軟件先建立了一個(gè)Access的數(shù)據(jù)庫acad.mdb,在數(shù)據(jù)庫中有一個(gè)數(shù)據(jù)表,具體操作步驟請(qǐng)參考Acce

74、ss相關(guān)書籍。</p><p>  本畢設(shè)首先創(chuàng)建了進(jìn)給量數(shù)據(jù)庫,包括高速鋼端銑刀、圓柱銑刀和盤銑刀加工時(shí)的進(jìn)給量(半精銑)、高速鋼端銑刀、圓柱銑刀和盤銑刀加工時(shí)的進(jìn)給量(粗、銑)、高速鋼立銑刀、角銑刀、半圓銑刀、切槽銑刀和切斷銑刀加工鋼時(shí)的進(jìn)給量、高速鋼立銑刀在鋼料上銑槽時(shí)的進(jìn)給量、硬質(zhì)合金立銑刀加工平面和凸臺(tái)時(shí)的進(jìn)給量、硬質(zhì)合金面銑刀、圓柱銑刀和圓盤銑刀加工平面和凸臺(tái)時(shí)的進(jìn)給量(粗銑)、硬質(zhì)合金面銑刀、圓柱銑

75、刀和圓盤銑刀加工平面和凸臺(tái)時(shí)的進(jìn)給量(精銑)數(shù)據(jù)庫如下圖:</p><p>  圖3.3 進(jìn)給量庫</p><p>  然后創(chuàng)建了切削用量庫,切削用量庫包括YG6硬質(zhì)合金端銑刀銑削灰鑄鐵的切削用量、YT15硬質(zhì)合金端銑刀銑削碳鋼、鉻鋼和鎳鉻鋼的切削用量、高速鋼細(xì)齒圓柱銑刀銑削鋼料時(shí)的切削用量、高速鋼細(xì)齒圓柱銑刀銑削灰鑄鐵時(shí)的切削用量、高速鋼鑲齒圓柱銑刀銑削鋼料時(shí)的切削用量、高速鋼鑲齒圓柱

76、銑刀銑削灰鑄鐵時(shí)的切削用量、金剛石端銑刀端銑平面的切削用量、涂層硬質(zhì)合金銑刀的切削用量等。</p><p>  圖3.4 切削用量庫</p><p>  3.3 ODBC數(shù)據(jù)源的建立</p><p>  在VC++中利用ODBC進(jìn)行數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì)時(shí),需要首先創(chuàng)建ODBC數(shù)據(jù)庫引擎來連接要管理的數(shù)據(jù)庫,ODBC作為一個(gè)開放的標(biāo)準(zhǔn)數(shù)據(jù)庫應(yīng)用接口,可以與所有支持ODB

77、C的數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)庫建立聯(lián)系來存取和使用這些數(shù)據(jù)庫,這個(gè)聯(lián)系是通過創(chuàng)建一個(gè)連接這些數(shù)據(jù)庫的ODBC數(shù)據(jù)源來實(shí)現(xiàn)的。</p><p>  以下是創(chuàng)建Access的ODBC數(shù)據(jù)源的步驟:</p><p>  (1)在Windows X下運(yùn)行開始——>控制面板——>管理工具,在管理工具里找到“數(shù)據(jù)源ODBC”圖標(biāo)項(xiàng),雙擊該圖標(biāo),在進(jìn)入的操作界面中選擇“用戶DSN”標(biāo)簽。在“用戶數(shù)據(jù)

78、源”列表框中列出的是已經(jīng)創(chuàng)建的ODBC數(shù)據(jù)源。</p><p>  (2)如果要?jiǎng)?chuàng)建新的數(shù)據(jù)源,就選擇“添加”按鈕,彈出創(chuàng)“建新數(shù)據(jù)源”對(duì)話框。在這個(gè)界面中,需要選擇操作引擎,為了創(chuàng)建連接Access數(shù)據(jù)庫的ODBC數(shù)據(jù)源,需要在列表中選擇“Microsoft Access Driver(.mdb)”選項(xiàng),按“完成”按鈕,則進(jìn)入了ODBC Microsoft Access安裝對(duì)話框。</p><

79、;p>  (3)在ODBC Microsoft Access安裝對(duì)話框界面上,在數(shù)據(jù)源中輸入要安裝的數(shù)據(jù)源的名稱,也可以按“選擇”按鈕,從之前建立的Access數(shù)據(jù)庫acad.mdb所在的文件夾中進(jìn)行選取。然后輸入數(shù)據(jù)庫名稱,最后按“確定”退出對(duì)話框。此時(shí)Access數(shù)據(jù)庫就與ODBC連接上了。</p><p>  3.3.1 ODBC管理器</p><p>  可以應(yīng)用AppWiz

80、ard來建立一個(gè)ODBC(數(shù)控機(jī)床參數(shù)庫)的應(yīng)用程序框架,也可以直接使用ODBC來進(jìn)行數(shù)據(jù)庫編程,這時(shí),應(yīng)包括頭文件afxdb.h。</p><p>  應(yīng)用ODBC編程兩個(gè)最重要的類是CDatabase和CRecordSet,但在應(yīng)用程序中,不應(yīng)直接使用CRecordSet類,而必須從CRecordSet類產(chǎn)生一個(gè)導(dǎo)出類,并添加相應(yīng)于數(shù)據(jù)庫表中字段的成員變量。隨后,重載CRecordset類的成員函數(shù)DoFie

81、ldExchange,該函數(shù)通過使用RFX函數(shù)完成數(shù)據(jù)庫字段與記錄集域數(shù)據(jù)成員變量的數(shù)據(jù)交換,RFX函數(shù)同對(duì)話框數(shù)據(jù)交換(DDX)機(jī)制相類似,負(fù)責(zé)完成數(shù)據(jù)庫與成員變量間的數(shù)據(jù)交換。</p><p>  3.3.2 開放數(shù)據(jù)庫連接</p><p>  在CRecordSet類中定義了一個(gè)成員變量m_pDatabase:</p><p>  CDatabase *m_p

82、Database;</p><p>  它是指向?qū)ο髷?shù)據(jù)庫類的指針。如果在CRecordSet類對(duì)象調(diào)用Open()函數(shù)之前,將一個(gè)已經(jīng)打開的CDatabase類對(duì)象指針傳給m_pDatabase,就能共享相同的CDatabase類對(duì)象。如:</p><p>  CDatabase m_db;</p><p>  m_ db.Open(_T("Super

83、_ES")); // 建立ODBC連接</p><p>  m_ Set.GetRecordCount.m_pDatabase=&m_db; </p><p>  m_ Set.MoveFirst.m_pDatabse=&m_db; </p><p><b>  或者:</b></p><p>

84、  CDatabase db;</p><p>  db.Open(“Database”);  //建立ODBC連接</p><p>  CRecordSet m_Set(&db);  //構(gòu)造記錄集對(duì)象,使數(shù)據(jù)庫指向db</p><p>  3.4 數(shù)據(jù)源的連接</p><p>  3.4.1 ODBC應(yīng)用程序

85、接口</p><p>  ODBC API是一組標(biāo)準(zhǔn)的ODBC函數(shù)庫,除了一般的數(shù)據(jù)庫操作函數(shù)外,還包括一組函數(shù)(如SQLExec或SQLExecdirect)能夠內(nèi)嵌標(biāo)準(zhǔn)SQL查詢語句。SQL(Structured Query Language結(jié)構(gòu)化查詢語言)是一種存取關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,能夠定義、查詢、修改和控制數(shù)據(jù),簡單的語句能夠作用于整個(gè)數(shù)據(jù)表格,具有很強(qiáng)的功能。 同Wi

86、ndows 3.1 SDK中API類似,ODBC API也是基于句柄(handle)進(jìn)行操作的。API函數(shù)按功能可分為以下幾類:</p><p>  (1) 數(shù)據(jù)源連接函數(shù),設(shè)置/獲取有關(guān)信息的函數(shù);</p><p>  (2) 準(zhǔn)備/提交執(zhí)行SQL查詢語句的函數(shù)和獲得數(shù)據(jù)的函數(shù);</p><p>  (3) 終止函數(shù)和異常處理函數(shù)。&

87、lt;/p><p>  上述函數(shù)的順序也表示了進(jìn)行數(shù)據(jù)庫操作的一般順序。兩個(gè)問題需要特別說明,一是數(shù)據(jù)類型問題:數(shù)據(jù)源中的數(shù)據(jù)所具有的數(shù)據(jù)類型稱為SQL數(shù)據(jù)類型,這些數(shù)據(jù)類型在其數(shù)據(jù)源中可能比較特殊,不一定和ODBC SQL數(shù)據(jù)類型存儲(chǔ)方式一致,驅(qū)動(dòng)程序把這些數(shù)據(jù)類型同ODBC SQL數(shù)據(jù)類型進(jìn)行相互轉(zhuǎn)換,每一個(gè)ODBC SQL數(shù)據(jù)類型都相當(dāng)于一個(gè)ODBC C語言數(shù)據(jù)類型;二是

88、函數(shù)的調(diào)用級(jí)別問題,并不是每一個(gè)ODBC驅(qū)動(dòng)程序都支持所有的ODBC API函數(shù)調(diào)用,在應(yīng)用程序中,可以調(diào)用有關(guān)函數(shù)獲取驅(qū)動(dòng)程序以支持層次方面的信息。</p><p>  3.4.2 ODBC應(yīng)用編程 </p><p>  在Visual C++中,MFC (Microsoft Foundation Class基本類庫)是經(jīng)過對(duì)Window

89、s應(yīng)用程序中各個(gè)部件進(jìn)行類的抽象而建立的一組預(yù)定義的類,如窗口基類(CWnd)、各種窗口派生類等等,這些類在應(yīng)用程序中可直接使用,不需要重新定義。在MFC中,也為ODBC預(yù)定義了幾個(gè)類,其中主要的是數(shù)據(jù)庫類(CDatabase)和記錄集合類(CRecoredset)。這兩個(gè)類既有聯(lián)系又有區(qū)別,在應(yīng)用程序中,可以分別使用,也可以同時(shí)使用,每一類也可以同時(shí)存在多個(gè)對(duì)象。CDatabase的每一個(gè)對(duì)象代表了一個(gè)數(shù)據(jù)源的連接,CRecordse

90、t的每一個(gè)對(duì)象代表了從一 個(gè)數(shù)據(jù)表中按預(yù)定的查詢條件獲得的記錄的集合,一般說來,前者適宜于對(duì)數(shù)據(jù)源下的某個(gè)數(shù)據(jù)表格進(jìn)行整體操作,后者用于對(duì)所選的記錄集合進(jìn)行處理。</p><p>  同Windows類與SDK API 函數(shù)的關(guān)系一樣,CDatabase類與ODBC API函數(shù)也有類似的關(guān)系,但CDatabase類中并不包含所有的ODBC API函數(shù),大部分操作功能仍須直接

91、調(diào)用ODBC API函數(shù),如目錄功能函數(shù),用于獲得數(shù)據(jù)源下的數(shù)據(jù)表格信息,如表格名,字段名等。</p><p>  在應(yīng)用編程時(shí),一般使用CDatabase和CRecordset的派生類。假設(shè)派生類分別為CUserdb和CUserset,而在應(yīng)用類CUserClass中,使用了一個(gè)CUserdb對(duì)象(m_db)和一個(gè)Cuserset對(duì)象(m_recset)。</p><p>  

92、(1) m_db連接數(shù)據(jù)源</p><p>  m_db在完成定義構(gòu)造后,要調(diào)用CDatabase打開(Open)函數(shù)以進(jìn)行數(shù)據(jù)源的實(shí)際連接: m_db.Open(lpszDSN, bExclusive, bReadOnly, lpszConnect); 打開函數(shù)需要輸入四個(gè)參數(shù)。lpszDSN:要連接的數(shù)據(jù)源的名字,如果lpszDSN=NULL且lpszConnect中也沒有指明數(shù)

93、據(jù)源名,則該調(diào)用會(huì)自動(dòng)出現(xiàn)一個(gè)對(duì)話框列出所有可用的數(shù)據(jù)源(名),讓用戶選擇。bExclusive:只支持“假”(False)值,表示為共享(share)方式連接。因此,應(yīng)用程序在運(yùn)行前,一定要裝入share.exe或在Windows的system.ini中裝入vshare.386。ReadOnly:指明數(shù)據(jù)源操作方式是“只讀”還是可以修改。lpszConnect: 指明連接字符串,包括數(shù)據(jù)源名、用戶標(biāo)識(shí)碼、口令等信息。該字符串

94、必須以“ODBC;”開頭,表示該連接是與一個(gè)ODBC數(shù)據(jù)源的連接(考慮以后版本支持非ODBC數(shù)據(jù)源)。m_db打開后,其指針可以傳給m_recset作為其數(shù)據(jù)源。m_db關(guān)閉后,將關(guān)閉所有CRecordset對(duì)它的連接,m_db也可</p><p> ?。?) m_db操作數(shù)據(jù)</p><p>  數(shù)據(jù)源打開后,即可對(duì)數(shù)據(jù)庫文件中的數(shù)據(jù)表格進(jìn)行操作,操作以調(diào)用SQL語句方式進(jìn)行,可直接通過

95、ODBC API函數(shù),或者CDatabase類成員函數(shù)ExecuteSQL。數(shù)據(jù)表名在SQL語句中指定,如下語句則在所在的數(shù)據(jù)源中的clerk表中插入一個(gè)記錄,記錄的name字段值為"chen"。</p><p>  m_db.ExecuteSQL("insert into clerk(name) value(’chen’)"); &

96、lt;/p><p> ?。?) m-recset連接數(shù)據(jù)</p><p>  m-recset在構(gòu)造時(shí),可傳入一個(gè)CDatabase對(duì)象指針,作為m_recset的數(shù)據(jù)源,當(dāng)為NULL時(shí),必須重載CRecordset的函數(shù)GetDefaultConnect,以提供數(shù)據(jù)源連接字符串(相當(dāng)于m_db.Open中的lpszConnect)。如下則表示連接名為COMPANY的數(shù)據(jù)源(當(dāng)傳入了合法的CD

97、atabase對(duì)象指針時(shí),該函數(shù)將不被調(diào)用)。</p><p>  CString CUserset::GetDefaultConnect()</p><p><b>  {</b></p><p>  return"ODBC;DSN=COMPANY;";</p><p><b>

98、  }</b></p><p> ?。?) m_recset選取記錄和字段</p><p>  m_recset在調(diào)用打開函數(shù)時(shí),即獲得了符合條件的一組記錄,條件語句在Open函數(shù)中的lpszSQL中給出,如果lpszSQL為NULL,則必須重載CRecordset的函數(shù)以提供該語句。該語句是一個(gè)SELECT語句,帶或不帶where和order by子句(如果不帶,w

99、here和Order by的條件也可在CRecordset的兩個(gè)預(yù)定義成員變量m_strFilter和m_strSort中給出)。lpszSQL也可以只是一個(gè)數(shù)據(jù)表名(table_name),也可以是對(duì)內(nèi)嵌在數(shù)據(jù)庫文件中的查詢程序的調(diào)用語句。所選擇的一系列字段名,在成員函數(shù)DoFieldExchange中由一系列RFX-函數(shù)指定。RFX-(Record Field Exchange)函數(shù),使字段和成員變量一

100、一建立類型對(duì)應(yīng)關(guān)系。另外,m-strFilter中也可以帶變量參數(shù)(用"?"表示,如"fieldl>=? AND field2<=?"),參數(shù)與成員變量的對(duì)應(yīng)關(guān)系也在DoFieldExchange中由RFX-函數(shù)指定(串中的"?"將被參數(shù)變量值逐一替換)。</p><p>  void CUserset::DoF

101、ieldExchange(CFieldExchange* pFX)</p><p><b>  {</b></p><p>  pFX->SetFieldType(CFieldExchange::outputColumn);</p><p>  /*以下為字段連接 */ </p><p>  R

102、FX-???(pFX,"field1",m_var1);</p><p>  RFX-???(pFX,"field2",m_var2);</p><p>  RFX-???(pFX,"fieldn",m_varn);</p><p>  pFX->SetFieldType(CFieldExchange

103、::param);</p><p>  /*以下為參數(shù)連接*/</p><p>  RFX-???(pFX,field1,m_param1);</p><p>  RFX-???(pFX,field2,m_param2);</p><p><b>  }</b></p><p>  其中,???為

104、ODBC SQL數(shù)據(jù)類型名,如RFX_Double,RFX_Text等。</p><p>  綜合上述,選取記錄和字段實(shí)際是由下列語句完成:</p><p>  SELECT rfx-field-list FROM table-name[WHERE m-strFilter][ORDER BY m-strSort] 字段變

105、量和參數(shù)變量的個(gè)數(shù)一定要在調(diào)用打開函數(shù)前(如構(gòu)造函數(shù)中)準(zhǔn)確地賦值給成員變量m_nFields和m_nParams。m_recset在打開后的任何時(shí)候調(diào)用Requery()函數(shù),將根據(jù)新的查詢條件(例如修改了參數(shù)變量值)重新選取記錄。</p><p> ?。?)m_recset操作數(shù)據(jù)</p><p>  記錄集合生成后,其當(dāng)前記錄的各字段值被保存在前述的各字段變量中,如果調(diào)用CRecor

106、的滾動(dòng)(scroll)函數(shù),如MoveFirst(),MoveNext(),MovePrev(),MoveLast()等,字段變量的值將自動(dòng)跟隨“當(dāng)前”記錄的位置的變化而變化。IsBOF(),IsEOF()用于判別是否移動(dòng)到記錄的頭或尾。</p><p>  數(shù)據(jù)操作主要包括刪除(Delete),添加(AddNew)和更改(Edit),一般流程為:</p><p>  if(m_recse

107、t.CanUpdate()) /*是否允許修改*/</p><p><b>  {</b></p><p>  if (m_db.CanTransact()) /*是否支持“批”處理*/</p><p><b>  {</b></p><p>  m_db.BeginT

108、rans();</p><p>  m_recset.AddNew();</p><p>  /* 修改字段變量值 */</p><p><b>  . . . </b></p><p>  m_recset.Update();</p><p>  m_db

109、.CommitTrans();</p><p>  if(catch error)</p><p>  m_db.RollBack();</p><p><b>  }</b></p><p><b>  }</b></p><p>  對(duì)于AddNew和Edit,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論