自動(dòng)程序的設(shè)計(jì)說明_第1頁
自動(dòng)程序的設(shè)計(jì)說明_第2頁
自動(dòng)程序的設(shè)計(jì)說明_第3頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、自動(dòng)程序設(shè)計(jì)自動(dòng)程序設(shè)計(jì)的含義自動(dòng)程序設(shè)計(jì),是指采用自動(dòng)化的手段進(jìn)行程序設(shè)計(jì)的技術(shù)。后引申為采用自動(dòng)化手段進(jìn)行開發(fā)的技術(shù)和過程 。其目的是提高生產(chǎn)率和產(chǎn)品質(zhì)量,并且它在軟件工程、流水線控制等領(lǐng)域均有廣泛的運(yùn)用。自動(dòng)程序設(shè)計(jì)的含義按廣義和狹義,橫向和縱向,可以分成幾個(gè)類型。廣義含義按照廣義的理解,自動(dòng)程序設(shè)計(jì)是盡可能借助計(jì)算機(jī)系統(tǒng),尤指自動(dòng)的程序設(shè)計(jì)系統(tǒng)進(jìn)行工程開發(fā)的過程。這里的開發(fā)指的是,從問題的非形式描述,經(jīng)形式的軟件功能規(guī)格說明、設(shè)計(jì)規(guī)格說明,到可執(zhí)行的程序代碼、調(diào)試,及至確認(rèn)、交付使用的全過程。狹義含義按照狹義的理解,自動(dòng)程序設(shè)計(jì)指的是從形式的功能和規(guī)格的說明,到可執(zhí)行的程序代碼的這個(gè)過

2、程的自動(dòng)化 ??v向理解按縱向理解,低級的自動(dòng)化指從設(shè)計(jì)規(guī)格說明,到可執(zhí)行的程序代碼這一過程的自動(dòng)化,系統(tǒng)只是起到了程序員的作用;中級的自動(dòng)化指的是從除了設(shè)計(jì)還有功能的規(guī)格說明,到可執(zhí)行的程序代碼的過程的自動(dòng)化,系統(tǒng)除了起到程序人員的作用外,還起設(shè)計(jì)員、系統(tǒng)分析員的作用;高級的自動(dòng)化則解決了從非形式的描述到可執(zhí)行的代碼當(dāng)中整個(gè)過程的自動(dòng)化問題,系統(tǒng)除了起程序員、設(shè)計(jì)員、系統(tǒng)分析員的作用外,還起到了領(lǐng)域?qū)?家的部分作用。橫向理解按橫向理解,在上述各種縱向理解級別上 ,根據(jù)人工干預(yù)的程度,又可區(qū)分各種不同 的自動(dòng)化級別。自動(dòng)程序設(shè)計(jì)的任務(wù)是設(shè)計(jì)一個(gè)程序系統(tǒng),它接受關(guān)于所設(shè)計(jì)的程序要求實(shí)現(xiàn)某個(gè)目標(biāo)非常

3、高級描述作為其輸入 ,然后自動(dòng)生成一個(gè)能完成這個(gè)目標(biāo)的具體程序。在某種意義上說,編譯程序?qū)嶋H上就是去做自動(dòng)程序設(shè)計(jì)”的工作。編譯程序是接受一段有關(guān)干某件事情的源碼說明 (源程序),然后轉(zhuǎn)換成一個(gè)目標(biāo)碼 (目的程序)程序去完成這件事情。 而這里所說的自動(dòng)程序設(shè)計(jì)相當(dāng)于一種超級編譯程序”,它要求能對高級描述進(jìn)行處理 ,通過規(guī)劃過程,生成的到所需的程序 。因而自動(dòng)程序設(shè)計(jì)所涉及的基本問題與定理證明和 機(jī)器人學(xué)有關(guān),要用到人工智能的方法來實(shí)現(xiàn),它也是軟件工程和人工智能相接合的課題。自動(dòng)程序設(shè)計(jì)的關(guān)鍵技術(shù)從關(guān)鍵技術(shù)來看,自動(dòng)程序設(shè)計(jì)的實(shí)現(xiàn)途徑可歸結(jié)為演繹綜合、程序轉(zhuǎn)換、實(shí)例推廣,以及過程實(shí)現(xiàn)等4種。 演

