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

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

1人が「役に立った」と評価
締切済み
※ ChatGPTを利用し、要約された質問です(原文:プログラム)

円のヘリカル加工プログラムの作成方法と計算方法について

2023/10/14 05:19

このQ&Aのポイント
  • 円のヘリカル加工のプログラムをマクロで作成する際の構造や計算方法についてアドバイスをお願いします。
  • ヘリカル加工のプログラムを作成するためにはどのような計算方法や構造を使用すればいいのでしょうか?アドバイスをお願いします。
  • ヘリカル加工のプログラムを作成する際の計算方法や構造について教えてください。アドバイスをお願いします。
※ 以下は、質問の原文です

プログラム

2005/11/06 15:20

こんにちわ。

円のヘリカル加工のプログラムをマクロで作成しようと思うのですが、どう

いう動きをするのかは頭では分かっているのですが、なかなかプログラムの

構造が頭に浮かびません。どのような計算方法と作り方をすればいいのでし

しょうか?どなたかアドバイスをください。お願い致します。

回答 (6件中 1~5件目)

2005/11/18 17:25
回答No.6

回答(5)です。

FANUCは素人ですが、回答(5)のOSPのマクロをFANUC用にコンバートしてみました。
一応、ナスカView(体験モード)では動作確認しています。

「O100 引数の説明」
X(#24): X 中心位置
Y(#25): Y 中心位置
I(#4 ): 加工半径
K(#6 ): Z 1周あたりの切り込み
Q(#17): Z リファレンス点1
R(#18): Z リファレンス点2
S(#19): Z リファレンス点3
Z(#26): Z 終点
A(#1 ): 回転方向ピック角度
D(#7 ): 工具半径
(工具半径は、システム変数を使ってカレントの径補正の値としたかったのですが、うまくいかず断念(^^;)

T30 M6
G17 G90
G0 X0 Y0
Z100. G43 H30 D30 M3 S1000 F100

G65 P100 X0 Y0 I8. K1.5 Q5. R1. S100. Z-10. A3. D5.

G0 Z300. M5
M30

O100
#32=#4-#7
G0 X[#24+#32] Y#25
Z#17
G1 Z#18
#30=0 #31=[#18-#26]/#6*360.
N1 #30=#30+#1
IF[#30 LT #31]GOTO 2
#30=#31
N2 G1 X[#24+COS[#30]*#32] Y[#25+SIN[#30]*#32] Z[#18-#30/360.*#6]
IF[#30 LT #31]GOTO 1
G3 I[-COS[#30]*#32] J[-SIN[#30]*#32]
G1 X#24 Y#25
G0 Z#19
M99

非常に怪しい(^^;ので、信用せずに充分注意して確認して下さい。

ご先達からアドバイスをいただけるとありがたいです。

>カレントってなんですか?

「現時点で有効な」でよろしいですか?

本マクロですと、加工半径を微調整するには「D5.」の値を変更しなくてはいけないので、いちいちプログラムを編集する必要があります。
それを、メインプログラムの現時点で有効な径補正の値(D30の値)で調整できれば、便利ですよね。
OSPのマクロでは、システム変数「VTOFD[VDCOD]」を使用し、そのようにしています。
FANUCでは、#4007・#4107がそれらのようですが、そこから先がうまく行かなかったので。(^^;

>リファレンス点1リファレンス点2リファレンス点3とはどういう値のことを示すのでしょうか?

リファレンス点1…早送りで寄り付く点
リファレンス点2…リファレンス点1から切削送りで寄り付く点
リファレンス点3…加工後の戻り点
です。

これはオマケな部分なので、質問者さんの使い方によって、適当に削除・追加すれば良いと思います。

>あと、回転方向ピック角度の意味も教えていただけないでしょうか?

「直線近似するために円を分割する角度」でよろしいですか?

「A3.」=3°→360°/3°=120角形になります。
小さくしすぎると、送り速度に計算時間が追いつかなくなり、指令した送り速度が出なくなります。
大きくしすぎると、円からの誤差が大きくなりすぎます。
CADで描いて確認すると、当I8.・D5.・A3.で、円との誤差は約0.001です。
今回のような加工では、もっと大きくしても良いかも。

お礼

2005/11/18 21:23

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

カレントってなんですか?

私もファナックでマクロの修行中なのでとても助かります。。

ぜひ参考にさしていただきます。

しかしみなさんすごいですね!私なんかまだまだですね。。。。

すいません!!
リファレンス点1リファレンス点2リファレンス点3とはどういう値のことを示すのでしょうか?
あと、回転方向ピック角度の意味も教えていただけないでしょうか?

お願い致します。。。

質問者

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

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

質問する
2005/11/18 05:59
回答No.5

>円のヘリカル加工のプログラムをマクロで作成しようと思うのですが、

詳細は、同じ質問者さんの「No.14829 ヘリカル」の、

(質問者さん)
>今エンドミルでのヘリカル加工とZ方向へのジグザグ加工のプログラムを作っているのですが、どのぐらいの角度でどのくらい切り込んでいけばいいのか分かりません。

(回答者(3)さん)
>ちなみにOSGのWX-PHS?だったとおもいますが、φ10でφ16深さ15?をHRC38で1周1.5? / HRC61で1周0.5?で直彫り加工した経験はありますが、全く問題ありませんでしたよ。

とし、
 1.エンドミル径…φ10
 2.加工径…φ16
 3.深さ…15
 4.切込…1.5/1周
等でマクロ例を作成しました。コントローラはOSPです。

ヘリカル切削(補間)の仕様が付いているかどうか不明なので、当仕様が付いていなくてもOKなように直線補間での近似としています。

考え方は前の回答者さんが記されているので、計算方法の説明は不要ですよね。
また、数値のリミットチェックは一切していませんので、必要に応じて追加して下さい。

「OS1 引数の説明」
LX1: X 中心位置
LY1: Y 中心位置
LI1: 加工半径
LK1: Z 1周あたりの切り込み
LR1: Z リファレンス点1
LR2: Z リファレンス点2
LR3: Z リファレンス点3
LZ1: Z 終点
LP1: 回転方向ピック角度
(工具半径はカレントの径補正の値「VTOFD[VDCOD]」)

「メインの例」
T30 M6
M63
G0 X0 Y0
Z100. G56 H30 D30 M3 S1000 F100

CALL OS1 LX1=0 LY1=0 LI1=8. LK1=1.5
$ LR1=5. LR2=1. LR3=100. LZ1=-10.
$ LP1=3.

G0 Z300. M5
M6
M2

「サブの例」
OS1
RD1=LI1-VTOFD[VDCOD]
G0 X=LX1+RD1 Y=LY1
Z=LR1
G1 Z=LR2
M132
AA1=0 AE1=[LR2-LZ1]/LK1*360.
N1 AA1=AA1+LP1
IF[AA1 LT AE1]N2
AA1=AE1
N2 G1 X=LX1+COS[AA1]*RD1 Y=LY1+SIN[AA1]*RD1 Z=LR2-AA1/360.*LK1
IF[AA1 LT AE1]N1
M133
G3 I=-COS[AA1]*RD1 J=-SIN[AA1]*RD1
G1 X=LX1 Y=LY1
G0 Z=LR3
RTS

シミュレータでは動作確認してありますが、充分注意して確認して下さい。

お礼

2005/11/18 21:19

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

OSPのマクロは詳しくないのですが、参考になります。

うちにはオオクマのMCもあるのでぜひ参考にさせていただきます。

貴重なアドバイスありがとうございました。

質問者
2005/11/07 11:33
回答No.4

こん○○は。

工具径の2倍以下の加工径が前提であれば、
(1周回れば加工径に達する)

1周円を動く際に、Zを切込だけです。
1回の切込量は、数値で指令した方が簡単です。
(切込角度で計算すると1周でとんでもない切込量になってしまいます)

注意点として、ワークの面がZ0でも、
その上からヘリカル動作をさせることです。
(Z+1.とか+0.5とか)
また、その位置で工具径補正を掛けた状態に
しておいて下さい。
Z最終深さまで行った場合も、普通に1周させ
て下さい。

マクロ本体もお教えすることはできますので、
不明な点が御座いましたら、再度質問を投げて下さい。

こん○○は。

ヘリカル補間ですので、螺旋状に動くわけです。
G03(G02)X Y Z* I(J)
この動きを繰り返して、Z最終深さまで持って行きます。

お礼

2005/11/07 21:32

ありがとうございます。

Zを切り込むということは、Zは垂直に下がるということでしょうか?

質問者
2005/11/07 08:31
回答No.3

マクロで作るということは、ヘリカル仕様でないマシンでヘリカル切削を
させたいということですね。
角度をパラメータとして、
X=R X cos「角度」
Y=R X sin「角度」
Z=「ピッチ」 X 「角度」 / 360

でパラメータを適当なステップでループを組めばよいですね

もちろん斜めになります。
たとえば角度のステップ1度でループを組んで
1周円を360分割したxyzの座標を順次演算させれば
その間をG1でつないでもかなり滑らかな
つるまき線でつながります。
必要に応じてステップを細かくすれば良いと思います。
私もこの手のマクロでヘリカル仕様ではないMCで
プラネットタップを使用したことがありますが、
ちゃんと加工できました。

お礼

2005/11/07 21:36

ありがとうございます。

この回答して頂いた方法でプログラムをくめばZは斜めに下がっていきま

す?参考にさせて頂きます。

なるほど!!

ありがとうございます。ちょうどプラネットタップもつかってみたかったのでぜひ参考にさせていただきます!!

質問者
2005/11/07 08:15
回答No.2

円の移動をX,Y軸

360°はR-・・・・で動きます。

G17 X..Y..Z..R-..平面指定は忘れないで

NC装置によって動かない時もあるので
一度
G91 G01 G17 X.. Y.. R..でテストしてみては

訂正
G91 G01 G17 X.. Y.. R-..でテストしてみては

お礼

2005/11/07 21:37

ありがとうございます。

参考にさせて頂きます。テスト加工をしてみようと思います。

質問者

お礼をおくりました

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

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