ハイデンハインのサイクル機能

ファナック系では、G73やG81~の固定サイクルと呼ばれている、ドリル加工用サイクルがありますが
ハイデンハイン制御機には、さらに高機能なサイクルが用意されています。
変数で加工形状をカスタマイズできる点は、カスタムマクロに似ていす。
多様なカスタムマクロが、標準で用意されているイメージです。
さらに、ドリルサイクルだけでなく、ポケットや測定用のサイクルも用意されています。
ファナック機では標準にない追加機能は、機械メーカーが提供している場合が多いですが、
そうなるとどうしてもメーカー仕様になるので互換性はありません。
工作機械を選択する際、そういった機能も比較する必要がありますね。
ハイデンハイン機は制御機に用意されてている事で、互換性は格段に向上します。

ユーザーマニュアル入手

ハイデンハインのサイトでは、コントローラのマニュアルがダウンロードできます。

ホームページから、「Service&Support」⇒ 「Downloads」⇒ 「Documentation」と進み
下へスクロールして、右側の「Categories」で「CNC Controls」で各言語に対応したマニュアルがダウンロードできます。
ただ残念ながら、日本語はないみたいです。
私は、こちらをダウンロードしました。

ドリル・タップサイクル

ドリルやタップ用のサイクルは、ダウンロードしたマニュアルでは、
8.3項目、ページ331~ に説明があります。
英語ですが、単語とアイコンでだいたいわかると思います

  • 240 CENTERING _______________________________Page 333
  • 200 DRILLING _________________________________Page 335
  • 201 REAMING _________________________________Page 337
  • 202 BORING ___________________________________Page 339
  • 203 UNIVERSAL DRILLING _____________________Page 341
  • 204 BACK BORING _____________________________Page 343
  • 205 UNIVERSAL PECKING ______________________Page 346
  • 208 BORE MILLING _____________________________Page 349
  • 206 TAPPING NEW _____________________________Page 351
  • 207 RIGID TAPPING NEW ______________________Page 353
  • 209 TAPPING W/ CHIP BRKG __________________Page 355
  • 262 THREAD MILLING _________________________Page 359
  • 263 THREAD MLLNG/CNTSNKG _______________Page 361
  • 264 THREAD DRILLING/MLLNG _______________Page 365
  • 265 HEL.THREAD DRLG/MLG __________________Page 369
  • 267 OUTSIDE THREAD MLLNG ________________Page369

ファナックの固定サイクルに比べるとかなり豊富なのがわかると思います。

スレッドミル

ねじ切りサイクル。
国内では、OSGのプラネットカッターが有名です。
加工時間は増加しますが、破損時のリスク軽減や高硬度材へのネジ加工には有効だと思います。
特に、超硬材へのネジ加工を切削で行うには、現在ではこの方法しかないように思います!
では、NCプログラムはどうやって作成するでしょう。
国内機の場合、CAMが対応している場合にはその機能を利用したり、工具メーカーが公開している
支援ソフトなどを利用したり、ユーザー側でカスタムマクロを作成したりだと思いますが、ハイデンハインには、ねじ切りサイクルがすでに準備されています。

Cycle 262、Page 359 ~に説明があります。
サイクルの使用方法は、後ほど説明しますが、「Q」で始まる指令は変数で、Qパラメータと呼ばれています。
ファナックの「#」と同様です。
この例では、「Q355」で工具の種類、「Q239」でネジピッチ、「Q201」でネジ深さ、
「Q200」でR点位置などが、この図で分かりますね。
これらの変数を設定する事で、ねじ切りを行うことができます。

ポケットサイクル

穴加工だけではありません。
円や長方形、スロット形状もサイクルが用意されています。
ポケット用のサイクルは、ダウンロードしたマニュアルでは、
8.4項目、ページ382~ に説明があります。

  • 251 RECTANGULAR POCKET ____________________Page 383
  • 252 CIRCULAR POCKET _________________________Page 388
  • 253 SLOT MILLING ______________________________Page 392
  • 254 CIRCULAR SLOT ____________________________Page 397
  • 212 POCKET FINISHING ________________________Page 402
  • 213 STUD FINISHING __________________________Page 404
  • 214 C. POCKET FINISHING _____________________Page 406
  • 215 CIRCULAR STUD FINISHING _______________Page 406
  • 210 SLOT RECIP. PLNG _________________________Page 410
  • 211 CIRCULAR SLOT ____________________________Page 413