4、繹綜合。其理論基礎(chǔ)是,數(shù)學(xué)定理的構(gòu)造式證明可等價(jià)于程序推導(dǎo)。對要生成的程序,用戶給出它的輸入、輸出數(shù)據(jù)必須滿足的條件,條件以某種形式語言(如謂詞演算)陳述。對于所有這些滿足條件的輸入,要求定理證明程序證明存在一個(gè)滿足輸出條件的輸出,從該證明中析取出所欲生成的程序。這一途徑的優(yōu)點(diǎn)是理論基礎(chǔ)堅(jiān)實(shí),但迄今只析取出一些較小的樣例,較難用于較大規(guī)模的程序 。 程序轉(zhuǎn)換。將一規(guī)格說明或程序轉(zhuǎn)換成另一功能等價(jià)的規(guī)格說明或程序。從抽象級別的異同來看,可區(qū)分縱向轉(zhuǎn)換與橫向轉(zhuǎn)換。前者是由抽象級別較高的規(guī)格說明或程序轉(zhuǎn)換成與之功能等價(jià)的抽象級別較低的規(guī)格說明或程序;后者是在相同抽象級別上的規(guī)格說明或程序間的功能等價(jià)

5、轉(zhuǎn)換 。 實(shí)例推廣。借助反映程序行為的實(shí)例來構(gòu)作程序,一般有兩種方法。一種是輸入/輸出對法:借助給出一組輸入/輸出對,逐步導(dǎo)出適用于一類問題的程序。另一種是部分程序軌跡法:通過所給實(shí)例的運(yùn)行軌跡 ,逐步導(dǎo)出程序。這一途徑的思想誘人,為用戶稱道, 但欲歸納出一定規(guī)模的程序,難度頗大。 過程實(shí)現(xiàn)。在對應(yīng)規(guī)格說明中的各個(gè)成分,其轉(zhuǎn)換目標(biāo)的相應(yīng)成分明確,而且相應(yīng)的轉(zhuǎn)換映射也明確的前提下,該映射可借助過程實(shí)現(xiàn)。目前一般采取設(shè)計(jì)甚高級語言(如SETL),其中含有全稱量詞,存在量詞等,以便于書寫軟件設(shè)計(jì)規(guī)格說明的成分。但是,SETL本身還不能算是功能規(guī)格說明語言,不能算是功能性語言。這一途徑的實(shí)現(xiàn)效率較高,

6、困難點(diǎn)在于從非算法性成分到算法性成分的轉(zhuǎn)換。因此,迄今采用這一途徑的系統(tǒng)一般自動(dòng)化程度不高,很難實(shí)現(xiàn)從功能規(guī)格說明到可執(zhí)行的程序代碼的自動(dòng)轉(zhuǎn)換。此外,其關(guān)鍵的技術(shù)還包括了程序綜合,程序驗(yàn)證,以及對程序調(diào)試的概念的推廣。程序綜合指的是自動(dòng)編出的一份程序來獲得某種指定結(jié)果的任務(wù),程序驗(yàn)證指論證一份給定的程序?qū)@得某種指定結(jié)果的任務(wù)兩者是緊密相關(guān)的,許多自動(dòng)程序設(shè)計(jì)系統(tǒng)將產(chǎn)生一份輸出程序的驗(yàn)證作為額外的收益。把程序調(diào)試的概念推廣到作為問題求解的策略,是自動(dòng)程序設(shè)計(jì)研究的一項(xiàng)重要內(nèi)容。實(shí)踐已顯示出,對與程序設(shè)計(jì)或機(jī)器人的控制的問題,先產(chǎn)生一個(gè)代價(jià)不太高的有錯(cuò)誤的解,然后再進(jìn)行修改的作法,要比堅(jiān)持要求第

