6.1.5 條件與程式流程


巨集模式 A 的程式流程控制有三種條件形式:IF、IF…ELSE、WHILE


1. IF


格式:

IF 變數 P 結尾行號


範例:

IF #100 P100;
G00 X#3 Y100;
G01 X100 Y#2 F#8;
N100 G53 X0 Z0;
G01 X300 F0.1;
M30;


如果變數 #100 值為 "非零",程式會執行如下:

G00 X#3 Y100;
G01 X100 Y#2 F#8;
N100 G53 X0 Y0;
G01 X300 F0.1;
M30;


如果變數 #100 值為 "零",程式會執行如下:

G01 X300 F0.1;
M30;


2. IF…ELSE


格式:

IF 變數 P 結尾行號 A

N 結尾行號 A

ELSE  P 結尾行號 B

N 結尾行號 B


範例:

IF #1 P100
G00 X800 Y1000;
G01 X1000 Y200 Z-10;
N100 G00 X0 Y0 Z0
ELSE P200
G00 X1600 Y1000;
G01 X1800 Y200 Z-10;
N200 G00 X0 Y0 Z0;
M30;


如果變數 #1"非零",程式會執行如下:

G00 X800 Y1000;
G01 X1000 Y200 Z-10;
G00 X0 Y0 Z0;
M30;


如果變數 #1 值為 "零",程式會執行如下:

G00 X1600 Y1000
G01 X1800 Y200 Z-10;
G00 X0 Y0 Z0;
M30;


3. WHILE


格式:

WHILE 變數 P 結尾行號


範例:

#7=4;

WHILE #7 P80

G90 G01 Z-10 F0.8;

G91 G01 X100 F1.0;

#7=#7-1;

N80 G90 G01 Z0 F0.8;


程式會執行如下:

G90 G01 Z-10 F0.8;

G91 G01 X100 F1.0;

G90 G01 Z0 F0.8;

G90 G01 Z-10 F0.8;

G91 G01 X100 F1.0;

G90 G01 Z0 F0.8;

G90 G01 Z-10 F0.8;

G91 G01 X100 F1.0;

G90 G01 Z0 F0.8;

G90 G01 Z-10 F0.8;

G91 G01 X100 F1.0;

G90 G01 Z0 F0.8;


註. 上述三個判斷式:IFIF…ELSEWHILE 之巢狀式條件判斷使用至多只能有 8 層。