FANUC系統(tǒng)宏程序的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁
FANUC系統(tǒng)宏程序的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第2頁
FANUC系統(tǒng)宏程序的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第3頁
FANUC系統(tǒng)宏程序的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第4頁
FANUC系統(tǒng)宏程序的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、煙臺(tái)工程職業(yè)技術(shù)學(xué)院數(shù)控技術(shù) 系 數(shù)控技術(shù) 專業(yè) 11 級(jí)畢業(yè)設(shè)計(jì)(論文)題 目:fanuc系統(tǒng)宏程序的設(shè)計(jì)姓名: 學(xué)號(hào): 指導(dǎo)教師(簽名):二一三 年 月 日煙臺(tái)工程職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)誠 信 承 諾 書本人慎重承諾:我所撰寫的設(shè)計(jì)(論文)fanuc系統(tǒng)宏程序的設(shè)計(jì)是在老師的指導(dǎo)下自主完成的,沒有剽竊或抄襲他人的論文或成果,如有剽竊、抄襲,本人愿意為由此引起的后果承擔(dān)相應(yīng)責(zé)任。畢業(yè)論文(設(shè)計(jì))的研究成果歸屬學(xué)校所有。學(xué)生(簽名): 年 月 日數(shù)控編程宏程序的運(yùn)用作者:金明光【摘 要】隨著數(shù)控技術(shù)以及計(jì)算機(jī)輔助制造軟件的迅速發(fā)展,在數(shù)控編程方面,手工編程越來越多的被計(jì)算機(jī)自動(dòng)編程所取代

2、,從而使大家慢慢忽略了手工編程特別是宏程序的重要性,一個(gè)宏程序可以很方便地編制三維曲面的加工程序,而且程序非常簡潔,通用性好,對(duì)于相同形狀、不同尺寸的零件,只要在調(diào)用宏程序時(shí)賦不同的數(shù)值即可。宏程序的優(yōu)越性同時(shí)體現(xiàn)在孔系加工、口袋及輪廓加工、各類圓柱面、斜面、內(nèi)外球面、橢球面及倒r面加工。本文通過對(duì)fanuc oi系統(tǒng)研究,以宏程序的理論知識(shí)及應(yīng)用為基礎(chǔ),從宏程序編制的數(shù)學(xué)基礎(chǔ)開始,涉及到了宏程序的編譯,給出了一種典型的可以用于任意宏程序的編譯方法,以及用戶宏程序b的應(yīng)用,并對(duì)其常見問題進(jìn)行了歸納總結(jié),并以典型車削及銑削實(shí)例的形式加以具體闡述,希望為宏程序的應(yīng)用及推廣起到一定的借鑒作用。 前

3、言數(shù)控加工程序編制的關(guān)鍵是刀具相對(duì)工作運(yùn)動(dòng)軌跡的計(jì)算,即計(jì)算加工輪廓的基點(diǎn)和節(jié)點(diǎn)坐標(biāo)或刀具中心的基點(diǎn)和節(jié)點(diǎn)坐標(biāo)。數(shù)控機(jī)床一般只提供平面直線和圓弧插補(bǔ)功能,對(duì)于非圓的平面曲線y=f(x),采用的加工方法是按編程允許誤差,將平面輪廓曲線分割成許多小段,然后用數(shù)學(xué)計(jì)算的方法求逼近直線或圓弧輪廓曲線的交點(diǎn)和切點(diǎn)坐標(biāo)。隨著計(jì)算機(jī)數(shù)控系統(tǒng)(cnc)的不斷發(fā)展。cnc不僅能通過數(shù)字量去控制多個(gè)軸的機(jī)械運(yùn)動(dòng),而且具有強(qiáng)大的數(shù)據(jù)計(jì)算和處理能力,編程時(shí)只要建立加工輪廓的基點(diǎn)和節(jié)點(diǎn)的數(shù)學(xué)模型,按加工的先后順序。由數(shù)控系統(tǒng)即時(shí)計(jì)算出加工節(jié)點(diǎn)的坐標(biāo)數(shù)據(jù)。進(jìn)而控制加工,這就是數(shù)控系統(tǒng)提供的宏編程。宏指令編程像高級(jí)語言一樣

4、,可以使用變量驚醒算術(shù)運(yùn)算邏輯運(yùn)算的函數(shù)混合運(yùn)算進(jìn)行編程。在宏程序形式中,一般都市提供循環(huán)判斷分支和子程序調(diào)用的方法。可編制各種復(fù)雜的零件加工程序,熟悉應(yīng)用宏程序指令進(jìn)行編程,可大大精簡程序量,還可以增強(qiáng)機(jī)床的加工適應(yīng)能力。比如可以控制拋物線、橢圓的那個(gè)非圓曲線的算法標(biāo)準(zhǔn)化后做成內(nèi)部宏程序,以后就可以像圓弧插補(bǔ)一樣按照標(biāo)準(zhǔn)格式編程調(diào)用,相當(dāng)于增加了系統(tǒng)的插補(bǔ)功能。 隨著數(shù)控系統(tǒng)的不斷更新,宏指令應(yīng)用越來越廣泛。以日本fanuc-0i系統(tǒng)為例。0i系統(tǒng)使用b類宏指令,包括宏變量的賦值、運(yùn)算、條件調(diào)用等,其功能強(qiáng)大,編程直觀。 宏指令編程雖然屬于手工編程的范疇,但它不是直接算出輪廓各個(gè)節(jié)點(diǎn)的具體坐

