4.11.5.2 M97:內部副程式呼叫

文章推薦指數: 80 %
投票人數:10人

於編輯器程式執行模式下,M97 指令用於呼叫內部副程式L_ 次。

此內部副程式與主程式同在 ... 使用M97 函數可將程式改寫為:. . M97 P301 Q30 -146.999 10.000. Skiptomaincontent Contents Index Search INCON-M84/M86/M86R使用說明4程式碼4.11執行流程控制指令4.11.5M95/M97/M98/M99:程式、副程式的呼叫或返回 4.11.5.2M97:內部副程式呼叫 1.M97:內部副程式呼叫L_次 格式: M97P_L_ 於編輯器程式執行模式下,M97指令用於呼叫內部副程式L_次。

此內部副程式與主程式同在一CNC檔中。

此內部副程式是置於主程式後面,並以"Oxxxx"為副程式名稱,此"xxxx"是四位數字,即為 M97指令中之P_值;副程式必須以M99結尾(由副程式返回)。

範例一: 程式SAMPLE97.CNC        說明 ___________________________________________________________ ;SAMPLEOFM97CALL  ;主程式 G50X0Y0Z0     ; M03          ; M97P1005L3     ;呼叫執行副程式O1005三次 M97P2001       ;呼叫執行副程式O2001一次 M05          ; ...          ... M02          ;主程式結束 O1005         ;副程式O1005開始 ...          ... M99          ;副程式O1005結束 ;           ; O2001         ;副程式O2001開始 ...          ... M99          ;副程式O2001結束 範例二: 程式 SAMPLE97.CNC        說明 ___________________________________________________________ ;SAMPLEOFM97CALL  ;主程式 G50X0Y0Z0     ; ...          ... M97P1005L3     ;呼叫執行副程式O1005三次 ...          ... M30          ;主程式結束 ;           ; O1005         ;副程式O1005開始 ...          ... M97P2001       ;呼叫執行副程式O2001 ...          ... M99          ;副程式O1005結束 ;           ; O2001         ;副程式O2001開始 ...          ... M99          ;副程式O2001結束 2.M97函數功能 M97函數功能,說明如下: 格式: M97PpQqxxxx#yyyyzzzz . . . Op . . . M99 其中, p:呼叫定義函數的副程式檔名。

q:於Op副程式中,用以代入函數輸入值之巨集變數起始編號。

(其後跟隨數字或巨集變數,且只能有此二者,不可再有其它指令值,且至多可設定10組數字或巨集變數) xxxx,zzzz(數字)  :函數p之輸入值。

#yyyy(巨集變數之值):函數p之輸入值。

Op                    :p副程式。

在M97函數功能中,藉由巨集變數將函數輸入值代入定義之函數中以執行運算,函數定義則寫為內部副程式,並以M97指令呼叫執行之。

執行此M97函數指令時,系統會依序將xxxx代入#q,巨集變數yyyy之值代入#(q+1),zzzz代入#(q+2),依此類推,以供Op函數進行運算。

程式範例: 原程式寫法: #30=-146.999 #31=10.000 #71=#31*COSD(#30) #72=#31*SIND(#30) 使用M97函數可將程式改寫為: M97P301Q30-146.99910.000 . . . O301 #71=#31*COSD(#30) #72=#31*SIND(#30) M99 於上例中,M97指令行將把#30設定為-146.999,#31設定為10.000,而後再呼叫O301副程式。

(以此寫法示範以巨集變數處理輸入值) #50=-146.999 M97P301Q30#5010.000 . . . O301 #71=#31*COSD(#30) #72=#31*SIND(#30) M99 於上例中,第一行指令將先把-146.999設定至#50中,而M97指令行將把#30設定為#50之值,即-146.999,#31設定為10.000,而後再呼叫O301副程式。

註.可用逗號(,)將輸入值隔開,亦即輸入值間使用空格或逗號(,)隔開皆可,如: M97PpQqxxxx,#yyyy,zzzz,………… × Close



請為這篇文章評分?