(數(shù)控CNC宏程吧)宏程序編程實例與技巧方法_第1頁
(數(shù)控CNC宏程吧)宏程序編程實例與技巧方法_第2頁
(數(shù)控CNC宏程吧)宏程序編程實例與技巧方法_第3頁
(數(shù)控CNC宏程吧)宏程序編程實例與技巧方法_第4頁
(數(shù)控CNC宏程吧)宏程序編程實例與技巧方法_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單元宏單元宏 用戶宏程序編程下午下午10時時32分分 在數(shù)控編程中,宏程序編程靈活、高效、快捷,是加工編程的重要補充。宏程序不僅可以實現(xiàn)象子程序那樣,例如,型腔加工宏程序、固定加工循環(huán)宏程序、球面加工宏程序、錐面加工宏程序等。l華中數(shù)控宏程序華中數(shù)控宏程序lFANUC數(shù)控宏程序數(shù)控宏程序lSIEMENS數(shù)控參數(shù)編程數(shù)控參數(shù)編程單元宏單元宏 用戶宏程序編程下午下午10時時32分分 HNC-21/22T 、HNC-21M為用戶配備了強有力的類似于高級語言的宏程序功能,用戶可以使用變量進行算術(shù)運算、邏輯運算和函數(shù)的混合運算,此外宏程序還提供了循環(huán)語句、分支語句和子程序調(diào)用語句,利于編制各種復(fù)雜的零件

2、加工程序,減少乃至免除手工編程時進行繁瑣的數(shù)值計算,以及精簡程序量。1. 1. 宏變量及常量宏變量及常量(1) 宏變量宏變量HNC-21/22T華中世紀(jì)星數(shù)控系統(tǒng)變量表示形式為華中世紀(jì)星數(shù)控系統(tǒng)變量表示形式為# 后跟后跟14位數(shù)字,變量種類位數(shù)字,變量種類有三種:有三種:局部變量局部變量:#0#49是在宏程序中局部使用的變量,用于存放宏程序中的數(shù)據(jù)是在宏程序中局部使用的變量,用于存放宏程序中的數(shù)據(jù),斷電時丟失為空。,斷電時丟失為空。單元宏單元宏 用戶宏程序編程下午下午10時時32分分全局變量全局變量:用戶可以自由使用:用戶可以自由使用#50#50#199#199,它對于由主程序調(diào)用的各子程序及

3、,它對于由主程序調(diào)用的各子程序及各宏程序來說是可以公用的,可以人工賦值。各宏程序來說是可以公用的,可以人工賦值。HNC-21/22THNC-21/22T子程序嵌套調(diào)用的深度子程序嵌套調(diào)用的深度最多可以有最多可以有8 8層,每一層子程序都有自己獨立的局部變量(變量個數(shù)為層,每一層子程序都有自己獨立的局部變量(變量個數(shù)為5050)。)。系統(tǒng)變量系統(tǒng)變量:系統(tǒng)變量為:系統(tǒng)變量為#1000#1000#1199#1199,它能獲取包含在機床處理器或,它能獲取包含在機床處理器或NCNC內(nèi)存中內(nèi)存中的只讀或讀的只讀或讀/ /寫信息,包括與機床處理器有關(guān)的交換參數(shù)、機床狀態(tài)獲取參數(shù)、加寫信息,包括與機床處理器

4、有關(guān)的交換參數(shù)、機床狀態(tài)獲取參數(shù)、加工參數(shù)等系統(tǒng)信息。工參數(shù)等系統(tǒng)信息。(2) (2) 常量常量PI:圓周率圓周率;TRUE:條件成立條件成立(真真);FALSE:條件不成立條件不成立(假假) 1 1、 宏變量及常量宏變量及常量單元宏單元宏 用戶宏程序編程下午下午10時時32分分2 2、 運算符與表達式運算符與表達式(1) 算術(shù)運算符:+,-,*,/(2) 條件運算符:EQ(=),NE(),GT(),GE(),LT(),LE()(3) 邏輯運算符:AND,OR,NOT(4) 函數(shù):SIN,COS,TAN,ATAN,ATAN2,ABS,INT,SIGN,SQRT,EXP(5) 表達式:用運算符連

