複雜的輪廓公式
基本原則
您可使用複雜輪廓公式結合許多子輪廓(口袋或島嶼),來編寫複雜輪廓。您可在個別NC程式內定義個別子輪廓(幾何外型資料)。在此方式中,可任意多次使用任何子輪廓。控制器從選定的子輪廓來計算完整輪廓,而透過輪廓公式來結合這些子輪廓
0 BEGIN CONT MM |
---|
... |
5 SEL CONTOUR "MODEL" |
6 CYCL DEF 20 CONTOUR DATA |
... |
8 CYCL DEF 21 ROUGHING |
... |
9 CYCL CALL |
... |
13 CYCL DEF 23 FLOOR FINISHING |
... |
14 CYCL CALL |
... |
16 CYCL DEF 24 SIDE FINISHING |
... |
17 CYCL CALL |
... |
50 L Z+250 R0 FMAX M2 |
51 END PGM CONT MM |
- 編寫注意事項:
- 程式編輯SL循環程式 (全部的輪廓描述程式) 時的記憶體容量,限於128個輪廓。可能的輪廓元件的數量取決於輪廓的類型(內部或外部輪廓),以及輪廓描述的數量。您可最多程式編輯16384 個輪廓元件。
- 若要使用具備輪廓公式的SL循環程式,必須小心建構您的程式。這些循環程式可讓您將經常使用的輪廓儲存在個別NC程式內。您可以使用輪廓公式,將子輪廓連接到完整的輪廓,並指定是適用於口袋形或島嶼狀。
- 子輪廓的特性
- 控制器假設每一輪廓都是口袋形,如此,不要編寫刀徑補償。
- 控制器忽略進給速率F與雜項功能M。
- 座標轉換允許—如果是在子輪廓內編寫,則在後續呼叫的NC程式內也有效,但是在循環程式呼叫之後不需要重設。
- 雖然所呼叫的NC程式能包含主軸內的座標,但是這種座標會遭忽略。
- 工作平面是在NC程式的第一個座標單節內加以定義。
- 根據需求,可用不同深度來定義子輪廓。
- 循環程式屬性
- 循環程式開始前,控制器自動將刀具定位到設定淨空處。
- 因為銑刀是繞著而非跨越島部來銑削,所以每一層螺旋進給深度的銑削不被中斷
- 可程式編輯內側轉角的半徑,刀具將不停止,避免停留標記(這適用於粗銑或側面精銑操作的最外路徑)
- 側邊精銑時,刀具以圓弧切線接近輪廓
- 底面精銑時,刀具再一次以圓弧切線接近工件(例如當主軸是Z軸時,圓弧會落在Z/X平面)
- 整個輪廓會以順銑或逆銑徹底加工
像是銑削深度、預留量以及淨空高度這些加工尺寸可集中在循環程式20 CONTOUR DATA內271 OCM CONTOUR DATA內輸入。
0 BEGIN MODEL MM |
---|
1 DECLARE CONTOUR QC1 = "120" |
2 DECLARE CONTOUR QC2 = "121" DEPTH15 |
3 DECLARE CONTOUR QC3 = "122" DEPTH10 |
4 DECLARE CONTOUR QC4 = "123" DEPTH5 |
5 QC10 = ( QC1 | QC3 | QC4 ) \ QC2 |
6 END PGM MODEL MM |
0 BEGIN PGM 120 MM |
---|
1 CC X+75 Y+50 |
2 LP PR+45 PA+0 |
3 CP IPA+360 DR+ |
4 END PGM 120 MM |
0 BEGIN PGM 121 MM |
---|
... |
選擇具有輪廓定義的NC程式
定義輪廓描述
您可在NC程式內使用 宣告輪廓 功能,在NC程式內輸入程式路徑,而控制器從此獲得輪廓的描述。此外,您可選擇此輪廓描述的獨立深度。
進行方式如下:
| ||
|
您可用下列方式輸入輪廓:
可能的設定值 | 功能 | |
---|---|---|
檔案 |
| 定義輪廓名稱或選擇「檔案選擇」 |
QS | 定義字串參數的編號 |
- 編寫注意事項:
- 藉著輸入的輪廓指定QC,您可以包括輪廓公式內的多種輪廓。
- 如果已呼叫檔案與要呼叫的檔案位於同一目錄中,則也可整合檔名而不包含路徑。
- 如果您對於輪廓程式編輯獨立的深度,則您必須指定到所有的子輪廓之一深度(如果需要的話指定深度為0)。
- 若元件重疊,控制器只考量不同深度(DEPTH)。在口袋內純島嶼的情況下則否。為此,使用簡單輪廓公式。
重疊輪廓
控制器預設程式編輯的輪廓是口袋形,您可以使用輪廓公式功能,將口袋形輪廓轉換為島嶼狀輪廓。
口袋形與島嶼狀可以重疊來形成新輪廓。 如此可以用另一個口袋來擴大口袋的範圍,或以島嶼來縮小口袋的範圍。
子程式:重疊的口袋
以下的範例是輪廓描述程式,這個程式是在輪廓定義程式當中加以定義。輪廓定義程式是透過實際主程式內的 SEL CONTOUR 功能來呼叫。
口袋 A 與 B 重疊。
控制器會計算交叉點 S1 與 S2 (交叉點不需要程式編輯)。
口袋形是以完整圓來程式編輯的。
輪廓描述程式1:口袋A
0 BEGIN PGM POCKET MM |
1 L X+10 Y+50 R0 |
2 CC X+35 Y+50 |
3 C X+10 Y+50 DR- |
4 END PGM POCKET MM |
輪廓描述程式2:口袋B
0 BEGIN PGM POCKET2 MM |
1 L X+90 Y+50 R0 |
2 CC X+65 Y+50 |
3 C X+90 Y+50 DR- |
4 END PGM POCKET2 MM |
包括的範圍
區域A與B都必須加工,包括互相重疊的範圍:
- 區域A與B必須在個別NC程式當中程式編輯,沒有半徑補償。
- 在輪廓公式內,區域A與B是以「結合」功能來處理。
輪廓定義程式::
* - ... |
21 DECLARE CONTOUR QC1 = "POCKET.H" |
22 DECLARE CONTOUR QC2 = "POCKET2.H" |
23 QC10 = QC1 | QC2 |
* - ... |
不包括的範圍
區域A要加工,但是不包括由B重疊的部分:
- 表面A與B必須在個別NC程式當中程式編輯,沒有半徑補償。
- 在輪廓公式中,使用不含功能將區域A減去區域B。
輪廓定義程式::
* - ... |
21 DECLARE CONTOUR QC1 = "POCKET.H" |
22 DECLARE CONTOUR QC2 = "POCKET2.H" |
23 QC10 = QC1 \ QC2 |
* - ... |
交叉的範圍
只需要加工 A 與 B 相重疊的區域。 (只由 A 或 B 覆蓋的區域不需要加工。)
- 表面A與B必須在個別NC程式當中程式編輯,沒有半徑補償。
- 在輪廓公式內,使用「交會」功能來處理區域A與B。
輪廓定義程式::
* - ... |
21 DECLARE CONTOUR QC1 = "POCKET.H" |
22 DECLARE CONTOUR QC2 = "POCKET2.H" |
23 QC10 = QC1 & QC2 |
* - ... |