【マシニングセンタの座標回転】基礎から実践的な方法まで説明

NCプログラム

お疲れ様です。 セドヤです。
今回は当ブログの読者の方から要望がありましたので【座標回転のかけ方】についての説明させていただきます。
座標回転はとても便利なので是非ともマスターしたい機能です。

マシニングセンタを使っていてこんなこと思っていませんか?

  • 座標回転がどんな機能がわからない。
  • 座標回転が意図通りかからないときがある。
  • 他の人の座標回転の使い方を見てみたい。

そんな人のために、機械加工歴20年の私 セドヤ が
座標回転の基礎から実践的なプログラミングの方法まで具体例を交えながら丁寧に説明します。

※NCのプログラムは FANUC (ファナック)で説明しています。
NCの仕様により正しく動作しない場合もあります。予めご了承ください。

座標回転のメリットとデメリット

座標回転は面倒な計算から解放してくれる便利な機能です。

上の図を加工するには4-10キリの座標が必要です。

電卓で計算するのは大変です。また、細かい数字を打ち込むのも間違えそうですね。

メリット

  • 面倒な計算が不要。
  • プログラミングの時間短縮。
  • プログラムの簡素化できる。

デメリット

  • 使い方が少し難しい。
  • 回転位置の入力ミスやキャンセルの打ち忘れに気づかないと重大な加工ミスになる。
  • 他のGコードなどの影響で使えないこともあり、NCの仕様により、アラームが出たり、出なかったりする。

座標回転のフォーマット

座標回転のGコードはG68とG69です。

G68で座標回転モードがオンになりG69でキャンセルされます。

G68 X_ Y_ R_
G69

(G17 平面 G90アブソリュート指令)

  • G68 : 座標回転モードがオン
  • XY: 回転中心の座標値(アブソリュート値)
  • R : 角度 (反時計回りがプラス方向)
  • G69 : キャンセル
  • 操作パネルのリセットボタンでもキャンセルされます。

座標回転と平面選択

通常G17平面でプログラムを作ると思いますが、平面を変更することでX軸(G19)、Y軸(G18)で座標回転をかけることもできます。
その他は3次元座標変換(オプション)を使います。
※座標回転モード中に平面(G17,G18,G19)を変更するとアラームとなります。

平面の指定をする場合
G17 G68 X_ Y_ R_
G18 G68 Z_ X_ R_
G19 G68 Y_ Z_ R_

  • G17 : XY平面
  • G18 : ZX平面
  • G19 : YZ平面
  • XYZ : 回転中心の座標値
  • R : 回転角度 

関連記事の紹介

平面選択についてはこちら⇓
【マシニングセンタの平面選択】円弧補間やアングルヘッドの使い方
3次元座標変換についてはこちら⇓
【アングルヘッド】特徴や選び方とプログラムの作り方を説明

座標回転とインクレメンタル指令

座標回転はアブソリュート指令とインクレメンタル指令で行うことができます。
アブソリュート指令されると回転角度は絶対値で設定されます。
インクレメンタル指令されると回転角度は既存の角度に相対値で加算されます。
(回転中心は常にアブソリュート値で解釈されます)

プログラム例
G90 G68 X0 Y0 R30.  →30度
G90 G68 X0 Y0 R15.  →15度
G91 G68 X0 Y0 R20.  →15+20=35度
G91 G68 X0 Y0 R-10.   →35+10=25度
G69
M30

座標回転の簡単な使い方

それでは座標回転を使ってみましょう!

穴位置を20度傾けるプログラム例

座標回転のメリットとデメリットの図を例に実際にプログラムの説明をします。

プログラム例
G17 G54
N10 (10DRILL)
T10 M6
G90 G68 X0 Y0 R20.
G0 X200. Y60.
G43 Z100. H10
S620 M3
G81 Z-30. R3. F80 K0
X200. Y60.
X300. Y60.
X300. Y140.
X200. Y140.

G80 M5
G69
G91 G28 Z0
M30

工具交換後に G68 で20度の座標回転をかけます。G69 でキャンセルされるまでプログラムの座標は20度傾きます。

溝を3等分で加工するプログラム例

プログラム例

G17
N10 (40ENDMILL)
T20 M6

(① 横の溝を普通に加工)
G0 G90 G54 X0 Y0
G43 Z100. H20
S1000 M3
Z5.
G1 Z-10. F500
G1 X130. F100
G0 Z100.

(②120度回転させる)
G90 G68 X0 Y0 R120.
X0 Y0
Z5.
G1 Z-10. F500
G1 X130. F100
G0 Z100.
G69

(③240度回転させる)
G90 G68 X0. Y0. R240.
X0 Y0
Z5.
G1 Z-10. F500
G1 X130. F100
G0 Z100.
G69
M5
G91 G28 Z0
M30

座標回転の中心が原点でない場合

