変数講座2 繰り返しで変数の数値を変える

WHILE文を使用して条件が成立した場合のみ、繰り返しを行わせる処理を追加していきます。下記は前のページで作成したプログラムです。


%
O100(FAI 6 KOUGU, FAI 10 ANA)
#100=130(F)
G17
G91G28Z0
G90G00G54X0Y0
Z50.
M3S1300
M8
G01X2.F1000
Z1.F2000
Z0.2F100
N10(KAKOU START)
G03I-2.Z0F#100
I-2.Z-0.2
I-2.Z-0.4
I-2.Z-0.6
I-2.Z-0.8
I-2.Z-1.0
I-2.Z-1.2
I-2.Z-1.4
I-2.Z-1.6
I-2.Z-1.8
I-2.Z-2.0
I-2.
G01X0
Z10.F2000
M9
M5
G91G28Z0
G28Y0
M30
%
				

赤い部分は同じ動きが繰り返されているのが分かると思います。Z軸方向の切込開始位置は0、終了位置は-2.0、切込量は0.2ですので、これらはそれぞれ#101,#102,#103の変数にします。そしてWHILE文を追加します。

%
O100(FAI 6 KOUGU, FAI 10 ANA)
#100=130(F)
#101=0(Z KIRIKOMI START)
#102=-2.0(Z KIRIKOMI END)
#103=0.2(KIRIKOMI RYOU)
G17
G91G28Z0
G90G00G54X0Y0
Z50.
M3S1300
M8
G01X2.F1000
Z1.F2000
Z0.2F100
N10(KAKOU START)
WHILE[#101GT#102]DO1
G03I-2.Z#101F#100
#101=#101-#103
END1
I-2.Z#102
I-2.
G01X0
Z10.F2000
M9
M5
G91G28Z0
G28Y0
M30
%
				

プログラムが短くなってすっきりしたのが分かると思います。今回は深さが2.0だったので、WHILE文を使用しなくても10ブロック程度で済みましたが、これが20.0だった場合は100ブロックになるということですから、考えただけでも憂鬱です。今回のようにWHILE文を使用すれば、プログラムの先頭にある変数の代入する数値を変えるだけで、深さが20.0でも100.0でも同じプログラムのサイズで使用することができますから、繰り返し処理がいかに優れているかが分かって頂けると思います。


お知らせ
メニュー
NC旋盤
サブメニュー
OSP(オークマ)
雑学
NCプログラマの為の数学
関連サイト