第一篇:編程感想
編程感想
從C學(xué)到C++,就是從面向過程到對象,又從C++到JAVA,就是從靜態(tài)語言到動態(tài)語言。編程語言的學(xué)習(xí)無怪乎多寫代碼,多參考,多了解,那些所謂的牛人,又有多牛呢 ? 我想開始時(shí)也跟我們剛學(xué)時(shí)一樣,但人家堅(jiān)持住了,所以被牛了!編程要養(yǎng)成好的習(xí)慣!
下面是我在一篇博文上看到的,很受用,與大家分享 態(tài)度篇
1.做實(shí)事 不要抱怨,發(fā)牢騷,指責(zé)他人,找出問題所在,想辦法解決。對問題和錯(cuò)誤,要勇于承擔(dān)。
2.欲速則不達(dá) 用小聰明、權(quán)宜之計(jì)解決問題,求快而不顧代碼質(zhì)量,會給項(xiàng)目留下要命的死角。
3.對事不對人 就事論事,明智、真誠、虛心地討論問題,提出創(chuàng)新方案。4.排除萬難,奮勇前進(jìn) 勇氣往往是克服困難的唯一方法。學(xué)習(xí)篇
5.跟蹤變化 新技術(shù)層出不窮并不可怕。堅(jiān)持學(xué)習(xí)新技術(shù),讀書,讀技術(shù)雜志,參加技術(shù)活動,與人交流。要多理解新詞背后的所以然,把握技術(shù)大趨勢,將新技術(shù)用于產(chǎn)品開發(fā)要謹(jǐn)慎。
6.對團(tuán)隊(duì)投資打造學(xué)習(xí)型團(tuán)隊(duì),不斷提高兄弟們的平均水平。7.懂得丟棄 老的套路和技術(shù),該丟,就得丟。不要固步自封。
8.打破砂鍋問到底 不斷追問,真正搞懂問題的本質(zhì)。為什么?應(yīng)該成為你的口頭禪。9.把握開發(fā)節(jié)奏 控制好時(shí)間,養(yǎng)成好習(xí)慣,不要加班。開發(fā)流程篇
10.讓客戶做決定 讓用戶在現(xiàn)場,傾聽他們的聲音,對業(yè)務(wù)最重要的決策應(yīng)該讓他們說了算。
11.讓設(shè)計(jì)指導(dǎo)而不是操縱開發(fā) 設(shè)計(jì)是前進(jìn)的地圖,它指引的是方向,而不是目的本身。設(shè)計(jì)的詳略程度應(yīng)該適當(dāng)。
12.合理地使用技術(shù) 根據(jù)需要而不是其他因素選擇技術(shù)。對各種技術(shù)方案進(jìn)行嚴(yán)格地追問,真誠面對各種問題。
13.讓應(yīng)用隨時(shí)都可以發(fā)布 通過善用持續(xù)集成和版本管理,你應(yīng)該隨時(shí)都能夠編譯、運(yùn)行甚至部署應(yīng)用。
14.提早集成,頻繁集成 集成有風(fēng)險(xiǎn),要盡早盡量多地集成。15.提早實(shí)現(xiàn)自動化部署 16.使用演示獲得頻繁反饋 17.使用短迭代,增量發(fā)布
18.固定價(jià)格就意味著背叛承諾 估算應(yīng)該基于實(shí)際的工作不斷變化。用戶篇 19.守護(hù)天使 自動化單元測試是你的守護(hù)天使。20.先用它再實(shí)現(xiàn)它 測試驅(qū)動開發(fā)其實(shí)是一種設(shè)計(jì)工具。21.不同環(huán)境,就有不同問題 要重視多平臺問題。22.自動驗(yàn)收測試
23.度量真實(shí)的進(jìn)度 在工作量估算上,不要自欺欺人。24.傾聽用戶的聲音 每一聲抱怨都隱藏著寶貴的真理。編程篇
25.代碼要清晰地表達(dá)意圖
代碼是給人讀的,不要耍小聰明。26.用代碼溝通 注釋的藝術(shù)。
27.動態(tài)地進(jìn)行取舍 記住,沒有最佳解決方案。各種目標(biāo)不可能面面俱到,關(guān)注對用戶重要的需求。
28.增量式編程 寫一點(diǎn)代碼就構(gòu)建、測試、重構(gòu)、休息。讓代碼干凈利落。
29.盡量簡單 寧簡勿繁。如果沒有充足的理由,就不要使用什么模式、原則和特別的技術(shù)。30.編寫內(nèi)聚的代碼 類和組件應(yīng)該足夠小,任務(wù)單一。31.告知,不要詢問 多用消息傳遞,少用函數(shù)調(diào)用。32.根據(jù)契約進(jìn)行替換 委托往往優(yōu)于繼承。調(diào)試篇
33.記錄問題解決日志)不要在同一地方摔倒兩次。錯(cuò)誤是最寶貴的財(cái)富。34.警告就是錯(cuò)誤 忽視編譯器的警告可能鑄成大錯(cuò)。
35.對問題各個(gè)擊破
分而治之是計(jì)算機(jī)科學(xué)中最重要的思想之一。但是,要從設(shè)計(jì)和原型階段就考慮各部分應(yīng)該能夠很好地分離。
36.報(bào)告所有的異常 37.提供有用的錯(cuò)誤信息
稍微多花一點(diǎn)心思,出錯(cuò)的時(shí)候,將給你帶來極大便利。團(tuán)隊(duì)協(xié)作篇
38.定期安排會面時(shí)間 常開會,開短會。
39.架構(gòu)師必須寫代碼
不寫代碼的架構(gòu)師不是好架構(gòu)師。好的設(shè)計(jì)都來自實(shí)際編程。編程可以帶來深入的理解。
40.實(shí)行代碼集體所有制 讓開發(fā)人員在系統(tǒng)不同區(qū)域中不同的模塊和任務(wù)之間輪崗。41.成為指導(dǎo)者 教學(xué)相長。分享能提高團(tuán)隊(duì)的總體能力。
42.讓大家自己想辦法
指引方向,而不是直接提供解決方案。讓每個(gè)人都有機(jī)會在干中學(xué)習(xí)。
43.準(zhǔn)備好后再共享代碼 不要提交無法編譯或者沒有通過單元測試的代碼!44.做代碼復(fù)查 復(fù)查對提高代碼質(zhì)量、減少錯(cuò)誤極為重要。45.及時(shí)通報(bào)進(jìn)展與問題
主動通報(bào),不要讓別人來問你。
第二篇:編程大賽感想
(本人技術(shù)一般,所寫只為給新人介紹一下西工大acm如何入門,大牛請無視本貼)
ACM競賽作為大學(xué)階段計(jì)算機(jī)學(xué)生的最高榮譽(yù)在咱學(xué)校竟然不受重視,也沒人提起,讓那些高中轉(zhuǎn)戰(zhàn)NOIP,IOI的同學(xué)寒心不已。其實(shí)我們學(xué)校成績還是可以的,前年就獲得了合肥賽區(qū)的第二名,當(dāng)然由與高手都在其它賽區(qū),沒有參加決賽的資格,但也說明了只要我們努力就能有成果。但由于其獲獎難度極高,我們學(xué)校幾乎是破罐子破摔,根本就不管事。其實(shí)是學(xué)校的這種心態(tài)造成大量潛在人才由于不知道相關(guān)信息而大學(xué)四年庸庸碌碌迷失方向,所以我來說說吧。(如果想簡單地保研的話就去機(jī)器人吧,進(jìn)了70%國家一等獎,直接保研資格哦)當(dāng)然想成為高手,想提升自己的能力就參加ACM吧。首先說下參加ACM比賽好處,以及與其它課程的關(guān)系: 很多人都說ACM考察面太窄了只是算法罷了,像操作系統(tǒng),編譯原理,網(wǎng)絡(luò),嵌入式等等都沒考察。
其實(shí)當(dāng)你成為ACM高手的時(shí)候會發(fā)現(xiàn)這些課的重點(diǎn)難點(diǎn)用的算法你都已經(jīng)知道了,你再學(xué)這些東西就像看小人書一樣了,你會覺得如果讓你去做這些東西你也會這么設(shè)計(jì)甚至還能加以優(yōu)化。比如內(nèi)存分配管理其實(shí)就是排序算法的應(yīng)用而已,PV操作就是設(shè)置標(biāo)志的小技巧而已,編譯原理就是字符串處理而已,路由器的相關(guān)算法就是圖論里的東東而已。。因?yàn)樗惴ㄊ呛诵?,其它那些只是算法在具體環(huán)境下的特定應(yīng)用罷了。如果說那些東西是套路,那么算法就是內(nèi)功,而ACM比賽就是內(nèi)功的檢驗(yàn)場,你通過了說明你的任督二脈已經(jīng)打通,你已可縱橫天下了。此時(shí)你已成為世界各高校爭相搶奪的人才了。就算沒有進(jìn)入決賽但內(nèi)功強(qiáng)了干啥都順手。從本科生階段到博士生階段的的各種面試筆試機(jī)試全逃不出acm考察的圈圈。因?yàn)殡y所以價(jià)值極高!
對于找工作來說,百度騰訊網(wǎng)易google每年都有類似于ACM的競賽,初賽大概都在五月份到六月份進(jìn)行。只要進(jìn)入決賽去他們公司找工作都不用簡歷,直接走綠色通道的哦~你奪得名次后這些公司的崗位就任你挑了,不用簡歷不用面試,求你到他們公司去!
想想看吧:你不用向各大公司投簡歷,而是各大公司像你投他們公司的簡歷了,然后你看都不看把它們都丟到垃圾桶里去?。ㄎ視r(shí)常就在幻想這樣的牛人待遇啊,現(xiàn)在已經(jīng)大四了悔之晚矣,希望大一的同學(xué)努力?。?/p>
再說高數(shù),物理等科目。其實(shí)與算法真的沒什么關(guān)系。一旦模擬信號變成了離散信號就是算法的天下了,與之相關(guān)的數(shù)學(xué)是組合數(shù)學(xué)(研究生階段才開,我認(rèn)為應(yīng)該大一就開)。主要是為了我們今后的計(jì)算機(jī)應(yīng)用,比如各種物理數(shù)據(jù)的采集處理,物理電路的設(shè)計(jì)仿真等等,這些都屬于計(jì)算機(jī)應(yīng)用范疇,我們學(xué)校其實(shí)沒有計(jì)算機(jī)科學(xué)專業(yè),有的只是計(jì)算機(jī)應(yīng)用與技術(shù)專業(yè)。有志去1,3系的同學(xué)好好學(xué)高數(shù),復(fù)變,信號與系統(tǒng)這些課吧。當(dāng)然高數(shù)等是常識性知識,不能不知道,這么簡單的東西都學(xué)不好就不要搞acm了。接著講正題:
本人剛來時(shí)由于不知道如何進(jìn)校隊(duì)而浪費(fèi)大量時(shí)間,學(xué)校信息也較為閉塞,到了大三參加了一次也是草草收場,所以希望更多有志的同學(xué)早些知道些信息少走彎路。咱學(xué)校進(jìn)校隊(duì)其實(shí)非常簡單,有兩條路:
第一條路:在學(xué)校舉行選拔的時(shí)候去參加選拔賽。這個(gè)要特別留心,很多陰險(xiǎn)的人看了通知后就把通知扯掉的(當(dāng)年親眼目睹。。),一定要多留心。
第二條路:把usaco前五章的題目做完你就直接去找王琪老師就可以進(jìn)校隊(duì)了。王琪老師會上離散數(shù)學(xué)和算法分析課,大家留心下。王老師水平不咋樣但人還是很好的,會盡力幫你的哦。ACM競賽與其它競賽的區(qū)別就是學(xué)生一定比老師強(qiáng),強(qiáng)很多?。ú幌裨蹖W(xué)校的那些所謂的強(qiáng)項(xiàng)競賽,哼哼)
第二條路顯然是我們的最好選擇。因?yàn)橐坏┠阕鐾炅饲拔逭骂}目什么選拔賽早已不在話下了。usaco是美國的程序設(shè)計(jì)訓(xùn)練站,剛開始英語看不懂的話就去nocow看翻譯。acm的題目都是英文的,所以最好看英文的。(學(xué)計(jì)算機(jī)英語極為重要,這東西幾乎是美國一家弄出來的沒辦法)。這個(gè)站的特點(diǎn)是題目按學(xué)習(xí)進(jìn)程一步步安排,從最簡單的講起,對各種算法分別介紹,題目循序漸進(jìn)的出現(xiàn)。不像其它OnlineJudge一開始就讓你面對雜亂無章的一對題目。一開始你只能做幾道題,只有你做完了這幾題之后才能解鎖后續(xù)的題目。做這套題目還有一個(gè)好處就是做過這套題的人特別多,相關(guān)分析講解到處都是,相當(dāng)于有一位經(jīng)驗(yàn)豐富的老師給你指引了。
當(dāng)然做完這套題是很不容易的,用一年時(shí)間攻克它吧。如果光看書不做題是絕對不行的,要邊做題邊看書。你會感到強(qiáng)烈的對知識的渴求,而且在應(yīng)用中你會牢牢記住書上的東西并透徹地了解他們。
首先是語言基礎(chǔ),先把C語言弄熟來(高中用過PASCLE學(xué)C一樣很快的)。C語言書用譚浩強(qiáng)的就可以了,我們的目標(biāo)只要會用這門語言即可,此階段會寫冒泡排序,斐波那契數(shù)列的遞歸法,八皇后,約瑟夫問題(數(shù)組版和鏈表版,有興趣看看數(shù)學(xué)公式版)即可。然后找一本簡單數(shù)據(jù)結(jié)構(gòu)書看一下(一般都用嚴(yán)蔚敏寫的),先把前四章看下,代星星的以及樹和圖以后做題時(shí)一塊看。接著學(xué)習(xí)C++。C++的好處就是STL,一些數(shù)據(jù)結(jié)構(gòu)如棧,隊(duì)列,優(yōu)先隊(duì)列都可以直接調(diào)用,一些常用的算法(例如快排)也可直接調(diào)用。C++先用幾天看看譚浩強(qiáng)的寫的紅色的那本,把類,構(gòu)造函數(shù),析構(gòu)函數(shù),泛型編程,操作符重載等相關(guān)概念理解下,譚的書例子非常簡單利于理解,然后看下《ACM程序設(shè)計(jì)》這本書(藍(lán)皮的,北京大學(xué)出版社,超簡單的入門基礎(chǔ)書,強(qiáng)烈推薦新手看),基本上STL就會用了。然后備著本《C++ primer》就好了,遇到問題時(shí)查查。用一周把《ACM程序設(shè)計(jì)》上的水題推掉,這時(shí)語言功底已經(jīng)打好了。接著準(zhǔn)備一本《算法導(dǎo)論》和一本簡單的國人寫的算法設(shè)計(jì)與分析,按照usaco上的順序開始算法的學(xué)習(xí)吧。
其中你會遇到各方面的問題,主要有數(shù)論,數(shù)據(jù)結(jié)構(gòu),組合數(shù)學(xué),計(jì)算幾何等方面,帶著問題去圖書館或上網(wǎng)查資料學(xué)習(xí)吧,效率很高的哦~ 順帶說下,我們學(xué)校是先學(xué)數(shù)據(jù)結(jié)構(gòu)再學(xué)算法,我認(rèn)為在學(xué)數(shù)據(jù)結(jié)構(gòu)前先學(xué)下算法較好,因?yàn)槭窍扔兴惴?/p>
做完五章就去校隊(duì)吧,會讓你做烏拉爾大學(xué)的OJ,這時(shí)再準(zhǔn)備本劉汝佳的《算法藝術(shù)與信息學(xué)競賽》翻翻吧(此書極難,分析超短,只適合高手看)
第三篇:游戲編程感想
游戲編程感想
班 53080907 周杰
首先,通過游戲編程課程的學(xué)習(xí),我了解了怎么用我們所學(xué)過的知識進(jìn)行游戲編程,不過對于第一開始應(yīng)該用什么語言,你有許多種選擇,包括Basic、Pascal、C、C++、Java等等,而且在網(wǎng)上關(guān)于游戲制作新手應(yīng)該選擇哪門語言的討論也很多。推薦選擇C和C++做為開始寫游戲的語言。一些人可能會說這兩種語言對于沒有編程經(jīng)驗(yàn)的新手來說有點(diǎn)難度,我不同意這種說法,因?yàn)槲揖褪莿傞_始的也是選擇這兩種語言。另外C/C++在今天是兩種應(yīng)用范圍最廣的語言,因此你才會更有可能得到更多的編程和學(xué)習(xí)資源以及其他人的幫助。
其次,如果要進(jìn)行游戲編程,我們要對我們在大學(xué)期間學(xué)過的相關(guān)知識有個(gè)大概的了解,游戲編程設(shè)計(jì)到經(jīng)濟(jì)學(xué),統(tǒng)籌學(xué),物理學(xué),機(jī)器人學(xué),生物學(xué),心理學(xué),人工智能,計(jì)算機(jī)圖形學(xué),多媒體技術(shù),虛擬現(xiàn)實(shí)等等。而且它也是一個(gè)團(tuán)隊(duì)的合作才能完成的工作,它所涉及的工作有策劃、程序、美術(shù)、音樂等。只有每個(gè)方面的工作相互配合達(dá)到完美,所設(shè)計(jì)出來的游戲才是一款經(jīng)典的游戲作品。
第三,作為游戲編程,它所設(shè)計(jì)的不單單是一款游戲,如果把它想成僅僅工人們娛樂消遣的工具,那就把游戲定義的有所狹隘。游戲只是人們?nèi)粘I钪兴芙佑|到的一部分應(yīng)用,它更可以應(yīng)用虛擬現(xiàn)實(shí)的技術(shù)把這個(gè)產(chǎn)品應(yīng)用到人們生活的方方面面,比如軍事模擬訓(xùn)練,仿真模擬等等。
最后,不要僅僅是積累知識,用它。除非你用它們,否則你不能真正的知道和理解它們。用你所學(xué)的東西制作一個(gè)小的Demo。認(rèn)真的去做書里面每個(gè)章節(jié)后面留的練習(xí)。
盡量玩更多的游戲。這樣做可以給你許多靈感并能幫助你把游戲做的更好一些。這也可以給你枯燥的編程工作減輕一些痛苦。
幫助別人。在教別人或者給別人講解的過程中你將會更加的了解自己,學(xué)到很多東西。有始有終。不要陷入“我知道我能完成這個(gè)游戲,但是我有更好的方法,因此我要繼續(xù)想想我的那個(gè)方法?!比绻隳芡晖暾膶懲暌粋€(gè)你從一開始要做的游戲,你將會學(xué)到非常非常多的東西,而且你也有東西可以證明你不是一個(gè)把什么東西都停留在嘴巴上的人。在你成為一個(gè)有經(jīng)驗(yàn)的游戲程序員之前,請把你要做的游戲更簡單更容易一些,不要貿(mào)然的去嘗試寫一些比較大或者很復(fù)雜的游戲。
第四篇:如何學(xué)習(xí)編程
最近看到很多朋友問到如何學(xué)習(xí)編程這個(gè)問題,我想這個(gè)問題應(yīng)該是所有初學(xué)者都非常關(guān)注的問題了,在論壇上回答了很多也講了很多,但是總是無法讓所有朋友得到一個(gè)解答,所以我想寫一下自己的經(jīng)驗(yàn),希望對大家有所幫助,不過在此先聲明,我并非什么高手,我也只是剛剛?cè)腴T而已,也只是希望通過寫一點(diǎn)個(gè)人的體會幫助一些和我遇到相同問題的朋友,高手就免看了,以免班門弄斧。
好了,廢話就不多說了。在學(xué)習(xí)程序之前,我想大家首先應(yīng)該對程序員這個(gè)行業(yè)熟悉一下,更加要對編程的語言以及所涉及到的工具有所了解。因?yàn)槿绾芜^了解這些是很難去給自己一個(gè)明確的目標(biāo)的。所以首先我想在這里先為大家介紹一下這個(gè)行業(yè)以及一些相關(guān)的內(nèi)容。
程序員,相信在很多人眼中是一個(gè)非常神秘,非常特別又或者說非常有趣的職業(yè)。因?yàn)樵谶@個(gè)行業(yè)里面實(shí)在出現(xiàn)了太多的英雄,每一個(gè)英雄的事跡都足以讓我們熱血沸騰。但是,又有誰知道在這些英雄的背后,藏著多少辛酸,藏著多少的努力。程序員這個(gè)行業(yè)并非如大家所想象的那樣美好。程序員是一個(gè)沒有白天黑夜概念的行業(yè),程序員是一個(gè)讓人筋疲力盡的行業(yè)。你們看到的是一些英雄的光輝歷史,但是卻忽略了大多數(shù)程序員的艱辛。所以在這里我奉勸各位,如果你是為了這個(gè)行業(yè)充滿傳奇色彩而想加入,如果你是為了這個(gè)行業(yè)薪水高而想加入,那么請你現(xiàn)在退出吧,因?yàn)樗贿m合你。這個(gè)行業(yè)需要的是擁有努力、認(rèn)真、堅(jiān)持的人。
講到如何學(xué)習(xí)編程,那么必不可少的就要講到編程語言了,相信大家都知道編程語言有很多種,包括C、C++、BASIC、PASIC、ASP、PHP等等,當(dāng)中還分為很多不同的領(lǐng)域,所以在學(xué)習(xí)編程之前一定要為自己定下一個(gè)目標(biāo),一個(gè)自己即將要進(jìn)入的領(lǐng)域。有些人想進(jìn)行底層開發(fā),有些人想做網(wǎng)站開發(fā),有些人想做商業(yè)軟件開發(fā)等等,由于計(jì)算機(jī)的普及,軟件行業(yè)所涉及的領(lǐng)域也就越來越多,一個(gè)人是不可能涉及所有的領(lǐng)域的,所以必須在學(xué)習(xí)之前給自己一個(gè)定位,這個(gè)是很重要的,如果沒有這個(gè)定位的話在未來學(xué)習(xí)編程的日子里將會很迷茫。
目標(biāo)的定位當(dāng)然不能少了工具的因素,因?yàn)椴煌念I(lǐng)域使用的開發(fā)工具也不同,在這里想重新再次鄭重的向所有朋友聲明一次,不要把開發(fā)工具和開發(fā)語言混為一談,語言是編程的基礎(chǔ),而工具是用來輔助開發(fā)的,例如VC、VB、DELPHI、BCB等等。每種工具都有各自的優(yōu)勢和缺點(diǎn),至于每種工具的特點(diǎn)我就不再相信講了,如果大家是有心學(xué)編程的話,我相信你一定會去看看關(guān)于這些工具的具體內(nèi)容的,呵呵,讓我偷個(gè)懶。還有在這里重要提醒一下大家,不要被現(xiàn)在的流行工具所迷惑,學(xué)好根本才是最重要
前面大概的準(zhǔn)備工作已經(jīng)做完了,對這個(gè)行業(yè)了解了,給自己定了一個(gè)目標(biāo)后,接下來當(dāng)然是全力向這個(gè)目標(biāo)出發(fā)了。那該怎么做呢?看了很多朋友的帖子,都講到C語言是程序員必學(xué)的語言,如果程序員不學(xué)C就不算是真正的程序員,我個(gè)人認(rèn)為這種說法有點(diǎn)偏激,當(dāng)然,我承認(rèn)學(xué)C是會對你有很大的幫助,但是并非一定要學(xué)C,大家之所以這樣說,可能是因?yàn)镃語言的影響太大了。但是你總不能要那些去學(xué)網(wǎng)站開發(fā)的人一定要去學(xué)C吧,呵呵。其實(shí)我個(gè)人認(rèn)為,一開始學(xué)什么都無所謂,但是無論學(xué)什么,一定要努力和堅(jiān)持,做不到這兩點(diǎn),你就注定會是個(gè)失敗者。在這里我想講一下學(xué)編程最關(guān)鍵的問題,就是思想。也許這是個(gè)很抽象的概念,但是沒有辦法,編程本身就是個(gè)很抽象的東西,呵呵。等你真正領(lǐng)悟到這一點(diǎn)的時(shí)候,恭喜你,你已經(jīng)站在編程的門口了,呵呵,只是門口哦。那么編程的思想又該如何去領(lǐng)悟呢?要領(lǐng)悟其思想,那首先學(xué)習(xí)語言是必然的,語言是思想的一種體現(xiàn)形式,就像一個(gè)人的思想需要語言來表達(dá)一樣,所以如果連一門語言都無法掌握的人是無法領(lǐng)悟其思想的。但是對于一個(gè)人,如果不經(jīng)常說話,不經(jīng)常使用語言,他又如何去使用語言來表達(dá)自己的思想呢?編程也一樣,要領(lǐng)悟其精髓,必須先不斷地看,不斷地使用,才能在這種過程中慢慢有所體驗(yàn),當(dāng)然有的人可能快些,有的人可能慢些,但是不管快慢,能夠達(dá)到就是進(jìn)步。
我記得在我仍然迷茫的時(shí)候,不知道自己該如何去學(xué),每天就是機(jī)械式的看書寫代碼,根本都不知道自己是不是真的懂,但是就是這樣不斷的看不斷的照著書寫,終于有一天,好象突然開竅一樣,一下子就把所有不明白的東西全都弄明白了,這個(gè)有點(diǎn)像佛家所說的頓悟,呵呵。我最初以C語言開始學(xué)習(xí)的,在我開始學(xué)C語言到頓悟這一刻,我可以告訴大家,我看C語言的書我一共看了5本不同的版本(不過都是像走馬觀花一樣的看,千萬不要學(xué)我),直到第5本看到指針那里,我才真正有種明白的感覺,也許我太笨了,相信大家看一本就夠了,HOHO。自從那一次后,我接著看C++,學(xué)習(xí)pascal、basic、匯編這些東西,自己感覺都非常容易看懂,可能這就是所謂的一理通百理通的道理吧。呵呵,不過在這里要講一下,上面所說的幾種語言雖然看書都看過了,也看明白了,但是由于很少使用,現(xiàn)在大部分都還給書本了,呵呵。
看到這里,包括我在內(nèi),我都感覺到自己很了不起,很厲害了??上?,只有我自己知道,雖然看了那么多,學(xué)得也多,寫得也不少,可是我卻不知道如何運(yùn)用。來來去去就是寫一些書本上的題目,自己卻感覺像windows那些程序卻不知道如何去寫,不知道該怎么辦,相信很多人都有和我一樣的體會吧,把C語言學(xué)了,題目也做了,而且都沒有問題,可是卻不知道如何去做開發(fā),感覺自己學(xué)的東西一點(diǎn)用處都沒有。這又是為什么呢?
在這之前,我一直為這個(gè)問題煩惱,后來我終于找到了答案,那就是我所學(xué)的,所寫的都是DOS應(yīng)用程序,而我們現(xiàn)在所使用的確實(shí)windows操作系統(tǒng),當(dāng)然也有使用linux系統(tǒng)的。后來看了一篇別人寫的文章后,我才知道我所學(xué)的和實(shí)際運(yùn)用相差太遠(yuǎn)了。現(xiàn)在大部分學(xué)習(xí)編程語言的書籍上的例題都是基于DOS系統(tǒng)開發(fā)的,所以我們所寫的程序和windows上所運(yùn)行的不一樣,這就是造成我們迷茫的主要原因。那該怎么辦呢?那還用問嗎,當(dāng)然就是去學(xué)習(xí)windows開發(fā)啦。在第一次接觸windows開發(fā)的時(shí)候,我真的是大吃一驚,這完全和我以前所學(xué)的很不一樣,但是又息息相關(guān),如果沒有以前所學(xué)的,我根本就看不懂windows開發(fā)的內(nèi)容。在這里給大家簡單介紹一下,windows開發(fā)和DOS開發(fā)的區(qū)別吧。大家都知道,DOS是一個(gè)單任務(wù)執(zhí)行系統(tǒng),也就是說在DOS下只能在一個(gè)程序運(yùn)行完成或者中斷后才能運(yùn)行其他的程序,而windows是個(gè)多任務(wù)系統(tǒng),當(dāng)然在本質(zhì)上windows也只能一個(gè)時(shí)間內(nèi)執(zhí)行一個(gè)程序,但是由于其利用CPU的運(yùn)算能力,讓這些微妙的時(shí)間讓人無法感覺到,再就是windows是一個(gè)圖形界面系統(tǒng),擁有著良好的用戶界面,不像DOS是個(gè)指令界面。所有這一切的區(qū)別導(dǎo)致DOS和windows開發(fā)上也存在很大的區(qū)別。所以現(xiàn)在的程序員首要的任務(wù)除了學(xué)習(xí)語言以外,就是要去學(xué)習(xí)windows開發(fā)機(jī)制。如果連這個(gè)都不懂,那是肯定開發(fā)不出一個(gè)好的windows軟件的。在這里向所有朋友重點(diǎn)推薦美國人Charles Perzold所寫的《windows程序設(shè)計(jì)》第五版,這本書可以說是經(jīng)典中的經(jīng)典,學(xué)習(xí)windows開發(fā)必看的書,適合有C語言基礎(chǔ)的朋友看,它有多經(jīng)典我就不想細(xì)講了,總之就是絕對不會讓你失望,呵呵。這本書市場價(jià)是160元整,分上下兩冊,如果有的朋友覺得太貴的話,我這里有他的電子版,需要的就找我要吧,隨時(shí)歡迎大家找我要這本書,呵呵。
說實(shí)話寫到這里,我自己都不知道自己寫了些什么,好象很亂,呵呵,希望大家能夠看得懂吧??赐晡医榻B的這本書后,而且看懂的話,那么接下來自己該如何走,我相信我就不用再多說了,到那個(gè)時(shí)候你一定知道自己該如何去學(xué)習(xí)編程了。上面講了下我個(gè)人是如何學(xué)習(xí)的,當(dāng)然還有很多細(xì)節(jié)地方?jīng)]有涉及到,不過隨時(shí)歡迎朋友們跟我一起交流。而且我現(xiàn)在才發(fā)現(xiàn)
上面所寫的是從C語言開始學(xué)習(xí)的,呵呵,其實(shí)我并非要大家向我一樣學(xué)習(xí),我只是把自己學(xué)習(xí)的經(jīng)過大概講了下,當(dāng)然還有以后該怎么辦沒有寫,其實(shí)我也在摸索中,嘿嘿,我寫了那么多廢話,無非是想要大家明白幾個(gè)道理:
第一、首先要給自己定一個(gè)明確的目標(biāo)。
第二、分清楚語言和工具的區(qū)別。
第三、把思想放在首位,語言在精不在多,學(xué)好了一門語言再去學(xué)其他的,就易如反掌了。第四、工具是經(jīng)常被淘汰的,不要被工具所迷惑,堅(jiān)定自己的信念。
第五、無論選擇做什么系統(tǒng)開發(fā),首先要去了解這個(gè)系統(tǒng),只有了解了這個(gè)系統(tǒng)才能在上面為所欲為。
大概也就差不多了,不全或者寫得不好的地方請指正,個(gè)人發(fā)覺全是廢話,呵呵,就這么多了吧,歡迎大家跟我一起學(xué)習(xí),一起進(jìn)步,一起交流。當(dāng)然最后仍然是那句:
努力+堅(jiān)持=成功
網(wǎng)易16G“郵箱航母”橫空出世!
創(chuàng)紀(jì)錄16G超大容量(送6G免費(fèi)網(wǎng)盤),支持手機(jī)郵、通訊錄克隆、圖片簽名、網(wǎng)絡(luò)書簽??
第五篇:編程教案
常用編程指令的應(yīng)用
車削加工編程一般包含X和Z坐標(biāo)運(yùn)動及繞Z軸旋轉(zhuǎn)的轉(zhuǎn)角坐標(biāo)C。
(1)快速定位(G00或G0)刀具以點(diǎn)位控制方式從當(dāng)前所在位置快速移動到指令給出的目標(biāo)位置。
指令格式:G00 X(U)Z(W);(2)直線插補(bǔ)(G01或G1)
指令格式:G01 X(U)Z(W)F ;
圖1 快速定位 圖2 直線插補(bǔ)
G00 X40.0 Z56.0; G01 X40.0 Z20.1 F0.2;
/絕對坐標(biāo),直徑編程; /絕對坐標(biāo),直徑編程,切削進(jìn)給率0.2mm/r G00 U-60.0 W-30 G01 U20.0 W-25.9 F0.2;
/增量坐標(biāo),直徑編程 /增量坐標(biāo),直徑編程,切削進(jìn)給率0.2mm/r(3)圓弧插補(bǔ)(G02或G2,G03或G3)1)指令格式: G02 X(U)_Z(W)_I_K_F_ ; G02 X(U)Z(W)R F ;
G03 X(U)_Z(W)_I_K_F_ ; G03 X(U)Z(W)R F ;
2)指令功能: 3)指令說明: ①G02為順時(shí)針圓弧插補(bǔ)指令,G03為逆時(shí)針圓弧插補(bǔ)指令。圓弧的順、逆方向判斷見圖3左圖,朝著與圓弧所在平面相垂直的坐標(biāo)軸的負(fù)方向看,順時(shí)針為G02,逆時(shí)針為G03,圖3右圖分別表示了車床前置刀架和后置刀架對圓弧順與逆方向的判斷;
圖3 圓弧的順逆方向
②如圖4,采用絕對坐標(biāo)編程,X、Z為圓弧終點(diǎn)坐標(biāo)值;采用增量坐標(biāo)編程,U、W為圓弧終點(diǎn)相對圓弧起點(diǎn)的坐標(biāo)增量,R是圓弧半徑,當(dāng)圓弧所對圓心角為0°~180°時(shí),R取正值;當(dāng)圓心角為180°~360°時(shí),R取負(fù)值。I、K為 圓心在X、Z軸方向上相對圓弧起點(diǎn)的坐標(biāo)增量(用半徑值表示),I、K為零時(shí)可以省略。
圖4 圓弧絕對坐標(biāo),相對坐標(biāo)
圖5 圓弧插補(bǔ)
G02 X50.0 Z30.0 I25.0 F0.3; G03 X87.98 Z50.0 I-30.0 K-40.0 F0.3;
G02 U20.0 W-20.0 I25.0 F0.3; /絕對坐標(biāo),直徑編程
G02 X50.Z30.0 R25.0 F0.3; G03 U37.98 W-30.0 I-30.0 K-40.0 F0.3; G02 U20.0 W-20.0 R25.0 F0.3; /相對坐標(biāo),直徑編程
(4)主軸轉(zhuǎn)速設(shè)置(S)車床主軸的轉(zhuǎn)速(r/min)為:
式中υ為圓周切削速度,單位缺省為m/min、D為工件的外徑,單位為mm。
例如,工件的外徑為200mm,要求的切削速度為300m/min,經(jīng)計(jì)算可得
因此主軸轉(zhuǎn)速應(yīng)為478r/min,表示為S478。(5)主軸速度控制指令
數(shù)控車削加工時(shí),按需要可以設(shè)置恒切削速度(例如,為保證車削后工件的表面粗糙度一致,應(yīng)設(shè)置恒切削速度),車削過程中數(shù)控系統(tǒng)根據(jù)車削時(shí)工件不同位置處的直徑計(jì)算主軸的轉(zhuǎn)速。
恒切削速度設(shè)置方法如下:G96 S ; 其中S后面數(shù)字的單位為r/min。
設(shè)置恒切削速度后,如果不需要時(shí)可以取消,其方式如下:G97 S ; 其中S后面數(shù)字的單位為r/min。
在設(shè)置恒切削速度后,由于主軸的轉(zhuǎn)速在工件不同截面上是變化的,為防止主軸轉(zhuǎn)速過高而發(fā)生危險(xiǎn),在設(shè)置恒切削速度前,可以將主軸最高轉(zhuǎn)速設(shè)置在某一個(gè)最高值。切削過程中當(dāng)執(zhí)行恒切削速度時(shí),主軸最高轉(zhuǎn)速將被限制在這個(gè)最高值。設(shè)置方法如下:G50 S ; 其中S的單位為r/min。
圖6 主軸速度控制
例如:在刀具T01切削外形時(shí)用G96設(shè)置恒切削速度為200m/min,而在鉆頭T02鉆中心孔時(shí)用G97取消恒切削速度,并設(shè)置主軸轉(zhuǎn)速為1100r/min。這兩部分的程序頭如下:
G50 S2500 T0101 M08; /G50限定最高主軸轉(zhuǎn)速為2500r/min;
G96 S200 M03; / G96設(shè)置恒切削速度為200m/min,主軸順時(shí)針轉(zhuǎn)動 G00 X48.0 Z3.0; / 快速走到點(diǎn)(48.0,3.0)G01 Z-27.1 F0.3; /車削外形 G00 Ul.0 Z3.0; /快速退回 T0202; /調(diào)02號刀具
G97 Sll00 M03; /G97取消恒切削速度,設(shè)置主軸轉(zhuǎn)速為ll00r/min G00 X0.0 Z5.0 M08; /快速走到點(diǎn)(0,5.0),冷卻液打開 G01 Z-5.0 F0.12; /鉆中心孔(6)進(jìn)給率和進(jìn)給速度設(shè)置指令
在數(shù)控車削中有兩種切削進(jìn)給模式設(shè)置方法,即進(jìn)給率(每轉(zhuǎn)進(jìn)給模式)和進(jìn)給速度(每分鐘進(jìn)給模式)。
1)進(jìn)給率,單位為mm/r,其指令為: G99; / 進(jìn)給率轉(zhuǎn)換指令,G01 X Z F ; / F的單位為mm/r 2)進(jìn)給速度,單位為mm/min,其指令為: G98; / 進(jìn)給速度轉(zhuǎn)換指令
G01 X Z F ; / F的單位為mm/min
圖7 進(jìn)給率和進(jìn)給速度
a:G99 G01 Z-27.1 F0.3;b:G98 G01 Z-10.0 F80;表示進(jìn)給率為0.3mm/r 表示進(jìn)給速度為80mm/min CNC系統(tǒng)缺省進(jìn)給模式是進(jìn)給率,即每轉(zhuǎn)進(jìn)給模式。(7)工件原點(diǎn)設(shè)置
工件坐標(biāo)系的原點(diǎn)有兩種設(shè)置方法。
1)用G50指令進(jìn)行工件原點(diǎn)設(shè)置,分以下兩種設(shè)置情況:
圖8 工件原點(diǎn)設(shè)置 ①坐標(biāo)原點(diǎn)設(shè)置在卡盤端面
如圖8a所示,這種情況下z坐標(biāo)是正值。工件原點(diǎn)設(shè)置在卡盤端面:
G50 X85.Z210.;/* 將刀尖當(dāng)前位置的坐標(biāo)值定為工件坐標(biāo)系中的一點(diǎn)(85.,210.)。②坐標(biāo)原點(diǎn)設(shè)置在零件右端面
如圖8b所示,這種情況下Z坐標(biāo)值是負(fù)值。工件原點(diǎn)設(shè)置在工件右端面:G50 X85.0 Z90.0; 則刀尖當(dāng)前位置即為工件坐標(biāo)系原點(diǎn)。(8)端面及外圓車削加工
端面及外圓的車削加工要用到插補(bǔ)指令G01。
為正確地編寫數(shù)控程序,應(yīng)在編寫程序前根據(jù)工件的情況選擇工件原點(diǎn)。確定好工件原點(diǎn)后,還必須確定刀具的起始點(diǎn)。
編程時(shí)還應(yīng)考慮車削外圓的始點(diǎn)和端面車削的始點(diǎn),這兩點(diǎn)的確定應(yīng)結(jié)合考慮工件的毛坯情況。如果毛坯余量較大,應(yīng)進(jìn)行多次粗車,最后進(jìn)行一次精車,因而每次的車削始點(diǎn)都不相同。
圖9 確定車削原點(diǎn)
a)工件原點(diǎn)在左端面時(shí) b)工件原點(diǎn)在右端面時(shí) 1)工件原點(diǎn)在左端面 o0001 /* 程序編號o0001 N0 G50 X85.0 Z210.0; /* 設(shè)置工件原點(diǎn)在左端面 N1 G30 U0 W0; /* 返回第二參考點(diǎn)
N2 G50 S1500 T0101 M08; /* 限制最高主軸轉(zhuǎn)速為1500r/min,調(diào)01號刀具,M08為打開冷卻液
N3 G96 S200 M03; /* 指定恒切削速度為200m/min N4 G00 X40.4 Z153.0; /* 快速走到外圓粗車始點(diǎn) N5 G01 Z40.2 F0.3; /* 以進(jìn)給率0.3mm/r車削外圓 N6 X60.4; /* 臺階車削
N7 Z20.0; /*φ60.4mm處長度為20.0mm的一段外圓 N8 G00 X62.0 Z150.2; /* 刀具快速退到點(diǎn)(62.0,150.2)N9 X41.0; /*刀具快速走到點(diǎn)(41.0,150.2)N10 G01 X-1.6; /* 車削右端面
N1l G00 Zl52.0; /* 刀具快速退到點(diǎn)(-1.6,152.0)N12 G30 U0 W0; /* 直接回第二參考點(diǎn)以進(jìn)行換刀 N13(Finishing); /*精車開始,括號為程序說明
N14 G50 S1500 T0202; /*限制最高主軸轉(zhuǎn)速為1500r/min,調(diào)02號刀具 N15 G96 S250; /* 指定恒切削速度為250m/min N16 G00 X40.0 Z153.0 ;/*快速走到外圓精車始點(diǎn)(40.0,153)N17 G42 G01 Z151.0 F0.15;/*調(diào)刀尖半徑補(bǔ)償,右偏 N18 Z40.0; /*φ40.4mm一段外圓的精車 N19 X60.0; /*臺階精車
N20 Z20.0; /*φ60.0mm處長度為20.0mm外圓的精車 N21 G40 G00 X62.0 Z150.0; /*取消刀補(bǔ) N22 X41.0; /*刀具快速走到點(diǎn)(41.0,150.0)N23 G41 G01 X40.0; /*調(diào)刀尖半徑補(bǔ)償,左偏 N24 G01 X-1.6; /*精車右端面
N25 G40 G00 Zl52.0 M09; /*取消刀補(bǔ),切削液關(guān)
N26 G30 U0 W0 M05; /*返回第二參考點(diǎn),主軸停止 N27 M30; /*程序結(jié)束 2)工件原點(diǎn)在右端面:工件原點(diǎn)設(shè)置在右端面與設(shè)置在左端面的區(qū)別僅在于Z坐標(biāo)為負(fù)值,程序編寫過程完全相同。O0002 ; /* 程序編號
N0 G50 X85.0 Z90.0 /* 設(shè)置工件原點(diǎn)在右端面 N2 G30 U0 W0; /* 返回第二參考點(diǎn)
N4 G50 S1500 T0101 M08; /* 限制最高主軸轉(zhuǎn)速 N6 G96 S200 M03; /* 指定恒切削速度為 200m/min,主軸逆時(shí)針旋轉(zhuǎn)
N8 G00 X30.4 Z3.0; /*快速走到點(diǎn)(30.4,3.0)N10 G01 W-33.0 F0.3; /*以進(jìn)給率0.3mm/r粗車φ30.4處外圓 N12 U30.0 W-50.0; /*粗車錐面
N14 W-10.0; /*粗車φ60.4mm處長度為10的一段外圓 N16 G00 Ul.6 W90.2;/*刀具快速走到點(diǎn)(62.0,0.2)N18 U-31.0; /*刀具快速走到點(diǎn)(3l,0.2)N20 G01 U-32.6; /*粗車端面
N22 G00 W2.0; /*刀具快速走到點(diǎn)(-1.6,2)N24 G30 U0 W0; /*返回第二參考點(diǎn) N26(Finishing); /*精車開始
N28 G50 S1500 T0202;/*設(shè)置主軸最高轉(zhuǎn)速1500r/min,調(diào)2號刀具 N30 G96 S250; /* 指定恒切削速度為250m/min N32 G00 X30.0 Z3.0;/*刀具快速走到精車始點(diǎn)(30.0,3.0)N34 G42 G01 W-2.0 F0.15;/*調(diào)刀尖半徑補(bǔ)償,右偏 N36 W-31.0; /*精車ф30.4mm處外圓 N38 U30.0 W-50.0; /*精車錐面
N40 W-10.0; /*精車ф60.0mm處外圓
N42 G40 G00 U2.0 W90.0; /*取消刀補(bǔ),刀具快速走到點(diǎn)(62,0.0)N44 U-31.0; /*刀具快速走到點(diǎn)(31,0.0)N46 G41 G01 U-1.0; /*調(diào)刀尖半徑補(bǔ)償,左偏
N48 G01 U-32.6; /*精車端面
N50 G40 G00 W2.0 M09; /*取消刀補(bǔ),刀具快速走到點(diǎn)(1.6,2.0)N52 G30 U0 W0 M30; /*返回參考點(diǎn),程序結(jié)束 實(shí)例:
如圖10所示零件
圖10 數(shù)控車削綜合編程實(shí)例
N0050 G01 X32 Z0;N0110 G02 X16 Z-15 R2;N0060 G01 X-0.5;N0120 G01 X20;
N0070 G00 Z1;N0130 G01 Z35;N0080 G00 X10;N0140 X26;N0090 G01 X12 Z1;N0150 Z50;N0100 G01 X12 Z1;N0160 X32;為1500r/min,調(diào)1號刀具,M08為打開冷卻液在這種情況下,如果設(shè)置指令寫成: G50 X0 Z0;
G02、G03指令表示刀具以F進(jìn)給速度從圓弧起點(diǎn)向圓弧終點(diǎn)進(jìn)行圓弧插補(bǔ)。刀具以一定的進(jìn)給速度從當(dāng)前所在位置沿直線移動到指令給出的目標(biāo)位置。
2.循環(huán)加工指令
當(dāng)車削加工余量較大,需要多次進(jìn)刀切削加工時(shí),可采用循環(huán)指令編寫加工程序,這樣可減少程序段的數(shù)量,縮短編程時(shí)間和提高數(shù)控機(jī)床工作效率。根據(jù)刀具切削加工的循環(huán)路線不同,循環(huán)指令可分為單一固定循環(huán)指令和多重復(fù)合循環(huán)指令。(1)單一固定循環(huán)指令
對于加工幾何形狀簡單、刀具走刀路線單一的工件,可采用固定循環(huán)指令編程,即只需用一條指令、一個(gè)程序段完成刀具的多步動作。固定循環(huán)指令中刀具的運(yùn)動分四步:進(jìn)刀、切削、退刀與返回。
1)外圓切削循環(huán)指令(G90)
指令格式 : G90 X(U)_ Z(W)_ R_ F_ 指令功能: 實(shí)現(xiàn)外圓切削循環(huán)和錐面切削循環(huán)。
刀具從循環(huán)起點(diǎn)按圖11與圖12所示走刀路線,最后返回到循環(huán)起點(diǎn),圖中虛線表示按R快速移動,實(shí)線表示按F指定的工件進(jìn)給速度移動。
圖11 外圓切削循環(huán)
圖12 錐面切削循環(huán)
指令說明: ① X、Z 表示切削終點(diǎn)坐標(biāo)值;
② U、W 表示切削終點(diǎn)相對循環(huán)起點(diǎn)的坐標(biāo)分量;
③ R 表示切削始點(diǎn)與切削終點(diǎn)在X軸方向的坐標(biāo)增量(半徑值),外圓切削循環(huán)時(shí)R為零,可省略;
④F表示進(jìn)給速度。例題 如圖13所示,運(yùn)用外圓切削循環(huán)指令編程。
G90 X40 Z20 F30
A-B-C-D-A X30
A-E-F-D-A X20
A-G-H-D-A
圖13 外圓切削循環(huán)例題
例題 如圖14所示,運(yùn)用錐面切削循環(huán)指令編程。
G90 X40 Z20 R-5 F30 A-B-C-D-A X30
A-E-F-D-A X20
A-G-H-D-A
圖14 錐面切削循環(huán)例題
2)端面切削循環(huán)指令(G94)
指令格式: G94 X(U)_ Z(W)_ R_ F_ 指令功能: 實(shí)現(xiàn)端面切削循環(huán)和帶錐度的端面切削循環(huán)。
刀具從循環(huán)起點(diǎn),按圖15與圖16所示走刀路線,最后返回到循環(huán)起點(diǎn),圖中虛線表示按R快速移動,實(shí)線按F指定的進(jìn)給速度移動。
圖15 端面切削循環(huán) 圖16 帶錐度的端面切削循環(huán)
① X、Z表示端平面切削終點(diǎn)坐標(biāo)值;
② U、W表示端面切削終點(diǎn)相對循環(huán)起點(diǎn)的坐標(biāo)分量;
③ R 表示端面切削始點(diǎn)至切削終點(diǎn)位移在Z軸方向的坐標(biāo)增量,端面切削循環(huán)時(shí)R為零,可省略;
④ F表示進(jìn)給速度。
例題: 如圖17所示,運(yùn)用端面切削循環(huán)指令編程。
G94 X20 Z16 F30
A-B-C-D-A Z13
A-E-F-D-A Z10
A-G-H-D-A
圖17 端面切削循環(huán)例題 圖18 帶錐度的端面切削循環(huán)例題
例題: 如圖18所示,運(yùn)用帶錐度端面切削循環(huán)指令編程。
G94 X20 Z34 R-4 F30
A-B-C-D-A Z32
A-E-F-D-A Z29
A-G-H-D-A(2)多重復(fù)合循環(huán)指令(G70——G76)運(yùn)用這組G代碼,可以加工形狀較復(fù)雜的零件,編程時(shí)只須指定精加工路線、徑向軸向精車留量和粗加工背吃刀量,系統(tǒng)會自動計(jì)算出粗加工路線和加工次數(shù),因此編程效率更高。
在這組指令中,G71、G72、G73是粗車加工指令,G70是G71、G72、G73粗加工后的精加工指令,G74 是深孔鉆削固定循環(huán)指令,G75 是切槽固定循環(huán)指令,G76是螺紋加工固定循環(huán)指令。
1)外圓粗加工復(fù)合循環(huán)(G71)指令格式 : G71 UΔd Re G71 Pns Qnf UΔu WΔw Ff Ss Tt
指令功能: 切除棒料毛坯大部分加工余量,切削是沿平行Z軸方向進(jìn)行,如圖19所示。A為循環(huán)起點(diǎn),A-A'-B為精加工路線。
圖19 外圓粗加工復(fù)合循環(huán) 圖20 端面粗加工復(fù)合循環(huán) 指令說明:①Δd表示每次切削深度(半徑值),無正負(fù)號; ② e表示退刀量(半徑值),無正負(fù)號;
③ ns表示精加工路線第一個(gè)程序段的順序號; ④ nf表示精加工路線最后一個(gè)程序段的順序號;
⑤ Δu表示X方向的精加工余量,直徑值;
例題 :如圖21所示,運(yùn)用外圓粗加工循環(huán)指令編程。
圖21 外圓粗加工復(fù)合循環(huán)例題 N010 G50 X150 Z100 N020 G00 X41 Z0 N030 G71 U2 R1 N040 G71 P50 Q120 U0.5 W0.2 F100 N050 G01 X0 Z0 N060 G03 X11 W-5.5 R5.5 N070 G01 W-10 N080 X17 W-10 N090 W-15 N100 G02 X29 W-7.348 R7.5 N110 G01 W-12.652 N120 X41 N130 G70 P50 Q120 F30
2)端面粗加工復(fù)合循環(huán)(G72)指令格式: G72 WΔd Re
G72 Pns Qnf UΔu WΔw Ff Ss Tt
指令功能: 除切削是沿平行X軸方向進(jìn)行外,該指令功能與G71相同,如圖20所示。指令說明 :
Δd、e、ns、nf、Δu、Δw的含義與G71相同。例題:如圖22,運(yùn)用端面粗加工循環(huán)指令編程。
圖22 端面粗加工復(fù)合循環(huán)例題 圖23 固定形狀切削復(fù)合循環(huán) N010 G50 X150 Z100 N020 G00 X41 Z1 N030 G72 W1 R1 N040 G72 P50 Q80 U0.1 W0.2 F100 N050 G00 X41 Z-31 N060 G01 X20 Z-20 N070 Z-2 N080 X14 Z1 N090 G70 P50 Q80 F30 3)固定形狀切削復(fù)合循環(huán)(G73)指令格式: G73 UΔi WΔk Rd G73 Pns Qnf UΔu WΔw Ff Ss Tt
指令功能:適合加工鑄造、鍛造成形的一類工件,見圖23所示。指令說明: Δi 表示X軸向總退刀量(半徑值); ΔK 表示Z軸向總退刀量; d 表示循環(huán)次數(shù);
ns 表示精加工路線第一個(gè)程序段的順序號; nf 表示精加工路線最后一個(gè)程序段的順序號; Δu 表示X方向的精加工余量(直徑值); Δw 表示Z方向的精加工余量。
①固定形狀切削復(fù)合循環(huán)指令的特點(diǎn):
a.刀具軌跡平行于工件的輪廓,故適合加工鑄造和鍛造成形的坯料;b.背吃刀量分別通過X軸方向總退刀量Δi和Z軸方向總退刀量ΔK除以循環(huán)次數(shù)d求得;c.總退刀量Δi與ΔK值的設(shè)定與工件的切削深度有關(guān)。
②使用固定形狀切削復(fù)合循環(huán)指令,首先要確定換刀點(diǎn)、循環(huán)點(diǎn)A、切削始點(diǎn)A’和切削終點(diǎn)B的坐標(biāo)位置。分析上圖,A點(diǎn)為循環(huán)點(diǎn),A’→B是工件的輪廓線,A→A’→B為刀具的精加工路線,粗加工時(shí)刀具從A點(diǎn)后退至C點(diǎn),后退距離分別為Δi+Δu /2,Δk+Δw,這樣粗加工循環(huán)之后自動留出精加工余量Δu /
2、Δw。
③順序號ns至nf之間的程序段描述刀具切削加工的路線。例題: 如圖14所示,運(yùn)用固定形狀切削復(fù)合循環(huán)指令編程。
圖24 固定形狀切削復(fù)合循環(huán)例題 圖25 復(fù)合固定循環(huán)舉例
N010 G50 X100 Z100 N020 G00 X50 Z10 N030 G73 U18 W5 R10 N040 G73 P50 Q100 U0.5 W0.5 F100 N050 G01 X0 Z1 N060 G03 X12 W-6 R6 N070 G01 W-10 N080 X20 W-15 N090 W-13 N100 G02 X34 W-7 R7 N110 G70 P50 Q100 F30 4)精車復(fù)合循環(huán)(G70)指令格式: G70 Pns Qnf
指令功能:用G71、G72、G73指令粗加工完畢后,可用精加工循環(huán)指令,使刀具進(jìn)行A-A`-B的精加工,(如圖24)
指令說明:
ns表示指定精加工路線第一個(gè)程序段的順序號; nf表示指定精加工路線最后一個(gè)程序段的順序號;
G70~G73循環(huán)指令調(diào)用N(ns)至N(nf)之間程序段,其中程序段中不能調(diào)用子程序。5)復(fù)合固定循環(huán)舉例(G71與G70編程)
加工圖25所示零件,其毛坯為棒料。工藝設(shè)計(jì)參數(shù)為:粗加工時(shí)切深為7mm,進(jìn)給速度0.3mm/r,主軸轉(zhuǎn)速500r/min;X向(直徑上)精加工余量為4 mm,z向精加工余量為2mm,進(jìn)給速度為0.15mm/r,主軸轉(zhuǎn)速800mm/min。程序設(shè)計(jì)如下: N01 G50 X200.0 Z220.0;N02 G00 X160.0 Z180.0 M03 S800;N03 G71 P04 Q10 U4.0 W2.0 D7.0 F0.3 S500;N04 G00 X40.0 S800;N05 G01 W-40.0 F0.15;N06 X60.0 W-30.0;N07 W-20.0;N08 X100.0 W-10.0;N09 W-20.0;N10 X140.0 W-20.0;N11 G70 P04 Q10;N12 G00 X200.0 Z220.0;N13 M05;N14 M30;3.螺紋加工自動循環(huán)指令
(1)單行程螺紋切削指令G32(G33,G34)指令格式 : G32 X(U)_ Z(W)_ F_
指令功能:切削加工圓柱螺紋、圓錐螺紋和平面螺紋。指令說明:
格式中的X(U)、Z(W)為螺紋中點(diǎn)坐標(biāo),F(xiàn)為以螺紋長度L給出的每轉(zhuǎn)進(jìn)給率。L表示螺紋導(dǎo)程,對于圓錐螺紋(圖26),其斜角α在45°以下時(shí),螺紋導(dǎo)程以Z軸方向指定;斜角α在45°~90°時(shí),以X軸方向指定。
①圓柱螺紋切削加工時(shí),X、U值可以省略,格式為: G32 Z(W)_ F _ ; ②端面螺紋切削加工時(shí),Z、W值可以省略,格式為: G32 X(U)_ F_;
③螺紋切削應(yīng)注意在兩端設(shè)置足夠的升速進(jìn)刀段δ1和降速退刀段δ2,即在程序設(shè)計(jì)時(shí),應(yīng)將車刀的切入、切出、返回均應(yīng)編入程序中。
圖26 螺紋切削 圖27 螺紋切削應(yīng)用 螺紋切削例題: 如圖27所示,走刀路線為A-B-C-D-A,切削圓錐螺紋,螺紋導(dǎo)程為4mm , δ1 = 3mm,δ2 = 2mm,每次背吃刀量為1mm,切削深度為2mm。G00 X16 G32 X44 W-45 F4 G00 X50 W45 X14 G32 X42 W-45 F4 G00 X50 W45(2)螺紋切削循環(huán)指令(G92)
指令格式 : G92 X(U)_ Z(W)_ R_ F_ 指令功能: 切削圓柱螺紋和錐螺紋,刀具從循環(huán)起點(diǎn),按圖28與圖29所示走刀路線,最后返回到循環(huán)起點(diǎn),圖中虛線表示按R快速移動,實(shí)線按F指定的進(jìn)給速度移動。
圖28 切削圓柱螺紋 圖29 切削錐螺紋 指令說明:
①X、Z表示螺紋終點(diǎn)坐標(biāo)值;②U、W表示螺紋終點(diǎn)相對循環(huán)起點(diǎn)的坐標(biāo)分量;
③R表示錐螺紋始點(diǎn)與終點(diǎn)在X軸方向的坐標(biāo)增量(半徑值),圓柱螺紋切削循環(huán)時(shí)R為零,可省略;
④F表示螺紋導(dǎo)程。
例題: 如圖30所示,運(yùn)用圓柱螺紋切削循環(huán)指令編程。
圖30 切削圓柱螺紋例題 圖31 切削錐螺紋例題 G50 X100 Z50 G97 S300 T0101 M03 G00 X35 Z3 G92 X29.2 Z-21 F1.5 X28.6 X28.2 X28.04 G00 X100 Z50 T0000 M05 M02
例題 : 如圖31所示,運(yùn)用錐螺紋切削循環(huán)指令編程。G50 X100 Z50 G97 S300 T0101 M03 G00 X80 Z2 G92 X49.6 Z-48 R-5 F2 X48.7 X48.1 X47.5 X47.1 X47 G00 X100 Z50 T0000 M05 M02
(3)螺紋切削復(fù)合循環(huán)(G76)
指令格式 : G76 Pm r a QΔdmin Rd G76 X(U)_ Z(W)_Ri Pk QΔd Ff
指令功能:該螺紋切削循環(huán)的工藝性比較合理,編程效率較高,螺紋切削循環(huán)路線及進(jìn)刀方法如圖32所示。
圖32 螺紋切削復(fù)合循環(huán)路線及進(jìn)刀法 指令說明:
②r表示斜向退刀量單位數(shù),或螺紋尾端倒角值,在0.0f—9.9f之間,以0.1f為一單位,(即為0.1的整數(shù)倍),用00—99兩位數(shù)字指定,(其中f為螺紋導(dǎo)程); ③a表示刀尖角度;從80°、60°、55°、30°、29°、0°六個(gè)角度選擇;
④Δdmin:表示最小切削深度,當(dāng)計(jì)算深度小于Δdmin,則取Δdmin作為切削深度; ⑤d:表示精加工余量,用半徑編程指定;Δd :表示第一次粗切深(半徑值); ⑥X、Z:表示螺紋終點(diǎn)的坐標(biāo)值; ⑦U:表示增量坐標(biāo)值; ⑧W:表示增量坐標(biāo)值;
⑨I:表示錐螺紋的半徑差,若I=0,則為直螺紋; ⑩k:表示螺紋高度(X方向半徑值); G76螺紋車削實(shí)例
圖33所示為零件軸上 的一段直螺紋,螺紋高度為3.68,螺距為6,螺紋尾端倒角為1.1L,刀尖角為60°,第一次車削深度1.8,最小車削深度0.1,精車余量0.2,精車削次數(shù)1次,螺紋車削前先精車削外圓柱面,其數(shù)控程序如下:
圖33 螺紋切削多次循環(huán)G76指令編程實(shí)例 O0028 /程序編號
N0 G50 X80.0 Z130.0;/設(shè)置工件原點(diǎn)在左端面 N2 G30 U0 W0;/返回第二參考點(diǎn)
N4 G96 S200 T0101 M08 M03;/指定切削速度為200m/min,調(diào)外圓車刀 N6 G00 X68.0 Z132.0;/快速走到外圓車削起點(diǎn)(68.0,132.0)N7 G42 G01 Z130.0 F0.2;N8 Z29.0 F0.2;/外圓車削 N9 G40 G00 U10.0;N10 G30 U0 W0;N12 G97 S800 T0202 M08 M03;/取消恒切削速度,指定主軸轉(zhuǎn)速800r/min,調(diào)螺紋車刀 N14 G00 X80.0 Z130.0;/快速走到螺紋車削循環(huán)始點(diǎn)(80.0,130.0)N16 G76 P011160 Q0.1 R0.2;/循環(huán)車削螺紋 N18 G76 X60.64 Z25.0 P3.68 Q1.8 F6.0;N20 G30 U0 W0 M09;N22 M30;①m表示精車重復(fù)次數(shù),從1—99;