NCプログラム/G91は意外と便利

NCプログラム/G91は意外と便利

下記で説明しましたが、ファナック言語で位置を司令するには「G90:絶対座標系」と「G91:相対座標系」の2種類の方法があります。

通常は、図面を見ながらプログラムする場合など、「G90:絶対座標系」のほうが分かりやすいので、こちらを使用する場合が多いと思いますが、同じ形状が並んでいる場合や、穴やポケット加工など一つの輪郭加工を汎用的に配置したい場合には、「G91:相対座標系」でサブプログラム化すると便利な場合があります。

G91:相対座標系の利用方法

同じ形状が複数ある場合

このイメージのように、同じ形状が複数ある場合、もちろんCAMでモデリングして一気に計算してもいいですが、加工位置や個数が多種類ある場合は、その都度モデリングするのも面倒な作業です。

このように、絶対座標系原点でNCデータを作成し、そのデータを各加工位置へ移動複写する方法が便利です。
この場合も、CAMの機能で移動複写できる場合もありますが、原点中心の一カ所のNCデータをG91でサブプロとして作成し、メインプログラムで加工箇所へ移動した後、そのサブを呼び出す方法があります

絶対座標系の原点でNCデータを作成

まずは、G90モードでデータを作成してみます

%
O1001
(D=10.000)
G90 G00 X0 Y0 
Z30.
G00X2.Y0.
Z5.
G01 Z1. F60.
Z-5.
G41 Y-8. D01 F300.
G03 X10. Y0. J8.
X-10. I-10.
X10. I10.
X2. Y8. I-8.
G01 G40 Y0.
G00 Z30.
M30
%

これをG91モードへ書き直してみます
だたし、G91モードは相対的に移動位置を指令する方法なので、スタート位置がわからないと、実際の加工はできません。
スタート位置を明示するために、絶対座標(G90)でスタート位置を設定しておく必要があります。

%
O1001
(D=10.000)
G90 G00 X0 Y0    <--- スタート位置はG90で指定
Z30.             <--- スタート高さ
G91              <--- ここからG91へモードへ変換
G00X2.Y0.
Z-25.
G01 Z-4. F60.
Z-6.
G41 Y-8. D01 F300.
G03 X8. Y8. J8.
X-20. I-10.
X20. I10.
X-8. Y8. I-8.
G01 G40 Y-8.
G00 Z35.
M30
%

シミュレーションで見てみましょう

メイン・サブ方式へ変更してみます

上記のデータを複数個所へ、「移動・コピー」したい場合には、「メイン・サブ構成」にしたほうが便利です。
加工位置指令をメインプログラムで受け持ち、スタート地点に移動した後は、
相対座標系:G91 指令」のサブプログラムで加工するような構成にします。

(--- メインプログラム ---)
%
O1000
G90G00
G90 X0. Y0.   <--------- 加工位置へ移動 
M98 P1001     <--------- サブプロで加工させる
M30
%

(--- サブプログラム ---)
%
O1001
(D=10.000)
G90 G00    <--- スタート位置はメインで指示しているので削除
Z30.       <--- スタート高さは、サブのほうが安全
G91        <--- ここからG91へモードへ変換
G00X2.Y0.
Z-25.
G01 Z-4. F60.
Z-6.
G41 Y-8. D01 F300.
G03 X8. Y8. J8.
X-20. I-10.
X20. I10.
X-8. Y8. I-8.
G01 G40 Y-8.
G00 Z35.
M99      <---- サブプログラムなので M99 に変更
%

一か所だけの場合には、こんな感じになりますが、メインプログラムのスタート位置指令の部分を編集追加する事で、複数個所加工できるようになります。

(--- メインプログラム ---)
%
O1000
G90G00
G90 X30. Y30.    <--- 一か所目
M98 P1001

G90 X-30. Y30.    <--- 二か所目 
M98 P1001

G90 X-30. Y-30.    <--- 三か所目 
M98 P1001

G90 X30. Y-30.    <--- 四か所目 
M98 P1001
M30
%

シミュレーションしてみましょう!

このように、同じ加工を複数個所行いたい場合には、G91モードのメイン・サブ構成にする事でスマートになります。

G66:マクロモーダル呼出しを利用すれば、固定サイクルを自作できる。


さらに、マクロ機能が使用できる機種であれば、「G66:モーダル呼出し」を使用すれば、穴加工などの固定サイクルと同様の構成にできます。

(--- メインプログラム ---)
%
O1000
G90G00
G66P1001
X30. Y30. 
X-30. Y30. 
X-30. Y-30. 
X30. Y-30. 
G67
M30
%

このように、穴以外でも、真円や□ポケット、ヘリカルタップなどよく利用する加工は自作の固定サイクル的に作成しておくと便利です
ちなみに、ハイデンハイン制御機は最初からかなりのサイクルが用意されています。

ちょっとした加工であれば、CAMがなくても加工できます。
こんなところも、ユーザー思いのコントローラだと思います

G90⇒G91変換ソフト

輪郭だけでなく、ポケットの無垢からの掘込みや等高線加工などは、手打ちでは無理です。CAMで作成する場合でも、一般的にはG90モードが多いと思います。
G91のポストを用意するのも面倒なので、変換ソフトを作成しました。
フリーソフトとして公開いたします。
現状のバージョンでは、工具交換には対応していませんが、
ちょっと複雑な自作サイクルを作成したい場合などには、G91へ変換したデータを若干の手直しで使用できると思います

フリーソフトとして公開

ベクターに登録しました

https://www.vector.co.jp/soft/winnt/business/se521023.html

こちらからもダウンロードできます。

NCプログラムの記事

1 2 3 4 5 6 7

C++Builderカテゴリの最新記事

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