5、標(biāo)數(shù)據(jù),而是給出數(shù)學(xué)公式的算法,由cnc來即時(shí)計(jì)算節(jié)點(diǎn)坐標(biāo),因此對(duì)于簡單直觀的零件輪廓不具有優(yōu)勢。若零件結(jié)構(gòu)不能用常規(guī)插補(bǔ)指令可以完成編程的,則可采用編制宏程序的方法,將計(jì)算復(fù)雜數(shù)據(jù)的任務(wù)交由數(shù)控系統(tǒng)來完成。對(duì)于加工方法和加工方式,零件的步驟,走刀路線及對(duì)刀點(diǎn)、起刀點(diǎn)的位置以及切入、切出方式的設(shè)計(jì)還是遵循一般手工編程的規(guī)則。編制宏程序時(shí),應(yīng)從零件的結(jié)構(gòu)特點(diǎn)出發(fā),分析零件加工表面之間的幾何關(guān)系,應(yīng)從零件的結(jié)構(gòu)特點(diǎn)出發(fā),分析零件上各加工表面之間的幾何關(guān)系,據(jù)此推到出各參數(shù)之間的數(shù)量關(guān)系,建立準(zhǔn)確的數(shù)學(xué)模型。目 錄一、宏程序應(yīng)用概述(一)宏程序概述(二) 宏程序與普通程序的對(duì)比(三) 數(shù)控編程技術(shù)的

6、應(yīng)用現(xiàn)狀(四)宏程序編程的技術(shù)特點(diǎn)(五)宏程序與cad/cam軟件生成程序的加工性能對(duì)比二、宏程序的變量和數(shù)學(xué)基礎(chǔ)的應(yīng)用(一)宏程序基本變量(二)雙軌跡的公共變量(三)算術(shù)和邏輯運(yùn)算(四) 宏程序的控制指令(五) fanuc-0i刀具補(bǔ)償值的系統(tǒng)變量(六)宏程序報(bào)警、停止和信息顯示、時(shí)間信息變量(七)自動(dòng)運(yùn)行控制可以改變自動(dòng)運(yùn)行的控制狀態(tài)的變量三、非圓曲線宏程序加工工藝(一)非圓曲線宏程序的使用步驟 (二)非圓曲線宏程序的具體應(yīng)用實(shí)例 (三)用戶宏程序應(yīng)用舉例四、宏程序編程實(shí)例(一) 編程實(shí)例(二)加工實(shí)例的工藝分析(三) 數(shù)控車宏程序編程五、總 結(jié)結(jié) 論致 謝參考文獻(xiàn)一、宏程序應(yīng)用概述(一)

7、宏程序概述1、數(shù)控編程技術(shù)的分類數(shù)控編程方法可以分為兩類:一類手工編程,另一類是自動(dòng)編程。2、手工編程手工編程是指編制零件數(shù)控加工程序的各個(gè)步驟,即從零件圖紙分析,工藝決策,確定加工路線和工藝參數(shù),計(jì)算刀尖軌跡坐標(biāo)數(shù)據(jù),編寫零件的數(shù)控加工程序單直至程序的檢驗(yàn),均由人工完成。對(duì)于點(diǎn)位加工或幾何形狀不太復(fù)雜的輪廓加工,幾何計(jì)算較簡單,程序段不多,手工編程即可實(shí)現(xiàn)。如簡單階梯軸的車削加工,一般不需要復(fù)雜的坐標(biāo)計(jì)算,往往可以由技術(shù)人員根據(jù)工序圖紙數(shù)據(jù)直接編寫數(shù)控加工程序。但對(duì)輪廓形狀不是由簡單的直線,圓弧組成的復(fù)雜零件,特別是空間復(fù)雜曲面零件,數(shù)值計(jì)算則相當(dāng)繁瑣,工作量大,容易出錯(cuò),且很難孝對(duì),采用手

8、工編程是難以完成的。3、自動(dòng)編程 使用計(jì)算機(jī)編制數(shù)控加工程序,自動(dòng)地輸出零件加工程序單及自動(dòng)的制作控制介質(zhì)的過程稱作自動(dòng)編程。自動(dòng)編程就是編程人員根據(jù)零件圖紙和工藝要求,使用規(guī)定的數(shù)控語言編寫一個(gè)較簡短的零件加工源程序,輸入到計(jì)算機(jī)中。計(jì)算機(jī)自動(dòng)地進(jìn)行數(shù)學(xué)處理,計(jì)算出刀具中心運(yùn)動(dòng)軌跡,編寫出零件加工程序單,并生成控制介質(zhì)。有預(yù)見在計(jì)算機(jī)上可自動(dòng)地繪出所編程的圖形及走刀軌跡,所以能及時(shí)的檢查程序是否錯(cuò)誤,并進(jìn)行修改,得到正確的程序。在自動(dòng)編程時(shí),工藝處理部分工作還需編程人員來完成并按自動(dòng)編程系統(tǒng)要求的格式輸入。(二) 宏程序與普通程序的對(duì)比一般意義上所講的數(shù)控指令其實(shí)是指iso代碼指令編程。即每

