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

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

締切済み
※ ChatGPTを利用し、要約された質問です(原文:サブプログラム とマクロについて)

サブプログラムとマクロについて

2023/10/18 04:21

このQ&Aのポイント
  • サブプログラムとマクロの違いや利用方法について、質問があります。
  • プラネット加工用のプログラム作成において、サブプログラムとマクロのどちらがシンプルになるのかを知りたいです。
  • プラネットタップ品名の設定や穴中心座標の移動方法についても教えてください。
※ 以下は、質問の原文です

サブプログラム とマクロについて

2010/06/29 15:10

OSG HPからダウンロードできるプラネット加工用のプログラム作成
ソフトで、プラネット加工のプログラムを出力すると

メインプログラム例(ABS)とサブプログラム例(INC)が出力されます。

一穴加工用で 穴の座標は0,0として出力されています。

よって、ABSの 方を使うと座標を加工物の座標に合うように足し算していかないといけないので、間違いの元なので、
 座標における足し算をしなくてもいいインクリ指令であるサブプログラム例の方を利用
しようと思います。まず質問ですが、
マクロでやる場合は 機械の中にそのマクロ用のプログラムをメインプログラムとは別に0番号を決めて入れ込まないといけなく、
サブプログラムの場合は メインプログラムの中にサブプログラムを書いたらよかったですね。
というのはOSGのソフトで出力されるプログラムはネジの長さ 材料 工具
下穴 Mいくつのタップを開けるかで毎回ちがってくるので、
マクロでやるとその違うプログラムをたくさん機械に別のプログラムとして
いれるのはややこしく感じ、 サブプログラムで対処したら毎回違うプログラムをOSGソフトで出力したあとそれをメインの中に貼り
付けてやればいいだけなので、そっちの方が簡単だと思ったのです。 一回の加工で穴中心座標が違ういくつかの
同じ径の下穴に対してタップをするので、 同じタップ深さ 同じM というのが基本です、
だから 穴中心座標への誘導だけメインでやって、サブでタップ部を加工
するのが一番シンプルだとおもっているのです。
プラネットタップ品名 PNGT
呼び10*25*P1.5
工具径10
めねじM16*1.5 
下穴φ14.5
ネジ長さ15
切削速度20m
送り0.03mm/min
アップカット



下穴の中心座標が x30Y-30   X60Y-30 X90Y-30
の三つとするとき
OSGのソフトで出力した サブプログラム例(INC)
の方を変えないで、
穴中心の移動だけをメインでやる場合 
どのようなプログラムがシンプルになるでしょうか?

今思うのは 穴中心の移動をメインで行い

穴中心からM98P@@
穴中心へのメインでの移動
穴中心からM98P@@
しかわからないのですが、

もっとシンプルに出来るように思うのです

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

2010/06/29 16:05
回答No.1

たぶん
プログラムの基本的なことがわからないのであたふたしてるんだと思う

やりたいことがあってうまくやれない


http://mori.nc-net.or.jp/EokpControl?&tid=238744&event=QE0004


の回答1がめんどくさくなくいいと思う
回答しようと思ったがたぶん一番手っ取り早い


まあ、使いににくかったら
OSGのHPからダウンロードできる エクセルのマクロを改造したり
排出されたテープを改造したり


とりあえず
NCのほうの基本(ハローワールド)が゙どれを指すのかわからないけど

エクセルのマクロ改造なら
ハローワールドからやったほうがいいけど
最終まで行くには相当時間がかかるよ

G66 はオプション機能なので
記憶にない(マニュアル片手でしか語れないが 現状マニュアルはない)


O2000(メイン)
T29M6
G90G0G54X30Y-30
G43Z5H29S637M03
M98P@
X60Y-30
M98P@
X90Y-30
M98P@
O@(OSGマクロ出力によるサブ)

M99
Z100
M30

でも別にいい

まあしいて言えば
サブから返って来る時
G91 G01 にっていると思うので




M98 Pxxx
G90
G01Z100.


補足

2010/06/29 16:29

ありがとうございます。

リンクのG66を見たらマクロモーダルA呼び出しになっていました。

このやり方はOSGのマクロによって出力されたサブプログラムを
機械の方に別O番号として登録しないといけないのでしょうか?
そうだとしたらそれが面倒に感じているのですが、

サブプログラムで考えたのは

O2000(メイン)
T29M6
G90G0G54X30Y-30
G43Z5H29S637M03
M98P@
X60Y-30
M98P@
X90Y-30
M98P@
O@(OSGマクロ出力によるサブ)

M99
Z100
M30

なのですが、もしマシニングに別O番号としてプログラムを登録しなくても
いいのであれば、
G66についてよろしければ教えていただけないでしょうか?
大分短くなりますね。

なお Mやタップ長さなど変数要素はすべてOSGのマクロから出力される
プログラムのコピーで対応するつもりです。

質問者

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

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

質問する

お礼をおくりました

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

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