本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:G54~G59の切り替え)

G54~G59の切り替え方法について

2023/09/06 13:29

このQ&Aのポイント
  • マシニングセンターを始めて半年ほどの初心者ですが、加工テーブル上に同じ形状の部品を一度に無人加工したいと考えています。ワーク座標系はG54~G59を使用していますが、G54から順にG55、G56、G57、G58、G59に切り替えて加工する方法がわかりません。
  • 考えた方法として、マクロを使用してG54を変数にしておき、1個目の加工が終わったら変数を+1して次の加工に移る方法を検討しています。また、取説にあるG10を使用して座標位置を変える方法も考えていますが、どちらの方法も試したことがなく不安です。このような場合、他の方はどのように対処しているのかご教示いただけないでしょうか。
  • 初心者の私がマシニングセンターの加工テーブル上に同じ形状の部品を一度に無人加工するためには、G54から順にG55、G56、G57、G58、G59に切り替えなければなりません。マクロやG10を使用して切り替える方法を考えていますが、試したことがなく不安です。経験のある方はどのように対処しているのか教えていただけないでしょうか。
※ 以下は、質問の原文です

G54~G59の切り替え

2005/07/04 15:48

マシニングセンターを始めて半年ほどのまだまだ初心者です。
宜しくお願いいたします。

森精機のMC(制御FUNUC)を使用しています。

さて、加工テーブル上にブランクを6個載せて、同じ形状の
部品を一度に無人加工しようと考えています。
ワーク座標系は基本的にG54~G59が用意されています。
そこで、作成したプログラムの中にあるG54という命令を
1個目の部品加工後に自動的にG55に切り替えて加工したいのですが、
どうすればよいのかわかりません。(以下同様にG56~G59と
順次切り替えたいのですが・・・)

素人考えですが、

(1)マクロを使用してG54を変数にしておいて、
   1個目の加工が終了したら+1にして次の加工を行う。
  (そもそもこのようなことは可能でしょうか?)
(2)取説にあるG10を使用して座標位置を変えていく。

という方法のどちらかを試してみようと考えているのですが、
どちらも試したことがないので、不安です。

皆様はこのような時にどう対処されていますか?
もしご経験をお持ちの方がいらっしゃいましたら、
なにとぞご教示下さい。
どうぞ宜しくお願いいたします。

質問者が選んだベストアンサー

ベストアンサー
2005/07/06 01:26
回答No.6

はじめましてこんばんは。

G10L2P0XxxYxx ←で外部オフセット(P0)を利用すると複数個加工が楽になります。私も時々使っています。
利点は外部オフセットを利用するので座標系の個数(標準6個所)の枠にとらわれることなく比較的に簡単に利用できます。簡単というのはP1~P6(G54~59)へのG10での入力は機械座標を使わなければならないですがP0への入力を使うと基本的にはアブソリュート入力で済むところです。

注意する点は加工プログラムの途中で終了させると外部オフセットに数字が入力されていますので座標入力を伴うMDI等での作業や別加工されるときの確認が必要です。

以下簡単に加工プログラムの流れです。
(XxxYxx)は1箇所目原点からのアブソリュート入力です。
座標指令(G54)はCAMでのプログラム(P0)によって指令されていると考えています。

O???

G90G10L2P0X0Y0 (1個目の加工物をG54からのオフセットX0Y0とします)
N100
M98P0 (G54原点でで作成された通常の加工プログラムです)

G90G10L2P0XxxYxx(2箇所目の加工物原点のオフセット量)
N200
M98P0

G90G10L2P0XxxYxx(3箇所目の加工物原点のオフセット量)
N300
M98P0

...........

G90G10L2P0XxxYxx(6箇所目の加工物の原点のオフセット量)
N600
M98P0

G90G10L2P0X0Y0 (私の場合、0に戻しておきます)

M30

です。参考にしてください。

各箇所ごとに細かな原点調整が必要なワークの場合は3桁部分のシーケンスナンバーの部分に「G91G10L2P0XxxYxx」のインクルでの入力を挿入すると問題解決します。

補足ですがツールごとにこの加工プログラムの流れを組むほうが時間短縮になります。

それでは頑張ってください。 

お礼

2005/07/22 21:14

炎のオペレーター様

まず、お礼&お返事が遅れてしまいましたこと、
大変失礼いたしました。

なかなか落ち着いてパソコンの前に座る暇がなく、
本当に申し訳ありませんでした。

それと、大変詳しい御説明を頂きありがとうございます。
質問に「取説にあるG10を使用して座標位置を変えていく」
などと偉そうに書きましたが、本当のことを言うと、
取説を読んでも、よくわかっていませんでした。
炎のオペレーターさんの説明を読んで、ようやく理解できました。
G10などはこのように使用すればよいのですね。

この方法でチャレンジしてみたいと思います。
本当にありがとうございました。

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する

その他の回答 (8件中 1~5件目)

2005/07/12 01:13
回答No.8

はじめて投稿します。よろしくお願いします。
何も無理をしてG54~G59の座標系を使わなくてもできます。
G54の座標系で・・・
{メインプログラム}
N001 G90G00G17G40G54X0Y0M98P○○○○
N002 G90G00(G17G40G54)X----Y----M98P○○○○
           ・
           ・
           ・
M30