9、個(gè)代碼的功能是固定的,由系統(tǒng)生產(chǎn)廠家開發(fā),使用者只需(只能)按照規(guī)定編程即可。但有時(shí)候這些指令滿足不了用戶的需要,系統(tǒng)因此提供了用戶宏程序功能,便用戶可以對(duì)數(shù)控系統(tǒng)進(jìn)行一定的功能擴(kuò)展,實(shí)際上是數(shù)控系統(tǒng)對(duì)用戶的開放,也可視為用戶利用數(shù)控系統(tǒng)提供的工具,在數(shù)控系統(tǒng)的平臺(tái)上進(jìn)行二次開發(fā),當(dāng)然這里的開放和開發(fā)都是有條件和有限制的。 用戶宏程序和與普通程序存在一定的區(qū)別,認(rèn)識(shí)和了解這些區(qū)別,將有助于宏程序的學(xué)習(xí)理解和掌握運(yùn)用,表一是用戶宏程序與普通程序的簡要對(duì)比。 表一普通程序宏程序 只能使用常量可以使用變量,并給變量賦值 常量之間不可以運(yùn)算變量之間可以運(yùn)算 程序只能順序執(zhí)行,不能跳轉(zhuǎn) 程序運(yùn)行可以跳轉(zhuǎn)

10、(三) 數(shù)控編程技術(shù)的應(yīng)用現(xiàn)狀在我國,六成以上的數(shù)控銑床(包括加工中心)都是應(yīng)用在模具行業(yè),由于模具加工的特殊性和一些非技術(shù)性原因,cad/cam軟件的應(yīng)用由來已久,且日趨成熟,特別是在數(shù)控三維曲面加工中,手工編程幾乎已沒有用武之地,而由于強(qiáng)大對(duì)我思維定勢和使用習(xí)慣,使得編程人員不論程序大小、加工難易,都習(xí)慣并樂于使用各種cad/cam軟件來編程加工。手工編程似乎被遺忘在角落里,大有無人問津之勢。(四) 宏程序編程的技術(shù)特點(diǎn)盡管使用各種cad/cam軟件來編制數(shù)控加工程序已經(jīng)成為潮流(或主流),但手工編程畢竟還是基礎(chǔ),各種”疑難雜癥“的解決往往還要利用手工編程;且手動(dòng)編程還可以使用變量編程,即

11、宏程序的運(yùn)用。其最大特點(diǎn)就是將有規(guī)律的形狀或尺寸用最短的程序段表示出來,具有極好的易讀性和易修改性,編寫出的程序非常簡潔,邏輯嚴(yán)密,通用性極強(qiáng),而且機(jī)床在執(zhí)行此類程序時(shí),較執(zhí)行cad/cam軟件生成的程序更加快捷,反應(yīng)更迅速。 隨著技術(shù)的發(fā)展,自動(dòng)編程逐漸取代手工編程,但宏程序簡捷的特點(diǎn)使之依然具有使用價(jià)值,我個(gè)人認(rèn)為,宏程序的運(yùn)用應(yīng)該是手工編程應(yīng)用中最大的亮點(diǎn)和最后的堡壘。宏程序具有靈活性、通用性和智能性等特點(diǎn),例如對(duì)于規(guī)則曲面的編程來說,使用cad/cam軟件編程一般都有工作量大,程序龐大,加工參數(shù)不容易修改等缺點(diǎn),只要任何一個(gè)參數(shù)發(fā)生任何變化,再智能的軟件也要根據(jù)變化后的加工參數(shù)重新計(jì)算

12、刀具軌跡,盡管軟件計(jì)算刀具軌跡的計(jì)算速度非??欤冀K是個(gè)比較麻煩的過程。而宏程序則注重把機(jī)床參數(shù)與編程語言結(jié)合,而且靈活的參數(shù)設(shè)置也使機(jī)床具有最佳的工作性能,同時(shí)也給予操作工人極大的自由調(diào)整空間。 從模塊化加工的角度看,宏程序最具有模塊化的思想和資質(zhì)條件,編程人員只需要根據(jù)零件幾何信息和不同的數(shù)學(xué)模型即可完成相應(yīng)的模塊化加工程序設(shè)計(jì),應(yīng)用時(shí)只需要把零件信息,加工參數(shù)等輸入到相應(yīng)的模塊的調(diào)用語句中,就能使編程人員從繁瑣的、打量重復(fù)性的編程工作中解脫出來,有中一勞用逸的效果。 另外,由于宏程序基本上包含了所有的加工信息(如所使用刀具的幾何尺寸信息等),而且非常簡明直觀,通過簡單的存儲(chǔ)和調(diào)用,就可

13、以很方便的重現(xiàn)當(dāng)時(shí)的加工狀態(tài),給周期性的生產(chǎn)特別是不定期的間隔式生產(chǎn)帶來了極大的方便。 客觀的說,對(duì)于主要由于大量的不規(guī)則復(fù)雜曲面構(gòu)成的模具成型零件,由于設(shè)計(jì)、分析道制造的整個(gè)生產(chǎn)鏈在技術(shù)層面及生產(chǎn)管理上都是通過以上各種cad/cam軟件為核心(還包括pdm/cae等)的紐帶緊密相連的,從而形成一種高速的一體化和關(guān)聯(lián)性,無論從哪個(gè)角度來看,數(shù)控加工程序編制幾乎百分百的依賴各種cad/cam軟件,宏程序在這里的發(fā)揮空間是非常有限的。但是,數(shù)控加工領(lǐng)域還有很大一片天空是屬于機(jī)械零件的批量加工,雖然同樣是數(shù)控加工,它與上述的模具類零件的數(shù)控加工還是有著相當(dāng)大的差別的,機(jī)械零件的數(shù)控加工主要有以下幾個(gè)