5、接起來的常數(shù),宏變量構(gòu)成表達式。例如:175/SQRT2 * COS55 * PI/180 ;#3*6 GT 14 單元宏單元宏 用戶宏程序編程下午下午10時時32分分3、賦值語句、賦值語句格式:宏變量=常數(shù)或表達式把常數(shù)或表達式的值送給一個宏變量稱為賦值。例如: #2 = 175/SQRT2 * COS55 * PI/180; #3 = 124.0 單元宏單元宏 用戶宏程序編程下午下午10時時32分分4、 條件判別語句條件判別語句IF, ELSE,ENDIF格式(i): 格式(ii) : IF IF 條件表達式條件表達式 IF IF 條件表達式條件表達式 ELSE ELSE ENDIF EN

6、DIFENDIFENDIF單元宏單元宏 用戶宏程序編程下午下午10時時32分分5、 循環(huán)語句循環(huán)語句WHILE,ENDW格式:格式:WHILE WHILE 條件表達式條件表達式 ENDW ENDW單元宏單元宏 用戶宏程序編程下午下午10時時32分分6、 宏程序宏程序/子程序調(diào)用的參數(shù)傳遞規(guī)則子程序調(diào)用的參數(shù)傳遞規(guī)則G 代碼在調(diào)用宏代碼在調(diào)用宏(子程序或固定循環(huán)子程序或固定循環(huán),下同,下同)時,系統(tǒng)會將當(dāng)前程序段各時,系統(tǒng)會將當(dāng)前程序段各字段字段(AZ共共26個字段,如果沒有定個字段,如果沒有定義則為零義則為零)的內(nèi)容拷貝到宏執(zhí)行時的的內(nèi)容拷貝到宏執(zhí)行時的局部變量局部變量#0 #25,同時拷貝調(diào)

7、用宏,同時拷貝調(diào)用宏時當(dāng)前通道九個軸(軸時當(dāng)前通道九個軸(軸0軸軸8)的絕)的絕對位置對位置(機床絕對坐標(biāo)機床絕對坐標(biāo))到宏執(zhí)行時的到宏執(zhí)行時的局部變量局部變量#30 #38。宏程序的調(diào)用格式為:宏程序的調(diào)用格式為:M98 P(宏程序名)宏程序名)或或G65 P(宏程序名)宏程序名)。 #25 Z 單元宏單元宏 用戶宏程序編程下午下午10時時32分分%1000%1000;長半軸、短半軸分別為;長半軸、短半軸分別為4040、3030的橢圓的橢圓G54 G90 G00 Z30G54 G90 G00 Z30M03 S800M03 S800G00 X45 Y-15 G00 X45 Y-15 ;快速定位

8、至下刀點快速定位至下刀點Z3Z3G01 Z-5 F100G01 Z-5 F100#0=0#0=0;給角度給角度 賦賦0 0初值初值WHILE WHILE #0#0 LE LE 360360;當(dāng)角度當(dāng)角度 360360度時,執(zhí)行循環(huán)體內(nèi)容度時,執(zhí)行循環(huán)體內(nèi)容#1=40#1=40* *COS#0COS#0* *PI/180PI/180;用橢圓的標(biāo)準(zhǔn)參數(shù)方程求動點用橢圓的標(biāo)準(zhǔn)參數(shù)方程求動點M M的的X X坐標(biāo)值坐標(biāo)值#2=30#2=30* *SIN#0SIN#0* *PI/180PI/180;用橢圓的標(biāo)準(zhǔn)參數(shù)方程求動點用橢圓的標(biāo)準(zhǔn)參數(shù)方程求動點M M的的Y Y坐標(biāo)值坐標(biāo)值G01 X#1 Y#2 G0

9、1 X#1 Y#2 ;用直線插補指令加工至用直線插補指令加工至M M點,點,即用直線段逼近橢圓即用直線段逼近橢圓# #0=#0+10=#0+1;角度;角度 的遞增步長取的遞增步長取1 1度度 ENDWENDWX45 Y15X45 Y15;切出橢圓切出橢圓G00 Z30 M05G00 Z30 M05X0 Y0X0 Y0M30 M30 7、用戶宏程序編程思路、用戶宏程序編程思路單元宏單元宏 用戶宏程序編程下午下午10時時32分分%1000%1000;長半軸、短半軸分別為;長半軸、短半軸分別為4040、3030的橢圓的橢圓G92 X0 Y0 Z30G92 X0 Y0 Z30M03 S800M03 S