かなり豊富なサイクルが用意されています。
何種類かのサイクルを組み合わせる事で、ある程度の加工はCAMがなくてもできそうです。

補正

サイクルからは少し外れますが、ハイデンハインは工具を「Tool Table」というテキストファイルで管理しています。
そのため、任意の工具を交換しただけで、コントローラは工具情報を「Tool Table」から取得します。
内容で必須なのは、「工具長さ」「工具径」ですが、この値は手動で入力してもいいですが
工具自動測定仕様であれば、自動的に入力されます。
したがって、工具交換しただけで、工具長補正は完成し、工具径補正が必要なNCデータを実行する場合「Tool Table」の値を元に、工具径補正が行われます。
これは、上記で説明した、「スレッドミル」や「ポケット」サイクルにも対応されます。
D番号を忘れた!などのトラブルはかなり少なくなります。
ちょっと面白い仕様に、切込み角度の項目があります。
これは、指定工具が切込み可能な場合、切込み角度を設定する項目です。
傾斜切込みを行うサイクルを使用する場合、このデータが参照されます。
このように、ハイデンハインでは使用工具はどのような工具なのかを登録しておき
工具交換する事で、その内容が自動的に反映される仕組みです。
工具交換しただけでと言うところが、重要なポイントで交換すれば、
工具長補正は完了状態なので、ワークの任意のZ点に手パ(ハンドル)で簡単に移動できます。
これは、タッチプローブでも同じです。

タッチプローブサイクル

プローブ測定用のサイクルも用意されています。
ただし、上記で紹介したマニュアルには、載っていませんでした。
こちらのマニュアルにありました。
タッチプローブ機能はオプションだからかもしれません。
ただ、特にEUではタッチプローブは必須の考えが強いように思います。

これは、ワーク測定用のサイクルですが、こちらもかなり充実していますね。
最近ファナック機はご無沙汰なので最近の状況は分かりませんが、
私が今までで立ち上げた、タッチプローブ仕様のファナック機では、
自動ワーク座標系設定やワーク測定は、機械メーカーのサービスマンが提供してくれた
マクロプログラムを使用する方法で教わりました。
ただどのメーカーも、単純にタッチした底面のワーク原点からの深さを表示するマクロがありませんでした。
例えば、ポケットの掘り込み加工後には、底面にタッチして、その深さを測定したくなります。
提供していただいたマクロの中には、2点を測定してその段差を出すマクロはありましたが、
やはり加工中では単純にタッチしただけで深さが知りたいですね。
これは、タッチプローブには、工具長の概念があまりないのも要因のように思います。
しょうがないので、カスタムマクロで自作しましたが、ハイデンハインには上記のような
豊富なサイクルが用意されています。
サイクルを使うと、加工後自動測定するプログラムも比較的簡単に作成可能ですし
制御機提供のサイクルなので、おそらく、違うメーカーの機械や
違うメーカーの測定器であっても、同じプログラムで測定できると思います。

プログラム例

サイクル定義

サイクルを利用するには、まず「CYCLE DEF サイクル番号」でサイクルの種類を指定し、
Qパラメータで条件を設定します。
「;」の右側はコメントになります。
また行末の「~」は次の行と連続している意味です。
先頭の「18」は行番号ですが、すべてが「18行」の一行です。
見やすくするための仕様ではないかと思っています。
マニュアルではコメントが英語ですがだいたい理解できると思います。

18 CYCL DEF 200 DRILLING ~
   Q200=+5 ;SET-UP CLEARANCE ~
   Q201=-19 ;DEPTH ~
   Q206=400 ;FEED RATE FOR PLUNGING ~
   Q202=+19 ;PLUNGING DEPTH ~
   Q210=0 ;DWELL AT TOP ~
   Q203=+0 ;SURFACE COORDINATE ~
   Q204=+50 ;2ND SET-UP CLEARANCE ~
   Q211=0 ;DWELL AT BOTTOM

この例は、ドリルサイクルですが、ファナックの「G82」と「G83」が合体したようなサイクルです。