14、特點(diǎn): (1)機(jī)械零件絕大多數(shù)都是批量生產(chǎn),在保證質(zhì)量的前提下要求最大限度的提高生產(chǎn)效率以降低生產(chǎn)成本。另外批量零件字加工的幾何尺寸精度和形狀位置精度要求保證高度的一致性,而加工工藝的優(yōu)化主要就是程序的優(yōu)化,是一個(gè)反復(fù)調(diào)整、嘗試的過程,這就要求操作者能夠非常方便的調(diào)整程序中的各項(xiàng)加工參數(shù)(如刀具尺寸、刀具補(bǔ)償值、層降、步距、計(jì)算精度、進(jìn)給速度等),宏程序在這方面就有強(qiáng)大的優(yōu)越性,只要能用宏程序來表述,操作者就根本無需觸動(dòng)程序本身,而只需要針對(duì)各項(xiàng)加工參數(shù)所對(duì)應(yīng)得自變量賦值做出個(gè)別調(diào)整,就能迅速的將程序調(diào)整到最優(yōu)化的狀態(tài),這就體現(xiàn)出宏程序的一個(gè)突出優(yōu)點(diǎn),即一次編程,終身受益。 (2)機(jī)械零件的形

15、狀主要是由于各種凸臺(tái)、凹槽、圓孔、斜平面、回轉(zhuǎn)面等組成,很少包含不規(guī)則的復(fù)雜曲面,構(gòu)成其的幾何因素?zé)o外乎點(diǎn)、直線、圓弧,最多加上各種二次圓錐曲面(橢圓、拋物線、雙曲線),以及一些漸開線(常應(yīng)用于齒輪及凸輪等),所有這些都是基于三角函數(shù),解析幾何的應(yīng)用,而數(shù)學(xué)上都可以用三角函數(shù)表達(dá)式及參數(shù)方程加以表述,因此宏程序在此有廣泛的應(yīng)用空間,可以發(fā)揮其強(qiáng)大的作用。 (3)機(jī)械零件還有一些很特殊的應(yīng)用,即使采用cad/cam軟件也不一定能輕易地解決,例如變螺距螺紋的加工、用螺旋插補(bǔ)進(jìn)行錐度螺紋的加工和鉆深可變式深孔鉆加工等,而在這些方面宏程序卻可以發(fā)揮它的優(yōu)勢。(五) 宏程序與cad/cam軟件生成程序的

16、加工性能對(duì)比 只要能夠用宏程序完整地表達(dá),即使再復(fù)雜,其程序篇幅都非常有限,可以說任何一個(gè)比較合理、優(yōu)化的宏程序,極少會(huì)超過60行,換算成字節(jié)數(shù),至多不過2kbytes。 一方面,宏程序天生短小精悍,即使是最廉價(jià)的機(jī)床數(shù)控系統(tǒng),其內(nèi)部程序存儲(chǔ)空間再小也會(huì)有個(gè)10kbytes左右,完全容納得下任何“龐大”的宏程序,因此根本無需考慮機(jī)床與外部電腦的傳輸速度對(duì)實(shí)際加工速度的影響。另一方面,為了對(duì)復(fù)雜的加工運(yùn)動(dòng)進(jìn)行描述,宏程序必然會(huì)最大限度地使用數(shù)控系統(tǒng)內(nèi)部的各種指令代碼,例如直線插補(bǔ)g01指令、圓?。菪┎逖a(bǔ)g02/g03指令等,因此機(jī)床在執(zhí)行宏程序時(shí),數(shù)控系統(tǒng)的計(jì)算機(jī)可以直接進(jìn)行插補(bǔ)運(yùn)算,運(yùn)算速

17、度極快,伺服電機(jī)響應(yīng)快,機(jī)床反應(yīng)迅速,加工效率極高。 而對(duì)于cad/cam軟件生成的程序,情況則要復(fù)雜得多首先,cad/cam軟件生成的程序通常都比較大,非常容易就突破機(jī)床數(shù)控系統(tǒng)內(nèi)部程序存儲(chǔ)空間的限制,因此一般來說除了相對(duì)簡單的孔系加工、二維輪廓或口袋加工以外,其余絕大部分程序都不得不以dnc方式進(jìn)行在線加工,顯然機(jī)床與電腦之間的傳輸速度成為了影響加工速度的第一個(gè)“瓶頸”因素。當(dāng)計(jì)算精度較高、進(jìn)給速度f值又較大(如f1800f2500)時(shí),程序傳輸速度往往還是跟不上機(jī)床的節(jié)拍,在實(shí)際加工中可以看到機(jī)床的進(jìn)給運(yùn)動(dòng)有明顯的斷續(xù)、遲滯,對(duì)于fanuc系統(tǒng),即使打開dnc緩沖,或設(shè)置g51.1參數(shù),

