4.11.5.2 M97:內部副程式呼叫
文章推薦指數: 80 %
於編輯器程式執行模式下,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
延伸文章資訊
- 1階梯邏輯與程式設計
請寫出下圖程式並輸入PLC測試之。 ... PLC內部暫存器設定佔用32個位元,. 個位元,設定範圍:. 設定範圍: ... 有中斷副程式,因為程式的寫法關係在主程式.
- 211.1 PLC 之原理
指令可透過8051 的組譯器加以呼叫,使得組合語言具備了PLC語言. 的功能。 ... Timero 之中斷次數之計數器,每次进入Timero 中斷副程式後都將.
- 3第7 章:進階篇應用指令
詳細之功能說明與程式範例,請參考第23 章〝FBs-PLC 之泛用PID 控制〞之敘述。 ... 之標記名稱相同之副程式,在副程式執行前PLC 會先將副程式執行完後所需返回之位址.
- 4第9 章:FBs-PLC 之中斷
不掃描副程式區)。 雖然CPU 能在中斷要求發生時,在數十微秒內立即去執行對應之控制動作,但當中斷. 輸入不祇1 個時(如FBs-PLC 多達49 個中斷),只有在其所對應之 ...
- 5CALL副程式使用實際範例@ 非常低調(也談PLC) - 隨意窩
PLC中CALL_呼叫副程式. SRET_副程式返回. FEND_主程式結束這些指令解我大概了解意思..有點像PIC裡的CALL的意思但在PLC的階梯圖裡怎麼用ㄚ.