數控鉆孔課件_第1頁
數控鉆孔課件_第2頁
數控鉆孔課件_第3頁
數控鉆孔課件_第4頁
數控鉆孔課件_第5頁
已閱讀5頁,還剩111頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

%0008G92X0.0Y0.0Z50.0S1000M03M08G90G98G81X-50Y0R-15Z-52F70.0(鉆1)X-50.0Y-30.0(鉆2)X0.0Y30.0R5(鉆3)。。。。。。%0008數控加工中,某些加工動作循環(huán)已經典型化。例如,鉆孔、鏜孔的動作是孔位平面定位、快速引進、工作進給、快速退回等。 將這樣一系列典型加工動作預先編好程序存儲在系統(tǒng)中,再用包含G代碼的一個程序段調用,可簡化編程工作。這種包含了典型動作循環(huán)的G代碼稱為循環(huán)指令。常用的固定循環(huán)指令能完成的工作有:鉆孔、攻螺紋和鏜孔等。這些循環(huán)通常包括下列六個基本操作動作:①X、Y軸快速定位到孔中心位置②Z軸快速運行到靠近孔上方的安全高度平面R點(參考點)③孔加工(工作進給)④在孔底做需要的動作⑤退回到安全平面高度或初始平面高度⑥快速返回到初始點位置。1、固定循環(huán)的基本動作數控加工中,某些加工動作循環(huán)已經典型化。例如,鉆孔、固定循環(huán)的動作示意圖初始高度安全高度孔底動作G99快速定位快速移至R面安全高度12345工進退回工進加工孔快速退回孔底平面①X、Y軸快速定位到孔中心位置(起始點)②Z軸快速運行到靠近孔上方的安全高度平面R點(參考點)③孔加工(工作進給)④孔底動作⑤退回到安全平面高度⑥快速返回到初始平面。6不同的固定循環(huán)動作可能不同,有的沒有孔底動作,有的直徑回退到初始平面。固定循環(huán)的動作示意圖初始高度安全高度孔底動作G99快速定位快G90(G91)G98(G99)G_X_Y_Z_R_Q_P_F_L_固定循環(huán)指令格式總體說明ZZG90:X、Y、Z、R的數值為相對于工件坐標系的數值。G91:X、Y、Z、R的數值為相對于前一點的距離。G90(G91)G98(G99)G_X_Y_Z_R_Q_P固定循環(huán)指令格式說明G90(G91)

G98(G99)G_X_Y_Z_R_Q_P_F_L_G98—返回初始平面。初始點是為安全下刀而規(guī)定的點。該點到零件表面的距離可以任意設定在一個安全高度上。執(zhí)行循環(huán)指令前刀具所在的高度位置既視為初始點。G99—返回安全(R點)平面R點平面是刀具下刀時由快進轉為工進的轉換起點。距工件表面的距離主要考慮工件表面尺寸的變化,一般可取2~5mm。固定循環(huán)指令格式說明G90(G91)G98(G99)GG指令用途Z向加工動作孔底動作Z向回退動作G73高速深孔鉆間歇進給主軸保持轉向及轉速快速回退(不完全)G74攻左螺紋M04切削進給主軸M03保持轉速M03切削進給回退G76精鏜循環(huán)切削進給主軸停止、定向、偏移快速回退(完全)G80取消固定循環(huán)

G81鉆孔循環(huán)切削進給主軸保持轉向及轉速快速回退(完全)G82中心鉆循環(huán)切削進給主軸保持轉向及轉速、暫停快速回退(完全)G83深孔鉆間歇進給主軸保持轉向及轉速快速回退(完全)G84攻右螺紋M03切削進給主軸M04保持轉速M04切削進給回退G85鉸孔循環(huán)切削進給主軸保持轉向及轉速工進回退(完全)G86粗鏜循環(huán)切削進給主軸停止快速回退(完全)G87反鏜循環(huán)主軸停止、定向、偏移、快進反向偏移、工進切削進給G88手動鏜循環(huán)切削進給主軸停止、手動操作快速回退(完全)G89鏜循環(huán)切削進給主軸保持轉向及轉速、暫停工進回退(完全)G98(G99)G_X_Y_Z_R_Q_P_F_L_第二個G代碼為孔加工方式,即固定循環(huán)代碼G73,G74,G76和G81~G89中的任一個。G指令用途Z向加工動作孔底動作Z向回退動作G73高速深孔G98(G99)G_

X_Y_Z_R_Q_P_F_L_X、Y為孔位數據,指被加工孔的圓心位置。G90時:XY為孔圓心坐標G91時:XY為孔圓心相對與前一點的移動量。固定循環(huán)指令參數說明Z為孔底數據G90時:Z為孔底坐標G91時:Z為R點到孔底的距離(多為負)G98(G99)G_X_Y_Z_R_Q_P_F_L_ZZG98(G99)G_X_Y_Z_R_Q_P_F_L_XG98(G99)G_X_Y_Z_R_Q_P_F_L_RRR為安全平面位置G90時:R——R面的坐標值G91時:R——初始點到R面的距離(常為負)G98(G99)G_X_Y_Z_R_Q_P_F_L_RG98(G99)G_X_Y_Z_R_Q_P_F_L_Q

在G73(高速深孔鉆)或G83(深孔鉆)時指定每次進給深度,在G76(精鏜循環(huán))或G87(反鏜循環(huán))時指定刀具的讓刀量,是增量值。P指定刀具在孔底的暫停時間,單位為ms(毫秒)。F為切削進給速度L指定固定循環(huán)的次數說明:1、G73~G89、Z、R、P、Q都是模態(tài)代碼。2、在固定循環(huán)中刀具半徑補償無效,刀具長度補償有效

3、G80、G01~G03等代碼可以取消固定循環(huán)。G80取消后的默認值為G00。G98(G99)G_X_Y_Z_R_Q_P_F_L_Q固定循環(huán)指令分類鉆孔類一般鉆孔鉆深孔(L/D>3)高速深孔鉆G73深孔鉆G83鉆孔循環(huán)G81中心鉆循環(huán)G82鉸孔類鉸鏜孔循環(huán)1鉸鏜孔循環(huán)2G85G89攻螺紋類右旋攻螺紋左旋攻螺紋G84G74鏜孔類粗鏜孔精鏜孔反鏜孔G86G76G87G88手動鏜固定循環(huán)指令分類鉆孔類一般鉆孔鉆深孔(L/D>3)高速深孔鉆鉆孔循環(huán)指令1、一般鉆孔循環(huán)指令G81格式:G98(G99)G81X_Y_Z_R_F_L_動作分解:刀具以進給速度向下運動鉆孔,到達孔底位置后,快速退回(無孔底動作),適用:用于一般鉆孔,孔不深。初始高度安全高度孔底G99G98G81動作指令圖鉆孔循環(huán)指令1、一般鉆孔循環(huán)指令G81初始高度安全高度孔底G鉆孔循環(huán)指令2、帶停頓的鉆孔循環(huán)指令G82格式:G98(G99)G82X_Y_Z_R_P_F_L_動作分解:與G81指令唯一的區(qū)別是有孔底暫停動作,暫停時間由P指定。作用:執(zhí)行該指令使孔的表面更光滑,孔底平整。常用于做沉頭臺階孔和中心孔。初始高度安全高度Z軸孔底暫停G99G98G82動作指令圖鉆孔循環(huán)指令2、帶停頓的鉆孔循環(huán)指令G82初始高度安全高度Z深孔加工循環(huán)指令qqq初始高度安全高度孔底位置kkG73動作分解1、高速深孔加工循環(huán)指令G73格式:G98(G99)G73X_Y_Z_R_Q_F_L_動作分解:該固定循環(huán)用于Z軸的間歇進給,有利于斷屑。適用:深孔加工。參數:Q值為每次的進給深度.參數:K為系統(tǒng)設定值。例:G98G73X10Y20Z-60R5Q10F50深孔加工循環(huán)指令qqq初始高度安全高度孔底位置kkG73動作深孔加工循環(huán)指令2、深孔加工循環(huán)指令G83與G73不同之處在每次進刀后都返回安全平面高度處,更有利于鉆深孔時的排屑。d:每次退刀后,再次進給時,由快速進給轉換為切削進給時距上次加工面的距離(d由系統(tǒng)參數設定)qqq初始高度安全高度孔底位置ddG83動作分解深孔加工循環(huán)指令2、深孔加工循環(huán)指令G83qqq初始高度安全鉆孔循環(huán)指令編程舉例一%0009G92X0.0Y0.0Z50.0S800M03M08G90F70.0G99G81X-50.0Y0.0Z-52.0R-15.0鉆1G98Y-30.0(鉆2)G99G73X0.0Y30.0Z-52.0R5.0