7、一次得到的解就完全沒有缺陷的作法,通常效率要高的多。自動(dòng)程序設(shè)計(jì)的內(nèi)容在計(jì)算機(jī)技術(shù)發(fā)展初期 ,編譯程序的出現(xiàn)被認(rèn)為是自動(dòng)程序設(shè)計(jì)方面的一大進(jìn)展。1956年,美國國際商業(yè)機(jī)器公司(IBM)建立的第一個(gè)編譯程序 FORTRAN就曾被稱為自動(dòng)程 序設(shè)計(jì)系統(tǒng)。隨著技術(shù)的進(jìn)步,自動(dòng)程序設(shè)計(jì)的內(nèi)容在不斷變化。已建立的實(shí)驗(yàn)系統(tǒng)包括規(guī)格說明、目標(biāo)語言、問題范圍和采用方法四方面基本內(nèi)容。規(guī)格說明解決的問題是:以某種方式告知計(jì)算機(jī),所需要的是什么樣的程序,要求這 一程序做什么。提交規(guī)格說明的方式有如下三種。 形式規(guī)格說明:可以認(rèn)為是由一種超高級的程序語言書寫的文件。這種語言的語法和語義是精確的、無歧義的,精確而完

8、全地指出程序所要做的工作 。一般形式規(guī)格說明通 常不采用人-機(jī)交互對話方式,個(gè)別系統(tǒng)也有例外。 示例陳述:試圖通過足夠多的例子表明某一程序所要做的工作。系統(tǒng)根據(jù)這些例子自動(dòng)構(gòu)造出符合這些要求的程序 。陳述中可包括程序的輸入 -輸出性能,也可包括程序?qū)?某一輸入的處理軌跡。這種方法還存在不少困難,方法很少是完備的。因?yàn)閮H僅通過若干 個(gè)例子,并不能充分描述在所有情況下程序的性態(tài) 。 自然語言:用戶使用自然語言陳述程序要做的工作。這種方法常采用交互對話方式。目標(biāo)語言自動(dòng)程序設(shè)計(jì)系統(tǒng)用以表示最后構(gòu)造成的程序的語言。有一些系統(tǒng)往往采用如LISP、PL/I、GPSS等高級語言作為目標(biāo)語言 。問題范圍所欲生

9、成的程序應(yīng)用的范圍。例如NLPQ系統(tǒng)處理的問題都是有關(guān)排隊(duì)方面的程序;PSI系統(tǒng)處理的則是有關(guān)符號計(jì)算(包括表處理、搜索和排列、數(shù)據(jù)的存放和檢索等)。問題范圍與規(guī)格說明有關(guān),并對系統(tǒng)采用的方法有很大影響。采用方法各種實(shí)驗(yàn)系統(tǒng)采用的方法不盡一致,可歸納為下列幾個(gè)方面。 定理證明:對要生成的程序,用戶給出它的輸入、輸出數(shù)據(jù)必須滿足的條件。條件以某種形式語言 (如謂詞演算)陳述。對于所有這些滿足條件的輸入,要求定理證明程序給出證明,即證明存在一個(gè)滿足輸出條件的輸出,從該證明中析取出所欲生成的程序。 程序轉(zhuǎn)換:研究如何將某一程序的規(guī)格說明或描述等價(jià)轉(zhuǎn)換為另一種描述。轉(zhuǎn)換的目的是將一個(gè)用超高級語言(容易

10、寫)的程序,轉(zhuǎn)換為用低級(易于實(shí)現(xiàn))的語言表示的程序。 知識工程:這種方法同樣適用于自動(dòng)程序設(shè)計(jì)以外的人工智能的許多應(yīng)用范圍。它涉及到知識識別和編碼問題,通常是指將一些有關(guān)的知識以一種特殊的規(guī)則形式的數(shù)據(jù)結(jié)構(gòu)加以表示,以便加入知識庫或從知識庫中撤除。 傳統(tǒng)的問題求解方法:應(yīng)用人工智能的一般方法以目標(biāo)為指導(dǎo)來選擇和應(yīng)用一系列 算子。在自動(dòng)程序設(shè)計(jì)方面已有一些不同的實(shí)驗(yàn)性的系統(tǒng)。例如,NLPQ是第一個(gè)使用自然語言對話的系統(tǒng),它可以解答用戶提出的有關(guān)排隊(duì)模擬等方面的問題。PSI系統(tǒng)包括一些子系統(tǒng),它強(qiáng)調(diào)將不同的進(jìn)程和知識來源整體化,應(yīng)用范圍為符號程序設(shè)計(jì)(非數(shù)值)。DEDALUS系統(tǒng)要求用戶一開始就