18、也難以有大的改觀。 其次,在cad/cam軟件中,無論構(gòu)造規(guī)則或不規(guī)則的曲面,都有一個(gè)數(shù)學(xué)運(yùn)算的過程,也必然存在著計(jì)算的誤差和處理,而在對(duì)其生成三維加工刀路時(shí),軟件是根據(jù)你選擇的加工方式、設(shè)定的加工參數(shù),并結(jié)合所設(shè)定的加工誤差(或稱為曲面的計(jì)算精度),使刀具與加工表面接觸點(diǎn)(相交點(diǎn)或相切點(diǎn))逐點(diǎn)移動(dòng)完成加工,從本質(zhì)上看,其實(shí)就是在允許的誤差值范圍內(nèi)沿每條路徑用直線去逼近曲面的過程! 二、宏程序的變量和數(shù)學(xué)基礎(chǔ)的應(yīng)用(一)宏程序基本變量普通加工程序直接用指定g代碼和移動(dòng)距離;例如g01和x100.使用用戶宏程序是,數(shù)值可以直接指定或變量指定。當(dāng)用變量時(shí),變量值可以用程序或用mdi面板上的操作改變

19、。如#1=#2+100g01 x#1 f3001、 變量的表示 計(jì)算機(jī)允許使用變量名,用戶宏程序不行。變量用變量符號(hào)(#)和后面的變量號(hào)指定。例如:#1 表達(dá)式可以用于指定變量號(hào)。此時(shí),表達(dá)式必須封閉在括號(hào)中。例如:#1+#2-122、變量值的范圍局部變量和公共變量可以有0值或下面范圍中的值:-1047到-10-19或-10-2到-1047范圍。如果計(jì)算范圍超出有效范圍,則發(fā)出p/s報(bào)警no.111。3、 小數(shù)點(diǎn)的省略當(dāng)在程序中定義變量值時(shí),小數(shù)點(diǎn)可以省略。例:當(dāng)定義#1=123;變量#1的實(shí)際值時(shí)123.000。4、 變量的引用1為在程序中使用變量值,指定后跟變量號(hào)的地址。當(dāng)用表達(dá)式指定變量

20、時(shí),要把表達(dá)式放在括號(hào)中。例如:g01x#1+#2f#32被引用變量的值根據(jù)地址的最小設(shè)定單位自動(dòng)地舍入。例如:當(dāng)g00x#1;以1/1000mm的單位執(zhí)行時(shí),cnc把123456賦值給變量#1,實(shí)際指令值為g00x1234563改變引用變量的值的符號(hào),要把負(fù)號(hào)(-)放在#的前面。例如:g00x-#14當(dāng)引用未定義的變量時(shí),g00x#1 y#2的執(zhí)行結(jié)果g00x0。(二)雙軌跡的公共變量對(duì)雙軌跡控制,系統(tǒng)為每一軌跡都是提供了單位的宏變量,但是,根據(jù)參數(shù)n0.6036和6037的設(shè)定,某些公共變量可同時(shí)用于兩個(gè)軌跡。1、未定義的變量當(dāng)變量值未定義時(shí),這樣的變量成為空變量。變量#0總是空變量。它不

21、能寫,只能讀。1引用:當(dāng)引用一個(gè)未定義的變量時(shí),地址本身也被忽略。2運(yùn)算:除了用賦值以外,其余情況下與0相同。3條件表達(dá)式:eq和ne中的不同于0。1、 限制程序號(hào),順序號(hào)和任選程序段跳轉(zhuǎn)不能使用變量。例:下面情況不能使用變量:0#1;/#g00x100.0;n#3y200.0;(三)算術(shù)和邏輯運(yùn)算線面運(yùn)算可在變量中執(zhí)行運(yùn)算表達(dá)式可包含常量和由函數(shù)或運(yùn)算符組成的變量。表達(dá)式中的變量#j#k可以用常數(shù)賦值。1、常用變量 #i=#j 【加】#i=#j+#k 【減】#i=#j-#k 【乘】#i=#j*#k 【除】#i=#j/#k 2、角度單位為度【正弦】#i=sin#j 【余弦】#i=cos#j 【

22、正切】#i=tan#j 【反正切】#i=atan#j3、函數(shù)【平方根】#i=sqrt#j 【絕對(duì)值】#i=abs#j【四舍五入圓整】#i=round#j 【舍入】#i=round#j【上取整】 #i=fin#j 【下取整】#i=fup#j【自然對(duì)數(shù)】 #i=ln#j 【指數(shù)函數(shù)】 #i=exp#j4、邏輯變量 邏輯運(yùn)算對(duì)二進(jìn)制數(shù)逐位進(jìn)行【或】#i=#jor#k 【異或】#i=#jxor#k 【與】#i=#jand#k5、運(yùn)算符 eq等 ne 不等于 gt 大于 ge大于或等于 lt 小于 le 小于或等于6、 說明 1) 角度單位為度 例:90度30分為905度 2) atan函數(shù)后的兩個(gè)邊長

23、要用“1”隔開 例:1atan11時(shí),1為了350 3) round用于語句中的地址,按各地址的最小設(shè)定單位進(jìn)行四舍五入 例:設(shè)112345,223456,設(shè)定單位1m g91x1;x1235 x2f300;x2346 x12;x3580 未返回原處,應(yīng)改為 xround1round2; 4) 取整后的絕對(duì)值比原值大為上取整,反之為下取整 例:設(shè)112,212時(shí) 若3fup#1時(shí),則320 若3fix#1時(shí),則310 若3fup#2時(shí),則320 若3fix#2時(shí),則310 5) 指令函數(shù)時(shí),可只寫開頭2個(gè)字母 例:roundro fixfi 6) 優(yōu)先級(jí) 函數(shù)乘除(,1,and)加減(,or,