10、800G00 X45 Y-15 M08G00 X45 Y-15 M08;快速定位至快速定位至A A點點Z3Z3G01 Z-5 F100G01 Z-5 F100#2=0#2=0;給角度給角度 賦賦0 0初值初值WHILE #2 LE 360WHILE #2 LE 360;當(dāng)角度當(dāng)角度 360360度時,執(zhí)行循環(huán)體內(nèi)容度時,執(zhí)行循環(huán)體內(nèi)容#11=40#11=40* *COS#2COS#2* *PI/180PI/180;用橢圓的標(biāo)準(zhǔn)參數(shù)方程求動點用橢圓的標(biāo)準(zhǔn)參數(shù)方程求動點M M的的X X坐標(biāo)值坐標(biāo)值#12=30#12=30* *SIN#2SIN#2* *PI/180PI/180;用橢圓的標(biāo)準(zhǔn)參數(shù)方程

11、求動點用橢圓的標(biāo)準(zhǔn)參數(shù)方程求動點M M的的Y Y坐標(biāo)值坐標(biāo)值G42 G64 G01 X#11 Y#12 D01G42 G64 G01 X#11 Y#12 D01;用直線插補指令加工至用直線插補指令加工至M M點,即用點,即用 直線段逼近橢圓直線段逼近橢圓#2=#2+1#2=#2+1;角度;角度 的遞增步長取的遞增步長取1 1度度 ENDWENDWG40 G01 X45 Y15G40 G01 X45 Y15;切出橢圓至切出橢圓至C C點點Z3 M09Z3 M09G00 Z30 G00 Z30 X0 Y0 M05X0 Y0 M05M30 M30 單元宏單元宏 用戶宏程序編程下午下午10時時32分分

12、單元宏單元宏 用戶宏程序編程下午下午10時時32分分單元宏單元宏 用戶宏程序編程下午下午10時時32分分 ZH7640ZH7640立式加工中心由北京第立式加工中心由北京第三機床廠產(chǎn)生三機床廠產(chǎn)生, ,采用華中銑床、加工采用華中銑床、加工中心數(shù)控系統(tǒng)。加工范圍中心數(shù)控系統(tǒng)。加工范圍600600mmmm400mm400mm500mm500mm。刀庫可容刀庫可容納納2020把刀??捎糜阽M、銑、鉆、鉸、把刀。可用于鏜、銑、鉆、鉸、攻絲等各種加工。實例為在預(yù)先處攻絲等各種加工。實例為在預(yù)先處理好的理好的100100mmmm100mm100mm80mm80mm合金鋁合金鋁錠毛坯上加工如圖所示的零件,其錠毛

13、坯上加工如圖所示的零件,其中正五邊形外接圓直徑為中正五邊形外接圓直徑為8080mmmm。 單元宏單元宏 用戶宏程序編程下午下午10時時32分分O50005000;FANUCG54 G90 G00 Z40G54 G90 G00 Z40X70 Y20 M08X70 Y20 M08M03 S600M03 S600G43 Z3 H01G43 Z3 H01G01 Z-5 F100G01 Z-5 F100#0=18#0=18N10N10 #1=80 #1=80* *COS#0COS#0#2=80#2=80* *SIN#0 SIN#0 G41 X#1 Y#2 D01G41 X#1 Y#2 D01#0=#0+

14、72#0=#0+72IF #0 LT 360 GOTO 10IF #0 LT 360 GOTO 10G40 X70 Y70G40 X70 Y70Z40 M05Z40 M05M30M30O50005000;HNC-21M%1000%1000G54 G90 G00 Z40G54 G90 G00 Z40X70 Y20 M08X70 Y20 M08M03 S600M03 S600G43 Z3 H01G43 Z3 H01G01 Z-5 F100G01 Z-5 F100#0=18#0=18IF #0 LT 360 IF #0 LT 360 #1=80#1=80* *COS#0COS#0#2=80#2=80

15、* *SIN#0 SIN#0 G41 X#1 Y#2 D01G41 X#1 Y#2 D01#0=#0+72#0=#0+72ENDIFENDIFG40 X70 Y70G40 X70 Y70Z40 M05Z40 M05M30M30單元宏單元宏 用戶宏程序編程下午下午10時時32分分%3015%3015#10=0 #10=0 ;X X坐標(biāo)(直徑值)坐標(biāo)(直徑值)#11=0 #11=0 ;Z Z坐標(biāo)坐標(biāo)T0101T0101M03 S600M03 S600G00 X0 Z34G00 X0 Z34WHILEWHILE #10 LE #10 LE 3232G90 G64 G01 X#10 Z#11 F100