11、給出有關(guān)所需程序的完備描述。系統(tǒng)從一個(gè)擁有許多轉(zhuǎn)換規(guī)則的知識庫中,重復(fù)使用這些規(guī)則,產(chǎn)生一系列描述,直至最后生成目標(biāo)程序。自動(dòng)編程的含義與內(nèi)容自動(dòng)編程是相對與手動(dòng)編程而言的。它是利用計(jì)算機(jī)專用軟件來編制數(shù)控加工程序。編程人員只需根據(jù)零件圖樣的要求,使用數(shù)控語言,由計(jì)算機(jī)自動(dòng)地進(jìn)行數(shù)值計(jì)算及后置處理,編寫出零件加工程序單,加工程序通過直接通信的方式送入數(shù)控機(jī)床,指揮機(jī)床工作。自動(dòng)編程使得一些計(jì)算繁瑣 、手工編程困難或無法編出的程序能夠順利地完成。與手工編程相區(qū)別,自動(dòng)編程使用 CAD軟件制作零件或產(chǎn)品模型,再利用軟件的CAM功能生成數(shù)控加工程序,稱為自動(dòng)編程。在數(shù)控編程方面,數(shù)控編程是指從零件圖

12、紙到獲得合格的數(shù)控加工程序的過程,主要內(nèi)容包括:分析零件圖樣、確定加工工藝過程、數(shù)學(xué)處理、編寫零件加工程序、輸入數(shù)控 系統(tǒng)、程序檢驗(yàn)及首件試切。根據(jù)問題復(fù)雜程度的不同 ,數(shù)控加工程序可通過手工編程或 計(jì)算機(jī)自動(dòng)編程來獲得。目前計(jì)算機(jī)自動(dòng)編程采用圖形交互式自動(dòng)編程,即計(jì)算機(jī)輔助編程。這種自動(dòng)編程系 統(tǒng)是CAD(計(jì)算機(jī)輔助設(shè)計(jì))與CAM(計(jì)算機(jī)輔助制造)高度結(jié)合的自動(dòng)編程系統(tǒng) ,通常稱為 CAD/CAM 系統(tǒng)。為適應(yīng)復(fù)雜形狀零件的加工、多軸加工、高速加工,一般CAD/CAM 系統(tǒng)所要涉及的 方面有:1、零件的幾何建模對于基于圖紙以及型面特征點(diǎn)測量數(shù)據(jù)的復(fù)雜形狀零件數(shù)控編程,其首要環(huán)節(jié)是建立被加工零