24、xor) 例:123sin4; 7) 括號(hào)為中括號(hào),最多5重,園括號(hào)用于注釋語句 例:1sin#2+#3*#4+#5*#6;(3重)(四) 宏程序的控制指令在宏程序中,有三種轉(zhuǎn)移和循環(huán)操作可供使用。1、無條件轉(zhuǎn)移(goto語句)語句格式為: goto n其中n為順序號(hào)(19999),可用變量表示。例如:goto 1; goto #10;2、 條件轉(zhuǎn)移(if 語句)語句格式為: if 條件式 goto n條件式成立時(shí),從順序號(hào)為n的程序段開始執(zhí)行;條件式不成立時(shí),執(zhí)行下一個(gè)程序段。條件式有以下幾類:# j eq # k eq等于 # j ne # k ne不等于# j gt # k gt大于 #

25、 j lt # k lt小于# j ge # k ge大于等于 # j le # k le小于等于條件式中變量#j或#k可以是常量也可以是表達(dá)式,條件式必須用括弧括起來。下面的程序可以得到1到10的和:o7100#1=0#2=1n1 if #2 gt 10 goto 2#1=#1+#2#2=#2+1goto 1n2 m303、循環(huán)語句(while 語句)語句格式為: while 條件式 do m (m=1,2,3)end m如右圖所示:當(dāng)條件語句成立時(shí),程序執(zhí)行從do m到end m之間的程序段;如果條件不成立,則執(zhí)行end m之后的程序段。do和end后的數(shù)字是用于表明循環(huán)執(zhí)行范圍的識(shí)別號(hào)。

26、可以使用數(shù)字1,2和3,如果是其他數(shù)字,系統(tǒng)會(huì)產(chǎn)生報(bào)警。doend循環(huán)能夠按需執(zhí)行多次。如下例所示:上面的o7100程序也可以用while語句編制如下:o7200#1=0#2=1while #2 le 10 do 1#1=#1+#2#2=#2+1end 1m30(五) fanuc-0i刀具補(bǔ)償值的系統(tǒng)變量1、系統(tǒng)變量用于讀和寫nc內(nèi)部數(shù)據(jù)例如刀具偏置值和當(dāng)前位置數(shù)據(jù),但是某些系統(tǒng)變量只能讀。系統(tǒng)變量是自動(dòng)控制和通用加工程序開發(fā)的基礎(chǔ),是可編程機(jī)床控制器pmc 和用戶宏程序之間交換的信號(hào)。接口信號(hào)的系統(tǒng)變量變量號(hào)功能#1000; #1015; #1032;把16位信號(hào)從pmc送到用戶宏程序變量#

27、1000,到#1015 用于按位讀取信號(hào)變量#1032 用于一次。讀取一個(gè)16位信號(hào)。#1100 #1115 #1132把16 位信號(hào)從用戶宏程序送到pmc 變量#1100,到#1115 用于按位寫信號(hào)變量#1132 用于一次寫。一個(gè)16位信號(hào)#1133 變量#1133 用于從用戶宏程序一次寫一個(gè)32 位的信號(hào)到pmc。注意#1133的值為從99999999到+99999999,詳細(xì)情況請(qǐng)見連接說明書b-63503c-1,用系統(tǒng)變量可以讀和寫刀具補(bǔ)償值。2、刀具補(bǔ)償存儲(chǔ)器c 的系統(tǒng)變量刀具長度補(bǔ)償h 刀具半徑補(bǔ)償d 補(bǔ)償;幾何補(bǔ)償磨損補(bǔ)償幾何補(bǔ)償磨損補(bǔ)償當(dāng)偏置組數(shù)小于等于200時(shí)也可使用#20

28、01 #2400(六)程序報(bào)警、停止和信息顯示、時(shí)間信息變量1、宏程序報(bào)警的系統(tǒng)變量變量號(hào)功能#3000 當(dāng)變量#3000 的值為0 200 時(shí)cnc 停止運(yùn)行,且報(bào)警。在表達(dá)式后為不超過26個(gè)字符的報(bào)警信息;crt 屏幕上顯示報(bào)警號(hào)和報(bào)警信息其中報(bào)警號(hào)為變量#3000的值加上3000。例#3000=1 tool not found報(bào)警屏幕上顯示3001 tool not found 刀具未找到程序執(zhí)行停止并顯示信息報(bào)警號(hào)功能。#3006 在宏程序中指令#3006=1 message時(shí)程序執(zhí)行前面程序段并停止。當(dāng)最多到26 個(gè)字符的信息由控制輸入和控制輸出括住在同一程序段中編程時(shí),信息被顯示在

29、外部操作信息屏幕,時(shí)間信息可以讀和寫。2、時(shí)間信息的系統(tǒng)變量變量號(hào)功能#3001 該變量為一個(gè)計(jì)時(shí)器以1 毫秒為計(jì)時(shí)單位,當(dāng)電源接通時(shí)該變量值復(fù)位為0 當(dāng)達(dá)到2147483648毫秒時(shí)該計(jì)時(shí)器的值返回到0。#3002 該變量為一個(gè)計(jì)時(shí)器當(dāng)循環(huán)起動(dòng)燈亮?xí)r以一小時(shí)為單位計(jì)時(shí)該計(jì)時(shí)器即使在電源斷電時(shí),也保存該值當(dāng)達(dá)到9544.371767 小時(shí),該計(jì)時(shí)器的值返回到0。#3011 該變量用于讀取當(dāng)前的曰期年/月/曰年/月/曰信息轉(zhuǎn)換成十進(jìn)制數(shù)。例如:1994 年9月8曰表示為19940928。#3012 該變量用于讀取當(dāng)前的時(shí)間時(shí)/分/秒時(shí)/分/秒信息轉(zhuǎn)換成十進(jìn)制數(shù)。例如:下午3點(diǎn)34分56秒表示為1

