今回の記事はマシニングセンターのプログラムで初心者には少し分かりづらい円弧補間について説明をします。
最後まで読むと、円弧補間プログラムをいろんな記述方法ができるようになります。
IJを使った円弧補間
円弧補間は回る方向でG2 、G3 の2つのGコードがあります。
G2 X_ Y_ I_ J_ F_ (時計回りCW)
G3 X_ Y_ I_ J_ F_ (反時計回りCCW)
アドレス | 入力するデータ |
---|---|
X | 円弧補間の終点 X 座標 |
Y | 円弧補間の終点 Y 座標 |
I | 始点から円弧中心までの X 距離 |
J | 始点から円弧中心までの Y 距離 |
F | 送り速度 |
I、Jのデータが0の場合省略できます。
一周円弧補間
一周円の場合は始点と終点が同じになるため、終点であるX_Y_の入力は不要になります。
G2 I_ J_ F_ (時計回りCW)
G3 I_ J_ F_ (反時計回りCCW)
Rを使った円弧補間
I、Jの代わりにRを使って入力することができます。
G2 X_ Y_ R_ F_ (時計回りCW)
G3 X_ Y_ R_ F_ (反時計回りCCW)
アドレス | 入力するデータ |
---|---|
X | 円弧補間の終点 X 座標 |
Y | 円弧補間の終点 Y 座標 |
R | 半径(注意1) |
F | 送り速度 |
(注意1)半径Rの入力は、始点から終点の角度により決まりがあります。
- 180度より小さい場合はRは正の値
(例) G2 X_ Y_ R60. - 180度より大きい場合はRは負の値
(例) G2 X_ Y_ R-60. - 180度の場合はRは正、負どちらでもOK
円弧補間のプログラム例
例1)円弧が小さい場合
右上がりの例(X0Y0からX100Y100へ)
G1 G90 X0 Y0 F500
X70.
G3 X100. Y30. J30. (G3 X100. Y30. R30. でも可)
G1 Y100.
左下がりの例(X100Y100からX0Y0へ)
G1 G90 X100. Y100. F500
Y30.
G2 X70. Y0. I-30. (G2 X70. Y0. R30. でも可)
G1 X0.
例2)円弧が大きい場合
下から上の例(X0Y0からX0Y40 へ)
G1 G90 X0 Y0
X70.
G3 X30. Y80. J50. (G3 X30. Y80. R-50.)
G1X0 Y40.
上から下の例(X0Y40からX0Y0 へ)
G1 G90 X0 Y40
X30. Y80.
G2 X70. Y0. I40. J-30. (G2 X70. Y0. R-50.)
G1X0
I_ J_ を指定するより R_ を指定の方が簡単ですが、cadcamで作られたプログラムは I_ J_が使われることが多いです。
例3)一周円弧の場合
円の中心 X100 Y50 円周上の点 X70 Y90 半径 50 の場合の例
G0 G90 Z100. S1000 M3
X100. Y50.
Z5.
G1Z-10.F500
G1 X70. Y90.
G3 I30. J-40.
G1 X100.Y50.
G0 Z100.
加工したい円周上に移動して G2 G3 I_ J_ で中心の位置を指示します。
上の例では 半径から I_ J_ を計算する必要があり面倒です。穴加工で使うときはG91のインクレメンタル指令で作る方が簡単です。
円の中心 X100 Y50 半径 50 の場合の例
G0 G90 Z100. S1000 M3
X100. Y50.
Z5.
G1Z-10.F500
G1 G91 Y50.
G3 (I0) J-50.
G1 Y-50.
G0 G90 Z100.
最初の例と比べて入力する円弧補間に関係する数字が半径の50だけになりました。同じ穴が複数ある場合はサブプログラムを使い、穴の大きさが変わる場合は半径を変数にすると効率的にプログラムが作れます。
円弧補間のまとめ
時計回り
G2 X_ Y_ I_ J_ F_ 又は G2 X_ Y_ R_ F_
反時計回り
G3 X_ Y_ I_ J_ F_ 又は G3 X_ Y_ R_ F_
以上です。
最後まで読んでいただきありがとうございました。