1. 子程序和主程序怎麼編程舉例說明
子程序是一段獨立的程序,在主程序中被調用執行。子程序的使用可以提高程序的可讀性和可維護性,尤其適用於需要重復執行的操作。下面通過一個簡單的示例來說明子程序和主程序的編程過程。
假設我們要編寫一個控制機床沿圓弧路徑移動的程序,圓心坐標為(20,20),半徑為10,終點坐標為(10,20),然後直線路徑回到起點。我們可以將該程序分為兩部分:圓弧移動的子程序和主程序。
1. 圓弧移動的子程序:這部分程序用於計算圓弧路徑上每個點的坐標,並控制機床移動到該點。具體編寫如下:
% O0001圓弧移動的子程序
G90 G17 G40 G49 G54
G00 X0 Y0
#1 = 0
#2 = 0
#3 = 20
#4 = 20
#5 = 10
WHILE [#1 LT 360] DO1
#6 = SIN[#1] * #5 + #3
#7 = COS[#1] * #5 + #4
G01 X#6 Y#7
#1 = #1 + 1
END1
M99
說明:該子程序用於計算圓弧路徑上每個點的坐標,並控制機床沿圓弧移動到該點。其中,#1為計數器,#2為半徑,#3和#4為圓心坐標,#5為角度。通過WHILE循環語句,計算每個點的坐標並通過G01指令控制機床移動到該點。最後使用M99指令退出子程序。
2. 主程序:這部分程序用於調用子程序,控制機床沿圓弧路徑移動,然後直線路徑回到起點。具體編寫如下:
% O0002主程序
G90 G17 G40 G49 G54
G00 X0 Y0
M98 P1 L0
G01 X10 Y20
M99
說明:該主程序用於調用子程序,控制機床沿圓弧路徑移動,然後直線路徑回到起點。首先使用G00指令回到起點,然後使用M98指令調用子程序O0001,L0表示在主程序里立即執行子程序。這樣程序就會執行圓弧移動的子程序,並沿圓弧路徑移動,然後通過G01指令控制機床沿直線路徑移動到(10,20),最後使用M99指令退出程序。
通過細致的分解和合理的組合,我們可以將程序編寫成函數庫的形式,以提高程序的重用性和可維護性。這樣的編程方法不僅簡化了代碼,還使得程序更容易理解和維護。
2. 高級數控編程:子程序調用及編程舉例
高級數控編程:子程序調用及編程舉例
一次裝夾加工多個形狀相同或刀具運動軌跡相同的零件,即一個零件有重復加工部分的情況下,為了簡化加工程序,把重復軌跡的程序段獨立編成一程序進行反復調用, 這重復軌跡的程序稱為子程序,而調用子程序的程序稱主程序。
子程序的調用
子程序的`調用方法如圖1-2所示。需要注意的是,子程序還可以調用另外的子程序。從主程序中被調用出的子程序稱一重子程序,共可調用四重子程序,如圖1-3所示。
在子程序中調用子程序與在主程序中調用子程序方法一致。
格式:M98 P L ;
說明:P:子程序名;
L:重復調用次數,省略重復次數,則認為重復調用次數為1次;
例:M98 P123 L3;
表示程序號為123的子程序被連續調用3次,如圖1-4所示。
子程序中必須用M99指令結束子程序並返回主程序。
應用舉例:
加工如圖1-5所示輪廓,以知刀具起始位置為(0,0,100),切深為10mm,試編製程序。
圖1-6
相關知識點:
●在使用子程序編程時,應注意主、子程序使用不同的編程方式。一般主程序中使用G90指令,而子程序使用G91指令,避免刀具在同一位置加工。
●當子程序中使用M99指令指定順序號時,子程序結束時並不返回到調用子程序程序段的下一程序段,而是返回到M99指令指定的順序號的程序段,並執行該程序段。
編程舉例:如圖1-6所示。
子程序執行完以後,執行主程序順序號為18的程序段。
;3. 什麼是子程序,如何使用子程序呢
子程序(subroutine)是一個概括性的術語,任何高級程序所調用的程序,都被稱為子程序。它經常被使用在匯編語言層級上。子程序的主體(body)是一個代碼區塊,當它被調用時就會進入運行。
一般程序設計語言包含兩種基本的抽象:過程抽象和數據抽象。過程抽象有時也稱控制抽象。子程序是最主要過程抽象機制。面向對象語言中的方法與子程序的概念十分相似,不同在於它們的調用以及它們與類或對象關聯的方式。每個子程序只有一個入口。在執行期間,調用程序單位被停止執行,即任意時刻只有一個子程序在執行子程序執行完畢後,總是將控制返回給調用程序
(3)子程序怎麼用擴展閱讀:
子程序的應用
1、零件上若干處具有相同的輪廓形狀,在這種情況下,只要編寫一個加工該輪廓形狀的子程序,然後用主程序多次調用該子程序的方法完成對工件的加工。
2、加工中反復出現具有相同軌跡的走刀路線,如果相同軌跡的走刀路線出現在某個加工區域或在這個區域的各個層面上,採用子程序編寫加工程序比較方便,在程序中常用增量值確定切入深度。
3、在加工較復雜的零件時,往往包含許多獨立的工序,有時工序之間需要適當的調整,為了優化加工程序,把每一個獨立的工序編成一個子程序,這樣形成了模塊式的程序結構,便於對加工順序的調整,主程序中只有換刀和調用子程序等指令。