加工位置

サイクルへは、「CYCL CALL POS」「M99」「 CYCL CALL PAT」の3種類の方法で加工位置を指定します
サイクルは、最後に定義されたものが、「CYCL CALL」により呼び出されます。
「CYCL CALL POS」で加工位置を定義します。

12 CYCL CALL POS X+30 Y+20 Z+0 FMAX M3
13 CYCL CALL POS X+80 Y+50 Z+0 FMAX

「M99」指令により、移動指令で移動した位置でサイクルを実行する事もできます

12 L X+30 Y+20 FMAX M3
13 CYCL CALL
14 L X+80 Y+50 FMAX M99
15 L Z+100 FMAX M2

「FMAX」は「早送り」の意味です。
「 CYCL CALL PAT」 は事前に、加工位置を書きだしたファイルを用意し、
そのファイルを指定する方法です。
センターとドリルのような、同じ位置に複数のサイクルを使用する場合に便利です。

6 TOOL CALL 1 Z S5000 
7 L Z+10 RO F5000 
8 SEL PATTERN “TAB1” 
9 CYCL DEF 200 DRILLING ~
  Q200=2 ;SET-UP CLEARANCE ~
  Q201=-2 ;DEPTH ~
  Q206=150 ;FEED RATE FOR PLNGNG ~
  Q202=2 ;PLUNGING DEPTH ~
  Q210=0 ;DWELL TIME AT TOP ~
  Q203=+0 ;SURFACE COORDINATE  ~
  Q204=10 ;2ND SET-UP CLEARANCE  ~
  Q211=0.2 ;DWELL TIME AT DEPTH ~
10 CYCL CALL PAT F5000 M3 ; Cycle call in connection with point table TAB1.PNT
11 L Z+100 R0 FMAX M6
12 TOOL CALL 2 Z S5000

加工位置ファイル「Point Table」は、「SEL PATTERN」で指定します。
呼び出し元と同じディレクトリにない場合には、フルパスで指定できます


SEL PATTERN “TNC:\DIRKT5\NUST35.PNT”

Fusion360 で出力してみた

Fusion360、ポストライブラリには、「Heidenhain」用ポストも用意されています。
プレート素材に、適当な穴を開けたモデルを用意し、CAM処理させてみました。

0 BEGIN PGM 1001 MM
1 BLK FORM 0.1 Z X-150 Y-100 Z-50
2 BLK FORM 0.2 X+150 Y+100 Z+0
3 ;-------------------------------------
4 ;Tools
5 ; #92 D=20 - ZMIN=-51 - ZMAX=+50 - drill
6 ;-------------------------------------
7 ;
8 M5
9 TOOL CALL 92 Z S1590
10 L M140 MB MAX
11 M3
12 L X-110 Y-70 R0 FMAX
13 L Z+50 R0 FMAX
14 M7
15 CYCL DEF 32.0 TOLERANCE
16 CYCL DEF 32.1
17 CYCL DEF 200 DRILLING ~
   Q200=+5 ;SET-UP CLEARANCE ~
   Q201=-51 ;DEPTH ~
   Q206=160 ;FEED RATE FOR PLUNGING ~
   Q202=+20 ;INFEED DEPTH ~
   Q210=0 ;DWELL AT TOP ~
   Q203=+0 ;SURFACE COORDINATE ~
   Q204=+50 ;2ND SET-UP CLEARANCE ~
   Q211=0 ;DWELL AT BOTTOM
18 L FMAX M99
19 L Y+70 FMAX M99
20 L X+110 FMAX M99
21 L Y-70 FMAX M99
22 L Z+50 FMAX
23 M9
24 M5
25 L M140 MB MAX
26 M30
27 END PGM 1001 MM

すごいですね~
私がハイデンハイン制御の5軸を立ち上げてた時には、穴あけデータは、
サイクルで出力できないCAMもあったと記憶しています。
深穴サイクルなど、直線補間「G01」でサイクル動作を置き換えたデータでした。
Fusion360のポストは、ハイデンハインサイクルの勉強にも使えそうです。

M12のタップ加工をプログラム化

