M99子程序的執(zhí)行
§2.18 子程序(M98、M99)
當一個主程序內(nèi),有一些固定的程序指令組,它們須時常重復執(zhí)行,這時可將它們編成子程序,而在主程序中可對它們進行調(diào)用,如此可簡化程序,使主程序的結構更簡潔、清楚。一個子程序亦可調(diào)用另一子程序,這種情況稱之謂子程序嵌套。
下圖表示兩層嵌套的子程序調(diào)用:
1.子程序的結構
子程序的組成,依下列格式編程:
O05…………… 子程序編號
N1………………指令內(nèi)容
N2………………指令內(nèi)容
........
Nn M99…………子程序結束
即子程序以字母O(注意不是數(shù)字零0)為開始,其后跟數(shù)字,為子程序名編號。在上例中即為05。子程序的結束以M99為結束符。
2.子程序的執(zhí)行
子程序必須在主程序調(diào)用時才能被執(zhí)行。子程序的調(diào)用格式如下:
M98 P_________L_________
字母P后所跟的數(shù)字就是子程序編號,L后的數(shù)據(jù)是子程序調(diào)用次數(shù),若L沒有被指定時,子程序僅執(zhí)行一次。
例:
M98 P05……… 執(zhí)行05子程序一次。
M98 P05 L8……執(zhí)行05子程序八次。
在主程序里,子程序的調(diào)用與執(zhí)行順序如下:
3.子程序的位置
在編寫加工程序時,如需要用子程序調(diào)用功能,則子程序一般寫在主程序之后,兩者在一個加工文件里。如下圖所示:
如在一個加工程序中有多個子程序,則子程序必須都在主程序之后,而子程序之間的前后位置可以是任意的。
4.子程序編程時的注意事項
[1]在子程序中可以調(diào)用其它子程序,既子程序可以嵌套調(diào)用。
系統(tǒng)規(guī)定子程序嵌套調(diào)用最多為十層。
[2]子程序不能遞歸調(diào)用。所謂遞歸調(diào)用就是在子程序中有自己調(diào)用自己的
語句,或者是子程序1調(diào)用子程序2,在子程序2中又調(diào)用子程序1,當出
現(xiàn) 這種情況時也是間接的遞歸調(diào)用。
AT89C51中斷程序設計兩位數(shù)碼管0到99,工作方式1,定時計數(shù),1s,不用C語 ...
CJNE A,#99,NEX ;判斷是否等于99 等于99順序執(zhí)行 不等跳轉到nex 繼續(xù)計數(shù) MOV SECOND,#00H ;清零 NEX:MOV B,#10 ;10送入b DIV AB ; a除以b 商送入a 余數(shù)送入b MOV DPTR,#TABLE ;取表 MOVC A,@A+DPTR ;取表中的值 送入a MOV P0,A ; 值送入p0 MOV A,B ; ...
法蘭克加工中心子程序編寫與調(diào)用
O0002%M03;S2000;G98G41D01;(G98這個是副程式啟動的代碼,我忘記了是不是這個,好久沒做這個了,)G00X0.Y0.Z100.;G01Z3.F1000;(下面是以圓孔為例,錯了很多,想不起了,只能給你參考)G03X50.R25.Z1.F1000;G03Y50.I25.;G03X-50.R25.G01Z100.M(副程式結束代碼)M30%...后面就是一般的...
一般數(shù)控主程序最多可以嵌套幾級子程序
看你自己了,子程序可以起到一個循環(huán)的效果。主程序里面可以調(diào)用N個一級子程序,每個99次。每個一級子程序里面可以調(diào)用N個二級子程序,每個99次。每個二級子程序里面可以調(diào)用N個三級子程序,每個99次。每個三級子程序里面可以調(diào)用N個四級子程序,每個99次。可以套4重(層)。
加工中心主程序和子程序能不能編在一起
具體來說,這種方式的優(yōu)點在于,所有程序內(nèi)容都在一個文件中,便于整體查看和管理。同時,使用%加數(shù)字的命名方式,可以清晰地區(qū)分主程序和子程序,提高程序的可讀性和維護性。對于初學者來說,這種方式更容易上手,也更直觀。相比之下,F(xiàn)ANUC系統(tǒng)的模式可能需要在多個文件之間進行調(diào)用,這雖然可以實現(xiàn)子程序...
...簡單來說是:在已經(jīng)進入子程序中,當按鍵按下,又再次進入另一個子...
另外,這個程序就算改后能執(zhí)行,也盡量不要這樣寫。你這種寫法接近使用操作系統(tǒng)的多任務方式編程方法,但又沒有操作系統(tǒng)支持,所以顯得怪怪的,可讀性差,你可以參考Keil C51中TINY OS的原理改寫下。如果覺得太難,可以使用常規(guī)方法,不要用死循環(huán),比如:對每種輸出(ZERO、ONE、...、NINE)編寫子程...
matlab里面的for循環(huán)嵌套
這是matlab里面的for循環(huán)嵌套if的用法。舉例說明具體的使用方法,詳解如下:1、首先,創(chuàng)建一個新的子程序loopcolor,如下圖所示。2、其次,完成上述步驟后,定義幾個變量,所有變量都是整數(shù)類型,代碼如下圖紅框所示。3、接著,完成上述步驟后,為mycolor分配一個值, mycolor = 0,如下圖所示。4...
易語言程序返回參數(shù)問題
甲調(diào)用對應注冊表貨配置項獲取乙的返回值 甲運行乙的時候,“是否等待程序運行完畢”參數(shù)設為“真”,這樣的話 甲執(zhí)行到“運行”命令就會暫停,直至已運行完畢。給你寫個簡單的例程。'---甲程序(主程序)--- .版本 2 .子程序 __啟動窗口_創(chuàng)建完畢 運行 (取運行目錄 () + “\\乙程序.exe”...
易語言中的“啟動線程”怎么用啊?
啟動線程可以將子程序賦值給第一個參數(shù),強制結束線程可以將啟動線程返回的句柄賦值給第一個參數(shù)。1、新建易語言程序,在啟動窗口上添加一個按鈕,然后雙擊這個按鈕進入代碼區(qū)域:2、進入代碼區(qū)域后,右擊代碼區(qū)域空白部分,在展開的菜單中點擊“新子程序”按鈕創(chuàng)建一個新的子程序:3、創(chuàng)建子程序后,使用...
法拉克數(shù)控車床編程如何寫坯料掉頭程序
用主程序調(diào)用子程序,每車個工件后在主程序里用G50偏移一個工件的距離。例:每個工件長10MM。刀3MM寬 O1234(主程序)G99 M98 P1233(調(diào)用1233號子程序)G50 X100 Z87 M98 P1233 G50 X100 Z87 M98 P1233 G50 X100 Z87 M98 P1233 G50 X100 Z139 M30 01233(子程序)G99 T101 M3 S1000 G0 ...
臺達PLC的中斷定時器如何使用
展開全部 PLC 每隔一段時間自動的中斷目前執(zhí)行中的程序而跳至指定的中斷插 入子程序執(zhí)行。 5 3 已贊過 已踩過< 你對這個回答的評價是? 評論(1) 分享 微信掃一掃 網(wǎng)絡繁忙請稍后重試 新浪微博 QQ空間 舉報 收起 zss818zss 2011-04-11 zss818zss 采納數(shù):45 獲贊數(shù):187 LV6 擅長:照相機\/攝像機...
相關評說:
奎屯市橡膠: ______ 調(diào)用子程序結束
奎屯市橡膠: ______ M98 調(diào)用子程序 M99 返回主程序 M98 P+調(diào)用次數(shù)+子程序號 例如M98 P0090016的意思為調(diào)用子程序O0016并執(zhí)行9次 子程序里邊和普通程序的編程方式一樣 結尾是M99
奎屯市橡膠: ______ 數(shù)控銑?M98調(diào)用子程序,M99返回主程序.調(diào)用子程序格式為M98Pxxxxxxx(七位,前面重復次數(shù)三位可以省略),前三位為重復次數(shù),后四位為子程序程序號.舉個例子,子程序號為O0051,那么主程序要調(diào)用子程序的話就M98P0051,重復3次的話就M98P30051,重復次數(shù)為1次的話可以省略,直接在P后面接程序號就行,子程序就正常編就行,跟正常程序一樣的,結尾加M99就行.
奎屯市橡膠: ______ G0代表快速點定位 G9主軸恒速 M0:程序暫停后面可以加多長時間 M9掉用子程序...
奎屯市橡膠: ______ 一. 常用M代碼 1. M00、M01、M02、M30之區(qū)別 均為程序結束指令,但M01必須在機臺OSP功能開關開啟方有效,M00、M01生效后機臺程序暫停執(zhí)行,按STAR鍵可繼續(xù)向后執(zhí)行,M30則為程序結束執(zhí)行后程序將回到開始. 2. M98/M99/G65/...
奎屯市橡膠: ______ 子程序調(diào)代碼為 G65為可帶參數(shù)調(diào)用子程序 G66為子程序調(diào)用循環(huán),必須由G67代碼結束循環(huán) M98為普通子程序調(diào)用 子程序名稱由字母O指定,子程序末必須加結束碼 宏維系統(tǒng)子程序結束碼為M17,子程序寫在主程序結碼后面 寶元系統(tǒng)子程序結束碼為M99,子程序單獨寫,保存在主程序同一個文件夾 ~