freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

華中數(shù)控宏程序全套教程-文庫吧

2025-06-01 04:44 本頁面


【正文】 例: 2=30WHILE 2 GT 0 。如果20 G91G01X10 。成立就執(zhí)行 2=23 。修改變量,ENDW 。返回G90 G00 z50 。不成立跳到這里執(zhí)行WHILE中必須有“修改條件變量”的語句,使得其循環(huán)若干次后,條件變?yōu)椤安怀闪ⅰ倍顺鲅h(huán),不然就成為死循環(huán)。假真IF條件成立?程序AENDIFELSE程序BIF…ELSE…ENDIF流程圖假真IF條件成立?程序1……程序NENDIFIF…ENDIF流程圖WHILE…ENDW流程圖假真WHILE條件程序1……程序NENDW 圖1 流程控制四.子程序及參數(shù)遞傳1.普通子程序普通子程序指沒有宏的子程序,程序中各種加工的數(shù)據(jù)是固定的,子程序編好后,子程序的工作流程就固定了,程序內(nèi)部的數(shù)據(jù)不能在調(diào)用時“動態(tài)”地改變,只能通過“鏡像”、“旋轉(zhuǎn)”、“縮放”、“平移”來有限的改變子程序的用途。例 %4001G01 X80 F100 M99子程序中數(shù)據(jù)固定,普通子程序的效能有限。2.宏子程序宏子程序可以包含變量,不但可以反復調(diào)用簡化代碼,而且通過改變變量的值就能實現(xiàn)加工數(shù)據(jù)的靈活變化或改變程序的流程,實現(xiàn)復雜的加工過程處理。例 %4002G01 Z[1] F[50] 。Z坐標是變量;進給速度也是變量,可適應(yīng)粗、精加工。M99例 對圓弧往復切削時,指令G0G03交替使用。參數(shù)51改變程序流程,自動選擇。%4003IF 51 GE 1G02 X[50] R[50] 。條件滿足執(zhí)行G02ELSEG03 X[50] R[50] 。條件不滿足執(zhí)行G03ENDIF51=51*[1] 。改變條件,為下次做準備M99子程序中的變量,如果不是在子程序內(nèi)部賦值的,則在調(diào)用時,就必需要給變量一個值。這就是參數(shù)傳遞問題,變量類型不同,傳值的方法也不同。3.全局變量傳參數(shù)如果子程序中用的變量是全局變量,調(diào)用子程序前,先給變量賦值,再調(diào)用子程序。例: %40051=40 。51為全局變量,給它賦值M98 P401 。進入子程序后51的值是4051=25 。第二次給它賦值M98 P401 。再次調(diào)用子程序,進入子程序后51的值是25M30%401 。子程序G91G01X[51]F150 。51的值由主程序決定M994.局部變量傳參數(shù)問題:%400N1 1=40 。為局部變量1賦值N2 M98 P401 。進入子程序后1的值是40嗎?M30%401N4 G91G01X[1] 。子程序中用的是局部變量1M99結(jié)論:主程序中N1行的1與子程序中N4行的1不是同一個變量,子程序不會接收到40這個值。怎么辦呢?局部變量的參數(shù)傳遞,是在宏調(diào)用指令后面添加參數(shù)的方法來傳遞的。上面的程序中,把N1行去掉,把N2行改成如下形式即可:N2 M98 P401 B40 比較一下,可知多了個B40,其中B代表1,緊跟的數(shù)字40代表1的值是40。這樣就把參數(shù)40傳給了子程序%401中的1。更一般地,我們用G65來調(diào)用宏子程序(稱宏調(diào)用)。G65指令:G65是專門用來進行宏子程序調(diào)用的,但在華中數(shù)控系統(tǒng)里面,G65和M98功能相同,可以互換。宏子程序調(diào)用指令G65的格式:G65 P__ L__ A__ B__ … Z__P 子程序號L 調(diào)用次數(shù)A~Z 參數(shù),每個字母與一個局部變量號對應(yīng)。A對應(yīng)0,B對應(yīng)1,C對應(yīng)2,D對應(yīng)3,……如A20,即0=20;,即1=;其余類推。換句話說,如果要把數(shù)50傳給變量17,則寫R50。G65代碼在調(diào)用宏子程序時,系統(tǒng)會將當前程序段各字母(A~Z共26個,如果沒有定義則為零)后跟的數(shù)值對應(yīng)傳到宏子程序中的局部變量025 。下面列出了宏調(diào)用時,參數(shù)字母與變量號的對應(yīng)關(guān)系:子程序中的變量0123456789101112傳參數(shù)用的字母ABCDEFGHIJKLM子程序中的變量13141516171819202122232425傳參數(shù)用的字母NOPQRSTUVWXYZ要注意,由于字母G、P、L等已被宏調(diào)用命令、子程序號和調(diào)用次數(shù)占用,所以不能再用來傳遞其它任意數(shù)據(jù)。傳進去的是,G65即6=65,P401即15=401(子程序號),L2即11=2。為了便于參數(shù)傳遞,編寫子程序時要避免用111等變量號來接收數(shù)據(jù),但這些變量號可以用在子程序中作為內(nèi)部計算的中間變量暫存數(shù)據(jù)。另外,G65代碼在調(diào)用宏子程序時,還會把當前九個軸的絕對位置(工件絕對坐標)傳入局部變量30~38。30~38與軸名的對應(yīng)關(guān)系由機床制造廠家規(guī)定,通常30為X軸,31為Y軸,32為Z軸。固定循環(huán)指令初始平面Z 模態(tài)值也會傳給變量26。通過30~38可以輕易得到進入子程序時的軸坐標位置,這在程序流程控制中是很有用的。5.系列零件加工所謂系列零件加工,是指不同規(guī)格的零件,形狀基本相同,加工過程也相同,只是尺寸數(shù)據(jù)不一樣,利用宏程序就可以編寫出一個通用的加工程序來。例1 切槽宏子程序。%8002G92X90 Z30M98 P8001 U10 V50 A20 B40 C3 。UVABC對應(yīng)尺寸變量見下圖G00 X90Z30M30%8001 。子程序G00 Z[20] 。切刀Z向定位X[1+5] 。接近工件,留5毫米距離10=2 。10已切寬度+2WHILE 10 LT 21 。夠切一刀? G00 Z[2010] 。Z向定位 G01 X[0] 。切到要求深度 G00X[1+5] 。X退刀到工件外 10=10+21 。修改10ENDWG00 Z[2120] 。切最后一刀G01X[0]G00X[1+5]M99例2 根據(jù)下面系列零件的圖形,編輯精加工輪廓及切斷的程序。輪廓加工用外圓車刀、切斷用切斷刀(刀位點在右刀尖)。工件零點設(shè)在右端面。工件1主程序:%1000M03 S600 T0101M98 P1001 A8B10C24D20E5F40T0202M98 P1002 C24F40M30。工件2主程序:%2000M03 S600 T0101M98 P1001 A10B15C28D24E7F50T0202M98 P1002 C28F50M30。輪廓加工子程序%1001G00X0Z3G01Z0F100G03X[2*0]Z[0]R[0]G01X[2]W[4]10= 1 [23]/211=SQRT[1*110*10]G02X[2]W[2*11]R[1]G01Z[5]U2G00X[2+50]Z100M99。切斷子程序%1002G00X[2+2]Z[5]G00X[2+50]Z100M996.高級參考在子程序中,可能會改變系統(tǒng)模態(tài)值。例如,主程序中的是絕對編程(G90),而子程序中用的是相對編程(G91),如果調(diào)用了這個子程序,主程序的模態(tài)就會受到影響。當然,對于簡單的程序,你可以在子程序返回后再加一條G90指令變回絕對編程。但是,如果編寫的子程序不是你自己用,別人又不知道你改變了系統(tǒng)模態(tài)值,直接調(diào)用就有可能出問題。有沒有辦法,使子程序不影響主程序的模態(tài)值呢?簡單的辦法就是,進入子程序后首先把子程序會影響到的所有模態(tài)用局部變量保存起來,然后再往后執(zhí)行,并且在子程序返回時恢復保存的模態(tài)值??聪旅娴睦永?102。不管原來是什么狀態(tài),先記錄下來45=1162 。 記錄第12 組模態(tài)碼1162 是G61 或 G64?46=1163 。 記錄第13 組模態(tài)碼1163 是G90 或 G91??,F(xiàn)在可以改變已記錄過的模態(tài)G91 G64 。用相對編程G91 及連續(xù)插補方式G64…… 。這里是其它程序。子程序結(jié)束前恢復記錄值G[45] G[46] ?;謴偷?2 組13 組模態(tài)M99由此可見,系統(tǒng)變量雖然是不能直接改寫的,但并不是不能改變的。系統(tǒng)模態(tài)值是可以被指令改變的。固定循環(huán)也是用宏程序?qū)崿F(xiàn)的,而且固定循環(huán)中它改變了系統(tǒng)模態(tài)值,只是在固定循環(huán)子程序中采用了保護措施,在固定循環(huán)宏子程序返回時,恢復了它影響過的系統(tǒng)模態(tài),所以外表看它對系統(tǒng)模態(tài)沒有影響。這可以通過分析系統(tǒng)提供的固定循環(huán)宏程序看出來。對于每個局部變量,還可用系統(tǒng)宏AR[]來判別該變量是否被定義,是被定義為增量或絕對方式。該系統(tǒng)宏的調(diào)用格式如下AR[變量號]返回值:0 表示該變量沒有被定義90 表示該變量被定義為絕對方式G9091 表示該變量被定義為相對方式G91例 下面的主程序%1000 在調(diào)用子程序%9990 時設(shè)置了I JK 之值,子程序%9990 可分別通過當前局部變量8 9 10 來訪問主程序的I J K 之值%1000G92 X0Y0Z0M98 P9990 I20 J30 K40M30%9990IF [AR[8] EQ 0] OR [AR[9] EQ 0] OR [AR[10] EQ 0]M99 。 如果沒有定義I J K 值,則返回ENDIFN10 G91 。 用增量方式編寫宏程序IF AR[8] EQ 90 。 如果I 值是絕對方式G908=830 。將I 值轉(zhuǎn)換為增量方式, 30 為X 的絕對坐標ENDIFM99HNC21M 子程序嵌套調(diào)用的深度最多可以有七層,每一層子程序都有自己獨立的局部變量,變量個數(shù)為50 。當前局部變量為049, 第一層局部變量為200249 ,第二層局部變量為250299,第三層局部變量300349 ,依此類推。在子程序中如何確定上層的局部變量要依上層的層數(shù)而定。由于通過系統(tǒng)變量來直接訪問局部變量容易引起混亂,因此不提倡用這種方法。例%0099G92 X0 Y0 Z0N100 10=98M98 P100M30%100N200 10=222 。此時N100 所在段的局部變量10 為第0層210M98 P110M99%110N300 10=333 。此時N200 所在段的局部變量10為第1層260,即260=222。此時N100 所在段的局部變量10為第0層210,即210=98M99五.宏編程實例1.數(shù)車編程(1)函數(shù)曲線加工通用宏程序。任意曲線y=f(x)的加工。單調(diào)區(qū)間x由x1變到x2方法一%10011=x1 。初值2=f(x1) 。或者寫成2=f(1)WHILE 1 LE x2?;蛘遅HILE 1 GE x2 G01 X[1] Y[2] 。到下一位置 1=1+ 。 ?;蛘?= 。 2=f(1) 。計算下個點坐標ENDW。......退刀M30(實際應(yīng)用,請用具體表達式代替f(x))方法二%10021=x1 。初值3=f(x1) ?;蛘邔懗?=f(1)WHILE 1 LE x2。或者WHILE 1 GE x2 2=3 。保存前一個點坐標 1=1+ 。 。或者1= 。 3=f(1) 。計算下個點坐標 G91 G01 X[] Y[32] 。到下一位置ENDW。......退刀M30(2)拋物線車削1用宏程序編制如圖所示拋物線在X區(qū)間[0,8]內(nèi)的程序。%3401T0101 G37 M03 S600 。G37半徑編程0=0 。X坐標,初值為01=0 。 Z坐標,初值為0WHILE 0 LE 8 G90G01X[0]Z[1]F200 0=0+ 1=0*0/2ENDWG00 X40Z80 M05M30(3)拋物線車削2%0342T0101 M03 S600G00 Z211=12 。B初值10=SQRT[2*11] 。A初值WHILE 10 LE 8 G90G01 X[2*10] Z[12 11] F200 10=10+ 11=10*10/2ENDWG01 X16 Z[32+12]Z28U4G00 Z2 M05M30(4)拋物線車削3%0342
點擊復制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1