13、件的幾何模型。2、加工方案與加工參數(shù)的合理選擇數(shù)控加工的效率與質(zhì)量有賴于加工方案與加工參數(shù)的合理選擇,其中刀具、刀軸控制方式、走刀路線和進(jìn)給速度的優(yōu)化選擇是滿足加工要求、機(jī)床正常運(yùn)行和刀具壽命的前提。3、刀具軌跡生成刀具軌跡生成是復(fù)雜形狀零件數(shù)控加工中最重要的內(nèi)容,能否生成有效的刀具軌跡直接決定了加工的可能性、質(zhì)量與效率。刀具軌跡生成的首要目標(biāo)是使所生成的刀具軌跡能 滿足無干涉、無碰撞、軌跡光滑、切削負(fù)荷光滑并滿足要求、代碼質(zhì)量高。同時(shí),刀具軌 跡生成還應(yīng)滿足通用性好、穩(wěn)定性好、編程效率高、代碼量小等條件。4、數(shù)控加工仿真由于零件形狀的復(fù)雜多變以及加工環(huán)境的復(fù)雜性,要確保所生成的加工程序不存在

14、任何問題十分困難,其中最主要的是加工過程中的過切與欠切、機(jī)床各部件之間的干涉碰撞等。對于高速加工,這些問題常常是致命的。因此,實(shí)際加工前采取一定的措施對加工程 序進(jìn)行檢驗(yàn)并修正是十分必要的。數(shù)控加工仿真通過軟件模擬加工環(huán)境、刀具路徑與材料切除過程來檢驗(yàn)并優(yōu)化加工程序,具有柔性好、成本低、效率高且安全可靠等特點(diǎn),是提高編程效率與質(zhì)量的重要措施。5、后置處理后置處理是數(shù)控加工編程技術(shù)的一個(gè)重要內(nèi)容,它將通用前置處理生成的刀位數(shù)據(jù)轉(zhuǎn)換成適合于具體機(jī)床數(shù)據(jù)的數(shù)控加工程序。其技術(shù)內(nèi)容包括機(jī)床運(yùn)動(dòng)學(xué)建模與求解、機(jī)床結(jié)構(gòu)誤差補(bǔ)償、機(jī)床運(yùn)動(dòng)非線性誤差校核修正、機(jī)床運(yùn)動(dòng)的平穩(wěn)性校核修正、進(jìn)給速度校核修正及代碼轉(zhuǎn)

15、換等。因此后置處理對于保證加工質(zhì)量、效率與機(jī)床可靠運(yùn)行具有重要作 用。與手工編程相比,自動(dòng)編程具有的主要特點(diǎn)包括了具有強(qiáng)大的數(shù)學(xué)處理能力,能快速和自動(dòng)地生成數(shù)控程序,具備靈活的后置處理程序,具有較強(qiáng)的自檢、糾錯(cuò)能力,以及便 于實(shí)現(xiàn)與數(shù)控系統(tǒng)的通訊等 。交互式圖形自動(dòng)編程系統(tǒng)的原理交互式圖形自動(dòng)編程系統(tǒng)采用圖形輸入方式,通過激活屏幕上的相應(yīng)菜單,利用系統(tǒng)提供的圖形生成和編輯功能,將零件的幾何圖形繪制到計(jì)算機(jī)上,完成零件造型。同時(shí)以人機(jī)交互方式指定要加工的零件部位,加工方式和加工方向,輸入相應(yīng)的加工工藝參數(shù),通過軟件系統(tǒng)的處理自動(dòng)生成刀具路徑文件,并動(dòng)態(tài)顯示刀具運(yùn)動(dòng)的加工軌跡,最終生成適合指定數(shù)控

