2014-11-30 Sun
MACH3のサポートフォーラムをあれこれ探しました。サブルーチンの呼び出し方と、ループの方法が分かりま
した。サブルーチンの先頭には、「O」(オー)と番号をつけます。
たとえば「O1」のようにします。呼び出すには、「M98」を
使い、「M98 P1」のように記述います。「P1」は、
サブルーチンの「O1」を呼び出すという意味です。
また、呼び出す時に、繰り返しの回数も記述できます。
「L」を使い、繰り返す回数を「L5」のように記述します。
「L5」だと5回サブルーチンを呼び出すということになります。
この繰り返しを使うと、やりたいことに一歩近づきました。
% (プログラムの開始)
(2014/11/29 15:43)・・()はコメント
G90G54G92X0Y0Z10.
M08
S3000
M03
O1・・メインルーチン名
M98 P2 L5 (L ha,kurikaesi,kaisu)・・サブルーチンO2を
5回呼び出す
M98 P3・・サブルーチンO3を呼び出す。
O3は終わりの処理
O2・・サブルーチン「渦巻き処理」
G00X18.Y5.(START-POS)
G00Z-0.2F100.(0.2mm DEPYH)
G02X12.I-3.
X20.I4.
X10.I-5.
X22.I6.
X8.I-7.
X24.I8.
X6.0I-9.
X24.I9.
G92Z0.・・(0.2mm掘り下げた位置を基準点0にする)
G00Z10.
G00X18.Y5.(START-POS)
M99・・(サブルーチンの終わり)
O3
M09
M05
X0Y0
M30・・(プログラム実行の終了)
%(プログラムの終わり)
このような、Gコード(NCコード)で、渦巻き状に1mmほり
下げるプログラムにできました。「IF」と「変数」が使えると
楽なんですが、変数は、MACH3では、使えるようですが、
NCVCでは使えませんでした。後で、サポート掲示板で、
問い合わせしてみようと思います。
ちなみにMACH3で変数は、「#1」のように数字に#を
つけると、変数の扱いにできるようで、この変数の操作は、
#1=[#1-1](変数を1減らす)
#1=15(変数に15を代入)
のようにします。これで「IF」が使えると楽なんですが。
「IF」が使えないので、0.2mm掘り下げて、その位置
をその都度「0」(ゼロ)の基準点に変更することで、
だんだん切削点を下げてます。
NCVCで、上記のプログラムを読み込んでみると、
のようになります。エミュレートしてみても、
いいようです。
コメント
コメントする
この記事のトラックバックURL
http://mabo52.sakura.ne.jp/tb.php/763
トラックバック
TOP PAGE △