16、G90 G64 G01 X#10 Z#11 F100#10= #10+0.32#10= #10+0.32#9= #10/2 #9= #10/2 ;求出求出X X坐標(biāo)的半徑值,便于求解坐標(biāo)的半徑值,便于求解#11#11#11= 32-#9#11= 32-#9* *#9/8#9/8ENDWENDWG00 X80 Z100 G00 X80 Z100 M05M05M30 M30 用宏程序編制如圖所示拋物線的精加工程序。單元宏單元宏 用戶宏程序編程下午下午10時時32分分%3016%3016;精加工橢圓程序;精加工橢圓程序T0101T0101M03 S800M03 S800G00 X39 Z22G00

17、X39 Z22#1=60#1=60;A A點的角度點的角度#2=0#2=0;X X坐標(biāo)坐標(biāo)#3=0#3=0;Z Z坐標(biāo)坐標(biāo)WHILE #1 LE 120WHILE #1 LE 120;120120是通過計算得來的是通過計算得來的B B點角度點角度#2=2#2=2* *2323* *SIN#1SIN#1* *PI/180PI/180;直徑編程直徑編程#3=40#3=40* *COS#1COS#1* *PI/180PI/180G64 G01 X#2 Z#3 F100G64 G01 X#2 Z#3 F100#1=#1+1#1=#1+1;步長取步長取1 1度度ENDWENDWG00 X100G00 X

18、100Z100 M05Z100 M05M30 M30 單元宏單元宏 用戶宏程序編程下午下午10時時32分分單元宏單元宏 用戶宏程序編程下午下午10時時32分分單元宏單元宏 用戶宏程序編程下午下午10時時32分分單元宏單元宏 用戶宏程序編程下午下午10時時32分分1.包含變量2.包含算術(shù)或邏輯運算(=)的程序段3.包含控制語句(例如:GOTO,DO,END)的程序段4. 包含宏程序調(diào)用指令(G65,G66,G67或其他G代碼,M代碼調(diào)用宏程序)的程序段單元宏單元宏 用戶宏程序編程下午下午10時時32分分 FANUC數(shù)控系統(tǒng)變量表示形式為# 后跟14位數(shù)字,變量種類有四種:變量號變量類型功能單元宏

19、單元宏 用戶宏程序編程下午下午10時時32分分變量號變量類型功能單元宏單元宏 用戶宏程序編程下午下午10時時32分分H代碼的幾何補償值G10L10P R ;D代碼的幾何補償值G10L12P R ;H代碼的磨損補償值G10L11P R ;D代碼的磨損補償值G10L13P R ;P:刀具補償號R:絕對值指令(G90)方式時的刀具補償值。增量值指令(G91)方式時的刀具補償值為該值與指定的刀具補償號的值相加。單元宏單元宏 用戶宏程序編程下午下午10時時32分分(n為順序號,199999)例:GOTO10為轉(zhuǎn)移到N10程序段。2. 條件轉(zhuǎn)移:(條件轉(zhuǎn)移:(IF語句)語句)1)IF 條件表達式 GOTO

20、n 當(dāng)指定的條件表達式滿足時,轉(zhuǎn)移到標(biāo)有順序號n的程序段,如果指定的條件表達式不滿足時,執(zhí)行下個程序段。單元宏單元宏 用戶宏程序編程下午下午10時時32分分2)IF 條件表達式 THEN當(dāng)指定的條件表達式滿足時,執(zhí)行預(yù)先決定的宏程序語句。 例:IF #1EQ #2 THEN #3=0;3. WHILE 條件表達式 DO m; (m=1,2,3)條件滿足條件不滿足 ENDm注:循環(huán)允許嵌套,最多注:循環(huán)允許嵌套,最多3層,但不允許交叉層,但不允許交叉單元宏單元宏 用戶宏程序編程下午下午10時時32分分單元宏單元宏 用戶宏程序編程下午下午10時時32分分單元宏單元宏 用戶宏程序編程下午下午10時時

21、32分分單元宏單元宏 用戶宏程序編程下午下午10時時32分分1. 非模態(tài)調(diào)用G65:格式: G65 Pp Ll 其中 p:要調(diào)用的程序號 L:調(diào)用次數(shù)(默認為1) 自變量:數(shù)據(jù)傳遞到宏程序例:G65 P8000 L2 A10. B2.;調(diào)用2次程序號8000,經(jīng)自變量A傳遞到宏程序#1=10;自變量B傳遞到宏程序#2=2。單元宏單元宏 用戶宏程序編程下午下午10時時32分分自變量指定自變量指定根據(jù)使用的字母,CNC系統(tǒng)自動地決定自變量指定的類型。地址不需要按字母順序指定。但應(yīng)符合字地址的格式。但是,I,J 和K 需要按字母順序指定。單元宏單元宏 用戶宏程序編程下午下午10時時32分分自變量指定

