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

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

2人が「役に立った」と評価
ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:円周上の穴あけについて ファナックプログラムです。)

円周上の穴あけについてのファナックプログラム

2023/10/19 14:18

このQ&Aのポイント
  • 円周上の穴あけについて、ファナックプログラムで座標を打ち込む方法について説明します。
  • 現在、円周上の穴あけには、PCDファンダメンタル100.0 3-ф5.0の座標を使用しています。
  • プログラムを凄く長くしなくても、OSP(オークマ)のプログラムのように1行で作成することも可能です。ファナックのプログラムでも可能かどうか調べています。
※ 以下は、質問の原文です

円周上の穴あけについて ファナックプログラムです。

2016/09/26 11:54

初めての投稿をさせていただきます。

現在円周上の穴あけに対して
座標を打ち込む際は


PCDф100.0 3-ф5.0

G68X0Y0R0
X0Y-50.0
G68X0Y0R120.0
X0Y-50.0
G68X0Y0R240.0
X0Y-50.0
G69

上のプログラムみたいに作ってるのですが、
今回円周上に100か所の穴をあけるさいに
全てG68で3.6度ずつ回転させたプログラムを作ってもいいのですが、
これだと
プログラムを凄く長くなってしまって困っております。
いろいろ調べてみたら、
OSP(オークマ)のプログラムでは
1行でそのプログラムを作ることも可能と聞いたのですが、
G300?を使ってか
ファナックのプログラムでもできるのでしょうか

読みずらい文章ですが、よろしくお願いします

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

ベストアンサー
2016/09/26 12:48
回答No.2

同じ動作を繰り返す場合、サブプロ呼び出し(OSPのG300相当)とか
マクロとか、色々な方法があります

マクロ(オプション)の場合、例えば以下の感じです

#501=0.        変数のリセット
WHILE[#501LT360.]DO1  #501が360未満なら繰り返し
G68X0.Y0.R#501
X0Y-50.0
#501=#501+3.6      #501のカウントをひとつ進める
END1          WHILE行へ戻る
G69

円を一周して#501が360.になった時点で、WHILE文のループを抜けて、
G69の行へ進みます

詳細は、FANUCの黄色い本のプログラミングマニュアルをご参照ください

回答(1)さん追記の通り、円周上のXY座標は三角関数で計算させる方が
座標回転よりも一般的ですね

いずれにしても、WHILE~END文を覚えると、色々と応用が利きますので
是非ともお試しあれ

お礼

2016/09/29 16:01

マクロの例題まで作って頂きありがとうございます。


大変勉強になります。
マクロを理解してもっと簡略的なプログラムを作れるように
頑張っていきたいと思います。

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

質問者

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

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

質問する

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

2016/09/27 06:48
回答No.4

質問者さんwrote:
>OSP(オークマ)のプログラムでは
>1行でそのプログラムを作ることも可能と聞いたのですが、

回答(3)さんwrote:
>OSPの指令はファナックと違うヘンな書き方。穴あけ固定サイクルG81などの次に
>http://nc-program.s-projects.net/osp-coordinate-calculation.html
>BHC Hp Vp I_ J_ K_
>の一行を書く。

FANUCのSeriesによっては「パターンデータ入力機能」にて、
同等のことが可能です。

また、1行は無理ですが、
カスタムマクロ不用でプログラム行数を大幅に圧縮できる、
少し古風な常套手段があります。
こちらの詳細は古参?のFANUC使いの方にお任せしましょう。

お礼

2016/09/29 15:57

大変わかりやすくご説明ありがとうございます。

パターンデータ入力機能などを調べてみます
ありがとうございました。

質問者
2016/09/26 13:24
回答No.3

名称は ボルトホールサークル の穴あけマクロプログラム。
ファナックの黄色本もこの名称でプログラム例が書かれてます。

【参考】もそれと同じ機能を持つと思います。

>OSP(オークマ)のプログラムでは
 1行でそのプログラムを作ることも可能と聞いた

OSPの指令はファナックと違うヘンな書き方。穴あけ固定サイクルG81などの次に

  http://nc-program.s-projects.net/osp-coordinate-calculation.html

  BHC Hp Vp I_ J_ K_

の一行を書く。
ファナックの【参考】プログラムのマクロ文の
   WHILE[#11 GT 0] DO1
   ~
   END1
が作付けで備わってるから。


vectorにフリーソフトがあります。

  http://www.vector.co.jp/soft/win95/business/se267690.html

必要諸元を入力すると座標値(100穴なら100行)だけのサブプログラムを作成。

>FANUCのSeriesによっては「パターンデータ入力機能」にて、同等のことが可能です。

それも含めてカスタムマクロを使っており、ファナック、オークマのNCメーカ、機械メーカの何処がやるかの違い。使い勝手の良し悪しは各人それぞれです。

お礼

2016/09/29 15:59

マクロの勉強もしてみたかったので
色々調べてみます。

URLまでありがとうございます。
vectorにフリーソフトも使ってみたいと思います。

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

質問者
2016/09/26 12:41
回答No.1

インデックスか極座標指令(G16/G15)があれば1行で可能。
そうでないならマクロで対応するか、穴位置を100行を羅列するか。

円周穴あけマクロのサンプルは黄色い取説の
カスタムマクロの章に載っているので参考にされると良いでしょう。


因みに昨今一般的なのは100行羅列だと思いますが。

個人的にはG68で座標系を回すと、キャンセル忘れた時に面倒なので
穴空けだけなら穴位置を三角関数で計算させる方が良い気がします。
(例)
 #1=0
 WHILE[#1LT360.]DO1
 G90 G99 G81 X[50*COS[#1]] Y[50*SIN[#1]] Z_ R_ F_
 G80
 #1=#1+3.6
 END1

長穴などで向きも変わるようだとG68使わなければ行けませんが。

お礼

2016/09/29 16:03

マクロの例題まで作って頂きありがとうございます。

マクロも色々な考え方ひとつで
簡略的なマクロで
加工プログラムを作れるのが勉強になりました。

マクロ初心者なので
マクロを勉強し
もっといい技術者になれるように頑張ります。

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

質問者

お礼をおくりました

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

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