このQ&Aは役に立ちましたか?
サブプログラムとマクロについて
2023/10/18 04:21
- サブプログラムとマクロの違いや利用方法について、質問があります。
- プラネット加工用のプログラム作成において、サブプログラムとマクロのどちらがシンプルになるのかを知りたいです。
- プラネットタップ品名の設定や穴中心座標の移動方法についても教えてください。
サブプログラム とマクロについて
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件目)
たぶん
プログラムの基本的なことがわからないのであたふたしてるんだと思う
やりたいことがあってうまくやれない
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.
・
・
・
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
補足
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のマクロから出力される
プログラムのコピーで対応するつもりです。