30、53456。(七)自動(dòng)運(yùn)行控制可以改變自動(dòng)運(yùn)行的控制狀態(tài)的變量自動(dòng)運(yùn)行控制的系統(tǒng)變量#3003#3003 單程序段輔助功能的完成0 有效等待1 無效等待2 有效不等待3 無效不等待當(dāng)電源接通時(shí)該變量的值為0當(dāng)單程序段停止無效時(shí),即使單程序段開關(guān)設(shè)為on 也不執(zhí)行單程序段停止,當(dāng)不指定等待輔助功能m s 和t 功能完成時(shí),在輔助功能完成之前, 程序執(zhí)行到下列程序段而且分配完成信號(hào)den不輸出自動(dòng)運(yùn)行控制的系統(tǒng)變量#3004#3004 進(jìn)給暫停進(jìn)給速度倍率準(zhǔn)確停止0 有效有效有效1 無效有效有效2 有效無效有效3 無效無效有效4 有效有效無效5 無效有效無效6 有效無效無效7 無效無效無效當(dāng)電源接

31、通時(shí)該變量的值為0當(dāng)進(jìn)給暫停無效時(shí)1、 當(dāng)進(jìn)給暫停按鈕被按下時(shí),機(jī)床在單段停止方式停止,但是當(dāng)用變量#3003使單程序段方式無效時(shí)單程序段停止不執(zhí)行。2、 當(dāng)進(jìn)給暫停按鈕壓下又松開時(shí),進(jìn)給暫停燈亮,但是機(jī)床不停止程序繼續(xù)執(zhí)行,并且機(jī)床停在進(jìn)給暫停有效的第一個(gè)程序段,當(dāng)進(jìn)給速度倍率無效時(shí)總是100%的倍率而不管機(jī)床操作面板上的進(jìn)給速度倍率開關(guān)的設(shè)置。三、非圓曲線宏程序加工工藝 機(jī)械加工中常有由復(fù)雜曲線所構(gòu)成的非圓曲線(如橢圓曲線、拋物線、雙曲線和漸開線等)零件,隨著工業(yè)產(chǎn)品性能要求的不斷提高,非圓曲線零件的作用就日益重要,其加工質(zhì)量往往成為生產(chǎn)制造的關(guān)鍵。數(shù)控機(jī)床的數(shù)控系統(tǒng)一般只具有直線插補(bǔ)和圓

32、弧插補(bǔ)功能, 非圓曲線形狀的工件在數(shù)控車削中屬于較復(fù)雜的零件類別,一般運(yùn)用擬合法來進(jìn)行加工。而此類方法的特點(diǎn)是根據(jù)零件圖紙的形狀誤差要求,把曲線用許多小段的直線來代替,根據(jù)零件圖紙的形狀誤差,如果要求高,直線的段數(shù)就多,雖然可以憑借cad軟件來計(jì)算節(jié)點(diǎn)的坐標(biāo),但是節(jié)點(diǎn)太多也導(dǎo)致了加工中的不方便,如果能靈活運(yùn)用宏程序,則可以方便簡捷地進(jìn)行編程,從而提高加工效率。 (一) 非圓曲線宏程序的使用步驟 1、選定自變量。非圓曲線中的x和z坐標(biāo)均可以被定義成為自變量,一般情況下會(huì)選擇變化范圍大的一個(gè)作為自變量,并且要考慮函數(shù)表達(dá)式在宏程序中書寫的簡便,為方便起見,我們事先把與z 坐標(biāo)相關(guān)的變量設(shè)為#100

33、、#101,將x坐標(biāo)相關(guān)的變量設(shè)為#200、#201等。2、確定自變量起止點(diǎn)的坐標(biāo)值。必 須要明確該坐標(biāo)值的坐標(biāo)系是相對(duì)于非 圓曲線自身的坐標(biāo)系,其起點(diǎn)坐標(biāo)為自變量的初始值,終點(diǎn)坐標(biāo)為自變量的終止值。 3、進(jìn)行函數(shù)變換,確定因變量相對(duì) 于自變量的宏表達(dá)式。 4、確定公式曲線自身坐標(biāo)系的原點(diǎn)相對(duì)于工件原點(diǎn)的代數(shù)偏移量(x和z)。 5、計(jì)算工件坐標(biāo)系下的非圓曲線上各點(diǎn)的x坐標(biāo)值(#201)時(shí),判別宏變量#200的正負(fù)號(hào)。以編程輪廓中的公式曲線自身坐標(biāo)原點(diǎn)為原點(diǎn),繪制對(duì)應(yīng)的曲線坐標(biāo)系的x 和z 坐標(biāo)軸,以其z 坐標(biāo)為分界 線,將輪廓分為正負(fù)兩種輪廓,編程輪廓在x 正方向稱為正輪廓,編程輪廓在x 負(fù)方