M12のタップ加工行うNCプログラムをサイクルを組み合わせて作ってみました。
加工位置用のファイル「P1.pnt」を編集する事で、任意箇所へタップ加工ができます。
「P1.pnt」 は、制御機から作成できます。
マニュアルの「Point Tables」を参照してください。
たぶん、エディタなどでテキストを作成しても、使用できると思いますが
最初は書式がわからないと思うので、まずは制御機で作成すればテキスト化されるので
そのテキストファイルを修正する方法が簡単だと思います。
ただし、実機に触れる環境ではないので、検証できておりません。
万が一、使用する場合には、十分確認してください。

もし、実証できる方がいらっしゃれば、不具合点などコメントいただければ、助かります!

P1.PNT

BEGIN P1 .pnt MM
NR    X       Y       Z 
0     +31.5   -14     +0 
1     -15     -40     +0 
2     -31.5   +14     +0 
3     +15     +40     +0 
[END]

M12_SKD11.h

0  BEGIN PGM M12_SKD11 MM 
1  BLK FORM 0.1 Z  X+0  Y+0  Z-80
2  BLK FORM 0.2  X+150  Y+25  Z+0
3  * --------------------------------
4  CYCL DEF 247 DATUM SETTING ~
    Q339=+1    ;DATUM NUMBER
5  L  A+0  C+0 F3000 M21
6  ;;;;;;;;;;;;;;;;;;;;;;
7  ;;;; CENTER ;;;;;;;;;;
8  ;;;;;;;;;;;;;;;;;;;;;;
9  Q1 = 45 ;Tool
10 Q2 = 640 ;SP
11 Q3 = 80 ;F_Feed
12 Q4 = -0.6 ;Z_Depth
13 ;;;;;;;;;;;;;;;;;;;;;;
14 ;;;; DRILL D=10.2 ;;;
15 ;;;;;;;;;;;;;;;;;;;;;;
16 Q5 = 101 ;Tool
17 Q6 = 620 ;SP
18 Q7 = 120 ;F_Feed
19 Q8 = -25 ;Z_Depth
20 Q9 = 10 ;Q_Peck
21 ;;;;;;;;;;;;;;;;;;;;;;
22 ;;;; CHAMFER ;;;;;;;;;
23 ;;;;;;;;;;;;;;;;;;;;;;
24 Q30 = 46 ;Tool
25 Q31 = 2200 ;SP
26 Q32 = 240 ;F_Feed
27 Q33 = 0.5 ;Chanfer_Length
28 Q34 = 1.5 ;Distance
29 Q35 = Q33 + Q34 ;Depth
30 Q36 = 8 ;Coolant
31 Q37 = 12 ;Hole DIA
32 ;;;;;;;;;;;;;;;;;;;;;;
33 ;;;; TAPP M12 ;;;;;;;
34 ;;;;;;;;;;;;;;;;;;;;;;
35 Q10 = 104 ;Tool
36 Q11 = 120 ;SP
37 Q12 = -10 ;Z_Depth
38 Q13 = 1.75 ;Pitch
39 Q14 = 8 ;Coolant
40 ;;;;;;;;;;;;;;;;;;;;;;
41 * --------------------------------
42 ;;;; CENTER LBL 1 ;;;;;;;;;;;;;;
43 ;;;; DRILL LBL 2 ;;;;;;;;;;;;;;
44 ;;;; C LBL 3 ;;;;;;;;;;;;;;
45 ;;;; TAPP LBL 4 ;;;;;;;;;;;;;;
46 * --------------------------------
47 FN 9: IF +1 EQU +1 GOTO LBL 1
48 * --------------------------------
49 ;;;; SET POSITION ;;;;;;;;;;;;;;;
50 LBL 11
51 SEL PATTERN "P1.pnt"
52 CYCL CALL PAT F5000
53 M5 M9
54 L M140 MB MAX
55 LBL 0
56 * --- CENTER -----------------------
57 LBL 1
58 * - CENTER
59 TOOL CALL Q1 Z SQ2
60 M9
61 CYCL DEF 200 DRILLING ~
    Q200=+5    ;SET-UP CLEARANCE ~
    Q201=+Q4   ;DEPTH ~
    Q206=+Q3   ;FEED RATE FOR PLNGNG ~
    Q202=+Q4   ;PLUNGING DEPTH ~
    Q210=+0    ;DWELL TIME AT TOP ~
    Q203=+0    ;SURFACE COORDINATE ~
    Q204=+50   ;2ND SET-UP CLEARANCE ~
    Q211=+0    ;DWELL TIME AT DEPTH
