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

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

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

初めての投稿をさせていただきます。 現在円周上の穴あけに対して 座標を打ち込む際は 例 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?を使ってか ファナックのプログラムでもできるのでしょうか 読みずらい文章ですが、よろしくお願いします

noname#230358
noname#230358

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

  • ベストアンサー
noname#230359
noname#230359
回答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文を覚えると、色々と応用が利きますので 是非ともお試しあれ

noname#230358
質問者

お礼

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

その他の回答 (3)

noname#230359
noname#230359
回答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使いの方にお任せしましょう。

noname#230358
質問者

お礼

大変わかりやすくご説明ありがとうございます。 パターンデータ入力機能などを調べてみます ありがとうございました。

noname#230359
noname#230359
回答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メーカ、機械メーカの何処がやるかの違い。使い勝手の良し悪しは各人それぞれです。

参考URL:
http://first-machinery.com/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E5%AE%9F%E4%BE%8B%E3%81%AB%E3%82%88%E3%82%8B%E8
noname#230358
質問者

お礼

マクロの勉強もしてみたかったので 色々調べてみます。 URLまでありがとうございます。 vectorにフリーソフトも使ってみたいと思います。 ありがとうございました。

noname#230359
noname#230359
回答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使わなければ行けませんが。

noname#230358
質問者

お礼

マクロの例題まで作って頂きありがとうございます。 マクロも色々な考え方ひとつで 簡略的なマクロで 加工プログラムを作れるのが勉強になりました。 マクロ初心者なので マクロを勉強し もっといい技術者になれるように頑張ります。 ありがとうございました。

関連するQ&A

  • 座標回転

    ファナックでの座標回転はG68で、オークマではG11ですが、例えば G68X0Y0R180. M98P100 G69 ですと、 G68をG11に、M98P100をCAll O100に、G69をG10に変えるだけでよいのでしょうか? よろしくお願いいたします。

  • OSP  が解らない

    いつも大変お世話になっています OSP(オークマ)のマシニングにファナックの NCデータを読み込んだら動かないと言われました 『質問―(1)』 ファナック→OSPの変換ソフトがあり何時もはそれを使っているが 今回、私が固定サイクル入れたのがマズイみたいです。 G98G84X42000Y-129000R500Z-15000F139P0 のG98が嫌みたいです。何に変換すれば良いでしょうか? 『質問―(2)』 OSPのメインサブがよく解りません ファナックでは M98 P0001などですが OSPではPSELECT O0001.MINで呼んで仕事をしています OSPではメイン→サブ→サブ のように2段階の 呼び出しは出来ないといわれました そういう物なんでしょうか? 『質問―(3)』 OSPの説明を書いているサイトがあれば教えて欲しいです よろしくおねがいします。

  • 次のプログラムは、円周率だの近似値を求めるプログラムである。プログラム

    次のプログラムは、円周率だの近似値を求めるプログラムである。プログラム中の○に適するものを記入しなさい。 これを教えてください! C言語です #include<stdio.h> void main(void) { int sei,en; float pai,x,y,r; r=1.0; sei=0; en=0; for(x=0,1;○;x=x+0,1){ for(y=0.1;y<=1.0;○){ sei=sei+1; if((x*x+y*y)<=r*r)en=○; } } pai=(4.0*○)/(float)sei; printf("円周率=○¥n",pai); }

  • OSP

    OSPの3次元座標回転は、G68 G69 でしょうか? ファナックと同じですよね?

  • G91による位置決め方法が知りたいです。

    最近、オークマの機械(OSP)で加工する事になったのですが、ファナックで操作出来たプログラム機械が動きません。 ファナックの時のプログラムを書きますので、アドバイスお願いします。 メインプログラム(ファナックの時のプログラム) G91G28Z0T1 M16M6 G90G0G54X0Y0T2 G43Z2.H1 S2500M3M8 G81R2.Z-1.F160K0 M98P22 G91G28Z0T2 M16M6 G90G0G54X0Y0T3 G43Z10.H2 S600M3M8 G73R2.Q5.Z-20.F60K0 M98P22 G91G28Z0T3 M16M6 G90G0G54X0Y0T4 G43Z2.H3 S600M3M8 G81R2.Z-2.75F120K0 M98P22 G91G28Z0T4 M16M6 G90G0G54X0Y0T1 G43Z5.H4 M00 M29S200 G84R5.Z-15.F160K0 M98P22 G91G28Y0Z0T#100 M30 サブプログラム(問題の位置決め) G90X10Y-20 G91X10 X10 X20K5(このX20を5回繰り返すのも、出来ないです) Y-20K10 X-20K5 M99 G90G0G54X0Y0 → G15 H1にする G43Z5.H4 → G56 H1にするとか、何とかOSP用に覚え直す事が出来たのですが、サブで位置決め「G91」使用では、思い通りに動きません。 面倒でも「G90」で座標を入力すると思い通りに動きます 単品の部品加工が主なので、G90でXY座標も入力出来るのですが、 出来ればG91を使用し、簡単に組みたいです。

  • ファナック旋盤ねじ切り

    切り粉とバリをコントロールする目的でOSPのねじ切り複合固定サイクルを使い分けて、ねじの加工をしてきました。(G71+M32,M33,M34+M73,M74,M75) ファナック0iで同様の加工をするには、どのようなプログラムにしたらよいでしょうか? ファナック初心者です。

  • ファナックでドリルプログラム

    ファナックでのドリル加工のプログラムですが、アドバイスをお願いします。 深穴を空ける時、奥に行くと切粉がはけない為、一度ドリルを位置決めまで、 出して加工しています。(下記のプログラム) G74を何度も入れずに何か似たようなプログラムの方法は、ありますか? よろしく、ご指導ください。 G00X0Z3. G74R100 G74Z-20.Q1000F0.07 G00Z3. G01Z-19.F0.5 G74R100 G74Z-40.Q1000F0.07 G00Z3. G01Z-39.F0.5 G74R100 G74Z-50.Q1000F0.07

  • 固定サイクルキャンセルについて

    オークマOSPの縦型MC(15年位前) を使用してます。 早速ですが G81 X-、Y-、Z-、R-… G00 X-、Y- G80 の穴あけプログラムの場合、2行目のG00X-、Y- は、キャンセル前だから、当然、早送り移動後、穴を開けますよね? でも、説明書には G60以外の補間モード(G00、G01、G02、G03) を指令した場合は、G80と同様に固定サイクルモード をキャンセルとなります。 と記載されています。ちょっと意味が掴めません ご存知の方、わかりやすく教えて頂きたいです。 また追記ですが、G81とG82では同じドリリングサイクル で、どう違うんでしょうか? こちらの方もよろしく頼みます

  • ファナックのタッチセンサーマクロについて

    ワークの取り付けの際にX,Y座標位置決めをタッチセンサーにて行う場合で 座標の回転移動を行った場合プログラム実行中にリセットボタンを押して再起動させると回転移動した座標が死に、もとの座標に戻ってしまうのですが 元に戻らなくする方法はありますか?分かる方がいれば教えてください。

  • OSPとファナック、Gコード変換ソフトについて

    現在制御盤ファナックのマシニングセンタを何台か使用していますが、今回オークマのマシニングセンタを購入しようと検討したところ、OSPとファナックにはGコードに多少違いがあり今までのデータを一部変換しないといけない為、結構手間な事が分かりました。パソコン上で簡単に変更できるコンバートソフトなどはないのでしょうか 宜しくお願いします。