16、系統(tǒng)的數(shù)控加工程序。并通過通訊接口 ,把數(shù)控加工程序送給機(jī)床數(shù)控系統(tǒng)完成加工。這種編程系統(tǒng)具有交互性好,直觀性強(qiáng),運(yùn)行速度快,便于修改和檢查,使用方便,容易掌握等特點(diǎn)。因此交互式圖形自動(dòng)編程軟件已成為國內(nèi)外流行的CAD/CAM 軟件所普遍采用的數(shù)控編程方法。在交互式圖形自動(dòng)編程系統(tǒng)中,需要輸入二種數(shù)據(jù)以產(chǎn)生數(shù)控加工程序:零件幾何模型數(shù)據(jù)和切削加工工藝數(shù)據(jù)。交互式圖形自動(dòng)編程系統(tǒng)實(shí)現(xiàn)了從圖樣-模型-數(shù)控編程和加工的一體化,它的三個(gè)主要處理過程是:零件幾何造型、生 成刀具路徑文件、生成零件加工程序。1零件幾何造型交互式圖形自動(dòng)編程系統(tǒng)(CAD/CAM ),可通過三種方法獲取和建立零件幾何模型:軟件

17、本身提供的 CAD設(shè)計(jì)模塊;其他可轉(zhuǎn)換的CAD/CAM系統(tǒng)生成的圖形;三坐標(biāo)測 量機(jī)數(shù)據(jù)或三維多層掃描數(shù)據(jù)。2生成刀具路徑在完成了零件的幾何造型以后,交互式圖形自動(dòng)編程系統(tǒng)第二步要完成的是產(chǎn)生刀具路徑。其基本過程為:首先確定加工類型(輪廓、點(diǎn)位、挖槽或曲面加工),用光標(biāo)選擇加工部位,選擇走 刀路線或切削方式。選取或輸入刀具類型、刀號、刀具直徑、刀具補(bǔ)償號、加工裕留量、 進(jìn)給速度、主軸轉(zhuǎn)速、退刀安全高度、粗精切削次數(shù)及余量、刀具半徑長度補(bǔ)償狀況、進(jìn) 退刀延伸線值等加工所需的全全部工藝切削參數(shù)。軟件系統(tǒng)根據(jù)這些零件幾何模型數(shù)據(jù)和切削加工工藝數(shù)據(jù),經(jīng)過分析、計(jì)算、處理,生成刀具運(yùn)動(dòng)軌跡數(shù)據(jù),即刀位文

18、件CLF(Cut Location File),并動(dòng)態(tài)顯示刀具運(yùn)動(dòng)的加工軌跡。刀位文件與采用哪一種特定的數(shù) 控機(jī)床無關(guān),是一個(gè)中性文件,因此通常稱產(chǎn)生刀具路徑的過為前程為前置處理。3后置處理后置處理的目的是生成針對某一特定數(shù)控系統(tǒng)的數(shù)控加工程序。由于各種機(jī)床使用的數(shù)控系統(tǒng)各不相同,例如有FANUC,SIEMENS,AB,GE等系統(tǒng),每一種數(shù)控系統(tǒng)所規(guī)定的代 碼及格式不盡相同,為此,自動(dòng)編程軟件系統(tǒng)通常提供多種專用的或通用的后置處理文 件,這些后置處理文件的作用是將已生成的刀位文件轉(zhuǎn)變成合適的數(shù)控加工程序。早期的后置處理文件是不開放的,使用者無法修改。目前絕大多數(shù)優(yōu)秀的 CAD/CAM軟件提供開 放式的通用后置處理文件 。使用者可以根據(jù)自己的需要打開文件,按照希望輸出的數(shù)控加工程序格式,修改文件中相關(guān)的內(nèi)容 。這種通用后置處理文件,只要稍加修改,就能滿足 多種數(shù)控系統(tǒng)的要求。通常自動(dòng)編程系統(tǒng)還會提供計(jì)算機(jī)與數(shù)控機(jī)床之間數(shù)控加工程序的通訊傳輸。通過RS232通訊接口,可以實(shí)現(xiàn)計(jì)算機(jī)與數(shù)控機(jī)床之間 NC程序的雙向傳輸 (接受,發(fā)送和終端 模擬),可以設(shè)置NC程序格式(ASCH ,EIA,BIN ),通

溫馨提示

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

評論

0/150

提交評論