{サブプログラム}
N○○○○
G91--------
   ・
   ・
   ・
M99


と、やっていけば、よいのでは?
メインプログラムの中に( )を付けましたが、二個目以降は省略可能です。

お礼

2005/07/22 21:29

tan 様

お礼が遅れまして大変申し訳ありませんでした。

メイン&サブの組合せは大変有効なのですね。

ご回答ありがとうございました。

質問者
2005/07/09 20:18
回答No.7

こんばんは。
サブプロ使う手、以外に。
CAD,CAMで、6個のプログラムを作ってしまう。
CAMでは、加工軌跡のコピーが簡単ですので、
時間はかからないかも?
うちでは、このデータを直接機械に流し込みますので、
機械の画面上でコードを打つ事は、ありません。

お礼

2005/07/22 21:21

KIYOHIKO 様

お礼が遅れまして大変申し訳ありませんでした。

なるほど、CAMで6個分のプログラムを作るという方法は
私にとっては盲点でした。
ただ、部品によっては膨大なデータになってしまうかも・・・。
うちのMCはパソコンなどとリンクしてないので苦しいかもしれません。

でも、このアイデア、いつか活用せていただきます。
ご回答ありがとうございました。

質問者
2005/07/05 07:54
回答No.5

そんなに難しいプログラムではありません

一つのプラグラムとして考えるから難しいのです

加工物 A G55
加工物 B G56
加工物 C G57
加工物 D G58

で加工したいと思います

加工内容プログラムは O1100で
作ったとすれば
O1100
(加工プログラム)
G00X0Y0
Z100.
M01
Sxxxx
M3
M8


ここの中では座標系をかまうプログラムはつかない


G00Z100.
G00X0Y0
M9
M5

M99←M30ではない

という加工プログラムをサブルチーンかします


それを呼び出すプログラムとして
O1000を用意します

O1000
(MAINプログラム)
(加工物A)
G54←機械内を移動したいときはG54を使う
G00XxxYxx ←加工物の大体の位置
G55 座標系を設定
M98 P1100 共通プログラムの呼び出し

(加工物B)
G54←機械内を移動したいときはG54を使う
G00XxxYxx ←加工物の大体の位置
G56 座標系を設定
M98 P1100 共通プログラムの呼び出し

(加工物C)
G54←機械内を移動したいときはG54を使う
G00XxxYxx ←加工物の大体の位置
G57 座標系を設定
M98 P1100 共通プログラムの呼び出し

(加工物D)
G54←機械内を移動したいときはG54を使う
G00XxxYxx ←加工物の大体の位置
G58 座標系を設定
M98 P1100 共通プログラムの呼び出し

M30

とします
ポイントしては
・共通加工プログラム内では座標系を使わない…使うプログラムも出来ますが難しくなります
・MAINプログラムを用意する

・MAINプログラムから座標系を変えて共通プログラムを呼び出すです

お礼

2005/07/06 15:13

ははは さん
ご回答ありがとうございます。

とてもわかりやすいご説明で、助かりました。
基本はやはりサブとメインのプログラムの使い分け
ということなのですね。

とても参考になりました。

質問者
2005/07/04 22:51
回答No.4

こんばんは!

G**
M98P****

は私もよくやる手法ですが、回答者の皆様とちょっと違った方向から
アプローチしてみたいと思います。
まず、ワークが6個(ワーク座標の数)以上になった場合、お手上げになってしまいます。どうせやるなら、テーブルいっぱいにワークを置きたいモノ
ですネ。無人運転でトラブルがあった際の損害は甚大なものになりますが。

前提としては、それぞれのワークの座標を明確にできるジグが必要になります。
と言うか、NC機での加工はジグの存在が欠かせません。
特に大量にやりたい場合は・・・。

話を単純にするため、100×75のフラットバーに2個の穴あけをする
プログラムなど。孔位置は、X-25、Y-30と、X-75、Y-45
とします。
それぞれのワークの座標原点は、@で表しますね。

メインP
G90G98G54
M3S**
G43H**Z50.
G81Z**R**F**M8
M98P**
X-@Y-@
M98P**
X-@Y-@
M98P**
  .
  .
  .
G53Z0M5
M2 or 30

サブP
G91
X-50.Y-15.
G90
M99

ジグが規則正しい順序で(等間隔)ワークを設置できるのであれば、もう一段
ネスティングが掛けられますので、さらにプログラムは簡略化できます。
同じ孔でいくつかの工具を使うのでしたら、もう一段ネスティングを掛ける
事ができます。プログラミング、楽をしようと思えば、いくらでも楽する
ことができますよ~。
簡略化の基本は、インクレメンタル指令です。

アブソリュートは最初の位置決めと、実際の加工上において、不適合が
出ないための確認に使っています。

非常に判りづらい文章でスミマセン。
疑問がありましたら、お答えいたしますよ~。

お礼

2005/07/06 15:07

むきゅきゅーん さん
ご回答ありがとうございました。

やはりメインPとサブPにわけて作るのが基本なのですね。
とても参考になりました。

質問者
2005/07/04 16:08
回答No.3

G54
M98 O1111
G55
M98 O1111
G56
M98 O1111


で よいと思います
O111 には G54 は 入れないように します

お礼

2005/07/05 12:23

ご回答ありがとうございました。

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。