変数講座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でも同じプログラムのサイズで使用することができますから、繰り返し処理がいかに優れているかが分かって頂けると思います。
お知らせ
- 当サイトのPDF版を作成しました。教育資料やリファレンスとして使用して頂ければと思います。
→ NCプログラムの教科書 - 上級編も作成しました。
→ NCプログラム上級編