34、向?yàn)樨?fù)輪廓。 如果編程中使用的公式曲線是正輪廓,則在計(jì)算工件坐標(biāo)系下的x坐標(biāo)值(#201)時(shí),宏變量#200的前面應(yīng)冠以正號(hào);如公式曲線是負(fù)輪廓,則宏變量#200的前面應(yīng)冠以負(fù)號(hào),即#201=#200+x 。 6、設(shè)計(jì)非圓曲線宏程序的模板。設(shè)z坐標(biāo)為自變量#100,x坐標(biāo)為因變量#200,自變量步長為w,x為曲線本身坐標(biāo)系原點(diǎn)在工件坐標(biāo)系下x方向偏移量,z為曲線本身坐標(biāo)系原點(diǎn)在工件坐標(biāo)系下z方向偏移量,則公式曲線段的加工程序宏指令編程模板如下。 #100=z1 (定義自變量的起點(diǎn)z坐標(biāo)) while #100 ge z2do 1 (加工控制) #200=f(#100) (建立自變量與因變量函數(shù)

35、關(guān)系式) #201=#200+x (計(jì)算曲線上點(diǎn)在加工坐標(biāo)系的x坐標(biāo)) #101=#100+z(計(jì)算曲線上點(diǎn)在加工坐標(biāo)系的z坐標(biāo)) g01 x2*#201 z#101f(曲線加工) #100=#100-w (自變量減小一個(gè)步距) end1 (加工結(jié)束) (二)非圓曲線宏程序的具體應(yīng)用實(shí)例 運(yùn)用以上非圓曲線宏程序模板,就可以快速準(zhǔn)確實(shí)現(xiàn)零件公式曲線輪廓的編程加工。下面介紹一個(gè)具體應(yīng)用示例。加工圖1所示橢圓輪廓,棒料45,編程零點(diǎn)放在工件右端面。 圖11、分析零件尺寸,確定正負(fù)輪廓及代數(shù)偏移量(x 和z)。 由圖1可知,該圖中的橢圓曲線為凸?fàn)?,編程輪廓在x 軸正方向?yàn)檎喞?,在?jì)算工件坐標(biāo)系下的x

36、 坐標(biāo)值(#3、#201)時(shí),宏變量#200的前面應(yīng)冠以正號(hào),公式曲線自身坐標(biāo)系的原點(diǎn)相對(duì)于 工件原點(diǎn)的偏移量為(x0,z-60)。 2、零件的外輪廓粗精加工參考程序如下(粗加工用直角方程,精加工用極坐標(biāo)方程)。 o9988 g98 s700 m3; t0101; g0 0x41 z2; g01 z-100 f150; (粗加工開始) g00 x42; z2; #1=20*20*4; (4a2) #2=60; (b) #3=35 ; (x初值(直徑值) while #3 ge 0 do1; (粗加工控制) #100=#2*sqrt1-#3*#3/#1; (z) #101=#100-60+0.2

37、 g00 x#3+1 ; (進(jìn)刀) g01 z#101 f150; (切削) g00 u1; (退刀) z2; (返回) #3=#3-4; (下一刀切削直徑) end1; #10=0.8; (x向精加工余量) #11=0.1; (z向精加工余量) while #10 ge 0 do1; (半精、精加工控制) g00 x0 s800; (進(jìn)刀,準(zhǔn)備精加工) #20=0 ; (角度初值) while #20 le 90 do2; (曲線加工范圍) #200=2*20*sin#20; (x) #201=#200+#10 #100=60*cos#20; (z) #101=#100+#11-60; g0

38、1x#201z#101 f100; (曲線 精加工) #20=#20+1; end2; g01 z-100; g00 x45 z2; #10=#10-0.8; #11=#11-0.1; end1; g0 x100 z200; m30; (三) 用戶宏程序應(yīng)用舉例例:用宏程序和子程序功能順序加工圓周等分孔。設(shè)圓心在o點(diǎn),它在機(jī)床坐標(biāo)系中的坐標(biāo)為(x0,y0),在半徑為r的圓周上均勻地鉆幾個(gè)等分孔,起始角度為,孔數(shù)為n。以零件上表面為z向零點(diǎn)。見圖3.3。 使用以下保持型變量: #502:半徑r;#503:起始角度;#504:孔數(shù)n,當(dāng)n0時(shí),按逆時(shí)針方向加工,當(dāng)n0時(shí),按順時(shí)針方向加工;#505

39、:孔底z坐標(biāo)值;#506:r平面z坐標(biāo)值;#507:f進(jìn)給量。 使用以下變量進(jìn)行操作運(yùn)算: #100:表示第i步鉆第i孔的記數(shù)器; 圖3.3#101:記數(shù)器的最終值(為n 的絕對(duì)值);#102:第i個(gè)孔的角度位置i的值; #103:第i個(gè)孔的x坐標(biāo)值;#104:第i個(gè)孔的y坐標(biāo)值;用用戶宏程序編制的鉆孔子程序如下: o9010n110 g65 h01 p#100 q0 #100 = 0n120 g65 h22 p#101 q#504 #101 = #504n130 g65 h04 p#102 q#100 r360 #102 = #100 360on140 g65 h05 p#102 q#102 r#504 #102 = #102 / #504n150 g65 h02 p#102 q#503 r#102 #102 = #503 + #102孔角度位置i =+ (360oi) / nn160 g65 h32 p#103 q#502 r#102 #103 = #502 cos(#102)當(dāng)前孔的 x坐標(biāo)n170 g65 h31 p#104 q#502 r#102 #104 = #502 sin(#102) 當(dāng)前孔的y坐標(biāo)n180 g90 g00 x#103 y#104 定位到當(dāng)前孔(返回開始平

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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)論