Q10

(高速深孔鉆3)

G98Y-30.0(高速深孔鉆4)G99G82X50.0Y30.0Z-30.0R-15.0

P2

(中心鉆5)G98Y0.0(鉆6)M05M09M30鉆6-φ10的孔鉆孔循環(huán)指令編程舉例一%0009鉆6-φ10的孔例二編制右所示的孔加工程序(設Z軸開始點距工作表面50mm處,切削深度為10mm)。R面50初始面3%0009G92X50.Y50.Z50.G90G00X0.Y0.S800M03G91G99G81X40.Y40.Z-13.R-47.F100X40.Y0.L3X0.Y50.X-40.Y0.L3G90G80X-100.Y-50.Z50.M05M30例二編制右所示的孔加工程序(設Z軸開始點距工作表面50mm處螺紋加工循環(huán)指令(G74)左旋攻螺紋循環(huán)G74格式:G98(G99)G74X_Y_Z_R_F_L_動作分解:左旋攻螺紋(攻反螺紋)時主軸反轉,到孔底時主軸正轉,然后工進速度退回。初始高度安全高度孔底平面主軸正轉主軸反轉G74動作指令圖注意:1、攻螺紋過程要求主軸轉速與進給速度成嚴格的比例關系,進給速度F=轉速(r/min)×螺矩(mm).2、R應選在距工件表面7mm以上的地方。螺紋加工循環(huán)指令(G74)左旋攻螺紋循環(huán)G74格式:G98(G99)G84X_Y_Z_R_F_L_動作分解:從R點到Z點攻絲時刀具正向進給,主軸正轉。到孔底部時,主軸反轉,刀具以反向進給速度退出.初始高度安全高度孔底平面主軸反轉主軸正轉G84動作指令圖右旋攻螺紋循環(huán)格式:動作分解:初始高度安全高度孔底平面主軸反轉主軸正轉G8螺紋加工編程舉例編制右圖所示的螺孔加工程序(設Z軸開始點距工作表面50mm處,切削深度為10mm牙距2mm)。R面50初始面3(1)先用G81鉆孔%0009G92X50.Y50.Z50.G90G00X0.Y0.M03S800G91G99G81X40.Y40.Z-13.R-47.F100X40.Y0.L3X0.Y50.X-40.Y0.L3G90G80X50.Y50.Z50.螺紋加工編程舉例編制右圖所示的螺孔加工程序(設Z軸開始點距工(Ⅱ)再用G84攻絲S140X0Y40G91G99G84X40Z-17R-43

L4

F280Y50G99G84X-40.Z-17.R-43.L3

G80Z43.G90X50Y50M05M30編制右圖所示的螺孔加工程序(設Z軸開始點距工作表面50mm處,切削深度為10mm牙距2mm)(Ⅱ)再用G84攻絲編制右圖所示的螺孔加工程序(設Z軸開始點鏜孔循環(huán)指令G86

1)G86:粗鏜循環(huán)

初始高度安全高度孔底平面G85指令動作圖G98G86X_Y_Z_R_F_L_此指令與G81鉆孔指令相同,但在孔底時主軸停止,然后快速退回。注意:該指令退刀前沒有讓刀動作,退回時可能劃傷已加工表面,因此只用于粗鏜孔。鏜孔循環(huán)指令G86

1)G86:粗鏜循環(huán)初始高度安全高鏜孔循環(huán)指令(G76)2)精鏜循環(huán)G98(G99)G76X_Y_Z_R_Q_F_L_G76動作指令圖初始高度安全高度孔底平面主軸準停q精鏜時,主軸在孔底定向停止后,向刀尖反方向移動,然后快速退刀,退刀位置由G98或G99決定。帶有讓刀的退刀不會劃傷已加工平面,保證了鏜孔精度。刀尖反向位移量用地址Q指定。鏜孔循環(huán)指令(G76)2)精鏜循環(huán)G98(G99)G76鏜孔循環(huán)指令(G87)3)G87:反鏜循環(huán)G98G87X_Y_Z_R_Q_F_L_G87指令動作圖動作過程:在X、Y軸定位后,主軸定向停止,然后向刀尖的反方向移動q值,再快速進給到孔底(R點)定位。在此位置,刀具向刀尖方向移動q值。主軸正轉,在Z軸正方向上加工至Z點。這時主軸又定向停止,向刀尖反方向位移,然后從孔中退出刀具,后退回一個位移量,主軸正轉,進行下一個程序段的動作。。只能用G98返回到初始點)鏜孔循環(huán)指令(G87)3)G87:反鏜循環(huán)G87指令動作鏜孔循環(huán)指令(G88)G88指令動作圖4)G88:鏜孔循環(huán)(手鏜)G98(G99)G88X_Y_Z_R_P_F_L_在孔底暫停,主軸停止后,轉換為手動狀態(tài),可用手動將刀具從孔中退出。到返回點平面后,主軸正轉,再轉入下一個程序段進行自動加工。鏜孔手動回刀,不需主軸準停鏜孔循環(huán)指令(G88)G88指令動作圖4)G88:鏜孔循鉸鏜孔循環(huán)指令2)G85:鉸鏜孔循環(huán)1G99G85X_Y_Z_R_F_L_該指令動作過程與G81指令相同,只是G85進刀和退刀都為工進速度,且回退時主軸不停轉。初始高度安全高度孔底平面G85指令動作圖1)鉸鏜孔循環(huán)1(G85)鉸鏜孔循環(huán)指令2)G85:鉸鏜孔循環(huán)1初始高度鉸鏜孔循環(huán)指令G89:鉸鏜孔循環(huán)2

G98(G99)G89X_Y_Z_R_P_F_L_此指令與G86指令相同,但在孔底有暫停。初始高度安全高度孔底平面G89指令動作圖主軸延時停2)鉸鏜孔循環(huán)2(G89)鉸鏜孔循環(huán)指令G89:鉸鏜孔循環(huán)2初始作業(yè):3-7子程序3-8刀具半徑補償3-9子程序+鉆孔循環(huán)(G81G82)作業(yè):

第四章用戶宏程序

第四章用戶宏程序

第一節(jié)概述

宏指令編程:是指可以使用變量進行算術運算、邏輯運算和函數混合運算的程序編寫形式。可編制各種復雜的零件加工程序,增強機床的加工能力,同時可精簡程序量。用戶宏程序主體是一系列指令,相當于子程序體,宏程序的編寫格式與子程序相同。宏指令是代表一系列指令的總指令,相當于子程序調用指令。O0001...G65P9010R50.0L2….M30O9010#1=#18/2;G01X#1Z#1F0.3;G02X#1Z-#1R#1;…M99;加工程序用戶宏程序