62 L M140 MB MAX
63 L  X+0  Y+0 F8000 M3
64 L  Z+50 F8000
65 M0
66 M13
67 CALL LBL 11
68 LBL 0
69 * ---DRILL ----------------------
70 LBL 2
71 TOOL CALL Q5 Z SQ6
72 M9
73 CYCL DEF 200 DRILLING ~
    Q200=+5    ;SET-UP CLEARANCE ~
    Q201=+Q8   ;DEPTH ~
    Q206=+Q7   ;FEED RATE FOR PLNGNG ~
    Q202=+Q9   ;PLUNGING DEPTH ~
    Q210=+0    ;DWELL TIME AT TOP ~
    Q203=+0    ;SURFACE COORDINATE ~
    Q204=+50   ;2ND SET-UP CLEARANCE ~
    Q211=+0    ;DWELL TIME AT DEPTH
74 L M140 MB MAX
75 L  X+0  Y+0 F8000 M3
76 L  Z+50 F8000
77 M0
78 M13
79 CALL LBL 11
80 LBL 0
81 * --- CHAMFER -------------------
82 LBL 3
83 TOOL CALL Q30 Z SQ31 DR+Q34
84 M9
85 L M140 MB MAX
86 L  X+0  Y+0 F8000
87 L  Z+50 F5000
88 CYCL DEF 208 BORE MILLING ~
    Q200=+2    ;SET-UP CLEARANCE ~
    Q201=-Q35  ;DEPTH ~
    Q206=+Q32  ;FEED RATE FOR PLNGNG ~
    Q334=+2    ;PLUNGING DEPTH ~
    Q203=+0    ;SURFACE COORDINATE ~
    Q204=+50   ;2ND SET-UP CLEARANCE ~
    Q335=+Q37  ;NOMINAL DIAMETER ~
    Q342=+Q37  ;ROUGHING DIAMETER
89 M0
90 M3 MQ36
91 CALL LBL 11
92 LBL 0
93 * --- TAPP ----------------------
94 LBL 4
95 TOOL CALL Q10 Z SQ11
96 M9
97 Q15 = Q13 * 1
98 CYCL DEF 209 TAPPING W/ CHIP BRKG ~
    Q200=+5    ;SET-UP CLEARANCE ~
    Q201=+Q12  ;DEPTH OF THREAD ~
    Q239=+Q13  ;THREAD PITCH ~
    Q203=+0    ;SURFACE COORDINATE ~
    Q204=+50   ;2ND SET-UP CLEARANCE ~
    Q257=+Q15  ;DEPTH FOR CHIP BRKNG ~
    Q256=+Q13  ;DIST FOR CHIP BRKNG ~
    Q336=+0    ;ANGLE OF SPINDLE
99 L M140 MB MAX
100 L  X+0  Y+0 F8000 M3
101 L  Z+50 F5000
102 M0
103 MQ14
104 CALL LBL 11
105 LBL 0
106 * --------------------------------
107 L M140 MB MAX
108 M2
109 END PGM M12_SKD11 MM 

こんなデータをタップ径や材質ごとに用意しておくと、座標を編集するだけで
多種類のタップ加工簡単にができます。
ファナックでも、マクロを作成すれば同様のデータは作成できますが
制御機のサイクルだけで作成できるところが、ユーザーにとってはありがたい所だと思います

まとめ

一度、ハイデンハイン機を触ると、ファナック機には戻れないと言う意見をよく聞きます。
工具管理方法の違いもそうですが、このようなサイクルを制御機側が提供している点
重要なポイントだと思います。
これは、高精度輪郭精度なども同じかもしれません。
機械メーカーの味付けで、同じNCデータを流しても、終了時間はかなりかわりますね。
機械メーカーにとっては、自由度があり、差別化ができていいのかもしれませんが
いろんなメーカーの機械を選択したい、ユーザー側としては、データの互換性は気になります。

Fusion360カテゴリの最新記事

%d人のブロガーが「いいね」をつけました。