22、自變量指定根據(jù)使用的字母,系統(tǒng)自動決定自變量指定的類型。自變量指定用于傳遞諸如三維坐標(biāo)值的變量。I,J,K 的下標(biāo)用于確定自變量指定的順序,在實際編程中不寫。單元宏單元宏 用戶宏程序編程下午下午10時時32分分如果自變量指定和自變量指定混合指定的話,后指定的自變量類型有效。單元宏單元宏 用戶宏程序編程下午下午10時時32分分2. 模態(tài)調(diào)用(G66):G66 Pp Ll ;程序點G67;(取消模態(tài))例:G66 P8000 L2 A10. B2.;G00 G90 Z-10.X-5.G67一旦發(fā)出G66 則指定模態(tài)調(diào)用,即指定沿移動軸移動的程序段后調(diào)用宏程序。移動到Z-10,調(diào)用2次程序號8000,

23、移動到X-5,再調(diào)用2次程序號8000 。單元宏單元宏 用戶宏程序編程下午下午10時時32分分%1000%1000;長半軸;長半軸4040、短半軸、短半軸3030的橢圓的橢圓G54 G90 G00 Z30G54 G90 G00 Z30M03 S800M03 S800G00 X45 Y-15 G00 X45 Y-15 ;Z3Z3G01 Z-5 F100G01 Z-5 F100#0=0#0=0;給角度給角度 賦賦0 0初值初值WHILE #0 LE 360WHILE #0 LE 360;#1=40#1=40* *COS#0COS#0* *PI/180PI/180;#2=30#2=30* *SIN#

24、0SIN#0* *PI/180PI/180;G01 X#1 Y#2 G01 X#1 Y#2 ;# #0=#0+10=#0+1;ENDWENDWX45 Y15X45 Y15;G00 Z30G00 Z30X0 Y0 M05X0 Y0 M05M30 M30 G54 G90 G00 Z30G54 G90 G00 Z30M03 S800M03 S800G00 X45 Y-15 G00 X45 Y-15 ;Z3Z3G01 Z-5 F100G01 Z-5 F100#10=0#10=0;給角度給角度 賦賦0 0初值初值WHILE #10 LE 360WHILE #10 LE 360 DO 1 DO 1;#1#

25、11=401=40* *COS#10COS#10;# #12=3012=30* *SIN#10SIN#10;G01 X#11 Y#12 G01 X#11 Y#12 ;# #10=#10+110=#10+1;END 1END 1X45 Y15X45 Y15;G00 Z30G00 Z30X0 Y0 M05X0 Y0 M05M30 M30 單元宏單元宏 用戶宏程序編程下午下午10時時32分分 與FANUC類似,但功能要弱一些。變量以“R”開始,如:R0、R1、R99。不包含系統(tǒng)變量,系統(tǒng)變量以 “$”開頭。一、格式:Rn (n的缺省取值范圍為0-99) 例如:R1 R2 R99二、運算符:單元宏單元

26、宏 用戶宏程序編程下午下午10時時32分分單元宏單元宏 用戶宏程序編程下午下午10時時32分分1. 無條件跳轉(zhuǎn)GOTOB LABEL (向后跳轉(zhuǎn),向程序頭跳轉(zhuǎn))GOTOF LABEL (向前跳轉(zhuǎn),向程序尾跳轉(zhuǎn))2. 條件跳轉(zhuǎn)IF 表達式 GOTOB LABEL(向后跳轉(zhuǎn),向程序頭跳轉(zhuǎn))IF 表達式 GOTOF LABEL(向前跳轉(zhuǎn),向程序尾跳轉(zhuǎn))LABEL 為程序段標(biāo)示符單元宏單元宏 用戶宏程序編程下午下午10時時32分分IF R1R2 GOTOF MARKE1如果R1大于R2,那么跳躍到MARKE1 R7=(R8+R9)*743 GOTOB MARKE1作為條件的復(fù)合表達式IF R10 GOTOF MARK1允許確定一個變量(INT,REAL,BOOL或CHAR)。如果變量值為0(=FALSE

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論