第一節(jié)概述宏指令編程:是指可以使用變量進行算術運算、

第二節(jié)變量1、變量的表示變量用變量符號(#)和后面的變量號指定;例如:#1表達式可以用于指定變量號。此時,表達式必須封閉在括號中。例如:#[#1+#2-12]在宏程序中使用的變量稱為宏變量。宏變量值可在程序中修改或利用MDI面板操作進行修改#1=#2+100;G01X#1F300;2、變量的類型

第二節(jié)變量1、變量的表示在宏程序中使用的變量稱為宏變量。變量號變量類型功能#0空變量該變量總是空,沒有值能賦給該變量。#1—#33局部變量局部變量在同一程序級中調用時含義相同,若在另一級程序(如子程序)中使用,則意義不同。當斷電時,局部變量被初始化為空。調用宏程序時,自變量對局部變量賦值。#100—#199#500—#999公共變量公共變量在不同的宏程序中的意義相同。當斷電時,變量#100—#199初始化為空。變量#500——#999的數據保存,即使斷電也不丟失。#1000—系統(tǒng)變量系統(tǒng)變量用于讀和寫CNC的各種數據,例如,刀具的當前位置和補償值變量號變量類型功能#0空變量該變量總是空,沒有值能賦給該變量空變量與變量值為0的變量當變量值是空白時變量是空。#0該變量總是空,它不能寫只能讀。變量值為0的變量不是空變量(a)引用:當引用一個未定義的變量時地址本身也被忽略。G90X100Y#1→G90X100Y0G90X100Y#1→G90X100當#1=0當#1=<空〉(b)運算:除了用空賦值以外;其余情況下空與0相同。#2=#1+#1→#2=0#2=#1+#1→#2=0#2=#1*5→#2=0#2=#1*5→#2=0#2=#1→#2=0#2=#1→#2=空當#1=0時當#1=空時(c)條件表達式:EQ和NE中的空不同于0;其余情況下空與0相同。#1GT#0→不成立#1GT#0→不成立#1GE#0→成立#1GE#0→成立#1NE#0→不成立#1NE#0→成立#1EQ#0→不成立#1EQ#0→成立#1=0#1=空空變量與變量值為0的變量當變量值是空白時變量是空。(a)引#1—#33局部變量局部變量在同一程序級中調用時含義相同,若在另一級程序(如子程序)中使用,則意義不同。當斷電時,局部變量被初始化為空。調用宏程序時,自變量對局部變量賦值。局部變量有5級#100—#199#500—#999公共變量公共變量在不同的宏程序中的意義相同。當斷電時,變量#100—#199初始化為空。變量#500——#999的數據保存,即使斷電也不丟失。#1—#33局部變量局部變量在同一程序級中調用時含義相同,若系統(tǒng)變量#1000—系統(tǒng)變量系統(tǒng)變量用于讀和寫CNC的各種數據,例如,刀具的當前位置和補償值程序號順序號和任選程序段跳轉號不能使用變量例如在以下方式中不可使用變量O#1/#2G00X100.0N#3Z200.0系統(tǒng)變量#1000—系統(tǒng)變量系統(tǒng)變量用于讀和寫CNC的各種3、變量的引用在程序中指定變量地址和跟變量號及可以引用變量??梢允褂帽磉_式來指定變量號,此時要把表達式放在括號中。G01X[#1+#2]F#3被引用變量的值根據地址的最小設定單位自動地舍入。如當G00X#1以1/1000mm的單位執(zhí)行時CNC把12.3456賦值給變量#1實際指令值為G00X12.346改變引用的變量值的符號要把負號一放在#的前面。例如G00X—#1當引用未定義的變量時變量及地址字都被忽略。例如當變量#1的值是0并且變量#2的值是空時G00X#1Y#2的執(zhí)行結果為G00X03、變量的引用在程序中指定變量地址和跟變量號及可以引用變量。

第三節(jié)變量的運算與控制指令一、變量的運算運算符右邊的表達式可包含常量和/或由函數或運算符組成的變量.如#1=2*SIN[30]→#1=1左邊的變量也可以用表達式賦值.如#1=1;#2=2→#[#1+#2]=3→#3=3;表達式中的變量#j和#k可以用常數賦值運算次序:以上算術運算和函數運算可以結合在一起使用,運算的先后順序是:函數運算、乘除運算、加減運算。功能格式備注定義#I=#j

加法#I=#j+#k;

減法#i=#j-#k;

乘法#i=#j*#k;

除法#i=#j#k;

括號用于改變運算次序括號可以使用5級包括函數內部使用的括號當超過5級時出現報警

第三節(jié)變量的運算與控制指令一、變量的運算運算符右邊的表達正弦#i=SIN[#j];反正弦#i=ASIN[#j];余弦#i=COS[#j];反余弦#i=ACOS[#j];正切#i=TAN[#j];反正切#i=ATAN[#j]/[#k];函數SIN、COS、ASIN、ACOS、TAN和ATAN的角度單位是度如90°30′表示為90.5度ARCSIN#i=ASIN[#j](1)取值范圍:當參數(NO.6004#0)NAT位設為0時,270°~90°當參數(NO.6004#0)NAT位設為1時,-90°~90°(2)當#j超出-1到1的范圍時,發(fā)出報警.ARCCOS#i=ACOS[#j](1)取值范圍從180°~0°(2)當#j超出-1到1的范圍時,發(fā)出P/S報警ARCTAN#i=ATAN[#j]/[#k](1)指定兩個邊的長度并用斜杠/分開(2)取值范圍:當NAT位(參數No.6004,#0)設為0時0°到360°[例如]當指定#1=ATAN[–1]/[–1]時#1=225°當NAT位(參數N0.64004#0)設為1時–180到180[例如]當指定#1=ATAN[–1]/[–1]#1=-135.0°正弦#i=SIN[#j];反正弦#i=ASIN[#j];余弦平方根#i=SQRT[#j];

絕對值#i=ABS[#j];

四舍五入#i=ROUN[#j];

上取整#i=FIX[#j];

下取整#i=FUP[#j];

自然對數#i=LN[#j];

指數函數#i=EXP[#j];

上取整FIX函數和下取整FUP函數:若操作后產生的整數絕對值大于原數的絕對值時為上取整;若小于原數的絕對值為下取整。例如:#1=1.2、#2=–1.2當執(zhí)行#3=FUP#1時#3=2.0;當執(zhí)行#3=FIX#1時#3=1.0當執(zhí)行#3=FUP#2時#3=–2.0;當執(zhí)行#3=FIX#2時#3=–1.0ROUND四舍五入函數(1)當指令IF或WHILE中包含ROUND函數時,則ROUND函數在第一個小數位置四舍五入.當執(zhí)行#1=ROUND[#2];此處#2=1.2345,變量1的值是1.0。(2)當在NC語句地址中使用ROUND函數時,ROUND函數根據地址的最小設定單位將指定值四舍五入。如#1=1.2345、#2=2.3456G00G91X-#1移動-1.235mmG01X-#2F300移動-2.346mm,x軸共移動-3.581mmG00X#1+#2由于1.2345+2.3456=3.5801移動距離為3.580,刀具不返回到初始位置。必須執(zhí)行G00X[ROUND#1+ROUND#2]以使刀具返回到初始位置平方根#i=SQRT[#j];絕對值#i=ABS[#j];分支和循環(huán)在程序中可用GOTO語句和IF語句改變和控制程序的執(zhí)行順序。二、控制指令GOTO語句——無條件分支(轉移)IF語句——條件分支;if…,then…WHILE語句——循環(huán);while…分支和循環(huán)操作共有三種類型:分支和循環(huán)二、控制指令GOTO語句——無條件分支(轉移)分1、無條件轉移GOTO語句控制轉移到順序號n所在的程序段。格式:GOTOn;n—順序號(轉移到的程序段,可用表達式指定)例:GOTO10;GOTO#10;2、條件轉移(IF語句)格式1:IF[條件表達式]GOTOn;…Nn…;當條件滿足時,轉移到順序號為n的程序段,不滿足則執(zhí)行下一程序段。1、無條件轉移GOTO語句2、條件轉移(IF語句)條件表達式:條件表達式必須包括運算符,運算符插在兩個變量中間或變量和常數中間并且用括號[]封閉。表達式可按如下書寫

#jEQ#k表示=

#jNE#k表示≠

#jGT#k表示>

#jLT#k表示<

#jGE#k表示≥

#jLE#k表示≤

格式2:IF[條件表達式]THEN;

如果條件表達式滿足,執(zhí)行預先決定的宏程序語句(只執(zhí)行一個宏程序語句)。如果表達式中條件未滿足,則順序執(zhí)行下一段程序。條件表達式:條件表達式必須包括運算符,運算符插在兩個變量中間例:求1~10的和。O9500;G54G00X0Y0Z0#1=0; 變量#1:用于存儲和變量的初值#2=1;變量#2:被加數變量的初值N1IF[#2GT10]GOTO2; 如果變量#2大于10(11)求和結束#1=#1+#2; 相加#2=#2+1; 下一個加數GOTO1;返回1N2G00X#1Y#1Z#1;(G00X55Y55Z55)M30; 結束例:求1~10的和。2、循環(huán)WHILE語句格式:WHILE[條件表達式]DOm(m=1,2,3);… ENDm; …條件表達式滿足時,程序段DOm至ENDm即重復執(zhí)行;條件表達式不滿足時,程序轉到ENDm后處執(zhí)行;DOm和ENDm必須成對使用;DO語句允許有3層嵌套:DO語句范圍不允許交叉

2、循環(huán)WHILE語句例:求1~10的和。O9500;G54G00X0Y0Z0#1=0; 變量#1:用于存儲和變量的初值#2=1;變量#2:被加數變量的初值WHILE[#2LE10]DO1;如果變量#2小于等于10執(zhí)行DO1和END1之間的程序段#1=#1+#2; 相加#2=#2+1; 下一個加數END1;返回WHILE再次進行判斷G00X#1Y#1Z#1;(G00X55Y55Z55)M30; 結束例:求1~10的和。O9500;

第四節(jié)宏程序調用1、非模態(tài)調用(G65)當指定G65時以地址P指定的用戶宏程序被調用數據自變量能傳遞到用戶宏程序體中O0001...G65P9010A1.0B2.0….M30O9010#3=#1+#2;IF[#3GT360]GOTO9;G00G91X#3;…N9M99;G65PpLL<自變量指定>p:要調用的程序

L:重復次數自變量:傳遞到宏程序的數據用戶宏程序

第四節(jié)宏程序調用1、非模態(tài)調用(G65)當指定G65時自變量指定可用兩種形式的自變量指定自變量指定形式1使用除了GLON和P以外的字母每個字母指定一次。自變量指定形式2使用ABC和IiJi和Ki(i為1~10)自變量指定1地址GLNO和P不能在自變量中使用不需要指定的地址可以省略對應于省略地址的局部變量設為空地址不需要按字母順序指定但應符合字地址的格式但是IJ和K需要按字母順序指定例:B_A_D_J_K_正確B_A_D_J_I_不正確自變量指定可用兩種形式的自變量指定自變量指定形式1使用除了G自變量指定2自變量指定使用AB和C各1次IJK10次例:G65P1000A1.0B2.0I3.0則上述程序段為宏程序的簡單調用格式,其含義為:調用宏程序號為1000的宏程序運行一次,并為宏程序中的變量賦值,其中:#1為1.0,#2為2.0,#4為3.0。

IJK的下標用于確定自變量指定的順序在實際編程中不寫自變量指定2例:G65P1000A1.0B2.0例:G65P1000A1.0B2.0I10J10K10I20J20K20其含義為:調用宏程序號為1000的宏程序運行一次,并為宏程序中的變量賦值,其中:#1為1.0#2為2.0;#4#5#6為10;#7#8#9為202、模態(tài)調用(G66)G66模態(tài)調用即指定沿移動軸移動的程序段后調用宏程序G67取消模態(tài)調用局部變量(自變量)只能在G66程序段中指定。每次執(zhí)行模態(tài)調用時,不再設定局部變量例:G65P1000A1.0B2.0I10J103、用G代碼調用宏程序設置參數號6050=81則G81=G65P9010G65L2P9010<自變量賦值>=G81L2<自變量賦值>

3、用G代碼調用宏程序設置參數號6050=81則G81=G6

第四節(jié)應用示例一、錐形車削循環(huán)開發(fā)G90X(U)Z(W)RF

絕對編程:X、Z值為切削終點的坐標值相對編程:U、W為切削終點相對于循環(huán)起點的坐標差值R值為切削起點半徑減去切削終點半徑。1、縱向單一固定循環(huán)G90循環(huán)起點切削起點切削終點2、用G90代碼調用宏程序實現和系統(tǒng)G90類似的功能

第四節(jié)應用示例一、錐形車削循環(huán)開發(fā)G90X(U)Z(設定設置參數號6051=90則G90<自變量賦值>

=G65P9011<自變量賦值>

設定自變量U→#21;W→#23;R→#18;F→#9.則G90U~W~R~F~調用宏程序P9011并傳遞參數U~W~R~F~給變量#21;#23;#18;#9設定設置參數號6051=90則G90<自變量賦值>=G6循環(huán)起點切削起點切削終點編制P9011宏程序P9011G00U[#21+2*#18];G01U-[2*#18]W#23F#9;U-#21;G00W-#23;M99;程序調用…G90U-20W-40R-10F0.1(G65P9011U-20W-40R-10F0.1)U(終點x相對坐標:直徑值)→#21;W(終點z相對坐標)

→#23;R(半徑差:半徑值)→#18;F(進給率)→#9循環(huán)起點切削起點切削終點編制P9011宏程序U(終點x相對坐2、圓周分布孔加工關鍵指令G81XYZRF孔中心計算:第一個孔X=X0+r*COS(A);Y=Y0+SIN(A).第二到第H個孔X=X0+r*COS(A+(i-1)*B);Y=Y0+SIN(A+(i-1)*B).設定宏程序調用格式G65P0900A~B~X~Y~Z~R~I~H~F~A:第一個孔的角度→#1B:第二到第H個孔的夾角→#2X:基準孔(圓心)x坐標→#24Y:基準孔(圓心)y坐標→#25Z:孔的深度z坐標→#26R:安全平面z坐標→#18I:圓的半徑→#4H:孔的數目→#11F:進給率→#92、圓周分布孔加工關鍵指令G81XYZRFO0900#3=1孔計數#5=#24+#4*COS[#1]當前孔x坐標#6=#25+#4*SIN[#1]當前孔y坐標G90G81X#5Y#6Z#26R#18F#9#3=#3+1下一個孔WHILE[#3LE#11]DO1#5=#24+#4*COS[#1+[#3-1]*#2]#6=#25+#4*SIN[#1+[#3-1]*#2]X#5Y#6G81鉆孔循環(huán)#3=#3+1孔計數加1END1G80M99A:第一個孔的角度→#1B:第二到第H個孔的夾角→#2X:基準孔(圓心)x坐標→#24Y:基準孔(圓心)y坐標→#25Z:孔的深度z坐標→#26R:安全平面z坐標→#18I:圓的半徑→#4H:孔的數目→#11F:進給率→#9O1123G92X0Y0Z0;S200M03;G65P0900A30B30X0Y0Z-20R2I100H12F100G00X0Y0Z0M30演示O0900WHILE[#3LE#11]DO1A:第2、平面非圓曲線輪廓加工曲線1:角度A=0~200半徑R=15+15*A/200曲線2:R30圓弧起點X=30*COS(200);Y=30*SIN(200)終點X=30*COS(230);Y=30*SIN(230)曲線3:角度A=230~330半徑R=30-15*(A-230)/100曲線4:R15圓弧起點X=15*COS(330);Y=15*SIN(330)終點X=15;Y=02、平面非圓曲線輪廓加工曲線1:曲線1:角度A=0~200半徑R=15+15*A/200曲線2:R30圓弧起點X=30*COS(200);Y=30*SIN(200)終點X=30*COS(230);Y=30*SIN(230)曲線3:角度A=230~330半徑R=30-15*(A-230)/100曲線4:R15圓弧起點X=15*COS(330);Y=15*SIN(330)終點X=15;Y=0處理方法:對于圓弧用G03指令R30圓弧G01X[30*COS(200)]Y[30*SIN(200)]G03X[30*COS(230)]Y[30*SIN(230)]R30R15圓弧G01X[15*COS(330)]Y[15*SIN(330)]G03X15Y0R15對于曲線用G01分段逼近曲線1:設定步長#3=0.2o起點角度:#1=0起點位置:G01X15Y0Z-6下一點角度:#1=#1+#3下一點位置:半徑#4=15+15*#1/200G01X[#4*COS[#1]]Y[#4*SIN[#1]]終點直到#1達到200度使用while循環(huán):G01X15Y0Z-6#3=0.2#1=0#1=#1+#3WHILE[#1LT200]DO1#4=15+15*#1/200G01X[#4*COS[#1]]Y[#4*SIN[#1]]#1=#1+#3;END1曲線1:處理方法:G01X15Y0Z-6曲線3:設定步長#3=0.2起點角度:#1=230起點位置:R30圓弧終點下一點角度:#1=#1+#3下一點位置:半徑#4=30-15*[#1-230]/100G01X[#4*COS[#1]]Y[#4*SIN[#1]]終點直到#1達到330度使用while循環(huán):曲線3:角度A=230~330半徑R=30-15*(A-230)/100(圓弧終點不需要再指定)#3=0.2#1=230#1=#1+#3WHILE[#1LT330]DO1#4=30-15*[#1-230]/100G01X[#4*COS[#1]]Y[#4*SIN[#1]]#1=#1+#3END1曲線3:曲線3:(圓弧終點不需要再指定)曲線1:角度A=0~200半徑R=15+15*A/200曲線2:R30圓弧起點X=30*COS(200);Y=30*SIN(200)終點X=30*COS(230);Y=30*SIN(230)曲線3:角度A=230~330半徑R=30-15*(A-230)/100曲線4:R15圓弧起點X=15*COS(330);Y=15*SIN(330)終點X=15;Y=0編程曲線1:編程%0008G92X0.0Y0.0Z50.0S1000M03M08G90G98G81X-50Y0R-15Z-52F70.0(鉆1)X-50.0Y-30.0(鉆2)X0.0Y30.0R5(鉆3)。。。。。。%0008數控加工中,某些加工動作循環(huán)已經典型化。例如,鉆孔、鏜孔的動作是孔位平面定位、快速引進、工作進給、快速退回等。 將這樣一系列典型加工動作預先編好程序存儲在系統(tǒng)中,再用包含G代碼的一個程序段調用,可簡化編程工作。這種包含了典型動作循環(huán)的G代碼稱為循環(huán)指令。常用的固定循環(huán)指令能完成的工作有:鉆孔、攻螺紋和鏜孔等。這些循環(huán)通常包括下列六個基本操作動作:①X、Y軸快速定位到孔中心位置②Z軸快速運行到靠近孔上方的安全高度平面R點(參考點)③孔加工(工作進給)④在孔底做需要的動作⑤退回到安全平面高度或初始平面高度⑥快速返回到初始點位置。1、固定循環(huán)的基本動作數控加工中,某些加工動作循環(huán)已經典型化。例如,鉆孔、固定循環(huán)的動作示意圖初始高度安全高度孔底動作G99快速定位快速移至R面安全高度12345工進退回工進加工孔快速退回孔底平面①X、Y軸快速定位到孔中心位置(起始點)②Z軸快速運行到靠近孔上方的安全高度平面R點(參考點)③孔加工(工作進給)④孔底動作⑤退回到安全平面高度⑥快速返回到初始平面。6不同的固定循環(huán)動作可能不同,有的沒有孔底動作,有的直徑回退到初始平面。固定循環(huán)的動作示意圖初始高度安全高度孔底動作G99快速定位快G90(G91)G98(G99)G_X_Y_Z_R_Q_P_F_L_固定循環(huán)指令格式總體說明ZZG90:X、Y、Z、R的數值為相對于工件坐標系的數值。G91:X、Y、Z、R的數值為相對于前一點的距離。G90(G91)G98(G99)G_X_Y_Z_R_Q_P固定循環(huán)指令格式說明G90(G91)

G98(G99)G_X_Y_Z_R_Q_P_F_L_G98—返回初始平面。初始點是為安全下刀而規(guī)定的點。該點到零件表面的距離可以任意設定在一個安全高度上。執(zhí)行循環(huán)指令前刀具所在的高度位置既視為初始點。G99—返回安全(R點)平面R點平面是刀具下刀時由快進轉為工進的轉換起點。距工件表面的距離主要考慮工件表面尺寸的變化,一般可取2~5mm。固定循環(huán)指令格式說明G90(G91)G98(G99)GG指令用途Z向加工動作孔底動作Z向回退動作G73高速深孔鉆間歇進給主軸保持轉向及轉速快速回退(不完全)G74攻左螺紋M04切削進給主軸M03保持轉速M03切削進給回退G76精鏜循環(huán)切削進給主軸停止、定向、偏移快速回退(完全)G80取消固定循環(huán)

G81鉆孔循環(huán)切削進給主軸保持轉向及轉速快速回退(完全)G82中心鉆循環(huán)切削進給主軸保持轉向及轉速、暫??焖倩赝?完全)G83深孔鉆間歇進給主軸保持轉向及轉速快速回退(完全)G84攻右螺紋M03切削進給主軸M04保持轉速M04切削進給回退G85鉸孔循環(huán)切削進給主軸保持轉向及轉速工進回退(完全)G86粗鏜循環(huán)切削進給主軸停止快速回退(完全)G87反鏜循環(huán)主軸停止、定向、偏移、快進反向偏移、工進切削進給G88手動鏜循環(huán)切削進給主軸停止、手動操作快速回退(完全)G89鏜循環(huán)切削進給主軸保持轉向及轉速、暫停工進回退(完全)G98(G99)G_X_Y_Z_R_Q_P_F_L_第二個G代碼為孔加工方式,即固定循環(huán)代碼G73,G74,G76和G81~G89中的任一個。G指令用途Z向加工動作孔底動作Z向回退動作G73高速深孔G98(G99)G_

X_Y_Z_R_Q_P_F_L_X、Y為孔位數據,指被加工孔的圓心位置。G90時:XY為孔圓心坐標G91時:XY為孔圓心相對與前一點的移動量。固定循環(huán)指令參數說明Z為孔底數據G90時:Z為孔底坐標G91時:Z為R點到孔底的距離(多為負)G98(G99)G_X_Y_Z_R_Q_P_F_L_ZZG98(G99)G_X_Y_Z_R_Q_P_F_L_XG98(G99)G_X_Y_Z_R_Q_P_F_L_RRR為安全平面位置G90時:R——R面的坐標值G91時:R——初始點到R面的距離(常為負)G98(G99)G_X_Y_Z_R_Q_P_F_L_RG98(G99)G_X_Y_Z_R_Q_P_F_L_Q

在G73(高速深孔鉆)或G83(深孔鉆)時指定每次進給深度,在G76(精鏜循環(huán))或G87(反鏜循環(huán))時指定刀具的讓刀量,是增量值。P指定刀具在孔底的暫停時間,單位為ms(毫秒)。F為切削進給速度L指定固定循環(huán)的次數說明:1、G73~G89、Z、R、P、Q都是模態(tài)代碼。2、在固定循環(huán)中刀具半徑補償無效,刀具長度補償有效

3、G80、G01~G03等代碼可以取消固定循環(huán)。G80取消后的默認值為G00。G98(G99)G_X_Y_Z_R_Q_P_F_L_Q固定循環(huán)指令分類鉆孔類一般鉆孔鉆深孔(L/D>3)高速深孔鉆G73深孔鉆G83鉆孔循環(huán)G81中心鉆循環(huán)G82鉸孔類鉸鏜孔循環(huán)1鉸鏜孔循環(huán)2G85G89攻螺紋類右旋攻螺紋左旋攻螺紋G84G74鏜孔類粗鏜孔精鏜孔反鏜孔G86G76G87G88手動鏜固定循環(huán)指令分類鉆孔類一般鉆孔鉆深孔(L/D>3)高速深孔鉆鉆孔循環(huán)指令1、一般鉆孔循環(huán)指令G81格式:G98(G99)G81X_Y_Z_R_F_L_動作分解:刀具以進給速度向下運動鉆孔,到達孔底位置后,快速退回(無孔底動作),適用:用于一般鉆孔,孔不深。初始高度安全高度孔底G99G98G81動作指令圖鉆孔循環(huán)指令1、一般鉆孔循環(huán)指令G81初始高度安全高度孔底G鉆孔循環(huán)指令2、帶停頓的鉆孔循環(huán)指令G82格式:G98(G99)G82X_Y_Z_R_P_F_L_動作分解:與G81指令唯一的區(qū)別是有孔底暫停動作,暫停時間由P指定。作用:執(zhí)行該指令使孔的表面更光滑,孔底平整。常用于做沉頭臺階孔和中心孔。初始高度安全高度Z軸孔底暫停G99G98G82動作指令圖鉆孔循環(huán)指令2、帶停頓的鉆孔循環(huán)指令G82初始高度安全高度Z深孔加工循環(huán)指令qqq初始高度安全高度孔底位置kkG73動作分解1、高速深孔加工循環(huán)指令G73格式:G98(G99)G73X_Y_Z_R_Q_F_L_動作分解:該固定循環(huán)用于Z軸的間歇進給,有利于斷屑。適用:深孔加工。參數:Q值為每次的進給深度.參數:K為系統(tǒng)設定值。例:G98G73X10Y20Z-60R5Q10F50深孔加工循環(huán)指令qqq初始高度安全高度孔底位置kkG73動作深孔加工循環(huán)指令2、深孔加工循環(huán)指令G83與G73不同之處在每次進刀后都返回安全平面高度處,更有利于鉆深孔時的排屑。d:每次退刀后,再次進給時,由快速進給轉換為切削進給時距上次加工面的距離(d由系統(tǒng)參數設定)qqq初始高度安全高度孔底位置ddG83動作分解深孔加工循環(huán)指令2、深孔加工循環(huán)指令G83qqq初始高度安全鉆孔循環(huán)指令編程舉例一%0009G92X0.0Y0.0Z50.0S800M03M08G90F70.0G99G81X-50.0Y0.0Z-52.0R-15.0鉆1G98Y-30.0(鉆2)G99G73X0.0Y30.0Z-52.0R5.0

Q10

(高速深孔鉆3)

G98Y-30.0(高速深孔鉆4)G99G82X50.0Y30.0Z-30.0R-15.0

P2

(中心鉆5)G98Y0.0(鉆6)M05M09M30鉆6-φ10的孔鉆孔循環(huán)指令編程舉例一%0009鉆6-φ10的孔例二編制右所示的孔加工程序(設Z軸開始點距工作表面50mm處,切削深度為10mm)。R面50初始面3%0009G92X50.Y50.Z50.G90G00X0.Y0.S800M03G91G99G81X40.Y40.Z-13.R-47.F100X40.Y0.L3X0.Y50.X-40.Y0.L3G90G80X-100.Y-50.Z50.M05M30例二編制右所示的孔加工程序(設Z軸開始點距工作表面50mm處螺紋加工循環(huán)指令(G74)左旋攻螺紋循環(huán)G74格式:G98(G99)G74X_Y_Z_R_F_L_動作分解:左旋攻螺紋(攻反螺紋)時主軸反轉,到孔底時主軸正轉,然后工進速度退回。初始高度安全高度孔底平面主軸正轉主軸反轉G74動作指令圖注意:1、攻螺紋過程要求主軸轉速與進給速度成嚴格的比例關系,進給速度F=轉速(r/min)×螺矩(mm).2、R應選在距工件表面7mm以上的地方。螺紋加工循環(huán)指令(G74)左旋攻螺紋循環(huán)G74格式:G98(G99)G84X_Y_Z_R_F_L_動作分解:從R點到Z點攻絲時刀具正向進給,主軸正轉。到孔底部時,主軸反轉,刀具以反向進給速度退出.初始高度安全高度孔底平面主軸反轉主軸正轉G84動作指令圖右旋攻螺紋循環(huán)格式:動作分解:初始高度安全高度孔底平面主軸反轉主軸正轉G8螺紋加工編程舉例編制右圖所示的螺孔加工程序(設Z軸開始點距工作表面50mm處,切削深度為10mm牙距2mm)。R面50初始面3(1)先用G81鉆孔%0009G92X50.Y50.Z50.G90G00X0.Y0.M03S800G91G99G81X40.Y40.Z-13.R-47.F100X40.Y0.L3X0.Y50.X-40.Y0.L3G90G80X50.Y50.Z50.螺紋加工編程舉例編制右圖所示的螺孔加工程序(設Z軸開始點距工(Ⅱ)再用G84攻絲S140X0Y40G91G99G84X40Z-17R-43

L4

F280Y50G99G84X-40.Z-17.R-43.L3

G80Z43.G90X50Y50M05M30編制右圖所示的螺孔加工程序(設Z軸開始點距工作表面50mm處,切削深度為10mm牙距2mm)(Ⅱ)再用G84攻絲編制右圖所示的螺孔加工程序(設Z軸開始點鏜孔循環(huán)指令G86

1)G86:粗鏜循環(huán)

初始高度安全高度孔底平面G85指令動作圖G98G86X_Y_Z_R_F_L_此指令與G81鉆孔指令相同,但在孔底時主軸停止,然后快速退回。注意:該指令退刀前沒有讓刀動作,退回時可能劃傷已加工表面,因此只用于粗鏜孔。鏜孔循環(huán)指令G86

1)G86:粗鏜循環(huán)初始高度安全高鏜孔循環(huán)指令(G76)2)精鏜循環(huán)G98(G99)G76X_Y_Z_R_Q_F_L_G76動作指令圖初始高度安全高度孔底平面主軸準停q精鏜時,主軸在孔底定向停止后,向刀尖反方向移動,然后快速退刀,退刀位置由G98或G99決定。帶有讓刀的退刀不會劃傷已加工平面,保證了鏜孔精度。刀尖反向位移量用地址Q指定。鏜孔循環(huán)指令(G76)2)精鏜循環(huán)G98(G99)G76鏜孔循環(huán)指令(G87)3)G87:反鏜循環(huán)G98G87X_Y_Z_R_Q_F_L_G87指令動作圖動作過程:在X、Y軸定位后,主軸定向停止,然后向刀尖的反方向移動q值,再快速進給到孔底(R點)定位。在此位置,刀具向刀尖方向移動q值。主軸正轉,在Z軸正方向上加工至Z點。這時主軸又定向停止,向刀尖反方向位移,然后從孔中退出刀具,后退回一個位移量,主軸正轉,進行下一個程序段的動作。。只能用G98返回到初始點)鏜孔循環(huán)指令(G87)3)G87:反鏜循環(huán)G87指令動作鏜孔循環(huán)指令(G88)G88指令動作圖4)G88:鏜孔循環(huán)(手鏜)G98(G99)G88X_Y_Z_R_P_F_L_在孔底暫停,主軸停止后,轉換為手動狀態(tài),可用手動將刀具從孔中退出。到返回點平面后,主軸正轉,再轉入下一個程序段進行自動加工。鏜孔手動回刀,不需主軸準停鏜孔循環(huán)指令(G88)G88指令動作圖4)G88:鏜孔循鉸鏜孔循環(huán)指令2)G85:鉸鏜孔循環(huán)1G99G85X_Y_Z_R_F_L_該指令動作過程與G81指令相同,只是G85進刀和退刀都為工進速度,且回退時主軸不停轉。初始高度安全高度孔底平面G85指令動作圖1)鉸鏜孔循環(huán)1(G85)鉸鏜孔循環(huán)指令2)G85:鉸鏜孔循環(huán)1初始高度鉸鏜孔循環(huán)指令G89:鉸鏜孔循環(huán)2