今までの例は座標回転の中心がワーク原点でした。原点と回転中心が一致しない場合は座標回転の中心座標に加算します。

回転中心とワーク原点が違うと感覚的に難しく感じますね。そこで、座標回転の中心を原点にする方法としてローカル座標系を使います。

ローカル座標系について
プログラム上で簡易的に座標系を作る機能で設定された座標が原点となります。

G52 X_ Y_ Z_

  • G52 : ローカル座標系が設定され有効となる
  • XYZ : 原点にしたい座標値
  • G52 X0 Y0 Z0 : キャンセル
  • 変更のない軸は省略できる
  • 操作パネルのリセットボタンを押したとき、手動での全軸原点復帰を行ったときキャンセルされる

ローカル座標系と座標回転を一緒に使うと計算が減り、穴位置の座標がすっきりします。

OSP (オークマ) やTOSNUC (東芝) にも座標回転の機能はありますが、
FANUC (ファナック) とは少し使い方が違います。

OSPとTOSNUCの座標回転は座標回転中心が有効な座標系原点とするため、ローカル座標の機能も付属しています。

固定サイクル中に座標回転させる例

穴あけで固定サイクルを使う場合、複数回の穴位置入力するときサブプログラムを使うと簡略化できます。座標回転も穴位置と一緒にサブプログラムに入れておくと扱いが簡単になります。

「穴位置を20度傾けるプログラム例」と同じ図で説明します。

O100(MAIN PROGRAM)
G17
N10(3CENTERDRILL)
T1 M6
G0 G90 G54 X0 Y0
G43 Z100. H1
S2000 M3
G81Z-2. R3. F100 K0
M98 P101
G80 M5
G91 G28 Z0

N20(10DRILL)
T10 M6
G0 G90 G54 X0 Y0
G43 Z100. H10
S620 M3
G81 Z-30. R3. F80 K0
M98 P101
G80 M5
G91 G28 Z0
M30

O101(SUB PROGRAM)
G68 X0 Y0 R20.
X200. Y60.
X300.
Y140.
X200.
G69
M99

座標回転をサブプログラムで繰り返す例

下の図を加工する想定で2通りのプログラム作り方を紹介します。

1.メインプログラムで座標回転をかけてサブプログラムを呼び出す

O200(MAIN PROGRAM)
G17
N10(20ENDMILL)
T15M6
G0 G90 G54 X0 Y0
G43 Z100. H15
S500 M3
M98 P201
G90 G68 X0 Y0 R72.
M98 P201
G90 G68 X0 Y0 R144.
M98 P201
G90 G68 X0 Y0 R216.
M98 P201
G90 G68 X0 Y0 R288.
M98 P201
G69
G80 M5
G91 G28 Z0
M30

O201(SUB PROGRAM)
G0 G90 X0 Y120.
Z3.
G1 Z-5. F25
X15. F50
Y135.
X-15.
Y105.
X15.
Y120.
X0.
G0 Z100.
M99

角度の増分値が同じときは簡略化することができます。
2.サブブログラム内インクレメンタル指令で座標回転し、繰り返し機能を使う例

O300(MAIN PROGRAM)
G17
N10(20ENDMILL)
T15M6
G0 G90 G54 X0 Y0
G43 Z100. H15
S500 M3
M98 P301 L5
G69
G80 M5
G91 G28 Z0
M30

O301(SUB PROGRAM)
G0 G90 X0 Y120.
Z3.
G1 Z-5. F25
X15. F50
Y135.
X-15.
Y105.
X15.
Y120.
X0.
G0 Z100.
G91 G68 X0 Y0 R72.
G90

M99

サブプロクラムの最後インクレメンタル指令で座標回転を増分します。繰り返し機能を使うとプログラムを短くできます。また、プログラムの確認も手間が減ると思います。
キャンセルコードG69の入力忘れのないように注意してください

まとめ:【マシニングセンタの座標回転】基礎から実践的な方法まで説明

座標回転フォーマット
G68 X_ Y_ R_
G69
(G17 平面 G90アブソリュート指令)
G68: 座標回転モードがオン
XY:回転中心X座標
R:角度 反時計回りがプラス方向
G69: キャンセル

  • 平面選択により、G17平面以外のG18,G19平面でも座標回転を使うことができる。
  • 回転中心が原点でないときは、回転中心の座標値を加算した数値で指令する。
  • 回転中心を原点にしたいときはローカル座標系を使うことで可能になる。
  • 固定サイクルの後に座標回転させることで穴位置を扱いやすくなる。
  • 角度の増分値が一定の場合はサブプログラムの繰り返し機能とインクレメンタル指令の座標回転を使うことでプロクラムをより簡略化できる。

いかがでしたか?
座標回転の基本的な使い方と、応用も理解いただけたでしょうか?
ご意見、ご要望などありましたら、コメント または 問い合わせ お待ちしています。
最後まで読んでいただきありがとうございます。
以上で終わりです。