G98(G99)G89X_Y_Z_R_P_F_L_此指令與G86指令相同,但在孔底有暫停。初始高度安全高度孔底平面G89指令動作圖主軸延時停2)鉸鏜孔循環(huán)2(G89)鉸鏜孔循環(huán)指令G89:鉸鏜孔循環(huán)2初始作業(yè):3-7子程序3-8刀具半徑補償3-9子程序+鉆孔循環(huán)(G81G82)作業(yè):

第四章用戶宏程序

第四章用戶宏程序

第一節(jié)概述

宏指令編程:是指可以使用變量進行算術運算、邏輯運算和函數混合運算的程序編寫形式??删幹聘鞣N復雜的零件加工程序,增強機床的加工能力,同時可精簡程序量。用戶宏程序主體是一系列指令,相當于子程序體,宏程序的編寫格式與子程序相同。宏指令是代表一系列指令的總指令,相當于子程序調用指令。O0001...G65P9010R50.0L2….M30O9010#1=#18/2;G01X#1Z#1F0.3;G02X#1Z-#1R#1;…M99;加工程序用戶宏程序

第一節(jié)概述宏指令編程:是指可以使用變量進行算術運算、

第二節(jié)變量1、變量的表示變量用變量符號(#)和后面的變量號指定;例如:#1表達式可以用于指定變量號。此時,表達式必須封閉在括號中。例如:#[#1+#2-12]在宏程序中使用的變量稱為宏變量。宏變量值可在程序中修改或利用MDI面板操作進行修改#1=#2+100;G01X#1F300;2、變量的類型

第二節(jié)變量1、變量的表示在宏程序中使用的變量稱為宏變量。變量號變量類型功能#0空變量該變量總是空,沒有值能賦給該變量。#1—#33局部變量局部變量在同一程序級中調用時含義相同,若在另一級程序(如子程序)中使用,則意義不同。當斷電時,局部變量被初始化為空。調用宏程序時,自變量對局部變量賦值。#100—#199#500—#999公共變量公共變量在不同的宏程序中的意義相同。當斷電時,變量#100—#199初始化為空。變量#500——#999的數據保存,即使斷電也不丟失。#1000—系統(tǒng)變量系統(tǒng)變量用于讀和寫CNC的各種數據,例如,刀具的當前位置和補償值變量號變量類型功能#0空變量該變量總是空,沒有值能賦給該變量空變量與變量值為0的變量當變量值是空白時變量是空。#0該變量總是空,它不能寫只能讀。變量值為0的變量不是空變量(a)引用:當引用一個未定義的變量時地址本身也被忽略。G90X100Y#1→G90X100Y0G90X100Y#1→G90X100當#1=0當#1=<空〉(b)運算:除了用空賦值以外;其余情況下空與0相同。#2=#1+#1→#2=0#2=#1+#1→#2=0#2=#1*5→#2=0#2=#1*5→#2=0#2=#1→#2=0#2=#1→#2=空當#1=0時當#1=空時(c)條件表達式:EQ和NE中的空不同于0;其余情況下空與0相同。#1GT#0→不成立#1GT#0→不成立#1GE#0→成立#1GE#0→成立#1NE#0→不成立#1NE#0→成立#1EQ#0→不成立#1EQ#0→成立#1=0#1=空空變量與變量值為0的變量當變量值是空白時變量是空。(a)引#1—#33局部變量局部變量在同一程序級中調用時含義相同,若在另一級程序(如子程序)中使用,則意義不同。當斷電時,局部變量被初始化為空。調用宏程序時,自變量對局部變量賦值。局部變量有5級#100—#199#500—#999公共變量公共變量在不同的宏程序中的意義相同。當斷電時,變量#100—#199初始化為空。變量#500——#999的數據保存,即使斷電也不丟失。#1—#33局部變量局部變量在同一程序級中調用時含義相同,若系統(tǒng)變量#1000—系統(tǒng)變量系統(tǒng)變量用于讀和寫CNC的各種數據,例如,刀具的當前位置和補償值程序號順序號和任選程序段跳轉號不能使用變量例如在以下方式中不可使用變量O#1/#2G00X100.0N#3Z200.0系統(tǒng)變量#1000—系統(tǒng)變量系統(tǒng)變量用于讀和寫CNC的各種3、變量的引用在程序中指定變量地址和跟變量號及可以引用變量??梢允褂帽磉_式來指定變量號,此時要把表達式放在括號中。G01X[#1+#2]F#3被引用變量的值根據地址的最小設定單位自動地舍入。如當G00X#1以1/1000mm的單位執(zhí)行時CNC把12.3456賦值給變量#1實際指令值為G00X12.346改變引用的變量值的符號要把負號一放在#的前面。例如G00X—#1當引用未定義的變量時變量及地址字都被忽略。例如當變量#1的值是0并且變量#2的值是空時G00X#1Y#2的執(zhí)行結果為G00X03、變量的引用在程序中指定變量地址和跟變量號及可以引用變量。

第三節(jié)變量的運算與控制指令一、變量的運算運算符右邊的表達式可包含常量和/或由函數或運算符組成的變量.如#1=2*SIN[30]→#1=1左邊的變量也可以用表達式賦值.如#1=1;#2=2→#[#1+#2]=3→#3=3;表達式中的變量#j和#k可以用常數賦值運算次序:以上算術運算和函數運算可以結合在一起使用,運算的先后順序是:函數運算、乘除運算、加減運算。功能格式備注定義#I=#j

加法#I=#j+#k;

減法#i=#j-#k;

乘法#i=#j*#k;

除法#i=#j#k;

括號用于改變運算次序括號可以使用5級包括函數內部使用的括號當超過5級時出現報警

第三節(jié)變量的運算與控制指令一、變量的運算運算符右邊的表達正弦#i=SIN[#j];反正弦#i=ASIN[#j];余弦#i=COS[#j];反余弦#i=ACOS[#j];正切#i=TAN[#j];反正切#i=ATAN[#j]/[#k];函數SIN、COS、ASIN、ACOS、TAN和ATAN的角度單位是度如90°30′表示為90.5度ARCSIN#i=ASIN[#j](1)取值范圍:當參數(NO.6004#0)NAT位設為0時,270°~90°當參數(NO.6004#0)NAT位設為1時,-90°~90°(2)當#j超出-1到1的范圍時,發(fā)出報警.ARCCOS#i=ACOS[#j](1)取值范圍從180°~0°(2)當#j超出-1到1的范圍時,發(fā)出P/S報警ARCTAN#i=ATAN[#j]/[#k](1)指定兩個邊的長度并用斜杠/分開(2)取值范圍:當NAT位(參數No.6004,#0)設為0時0°到360°[例如]當指定#1=ATAN[–1]/[–1]時#1=225°當NAT位(參數N0.64004#0)設為1時–180到180[例如]當指定#1=ATAN[–1]/[–1]#1=-135.0°正弦#i=SIN[#j];反正弦#i=ASIN[#j];余弦平方根#i=SQRT[#j];

絕對值#i=ABS[#j];

四舍五入#i=ROUN[#j];

上取整#i=FIX[#j];

下取整#i=FUP[#j];

自然對數#i=LN[#j];

指數函數#i=EXP[#j];

上取整FIX函數和下取整FUP函數:若操作后產生的整數絕對值大于原數的絕對值時為上取整;若小于原數的絕對值為下取整。例如:#1=1.2、#2=–1.2當執(zhí)行#3=FUP#1時#3=2.0;當執(zhí)行#3=FIX#1時#3=1.0當執(zhí)行#3=FUP#2時#3=–2.0;當執(zhí)行#3=FIX#2時#3=–1.0ROUND四舍五入函數(1)當指令IF或WHILE中包含ROUND函數時,則ROUND函數在第一個小數位置四舍五入.當執(zhí)行#1=ROUND[#2];此處#2=1.2345,變量1的值是1.0。(2)當在NC語句地址中使用ROUND函數時,ROUND函數根據地址的最小設定單位將指定值四舍五入。如#1=1.2345、#2=2.3456G00G91X-#1移動-1.235mmG01X-#2F300移動-2.346mm,x軸共移動-3.581mmG00X#1+#2由于1.2345+2.3456=3.5801移動距離為3.580,刀具不返回到初始位置。必須執(zhí)行G00X[ROUND#1+ROUND#2]以使刀具返回到初始位置平方根#i=SQRT[#j];絕對值#i=ABS[#j];分支和循環(huán)在程序中可用GOTO語句和IF語句改變和控制程序的執(zhí)行順序。二、控制指令GOTO語句——無條件分支(轉移)IF語句——條件分支;if…,then…WHILE語句——循環(huán);while…分支和循環(huán)操作共有三種類型:分支和循環(huán)二、控制指令GOTO語句——無條件分支(轉移)分1、無條件轉移GOTO語句控制轉移到順序號n所在的程序段。格式:GOTOn;n—順序號(轉移到的程序段,可用表達式指定)例:GOTO10;GOTO#10;2、條件轉移(IF語句)格式1:IF[條件表達式]GOTOn;…Nn…;當條件滿足時,轉移到順序號為n的程序段,不滿足則執(zhí)行下一程序段。1、無條件轉移GOTO語句2、條件轉移(IF語句)條件表達式:條件表達式必須包括運算符,運算符插在兩個變量中間或變量和常數中間并且用括號[]封閉。表達式可按如下書寫

#jEQ#k表示=

#jNE#k表示≠

#jGT#k表示>

#jLT#k表示<

#jGE#k表示≥

#jLE#k表示≤

格式2:IF[條件表達式]THEN;

如果條件表達式滿足,執(zhí)行預先決定的宏程序語句(只執(zhí)行一個宏程序語句)。如果表達式中條件未滿足,則順序執(zhí)行下一段程序。條件表達式:條件表達式必須包括運算符,運算符插在兩個變量中間例:求1~10的和。O9500;G54G00X0Y0Z0#1=0; 變量#1:用于存儲和變量的初值#2=1;變量#2:被加數變量的初值N1IF[#2GT10]GOTO2; 如果變量#2大于10(11)求和結束#1=#1+#2; 相加#2=#2+1; 下一個加數GOTO1;返回1N2G00X#1Y#1Z#1;(G00X55Y55Z55)M30; 結束例:求1~10的和。2、循環(huán)WHILE語句格式:WHILE[條件表達式]DOm(m=1,2,3);… ENDm; …條件表達式滿足時,程序段DOm至ENDm即重復執(zhí)行;條件表達式不滿足時,程序轉到ENDm后處執(zhí)行;DOm和ENDm必須成對使用;DO語句允許有3層嵌套:DO語句范圍不允許交叉

2、循環(huán)WHILE語句例:求1~10的和。O9500;G54G00X0Y0Z0#1=0; 變量#1:用于存儲和變量的初值#2=1;變量#2:被加數變量的初值WHILE[#2LE10]DO1;如果變量#2小于等于10執(zhí)行DO1和END1之間的程序段#1=#1+#2; 相加#2=#2+1; 下一個加數END1;返回WHILE再次進行判斷G00X#1Y#1Z#1;(G00X55Y55Z55)M30; 結束例:求1~10的和。O9500;

第四節(jié)宏程序調用1、非模態(tài)調用(G65)當指定G65時以地址P指定的用戶宏程序被調用數據自變量能傳遞到用戶宏程序體中O0001...G65P9010A1.0B2.0….M30O9010#3=#1+#2;IF[#3GT360]GOTO9;G00G91X#3;…N9M99;G65PpLL<自變量指定>p:要調用的程序

L:重復次數自變量:傳遞到宏程序的數據用戶宏程序

第四節(jié)宏程序調用1、非模態(tài)調用(G65)當指定G65時自變量指定可用兩種形式的自變量指定自變量指定形式1使用除了GLON和P以外的字母每個字母指定一次。自變量指定形式2使用ABC和IiJi和Ki(i為1~10)自變量指定1地址GLNO和P不能在自變量中使用不需要指定的地址可以省略對應于省略地址的局部變量設為空地址不需要按字母順序指定但應符合字地址的格式但是IJ和K需要按字母順序指定例:B_A_D_J_K_正確B_A_D_J_I_不正確自變量指定可用兩種形式的自變量指定自變量指定形式1使用除了G自變量指定2自變量指定使用AB和C各1次IJK10次例:G65P1000A1.0B2.0I3.0則上述程序段為宏程序的簡單調用格式,其含義為:調用宏程序號為1000的宏程序運行一次,并為宏程序中的變量賦值,其中:#1為1.0,#2為2.0,#4為3.0。

IJK的下標用于確定自變量指定的順序在實際編程中不寫自變量指定2例:G65P1000A1.0B2.0例:G65P1000A1.0B2.0I10J10K10I20J20K20其含義為:調用宏程序號為1000的宏程序運行一次,并為宏程序中的變量賦值,其中:#1為1.0#2為2.0;#4#5#6為10;#7#8#9為202、模態(tài)調用(G66)G66模態(tài)調用即指定沿移動軸移動的程序段后調用宏程序G67取消模態(tài)調用局部變量(自變量)只能在G66程序段中指定。每次執(zhí)行

溫馨提示

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

評論

0/150

提交評論